﻿:root{--black:#102f4d;--ink:#282828;--muted:#687078;--accent:#17669a;--accent-dark:#174d72;--paper:#fff;--surface:#eef3f7;--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(--accent);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(--accent-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}.password-field{position:relative;width:100%}.password-field input{padding-right:3rem}.password-toggle{align-items:center;background:transparent;border:0;color:#5b6167;cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;width:2.75rem}.password-toggle:hover,.password-toggle:focus-visible{color:var(--accent-dark)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.password-eye{border:2px solid currentColor;border-radius:70% 15%;display:block;height:14px;position:relative;transform:rotate(45deg);width:20px}.password-eye::after{background:currentColor;border-radius:50%;content:"";height:6px;left:5px;position:absolute;top:2px;width:6px}.password-toggle[aria-pressed="true"] .password-eye::before{background:currentColor;content:"";height:2px;left:-3px;position:absolute;top:5px;width:23px}
*{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(--accent);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(--accent-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(--accent);border:1px solid var(--accent);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(--accent);outline:3px solid rgba(23,102,154,.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{display:grid;gap:.2rem;min-width:0}.client-contact span{display:block;overflow-wrap:anywhere}.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(--accent);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}}

/* Identidade TRINUS */
.panel-brand,.panel-logo{width:116px;height:76px}.panel-logo{border-radius:6px;background:#fff}.panel-logo img{position:static;width:116px;height:76px;object-fit:contain;max-width:100%}.primary-button{color:#fff}.login-panel,.workspace,.documents-panel,.summary div{border-radius:12px}.panel-header small{color:#c6d6e2}.uploader-name{color:#174d72!important}.login-panel{box-shadow:0 16px 45px #102f4d0c}.document-tabs{gap:1rem}.document-tab{font-size:.85rem}

.install-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;max-width:1000px;margin:24px auto 0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;width:90%}.install-card>img{border-radius:12px;border:1px solid var(--line)}.install-copy h2{font-size:1.1rem;margin:0 0 5px}.install-copy p{color:var(--ink);font-size:.85rem;margin:0}.install-copy small{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.install-status{grid-column:1/-1;font-size:.8rem;color:var(--muted)}.install-status:empty{display:none}.client-page:has(.install-card:not([hidden])) .client-main{min-height:calc(100vh - 255px);padding-top:2rem}#install-dialog h3{margin-bottom:.75rem;font-size:1rem;color:var(--black)}#install-dialog ol{padding-left:1.4rem;margin-bottom:1.2rem}#install-dialog li{margin-bottom:.7rem;font-size:.9rem}#install-desktop{margin-bottom:1rem;font-size:.9rem}@media(max-width:600px){.install-card{grid-template-columns:48px 1fr;gap:12px;padding:16px}.install-card>img{width:48px;height:48px}.install-card>.primary-button{grid-column:1/-1;width:100%}.install-copy h2{font-size:1rem}.client-page:has(.install-card:not([hidden])) .client-main{padding-top:1.5rem;min-height:0}}
/* Mobile: keep long company names and document names inside their cards. */
.client-main,.panel-main,.client-dashboard,.documents-panel,.client-documents,.document-list,.client-list,.client-row,.client-document,.document-item,.client-welcome>div,.document-item>div,.client-document>div,.install-copy{min-width:0}.client-dashboard{max-width:min(100%,1000px)}.client-document strong,.document-item strong,.client-identity strong,.client-welcome h1,.dialog-description,.user-item strong,.user-item span{overflow-wrap:anywhere}.client-document{grid-template-columns:minmax(0,1fr) auto}.document-item{grid-template-columns:minmax(0,1fr) auto}.client-welcome>button{flex-shrink:0}.document-tabs{gap:.6rem}.document-tab{min-width:0;overflow-wrap:anywhere;min-height:44px}.primary-button,.secondary-button,.action-button,.header-link{touch-action:manipulation}.document-actions,.user-actions,.heading-actions{flex-wrap:wrap}.user-item>div{min-width:0}.toast{max-width:calc(100vw - 3rem);overflow-wrap:anywhere}dialog{max-height:90dvh}.client-document .primary-button{text-align:center;text-decoration:none}
@media(max-width:600px){.login-panel input,dialog input,.filters input,.filters select{font-size:16px}.document-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.document-tab{font-size:.78rem}.document-tab span{display:inline-block}.user-item{align-items:flex-start;flex-wrap:wrap}.user-actions{width:100%}.header-link{min-height:44px;display:inline-flex;align-items:center}.panel-header>.header-link{grid-column:1/-1;justify-self:end}.action-button{min-height:44px}.whatsapp-button{width:44px;height:44px}.client-welcome{gap:.75rem}.client-welcome h1{font-size:1.5rem}}
@media(max-width:480px){.client-document,.document-item{grid-template-columns:minmax(0,1fr)}.client-welcome{flex-direction:column}.client-welcome>button{align-self:flex-end}.dialog-actions{grid-template-columns:1fr;width:100%}.dialog-heading>div{min-width:0}.icon-button{min-width:44px;min-height:44px}.document-actions .action-button{flex:1}}
