*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#070b13;color:#e9eef8}.app{min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #1d2636;background:rgba(7,11,19,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#5b8cff,#7d5cff);font-weight:900;font-size:21px;box-shadow:0 0 28px #456dff44}.brand strong{display:block;font-size:16px}.brand small{display:block;color:#7f8da4;font-size:11px;margin-top:2px}.top-actions{display:flex;gap:8px}.btn{border:1px solid #29364b;border-radius:10px;padding:10px 15px;background:#111827;color:#dfe7f5;cursor:pointer;font-weight:700}.btn.primary{background:linear-gradient(135deg,#416eff,#7658ff);border:0;color:white}.btn:hover{filter:brightness(1.12)}.layout{display:grid;grid-template-columns:390px 1fr;min-height:calc(100vh - 72px)}.form-panel{border-right:1px solid #1d2636;background:#0a0f19;padding:20px;overflow:auto}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2{font-size:18px;margin:0}.panel-head span{font:600 11px ui-monospace;color:#86a4ff;background:#111b30;border:1px solid #25365b;padding:6px 8px;border-radius:7px}section{border-top:1px solid #1d2636;padding:18px 0}section:first-of-type{border-top:0}h3{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#91a1ba;margin:0 0 12px}.grid{display:grid;gap:10px}.grid.two{grid-template-columns:1fr 1fr}.grid .full,.full{grid-column:1/-1}label{font-size:11px;color:#93a1b8;display:flex;flex-direction:column;gap:5px}input,select,textarea{width:100%;border:1px solid #263246;background:#0e1522;color:#edf3ff;border-radius:8px;padding:9px 10px;outline:none;font:inherit;font-size:12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#527cff;box-shadow:0 0 0 3px #527cff15}.product-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.product{background:#0e1522;border:1px solid #263246;color:#9aa9c0;border-radius:8px;padding:9px 5px;font-size:11px;cursor:pointer}.product.active{background:#18284d;border-color:#527cff;color:#dce6ff}.hidden{display:none!important}.check{display:flex;flex-direction:row;align-items:center;gap:8px}.check input{width:auto}.hint{color:#687891;font-size:10px;line-height:1.5}.preview-wrap{background:radial-gradient(circle at 50% 0,#111d38 0,#080d16 38%,#060a11 100%);padding:22px;overflow:auto}.preview-toolbar{max-width:920px;margin:0 auto 12px;display:flex;justify-content:space-between;color:#8d9bb1;font-size:11px}.preview-toolbar #liveStatus{color:#5ee1a0}.contract{max-width:920px;margin:auto;background:#fff;color:#172033;min-height:1100px;padding:54px 62px;box-shadow:0 20px 70px #0008;border-radius:3px}.contract-header{display:flex;justify-content:space-between;border-bottom:2px solid #edf0f5;padding-bottom:20px}.kc-wordmark{font-size:26px;font-weight:900;letter-spacing:-.04em}.muted{color:#7d8798;font-size:10px}.contract-meta{text-align:right;display:flex;flex-direction:column;gap:4px;font-size:10px;color:#667085}.contract-meta strong{font-size:20px;color:#15203a}.hero{padding:30px 0 24px}.pill{font-size:9px;letter-spacing:.1em;font-weight:800;color:#315be8;background:#edf2ff;padding:6px 9px;border-radius:99px}.hero h1{font-size:29px;letter-spacing:-.035em;margin:12px 0 8px}.hero p{font-size:12px;color:#697386;margin:0;max-width:650px;line-height:1.6}.doc-section{border-top:1px solid #e8ebf0;padding:20px 0}.doc-section h2{font-size:14px;margin:0 0 12px}.doc-section p,.doc-section li{font-size:11px;line-height:1.65;color:#4d596c}.party-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.party{border:1px solid #e4e8ef;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px;font-size:10px;color:#677386}.party strong{font-size:13px;color:#1c2940;margin-bottom:3px}.label{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#7b8799}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.spec{border:1px solid #e4e8ef;padding:10px;border-radius:7px}.spec span{display:block;font-size:8px;color:#8290a3;text-transform:uppercase}.spec strong{display:block;font-size:11px;margin-top:3px}.doc-section table{width:100%;border-collapse:collapse;font-size:10px}.doc-section td{padding:9px;border-bottom:1px solid #e7eaf0}.doc-section td:last-child{text-align:right;font-weight:700}.doc-section tr.total td{font-size:12px;background:#f5f7fb;border-bottom:0}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.signature{border:1px solid #e2e6ed;border-radius:8px;padding:14px;min-height:170px;display:flex;flex-direction:column;gap:5px;font-size:10px}.signature>span{color:#697386;font-size:9px}.signbox{margin-top:auto;height:78px;border:1px dashed #bfc7d4;border-radius:5px;display:grid;place-items:center;color:#a0a9b8;font-size:9px}.guardian-signature{margin-top:15px;max-width:50%}footer{margin-top:35px;border-top:1px solid #e8ebf0;padding-top:10px;display:flex;justify-content:space-between;color:#8994a6;font-size:8px}@media(max-width:1000px){.layout{grid-template-columns:1fr}.form-panel{border-right:0}.preview-wrap{padding:12px}.contract{padding:35px 28px}}@media(max-width:600px){.grid.two,.party-grid,.signature-grid,.spec-grid{grid-template-columns:1fr}.guardian-signature{max-width:none}.topbar{padding:0 12px}.top-actions .ghost{display:none}.contract{padding:25px 18px}.hero h1{font-size:23px}}
@media print{body{background:white}.topbar,.form-panel,.preview-toolbar{display:none!important}.layout{display:block}.preview-wrap{padding:0;background:white}.contract{box-shadow:none;border-radius:0;max-width:none;width:100%;min-height:0;padding:18mm 16mm;color:#172033}.doc-section{break-inside:avoid}.contract-header{break-inside:avoid} @page{size:A4;margin:0}}

.signature-pad{display:block;width:100%;height:105px;border:1px dashed #bfc7d4;border-radius:5px;background:#fff;touch-action:none;cursor:crosshair}.clear-signature{align-self:flex-start;border:0;background:#f0f2f6;color:#5e6979;border-radius:5px;padding:5px 8px;font-size:8px;cursor:pointer}.signature small{font-size:8px;color:#98a2b0;margin-top:auto}@media print{.clear-signature{display:none}.signature-pad{border:1px solid #e3e6eb}}

.status-box{margin-top:12px;padding:11px 13px;border-radius:10px;background:#f1f5f9;color:#334155}.status-box.ok{background:#dcfce7;color:#166534}.status-box.error{background:#fee2e2;color:#991b1b}.signature-admin{margin-top:12px}.signature-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sig-status,.summary-box,.done-box{padding:15px;border:1px solid #dbe3ec;border-radius:12px;background:#fff}.sig-status{display:flex;flex-direction:column;gap:6px}.client-shell{min-height:100vh;background:#eef2f7}.client-main{max-width:980px;margin:40px auto;padding:20px}.client-card{background:#fff;border:1px solid #dbe3ec;border-radius:18px;padding:28px;box-shadow:0 12px 40px rgba(15,23,42,.07);margin-bottom:22px}.client-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.signature-step{margin-top:22px}.full-btn{width:100%}.signature-pad{display:block;width:100%;min-height:180px;background:#fff;border:1px dashed #94a3b8;border-radius:12px;touch-action:none;margin:12px 0}.hidden{display:none!important}@media (max-width:800px){.signature-status-grid{grid-template-columns:1fr}.client-main{margin:10px auto;padding:10px}.client-head{flex-direction:column}.top-actions{flex-wrap:wrap}}
@media print{.topbar,.form-panel,.preview-toolbar{display:none!important}.layout{display:block!important}.preview-wrap{padding:0!important}.contract{box-shadow:none!important;border:0!important;width:210mm;max-width:100%}.signature-admin{display:none!important}}

/* KazyCloud access gateway */
.access-screen{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(65,110,255,.18),transparent 32%),radial-gradient(circle at 85% 80%,rgba(118,88,255,.15),transparent 32%),#050a12}
.access-glow{position:absolute;width:380px;height:380px;border-radius:50%;filter:blur(80px);opacity:.25;pointer-events:none}.glow-a{background:#416eff;left:-100px;top:-90px}.glow-b{background:#8b5cff;right:-100px;bottom:-110px}
.access-card{position:relative;width:min(620px,100%);padding:34px;border:1px solid rgba(122,145,190,.2);border-radius:24px;background:linear-gradient(180deg,rgba(15,24,40,.96),rgba(8,14,24,.98));box-shadow:0 30px 100px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(18px)}
.access-brand{display:flex;align-items:center;gap:14px}.kc-logo{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#4c78ff 0%,#7559ff 55%,#19c8ff 100%);box-shadow:0 0 32px rgba(76,120,255,.28)}.kc-logo svg{width:28px;height:28px}.top-logo{width:40px;height:40px;border-radius:12px}.top-logo svg{width:23px;height:23px}.brand-title{font-size:18px;font-weight:900;letter-spacing:-.025em}.brand-subtitle{font-size:11px;color:#8593aa;margin-top:2px}.access-hero{padding:34px 0 24px}.access-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.12em;color:#9bb5ff;border:1px solid rgba(82,124,255,.25);background:rgba(60,92,183,.12)}.access-hero h1{margin:14px 0 8px;font-size:34px;letter-spacing:-.045em;line-height:1.04}.access-hero p{margin:0;color:#8c9bb1;font-size:13px;line-height:1.65;max-width:540px}.access-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:13px;background:#080d16;border:1px solid #1b2637}.access-tab{border:0;background:transparent;color:#78879f;padding:11px 14px;border-radius:9px;font:700 12px inherit;cursor:pointer}.access-tab.active{color:#fff;background:linear-gradient(135deg,rgba(65,110,255,.32),rgba(118,88,255,.25));box-shadow:inset 0 0 0 1px rgba(118,146,255,.16)}.access-panel{padding-top:22px}.access-panel h2{margin:0 0 7px;font-size:18px}.access-muted{color:#7f8ea6;font-size:12px;line-height:1.55;margin:0 0 18px}.access-panel label{color:#9aa8bd;margin-top:12px}.access-panel input{height:46px;border-radius:11px;background:#0b1320;border-color:#223149;padding:11px 13px}.access-submit{width:100%;margin-top:18px;height:46px;display:flex;justify-content:center;align-items:center;gap:10px}.access-footer{display:flex;justify-content:space-between;gap:15px;margin-top:22px;padding-top:15px;border-top:1px solid #182234;color:#63738c;font-size:10px}.admin-badge{display:inline-flex;align-items:center;border:1px solid rgba(96,223,177,.18);background:rgba(69,211,159,.08);color:#70dfb5;padding:7px 9px;border-radius:8px;font-size:9px;font-weight:900;letter-spacing:.08em}
.client-shell{background:radial-gradient(circle at 20% 0,rgba(65,110,255,.12),transparent 30%),#edf2f8}.client-shell .topbar{background:rgba(5,10,18,.96)}.client-shell .topbar a{text-decoration:none}
@media(max-width:900px){.top-actions{gap:6px}.admin-badge{display:none}}
@media(max-width:650px){.access-screen{padding:14px}.access-card{padding:24px 20px;border-radius:20px}.access-hero h1{font-size:28px}.access-footer{flex-direction:column}.top-actions .btn{padding:8px 10px}.topbar{height:auto;min-height:64px;gap:10px}.topbar .top-actions{justify-content:flex-end}.topbar .top-actions .btn:nth-of-type(4){display:none}}
