:root{--navy: #14315c;--navy-dark: #0f2547;--navy-soft: #eef3fb;--indigo: #1e3a6d;--green: #2f9e44;--green-dark: #268138;--green-soft: #eaf6ec;--amber: #b7791f;--bg: #eff2f7;--panel: #ffffff;--ink: #1a2432;--muted: #667283;--line: #dbe2ec;--line-soft: #eef1f6;--soft: #eaf4ea;--shadow: 0 8px 26px rgba(20, 49, 92, .1);--shadow-lg: 0 22px 60px rgba(20, 49, 92, .16);--radius: 12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--navy)}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:Poppins,Segoe UI,sans-serif}.brand{display:flex;align-items:center;gap:10px}.brand-word{font-weight:800;font-size:19px;color:var(--navy);letter-spacing:.01em;line-height:1}.brand-word span{color:var(--green)}.brand-tag{font-size:11px;color:var(--muted);margin-top:2px}.app{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#fff,#fbfcfe);border-right:1px solid var(--line);padding:20px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .nav{margin-top:22px;display:flex;flex-direction:column;gap:3px}.nav a{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:9px;text-decoration:none;color:#33414f;font-weight:600;font-size:13.5px;transition:.14s}.nav a:hover{background:var(--navy-soft);color:var(--navy)}.nav a.active{background:var(--navy);color:#fff;box-shadow:0 6px 16px #14315c38}.sidebar .spacer{flex:1}.sidebar .built{font-size:10.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;line-height:1.5}.side-suite{border-top:1px solid var(--line);padding-top:12px;margin-top:6px;display:flex;flex-direction:column;gap:5px}.side-suite span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.side-suite a{font-size:12.5px;font-weight:700;color:var(--navy);text-decoration:none}.side-suite a:hover{color:var(--green-dark)}.main{padding:26px 32px 60px;overflow:auto;max-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.topbar h1{font-size:23px;margin:0;color:var(--navy);letter-spacing:-.01em}.topbar .sub{color:var(--muted);font-size:13px;margin-top:4px}.hero{position:relative;overflow:hidden;border-radius:16px;padding:30px 34px;margin-bottom:24px;background:linear-gradient(120deg,#10294f,#1c3f74 55%,#245a86);color:#fff;box-shadow:var(--shadow-lg)}.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(47,158,68,.35),transparent 70%)}.hero h1{margin:0 0 8px;font-size:27px;color:#fff;letter-spacing:-.01em}.hero p{margin:0;color:#cfe0f3;max-width:620px;line-height:1.6;font-size:14.5px}.hero .hero-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.hero .stat-row{display:flex;gap:26px;margin-top:20px;position:relative;z-index:1;flex-wrap:wrap}.hero .stat b{display:block;font-size:22px;font-family:Poppins,sans-serif}.hero .stat span{font-size:11.5px;color:#b9cde6;text-transform:uppercase;letter-spacing:.06em}.searchbar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 15px;box-shadow:var(--shadow);margin-bottom:22px}.searchbar svg,.searchbar .ic{color:var(--muted);flex:0 0 auto}.searchbar input{flex:1;border:0;outline:0;background:transparent;font-size:14.5px}.searchbar .clr{border:0;background:#eef1f6;color:var(--muted);border-radius:7px;padding:4px 10px;cursor:pointer;font-weight:700}.cat-section{margin-bottom:26px}.cat-head{display:flex;align-items:center;gap:10px;margin:0 0 13px}.cat-head .cat-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:17px}.cat-head h2{margin:0;font-size:16px;color:var(--navy)}.cat-head .cat-count{color:var(--muted);font-size:12px;font-weight:700;background:var(--navy-soft);padding:2px 9px;border-radius:999px}.suite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.suite-card{position:relative;border:1px solid var(--line);border-radius:13px;padding:17px 17px 15px;cursor:pointer;background:#fff;transition:.16s;display:flex;flex-direction:column;overflow:hidden}.suite-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green);opacity:0;transition:.16s}.suite-card:hover{border-color:var(--navy);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.suite-card:hover:before{opacity:1}.suite-card .sc-top{display:flex;align-items:flex-start;gap:11px}.suite-card .sc-ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:20px;background:var(--navy-soft)}.suite-card h3{margin:0;font-size:15px;color:var(--navy);line-height:1.3}.suite-card .law{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.4}.suite-card .docs{font-size:12px;color:#46566a;margin-top:11px;line-height:1.5;flex:1}.suite-card .sc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid var(--line-soft)}.suite-card .doc-count{font-size:11.5px;font-weight:800;color:var(--green-dark);background:var(--green-soft);padding:3px 10px;border-radius:999px}.suite-card .go{font-size:12.5px;font-weight:800;color:var(--navy)}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--navy);background:var(--navy);color:#fff;padding:9px 16px;border-radius:9px;cursor:pointer;font-weight:700;text-decoration:none;transition:.14s;white-space:nowrap}.btn:hover{background:var(--navy-dark)}.btn.green{background:var(--green);border-color:var(--green)}.btn.green:hover{background:var(--green-dark)}.btn.ghost{background:#fff;color:var(--navy)}.btn.ghost:hover{background:var(--navy-soft)}.btn.white{background:#fff;color:var(--navy);border-color:#fff}.btn.white:hover{background:#eef3fb}.btn.sm{padding:6px 12px;font-size:12.5px;border-radius:8px}.btn.danger{background:#fff;color:#b42318;border-color:#f3c9c4}.btn.danger:hover{background:#fff5f4}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.card h2{margin:0 0 14px;font-size:16px;color:var(--navy)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid.three{grid-template-columns:repeat(3,1fr)}.full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12.5px;font-weight:600;color:#41505f}.field .req{color:var(--green)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;transition:.12s}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #cfe0f5;border-color:var(--navy)}textarea{resize:vertical;min-height:64px}.checkbox{flex-direction:row;align-items:center;gap:8px}.checkbox input{width:16px;height:16px}table.data{width:100%;border-collapse:collapse}table.data th,table.data td{border-bottom:1px solid var(--line);padding:10px 11px;text-align:left;font-size:13px}table.data th{background:#f6f8fc;color:var(--navy);font-weight:700;border-bottom:2px solid var(--line)}table.data tr:hover td{background:#fafcff}.muted{color:var(--muted)}.right{text-align:right}.person-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px;background:#fbfcfe}.person-card .grid{gap:10px}.person-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.person-head .pn{font-weight:700;color:var(--navy)}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef1f6,#e3ecf7)}.login-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);padding:36px;width:360px}.login-card .brand{justify-content:center;margin-bottom:6px}.login-card .tag{text-align:center;color:var(--muted);margin-bottom:20px;font-size:13px}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.entity-tile{border:2px solid var(--line);border-radius:12px;padding:18px;cursor:pointer;background:#fff;transition:.15s}.entity-tile:hover{border-color:var(--navy);box-shadow:var(--shadow);transform:translateY(-1px)}.entity-tile.sel{border-color:var(--green);background:var(--soft)}.entity-tile h3{margin:0 0 4px;color:var(--navy)}.entity-tile .law{font-size:12px;color:var(--muted)}.entity-tile .docs{font-size:12px;color:#475467;margin-top:8px}.stepper{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.stepper .step{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--muted)}.stepper .step b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e6ebf3;color:var(--muted);font-size:11px}.stepper .step.on{border-color:var(--navy);color:var(--navy)}.stepper .step.on b{background:var(--navy);color:#fff}.stepper .step.done b{background:var(--green);color:#fff}.doc-layout{display:grid;grid-template-columns:330px 1fr;gap:16px;align-items:start}.doc-list{display:flex;flex-direction:column;gap:8px}.doc-item{border:1px solid var(--line);border-radius:10px;padding:11px 13px;cursor:pointer;background:#fff;transition:.13s}.doc-item:hover{border-color:var(--navy);background:#fafcff}.doc-item.active{border-color:var(--green);background:var(--green-soft)}.doc-item .t{font-weight:700;font-size:13.5px;color:var(--navy)}.doc-item .m{font-size:11.5px;color:var(--muted);margin-top:3px}.doc-item .acts{display:flex;gap:6px;margin-top:9px}.preview-frame{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:70vh;box-shadow:var(--shadow)}.preview-frame iframe{width:100%;height:80vh;border:0;border-radius:12px}.toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:var(--shadow-lg);z-index:50;font-weight:600}.toast.err{background:#b42318}.pill{display:inline-block;font-size:11px;padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--green-dark);font-weight:700}.pill.gray{background:#eef1f6;color:var(--muted)}.flash{background:#fff8e6;border:1px solid #f5e3a8;color:#8a6d1a;padding:10px 13px;border-radius:9px;font-size:13px;margin-bottom:12px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:22px 0 8px;font-weight:700}.empty-state{text-align:center;padding:34px 18px;color:var(--muted)}.empty-state .big{font-size:30px;margin-bottom:8px}.gate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;overflow:auto;background:linear-gradient(135deg,#10294f,#1c3f74 60%,#245a86)}.gate-card{width:min(480px,100%);background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);padding:30px 30px 22px;margin:auto}.gate-card .brand{justify-content:center;margin-bottom:14px}.gate-title{text-align:center;margin:8px 0 6px;color:var(--navy);font-size:21px}.gate-sub{text-align:center;color:var(--muted);font-size:13px;margin:0 0 18px;line-height:1.55}.gate-form{display:flex;flex-direction:column;gap:12px}.gate-form .grid{gap:12px}.gate-foot{text-align:center;color:var(--muted);font-size:11.5px;margin-top:16px;border-top:1px solid var(--line-soft);padding-top:12px}@media (max-width: 520px){.gate-card{padding:22px 18px}.gate-form .grid{grid-template-columns:1fr}}.menu-btn,.nav-backdrop{display:none}@media (max-width: 820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:60;left:-260px;width:250px;transition:left .22s;box-shadow:var(--shadow-lg)}.app.nav-open .sidebar{left:0}.main{max-height:none;padding:18px 15px 50px}.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:19px;cursor:pointer}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f254766;z-index:55}.app.nav-open .nav-backdrop{display:block}.doc-layout,.grid,.grid.three{grid-template-columns:1fr}.hero{padding:22px}.hero h1{font-size:22px}.suite-grid{grid-template-columns:1fr}.preview-frame iframe{height:62vh}}
