:root{color:#17212b;font-synthesis:none;--navy:#102a43;--blue:#2f6f9f;--soft:#eaf3f9;--line:#d8e1e8;--muted:#66788a;--white:#fff;--good:#19734c;--warn:#9a5b00;--danger:#a93737;--shadow:0 10px 30px #102a4314;background:#f4f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{z-index:30;background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 22px;display:flex;position:sticky;top:0;box-shadow:0 4px 16px #00000026}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:#ffffff24;border-radius:11px;place-items:center;width:42px;height:42px;font-weight:850;display:grid}.brand h1{margin:0;font-size:1.05rem}.brand p{color:#c9d9e7;margin:2px 0 0;font-size:.8rem}.top-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.top-actions select{color:#fff;background:#173f63;border-color:#7492aa;width:auto}.autosave{color:#d8e8f4;min-width:105px;font-size:.82rem}.layout{grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;height:calc(100vh - 68px);padding:18px 14px;position:sticky;top:68px}.nav-button{color:#405568;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;margin-bottom:5px;padding:11px 12px;font-weight:700;display:flex}.nav-button:hover,.nav-button.active{background:var(--soft);color:var(--navy)}.nav-button.active{box-shadow:inset 3px 0 var(--blue)}.sidebar-note{color:var(--muted);background:#f7f9fb;border-radius:11px;margin-top:24px;padding:13px;font-size:.78rem}.main{min-width:0;padding:24px}.banner,.disclaimer,.privacy-note,.upload-placeholder{border-radius:11px;padding:13px 15px;font-size:.88rem}.banner{color:#694815;background:#fff9e9;border:1px solid #e8c983;margin-bottom:18px}.disclaimer{border-left:4px solid var(--blue);color:#35536b;background:#eef5fa;margin-top:22px}.privacy-note{color:#264d68;background:#eef5fa;margin:0 18px 14px}.upload-placeholder{color:var(--muted);background:#f7f9fb;border:1px dashed #b8c7d2;margin:14px 18px}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.page-header h2{color:var(--navy);margin:0 0 4px;font-size:1.55rem}.page-header p{color:var(--muted);margin:0}.actions{flex-wrap:wrap;gap:9px;display:flex}.btn{color:var(--navy);background:#fff;border:1px solid #bac9d6;border-radius:9px;justify-content:center;align-items:center;padding:9px 13px;font-weight:750;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-light{background:#fff}.btn.danger,.icon-danger{color:var(--danger);background:#fff2f2;border-color:#efc5c5}.icon-danger{border:1px solid #efc5c5;border-radius:7px;padding:6px 8px}.file-label{cursor:pointer}.card,.signature-box,.clause-editor{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px}.card{padding:18px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.card-head h3{color:var(--navy);margin:0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric{flex-direction:column;gap:5px;display:flex}.metric small,.summary small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:750}.metric strong{color:var(--navy);font-size:1.35rem}.metric span{color:var(--muted);font-size:.8rem}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.section-gap{margin-top:16px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary{background:#fbfcfd;border:1px solid #e7edf2;border-radius:10px;flex-direction:column;padding:11px;display:flex}.checklist{gap:8px;display:grid}.check-row,.document-row{background:#fbfcfd;border:1px solid #e2e9ee;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.badge{color:#3f5569;background:#edf2f7;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800;display:inline-flex}.badge.good{color:var(--good);background:#e7f6ef}.badge.warn{color:var(--warn);background:#fff4df}.timeline{color:#3d5366;margin:0;padding-left:20px;font-size:.85rem}.timeline li{margin-bottom:10px}.form-card{padding:20px}.form-section{margin-bottom:20px}.form-section h3{border-bottom:1px solid var(--line);color:var(--navy);margin:0 0 12px;padding-bottom:8px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:1/-1}label span{color:#405568;margin-bottom:5px;font-size:.78rem;font-weight:750;display:block}input,select,textarea{color:#17212b;background:#fff;border:1px solid #bfcdd8;border-radius:8px;outline:none;width:100%;padding:9px 10px}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f6f9f1f}.calculation{background:#edf5fa;border:1px solid #d4e5f1;border-radius:11px;flex-wrap:wrap;gap:18px;margin-top:14px;padding:14px;display:flex}.search-row{grid-template-columns:minmax(0,1fr) auto auto;gap:9px;margin-bottom:14px;display:grid}.agreement-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;display:grid}.clause-nav{border:1px solid var(--line);background:#fff;border-radius:11px;max-height:calc(100vh - 110px);padding:11px;position:sticky;top:88px;overflow:auto}.clause-nav a{color:#526779;border-radius:7px;padding:7px 8px;font-size:.78rem;text-decoration:none;display:block}.clause-nav a:hover{background:var(--soft)}.document{color:#171717;background:#fff;border:1px solid #d5dee5;padding:38px 44px;font-family:Georgia,Times New Roman,serif;box-shadow:0 12px 35px #14283c14}.document h1,.document h2{text-align:center}.document h1{margin:0;font-size:1.45rem}.document h2{margin:8px 0 25px;font-size:.95rem;font-weight:400}.document p{text-align:justify}.document-clause{margin:23px 0;scroll-margin-top:90px}.document-clause h3{margin:0 0 8px;font-size:1rem}.clause-editor{margin-bottom:13px;padding:15px}.clause-editor h3{margin:0 0 9px}.clause-editor textarea{min-height:160px;font-family:Georgia,Times New Roman,serif}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e7edf2;padding:10px}th{color:#496074;text-transform:uppercase;background:#f3f6f8;font-size:.75rem}td{font-size:.85rem}td input,td select{min-width:100px;padding:7px}.register-row{border-bottom:1px solid #e7edf2;grid-template-columns:1fr 1fr 1.4fr auto;gap:8px;padding:8px 0;display:grid}.document-row input[type=checkbox],td input[type=checkbox],.consent input{width:auto}.document-row>div>input{margin-top:6px}.signature-box{padding:18px}.signature-box label{margin-top:10px;display:block}.consent{align-items:flex-start;gap:8px;display:flex!important}.signature-line,.print-line{border-bottom:1px solid #3c4854;min-height:40px;margin-top:24px;font-family:Segoe Script,cursive}.print-document{display:none}@media (width<=1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.topbar{align-items:flex-start;padding:12px;position:static}.brand p,.autosave{display:none}.layout{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;padding:8px;position:static}.sidebar nav{display:flex;overflow-x:auto}.nav-button{min-width:max-content}.sidebar-note{display:none}.main{padding:16px 12px}.metrics,.summary-grid,.form-grid,.form-grid.three,.agreement-layout{grid-template-columns:1fr}.clause-nav{max-height:200px;position:static}.document{padding:26px 21px}.search-row{grid-template-columns:1fr 1fr}.search-row input{grid-column:1/-1}.register-row{grid-template-columns:1fr}.page-header{display:block}.page-header>.btn,.page-header>.actions{margin-top:12px}}@media print{@page{size:A4;margin:16mm 15mm}body{background:#fff}.app-shell{display:none!important}.print-document{color:#000;font-family:Times New Roman,serif;font-size:10.5pt;display:block!important}.print-document header{text-align:center;border-bottom:1px solid #444;margin-bottom:6mm}.print-document header>div{letter-spacing:.06em;font:8pt Arial,sans-serif}.print-document h1{margin:4mm 0 1mm;font-size:15pt}.print-document header p{margin:0 0 4mm}.print-summary{grid-template-columns:repeat(3,1fr);gap:3mm;margin-bottom:6mm;display:grid}.print-summary div{border:1px solid #888;padding:2.5mm}.print-summary strong,.print-summary span{display:block}.print-document p{text-align:justify;line-height:1.4}.print-clause{break-inside:avoid;margin-bottom:4mm}.print-clause h2{margin:0 0 1.5mm;font-size:10.5pt}.print-document table{min-width:0;font-size:9pt}.print-document th,.print-document td{border:1px solid #777;padding:1.5mm}.print-signatures{grid-template-columns:1fr 1fr;gap:12mm;margin-top:12mm;display:grid}.page-break{break-before:page}.print-document footer{border-top:1px solid #777;margin-top:8mm;padding-top:3mm;font-size:8pt}}.party-value{text-underline-offset:2px;text-decoration:underline}.login-screen{background:var(--soft);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:28px}.login-card h1{color:var(--navy);margin:0 0 4px;font-size:1.3rem}.login-sub{color:var(--muted);margin:0 0 20px;font-size:.85rem}.login-card form{flex-direction:column;gap:12px;display:flex}.login-hint{color:var(--muted);margin:0;font-size:.82rem}.login-error{color:var(--danger);margin:0;font-size:.82rem;font-weight:700}.login-disclaimer{border-top:1px solid var(--line);color:var(--muted);margin:20px 0 0;padding-top:14px;font-size:.72rem}.admin-screen{max-width:960px;margin:0 auto;padding:28px 20px}.admin-screen h1{color:var(--navy)}
