:root{
  --blue-950:#062b3b;--blue-900:#073f55;--blue-800:#075f82;--blue-700:#087ba6;
  --cyan-600:#08a8dc;--cyan-500:#19b9e7;--cyan-200:#bcecf8;--cyan-50:#effbfe;
  --ink:#10212b;--muted:#667985;--line:#dce7ec;--surface:#fff;--bg:#f3f8fa;
  --success:#177f56;--warning:#a76a00;--danger:#b43b45;--shadow:0 18px 55px rgba(4,52,72,.11);
  --radius:20px;--radius-sm:12px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:var(--blue-700);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}code{background:#edf4f7;padding:.15rem .4rem;border-radius:6px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--blue-950),#031d29);color:#fff;padding:22px 18px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{padding:4px 10px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:16px}.sidebar-brand img{display:block;width:170px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}.sidebar-brand span{display:block;margin-top:4px;color:#a9ddeb;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.sidebar nav{display:flex;flex-direction:column;gap:5px;overflow-y:auto;padding-right:2px}.nav-link{color:#d7eef5;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;font-weight:650;font-size:.93rem}.nav-link:hover{text-decoration:none;background:rgba(255,255,255,.08);color:#fff}.nav-link.active{background:linear-gradient(90deg,var(--cyan-600),var(--cyan-500));color:#032636;box-shadow:0 10px 25px rgba(10,178,226,.25)}.nav-icon{width:23px;text-align:center;font-size:1.1rem}.nav-section{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#7eb5c6;padding:18px 12px 5px}.sidebar-bottom{margin-top:auto;padding:16px 10px 4px;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}.sidebar-bottom a{color:#9ddaea}.app-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:15;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:15px 28px;display:flex;align-items:center;gap:16px;justify-content:space-between}.topbar h1{margin:0;font-size:1.35rem}.topbar p{margin:2px 0 0;color:var(--muted);font-size:.85rem}.user-menu{display:flex;align-items:center;gap:10px}.user-menu strong,.user-menu small{display:block}.user-menu strong{font-size:.88rem}.user-menu small{font-size:.75rem;color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:3px solid #d5f3fa;background:#fff}.avatar-text{display:grid;place-items:center;background:linear-gradient(135deg,var(--blue-800),var(--cyan-500));color:#fff;font-weight:800}.logout-link{font-size:.82rem;margin-left:7px}.menu-toggle{display:none;border:0;background:#edf7fa;border-radius:10px;padding:8px 10px}.content{padding:28px;max-width:1500px;width:100%;margin:0 auto;flex:1}.app-footer{padding:18px 28px;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;font-size:.8rem;background:#fff}
.page-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-intro h2{font-size:1.8rem;line-height:1.15;margin:4px 0 8px}.page-intro p{margin:0;max-width:780px;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800;color:var(--cyan-600)}
.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px rgba(10,64,84,.06)}.panel{padding:22px}.panel h2,.panel h3{margin-top:0}.card{padding:20px}.stat-card{position:relative;overflow:hidden}.stat-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-45px;top:-45px;background:linear-gradient(135deg,var(--cyan-200),transparent)}.stat-card span{display:block;color:var(--muted);font-size:.84rem}.stat-card strong{display:block;font-size:2rem;margin-top:8px}.stat-card small{color:var(--blue-700)}.hero-card{background:linear-gradient(135deg,var(--blue-950),var(--blue-800));color:#fff;position:relative;overflow:hidden;min-height:260px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center}.hero-card::before{content:"";position:absolute;inset:auto -80px -150px auto;width:370px;height:370px;border-radius:50%;background:rgba(28,187,229,.22)}.hero-copy{position:relative;z-index:2;padding:10px}.hero-copy .eyebrow{color:#8be2f6}.hero-copy h2{font-size:2.25rem;line-height:1.08;margin:.35rem 0 .8rem}.hero-copy p{color:#cae8f0;max-width:620px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-visual{align-self:end;justify-self:center;position:relative;z-index:2;height:245px}.hero-visual img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.2))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:10px 15px;font-weight:750;text-decoration:none;transition:.18s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--blue-800),var(--cyan-500));color:#fff;box-shadow:0 8px 22px rgba(8,137,183,.22)}.btn-secondary{background:#edf7fa;color:var(--blue-900);border-color:#d3eaf1}.btn-light{background:#fff;color:var(--blue-900)}.btn-danger{background:#fff0f1;color:var(--danger);border-color:#f0c8cc}.btn-small{padding:7px 10px;font-size:.8rem;border-radius:9px}.btn-block{width:100%}
.alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;border:1px solid}.alert-success{background:#edf9f3;color:#0f6a46;border-color:#bce7d2}.alert-warning{background:#fff8e7;color:#7a5200;border-color:#f0dfa8}.alert-danger{background:#fff0f1;color:#94313a;border-color:#efc5c9}.alert-info{background:#eef9fd;color:#075d7d;border-color:#c8eaf5}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .full{grid-column:1/-1}.form-grid h2,.form-grid h3{grid-column:1/-1;margin:6px 0 0}.form-grid label,.field{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:.88rem}.help{font-weight:400;color:var(--muted);font-size:.78rem}input,textarea,select{width:100%;border:1px solid #cbdce3;border-radius:11px;background:#fff;color:var(--ink);padding:11px 12px;outline:none;transition:.15s}textarea{min-height:120px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--cyan-600);box-shadow:0 0 0 4px rgba(8,168,220,.12)}input[type=checkbox]{width:auto}.checkbox-row{display:flex;align-items:flex-start;gap:10px}.checkbox-row label{font-weight:500}.input-group{display:flex;gap:8px}.input-group>*:first-child{flex:1}.form-actions{display:flex;gap:10px;justify-content:flex-end;grid-column:1/-1;margin-top:5px}.section-divider{grid-column:1/-1;border:0;border-top:1px solid var(--line);margin:6px 0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;background:#fff;min-width:700px}.table th,.table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#f8fbfc}.table tr:last-child td{border-bottom:0}.table td{font-size:.88rem}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.73rem;font-weight:800;background:#edf2f4;color:#56666e}.badge-active,.badge-paid,.badge-processed,.badge-resolved{background:#e7f7ef;color:#14734c}.badge-pending,.badge-issued,.badge-authorized,.badge-received,.badge-open{background:#eaf7fc;color:#08769d}.badge-overdue,.badge-urgent,.badge-rejected,.badge-disabled{background:#fff0f1;color:#a7353e}.badge-processing,.badge-in_review{background:#fff6df;color:#9a6200}.badge-revoked,.badge-cancelled,.badge-closed,.badge-archived{background:#eef0f2;color:#5d6970}
.document-card,.manual-card,.invoice-card{display:flex;gap:15px;align-items:flex-start}.doc-icon{width:48px;height:48px;border-radius:14px;background:var(--cyan-50);display:grid;place-items:center;color:var(--blue-800);font-weight:900;flex:0 0 auto}.document-card h3,.manual-card h3,.invoice-card h3{margin:0 0 4px;font-size:1rem}.document-card p,.manual-card p,.invoice-card p{margin:0;color:var(--muted);font-size:.84rem}.card-actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}.list-stack{display:flex;flex-direction:column;gap:12px}.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-state>span{display:grid;place-items:center;margin:0 auto 12px;width:62px;height:62px;border-radius:50%;background:var(--cyan-50);font-size:1.7rem;color:var(--blue-700)}.empty-state h3{color:var(--ink);margin:0 0 6px}.empty-state p{margin:0 auto;max-width:500px}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-action{padding:16px;border-radius:15px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:12px;font-weight:750;color:var(--ink)}.quick-action:hover{text-decoration:none;border-color:#9fdcec;box-shadow:0 10px 25px rgba(5,105,140,.08)}.quick-action span{width:38px;height:38px;border-radius:12px;background:var(--cyan-50);display:grid;place-items:center;color:var(--blue-700)}
.profile-header{display:flex;align-items:center;gap:18px}.profile-photo{width:100px;height:100px;border-radius:24px;object-fit:cover;background:#e8f4f8;border:4px solid #fff;box-shadow:var(--shadow)}.profile-placeholder{display:grid;place-items:center;font-size:2rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue-800),var(--cyan-500))}.company-logo{width:130px;height:100px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#fff;padding:8px}.data-list{display:grid;grid-template-columns:180px 1fr;gap:9px 16px}.data-list dt{font-weight:750;color:var(--muted)}.data-list dd{margin:0}.bank-card{background:linear-gradient(135deg,#fff,#eefaFC);border:1px solid #c9eaf3}.bank-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;letter-spacing:.06em}.copy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #c8dce3}.copy-row:last-child{border-bottom:0}
.thread-list{display:flex;flex-direction:column;gap:10px}.thread-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.thread-item h3{margin:0 0 4px;font-size:.98rem}.thread-item p{margin:0;color:var(--muted);font-size:.82rem}.message-stream{display:flex;flex-direction:column;gap:14px}.message{max-width:78%;padding:13px 15px;border-radius:16px;background:#eef5f7}.message.mine{align-self:flex-end;background:linear-gradient(135deg,var(--blue-800),var(--cyan-600));color:#fff}.message.staff-message:not(.mine){background:#e8f8fd;border:1px solid #c2eaf5}.message-meta{font-size:.7rem;opacity:.72;margin-bottom:5px}.message p{margin:0;white-space:pre-wrap}.message-attachment{display:inline-block;margin-top:8px;font-size:.8rem;font-weight:750}.thread-composer{position:sticky;bottom:0;background:#fff;padding-top:14px;border-top:1px solid var(--line);margin-top:20px}
.vault-secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;background:#071f2a;color:#d9f6ff;padding:13px;border-radius:11px;word-break:break-all}.security-note{display:flex;gap:12px;background:#f2fbfd;border:1px solid #cbeaf2;padding:15px;border-radius:14px}.security-note span{font-size:1.3rem}.timeline{position:relative;padding-left:20px}.timeline::before{content:"";position:absolute;left:6px;top:5px;bottom:5px;width:2px;background:#d9e9ee}.timeline-item{position:relative;padding:0 0 16px 15px}.timeline-item::before{content:"";position:absolute;left:-19px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--cyan-600);border:3px solid #fff;box-shadow:0 0 0 1px #b8dfe9}.timeline-item h4{margin:0}.timeline-item p{margin:3px 0;color:var(--muted);font-size:.82rem}
.policy-content{max-width:900px}.policy-content h3{margin-top:24px}.policy-content p,.policy-content li{color:#40535e}.policy-content ul{padding-left:20px}.consent-card{border-left:5px solid var(--cyan-600)}
.guest-header{height:90px;padding:10px max(20px,5vw);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.guest-header img{width:150px;height:70px;object-fit:contain}.guest-web-link{font-weight:750}.guest-main{min-height:calc(100vh - 145px);padding:40px 20px;background:radial-gradient(circle at 10% 10%,#dff6fb 0,transparent 35%),radial-gradient(circle at 95% 90%,#d7f2fa 0,transparent 30%),var(--bg)}.guest-footer{text-align:center;color:var(--muted);font-size:.8rem;padding:18px;background:#fff;border-top:1px solid var(--line)}.auth-wrap{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.auth-visual{background:linear-gradient(145deg,var(--blue-950),var(--blue-700));color:#fff;padding:42px;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-visual::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(25,185,231,.22);right:-220px;bottom:-190px}.auth-visual h1{font-size:2.45rem;line-height:1.05;margin:12px 0}.auth-visual p{color:#c7e9f2}.auth-visual img{margin-top:auto;align-self:center;height:300px;width:auto;position:relative;z-index:2;filter:drop-shadow(0 18px 30px rgba(0,0,0,.2))}.auth-panel{padding:42px;display:flex;flex-direction:column;justify-content:center}.auth-panel h2{font-size:1.8rem;margin:0 0 8px}.auth-panel>p{color:var(--muted);margin-top:0}.auth-panel form{display:flex;flex-direction:column;gap:15px}.auth-links{display:flex;justify-content:space-between;gap:12px;font-size:.84rem;margin-top:8px}.register-wrap{max-width:1000px;margin:0 auto}.register-panel{padding:32px}.policy-checks{display:flex;flex-direction:column;gap:12px;background:#f7fbfc;padding:16px;border-radius:14px}
.install-page{background:linear-gradient(135deg,#e9f8fc,#f6fbfd)}.install-wrap{max-width:950px;margin:0 auto;padding:32px 20px}.install-brand{text-align:center;margin-bottom:24px}.install-brand img{width:220px}.install-brand h1{margin:.2rem 0}.install-brand p{color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-item{padding:10px 12px;border-radius:10px;display:flex;gap:8px;align-items:center}.check-item.ok{background:#eaf8f1;color:#14734c}.check-item.bad{background:#fff0f1;color:#a7353e}.success-panel{text-align:center;padding:45px}
.kpi-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-row strong{font-size:1.5rem}.muted{color:var(--muted)}.small{font-size:.82rem}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.wrap{flex-wrap:wrap}.hidden{display:none!important}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.quick-actions{grid-template-columns:repeat(2,1fr)}.hero-card{grid-template-columns:1fr 260px}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;transition:left .2s ease;width:270px}.sidebar.open{left:0}.menu-toggle{display:block}.topbar{padding:13px 18px}.content{padding:20px}.user-menu>div,.logout-link{display:none}.auth-wrap{grid-template-columns:1fr}.auth-visual{display:none}.app-footer{flex-direction:column;gap:5px}.hero-card{grid-template-columns:1fr}.hero-visual{display:none}}
@media(max-width:680px){.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-intro{align-items:flex-start;flex-direction:column}.quick-actions{grid-template-columns:1fr}.content{padding:16px}.panel,.card{border-radius:16px;padding:17px}.topbar h1{font-size:1.1rem}.hero-copy h2{font-size:1.75rem}.hero-card{min-height:auto}.auth-panel{padding:28px 22px}.guest-main{padding:25px 12px}.register-panel{padding:20px}.check-grid{grid-template-columns:1fr}.document-card,.manual-card,.invoice-card{flex-wrap:wrap}.card-actions{width:100%;margin-left:63px}.data-list{grid-template-columns:1fr;gap:2px}.data-list dd{margin-bottom:10px}.message{max-width:92%}.app-footer{padding:16px}.guest-header{padding:8px 16px}.guest-header img{width:125px}}
