:root{--black:#111;--ink:#282828;--muted:#687078;--gold:#b99227;--gold-dark:#745710;--paper:#fff;--surface:#f3f4f5;--line:#d9dcdf;--danger:#a52a2a;--success:#267345}
[hidden]{display:none!important}
.optional-label{color:var(--muted);font-weight:400}.due-date{border-radius:3px;display:inline-block!important;font-size:.75rem!important;font-weight:700;margin-top:.45rem;padding:.2rem .45rem;width:max-content}.due-date.upcoming{background:#fff2c9;color:#6b5000}.due-date.due-today{background:#ffe1b8;color:#7a3d00}.due-date.overdue{background:#f8dddd;color:#932323}
.document-tabs{border-bottom:1px solid var(--line);display:flex;gap:1.5rem;margin-top:1.5rem}.document-tab{background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);cursor:pointer;font-weight:700;padding:.75rem .15rem}.document-tab.active{border-bottom-color:var(--gold);color:var(--black)}.document-tab span{background:#e9eaec;border-radius:20px;font-size:.7rem;margin-left:.25rem;padding:.15rem .4rem}.client-document.expired{background:#f7f7f7;color:#666}.expired-label{color:var(--danger)!important;font-size:.73rem!important;font-weight:700;margin-top:.4rem}.download-unavailable{border:1px solid var(--line);color:#777;font-size:.76rem;font-weight:700;padding:.55rem .7rem;text-align:center}.empty-documents{border:1px dashed var(--line);color:var(--muted);padding:2rem;text-align:center}
.download-status{display:block;font-size:.73rem;font-weight:700;margin-top:.4rem}.download-status.downloaded{color:var(--success)}.download-status.pending{color:var(--muted)}
.heading-actions{display:flex;gap:.65rem}.user-list{border-top:1px solid var(--line);display:grid;gap:.5rem;margin-top:1.5rem;padding-top:1rem}.user-item{align-items:center;border:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.75rem}.user-item strong,.user-item span{display:block}.user-item span,.user-item small{color:var(--muted);font-size:.78rem}.user-actions{display:flex;gap:.4rem}.user-item button:disabled{cursor:not-allowed;opacity:.45}.uploader-name{color:#6b5000!important;font-weight:600}
.whatsapp-button{align-items:center;background:#e3f5e9;border-color:#9acbab;display:inline-flex;height:34px;justify-content:center;padding:.35rem;width:34px}.whatsapp-button:hover,.whatsapp-button:focus-visible{background:#ccebd7;border-color:#267345}.whatsapp-button img{height:18px;width:18px}
.forgot-password{background:none;border:0;color:var(--gold-dark);cursor:pointer;font-size:.82rem;font-weight:700;margin-top:.75rem;padding:.35rem;text-decoration:underline}.recovery-dialog form{display:grid}.recovery-dialog .dialog-description{margin-bottom:1rem}.dev-code{background:#fff2c9;color:#5e480e;font-size:.78rem;font-weight:700;margin-top:1rem;padding:.75rem}
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.5}button,input,select{font:inherit}button,a{transition:color .15s,background .15s,border-color .15s}.panel-header{align-items:center;background:var(--black);border-bottom:2px solid var(--gold);color:#fff;display:grid;gap:1rem;grid-template-columns:auto 1fr auto;min-height:82px;padding:6px max(5%,calc((100% - 1180px)/2))}.panel-header>div:not(.header-actions) strong,.panel-header>div:not(.header-actions) small{display:block}.panel-header small{color:#aaa;font-size:.75rem}.panel-brand{height:68px;width:105px}.panel-logo{display:block;height:68px;overflow:hidden;position:relative;width:105px}.panel-logo img{left:-47px;max-width:none;position:absolute;top:-23px;width:195px}.header-actions{align-items:center;display:flex;gap:1rem}.header-link{color:#ccc;font-size:.82rem;text-decoration:none}.header-link:hover,.header-link:focus-visible{color:#fff}.button-link{background:none;border:0;cursor:pointer}.panel-main{margin:0 auto;max-width:1280px;padding:2.5rem 5% 5rem}.summary{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.summary div{background:#fff;border:1px solid var(--line);padding:1.25rem}.summary span,.summary strong{display:block}.summary span{color:var(--muted);font-size:.82rem}.summary strong{color:var(--black);font-size:2rem;margin-top:.2rem}.workspace,.documents-panel{background:#fff;border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem)}.section-heading,.client-welcome,.dialog-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.eyebrow{color:var(--gold-dark);font-size:.72rem;font-weight:700;margin-bottom:.25rem;text-transform:uppercase}h1{font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.2}h2{font-size:1.35rem;line-height:1.25}.primary-button,.secondary-button{border-radius:4px;cursor:pointer;font-weight:700;padding:.7rem 1rem}.primary-button{background:var(--gold);border:1px solid var(--gold);color:#111}.primary-button:hover,.primary-button:focus-visible{background:#111;border-color:#111;color:#fff}.secondary-button{background:#fff;border:1px solid var(--line);color:#333}.secondary-button:hover,.secondary-button:focus-visible{border-color:#777}.danger-button{color:var(--danger)}.filters{display:grid;gap:1rem;grid-template-columns:1fr 180px;margin:1.75rem 0}.filters label,.login-panel label,dialog label{color:#333;display:grid;font-size:.82rem;font-weight:600;gap:.3rem}.filters input,.filters select,.login-panel input,dialog input{background:#fff;border:1px solid var(--line);border-radius:4px;color:#111;min-height:44px;padding:.65rem .75rem;width:100%}.filters input:focus,.filters select:focus,.login-panel input:focus,dialog input:focus{border-color:var(--gold);outline:3px solid rgba(185,146,39,.2)}.client-list{display:grid;gap:.75rem}.client-row{align-items:center;border:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:minmax(220px,1.3fr) minmax(170px,1fr) auto;padding:1rem}.client-identity strong,.client-identity span{display:block}.client-identity span,.client-contact{color:var(--muted);font-size:.83rem}.client-contact a{color:inherit}.client-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.action-button{background:#fff;border:1px solid var(--line);border-radius:4px;cursor:pointer;font-size:.78rem;font-weight:600;padding:.48rem .65rem}.action-button:hover,.action-button:focus-visible{border-color:#777}.status{border-radius:20px;display:inline-block;font-size:.72rem;font-weight:700;padding:.22rem .55rem}.status.active{background:#e2f3e8;color:var(--success)}.status.inactive{background:#f7e2e2;color:var(--danger)}.empty-state{border:1px dashed var(--line);padding:3rem;text-align:center}.empty-state p{color:var(--muted);margin-top:.35rem}dialog{border:0;border-radius:6px;box-shadow:0 18px 70px rgba(0,0,0,.3);margin:auto;max-height:90vh;max-width:560px;overflow:auto;padding:1.5rem;width:min(92%,560px)}dialog::backdrop{background:rgba(0,0,0,.65)}dialog form{display:grid;gap:.2rem}.dialog-heading{margin-bottom:1.25rem}.icon-button{background:none;border:0;color:#555;cursor:pointer;font-size:2rem;line-height:1;padding:.25rem}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.field-error,.access-error{color:var(--danger);font-size:.8rem;min-height:1.2rem}.field-help,.dialog-description{color:var(--muted);font-size:.8rem}.document-list{border-top:1px solid var(--line);display:grid;gap:.5rem;margin-top:1.5rem;padding-top:1rem}.document-item{align-items:center;border:1px solid var(--line);display:grid;gap:.75rem;grid-template-columns:1fr auto;padding:.75rem}.document-item strong,.document-item small{display:block}.document-item small{color:var(--muted)}.document-actions{display:flex;gap:.4rem}.toast{background:#111;border-left:4px solid var(--gold);bottom:1.5rem;color:#fff;opacity:0;padding:.85rem 1rem;pointer-events:none;position:fixed;right:1.5rem;transform:translateY(1rem);transition:.2s;z-index:20}.toast.visible{opacity:1;transform:none}.admin-login,.client-main{display:grid;min-height:calc(100vh - 82px);padding:3rem 5%;place-items:center}.login-panel{background:#fff;border:1px solid var(--line);display:grid;max-width:460px;padding:clamp(1.5rem,4vw,2.5rem);width:100%}.login-panel>p:not(.eyebrow){color:var(--muted);margin:.75rem 0 1.5rem}.login-panel .primary-button{margin-top:.5rem;width:100%}.dev-credentials{background:#f7f1df;color:#5e480e!important;font-size:.76rem;padding:.65rem}.client-dashboard{max-width:1000px;width:100%}.client-welcome{margin-bottom:1.5rem}.client-welcome>div>p:last-child{color:var(--muted)}.client-documents{display:grid;gap:.75rem;margin-top:1.5rem}.client-document{align-items:center;border:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:1fr auto;padding:1rem}.client-document strong,.client-document span{display:block}.client-document span{color:var(--muted);font-size:.8rem}
@media(max-width:780px){.panel-header{grid-template-columns:auto 1fr}.header-actions{grid-column:1/-1;justify-content:flex-end;padding-bottom:.5rem}.summary{grid-template-columns:1fr}.client-row{grid-template-columns:1fr}.client-actions{justify-content:flex-start}.filters{grid-template-columns:1fr}.client-welcome{align-items:flex-start}.section-heading{align-items:flex-start}.panel-main{padding-inline:4%}}
@media(max-width:480px){.panel-header>div:not(.header-actions) small{display:none}.panel-header>div:not(.header-actions) strong{font-size:.9rem}.section-heading{flex-direction:column}.section-heading>.primary-button{width:100%}.client-actions{display:grid;grid-template-columns:1fr 1fr}.action-button{width:100%}.dialog-actions{display:grid}.document-item,.client-document{grid-template-columns:1fr}.document-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
