.public-invoice{min-height:100vh;background:#f8fafb}.public-invoice__loading,.public-invoice__error{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.public-invoice__error-content{text-align:center;max-width:500px}.public-invoice__error-content h1{color:#1e2a3a;margin-bottom:16px}.public-invoice__error-content p{color:#5a6b75;margin-bottom:24px}.public-invoice__banner{background:linear-gradient(135deg,#5e9fa3,#6fa9ac);color:#fff;padding:24px;text-align:center;box-shadow:0 2px 8px #0000001a}.public-invoice__banner-content h2{margin:0 0 12px;font-size:24px;font-weight:700}.public-invoice__banner-content p{margin:0 0 16px;font-size:16px;opacity:.95}.btn--primary-inverse{background:#fff;color:#5e9fa3;border:none;padding:10px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn--primary-inverse:hover{background:#f0f0f0;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.public-invoice__container{max-width:900px;margin:32px auto;padding:32px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014}.public-invoice__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #5E9FA3}.public-invoice__header h1{margin:0 0 8px;font-size:28px;color:#1e2a3a}.public-invoice__company{color:#5a6b75;font-size:16px;margin:0}.public-invoice__status-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.public-invoice__status-badge[data-status=pending],.public-invoice__status-badge[data-status=sent]{background:#fef3c7;color:#92400e}.public-invoice__status-badge[data-status=paid]{background:#d1fae5;color:#065f46}.public-invoice__status-badge[data-status=overdue]{background:#fee2e2;color:#991b1b}.public-invoice__details{margin-bottom:32px}.public-invoice__detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #E4EAED}.public-invoice__label{font-weight:600;color:#5a6b75}.public-invoice__line-items{margin-bottom:32px}.public-invoice__line-items h3{margin:0 0 16px;color:#1e2a3a;font-size:18px}.public-invoice__line-items table{width:100%;border-collapse:collapse}.public-invoice__line-items th{background:#f8fafb;padding:12px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;color:#5a6b75;border-bottom:2px solid #E4EAED}.public-invoice__line-items td{padding:12px;border-bottom:1px solid #E4EAED;color:#1e2a3a}.public-invoice__line-items td:last-child,.public-invoice__line-items th:last-child{text-align:right}.public-invoice__total{margin-bottom:32px;padding:16px;background:#f8fafb;border-radius:8px}.public-invoice__total-row{display:flex;justify-content:space-between;padding:8px 0;font-size:16px}.public-invoice__total-row--highlight{font-weight:700;font-size:20px;color:#5e9fa3;padding-top:16px;border-top:2px solid #E4EAED}.public-invoice__actions{display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap}.btn{display:inline-block;padding:10px 20px;border-radius:6px;font-weight:600;font-size:14px;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s;border:none}.btn--large{padding:14px 28px;font-size:16px}.btn--primary{background:linear-gradient(135deg,#6fa9ac,#5e9fa3 50% 85%,#6fa9ac);color:#fff;border:1px solid #3C7B7F}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5e9fa34d}.btn--secondary{background:linear-gradient(135deg,#b7d4d6,#a0c7c9,#8ab7ba);color:#1e2a3a}.btn--secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8ab7ba4d}.public-invoice__footer{text-align:center;padding-top:24px;border-top:1px solid #E4EAED;color:#5a6b75;font-size:14px}.public-invoice__footer a{color:#5e9fa3;text-decoration:none;font-weight:600}.public-invoice__footer a:hover{text-decoration:underline}@media(max-width:768px){.public-invoice__container{margin:16px;padding:20px}.public-invoice__header{flex-direction:column;gap:16px}.public-invoice__actions{flex-direction:column}.btn{width:100%}.public-invoice__line-items table{font-size:12px}.public-invoice__line-items th,.public-invoice__line-items td{padding:8px}}
