:root{--brand:#13866e;--brand-dark:#116e5d;--navy:#14243b;--ink:#202a3a;--muted:#78849a;--line:#e7eaf0;--canvas:#f6f8fb;--white:#fff;--green-bg:#e9f7f1;--shadow:0 8px 26px rgba(23,37,57,.045)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:252px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{height:78px;display:flex;align-items:center;gap:10px;padding:0 23px;font-size:20px;font-weight:800;letter-spacing:-.75px;color:var(--navy)}.brand-icon,.login-mark{height:37px;width:37px;display:grid;place-items:center;border-radius:11px;background:var(--brand);color:white;font-size:24px}.brand-icon img{width:100%;height:100%;object-fit:contain;border-radius:9px}.brand .icon-btn{margin-left:auto;font-size:14px}.icon-btn{border:0;background:transparent;color:#8792a4;padding:8px;border-radius:8px}.icon-btn:hover{background:#f4f7fa}.workspace-tag{border:1px solid #dbefe7;background:#f4fbf8;margin:0 20px 20px;padding:10px 12px;border-radius:9px;color:#39846b;letter-spacing:1px;font-size:10px;font-weight:800}.live-dot{display:inline-block;width:7px;height:7px;background:#37ae86;border-radius:50%;margin-right:6px}nav{padding:0 13px;overflow:auto;flex:1}.nav-label{font-size:10px;font-weight:800;letter-spacing:1.35px;color:#a8b2c2;margin:20px 11px 10px}.nav-item{display:flex;gap:13px;align-items:center;text-align:left;width:100%;border:0;background:transparent;color:#6a7890;border-radius:9px;margin:3px 0;padding:12px 13px;font-weight:580}.nav-item span{font-size:20px;width:22px;text-align:center}.nav-item:hover{background:#f3f7f8}.nav-item.active{background:var(--green-bg);color:var(--brand-dark);font-weight:750}.sidebar-bottom{padding:14px;border-top:1px solid var(--line)}.side-info{background:#f7f9fc;border:1px solid var(--line);border-radius:11px;display:flex;gap:11px;align-items:center;padding:13px;margin-bottom:14px}.side-info>span{color:#dc9a3d;font-size:18px}.side-info strong,.signed-user strong{display:block;font-size:12px}.side-info small,.signed-user small{display:block;color:#94a0b0;margin-top:4px;font-size:11px}.signed-user{display:flex;gap:9px;align-items:center;padding:5px}.signed-user .icon-btn{margin-left:auto}.avatar{width:36px;height:36px;background:#e2f6ee;color:var(--brand);display:grid;place-items:center;border-radius:50%;font-weight:750}.main-area{min-width:0;flex:1}.topbar{height:76px;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line)}.breadcrumb{font-weight:600;color:#8a96a9;font-size:12px}.top-actions{display:flex;align-items:center;gap:20px;color:#8995a7;font-size:12px}.version-pill{border-radius:99px;border:1px solid #dceae5;background:#f5fbf8;color:var(--brand);padding:7px 12px;font-weight:650}.top-profile{border-left:1px solid var(--line);padding-left:20px;color:#36445a;font-weight:700}.content{padding:34px 40px 70px;max-width:1600px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--brand);font-weight:800;text-transform:uppercase;margin-bottom:10px}.page-header h1{font-size:31px;line-height:1.2;letter-spacing:-1.3px;color:var(--navy);margin:0 0 9px;font-weight:820}.page-header p{color:var(--muted);margin:0;line-height:1.65}.btn{border:1px solid #dce2e9;background:white;padding:11px 17px;border-radius:10px;color:#344258;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.btn:hover{background:#f8fafb}.btn.primary{background:var(--brand);border-color:var(--brand);color:white;box-shadow:0 4px 14px rgba(19,134,110,.15)}.btn.primary:hover{background:var(--brand-dark)}.btn.ghost{border-color:transparent;background:transparent}.btn.danger{color:#bd4242}.btn.small{font-size:12px;padding:7px 12px}.btn.full{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin-bottom:25px}.stat{padding:24px 24px 22px;background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);position:relative;min-height:145px}.stat-icon{position:absolute;right:22px;top:21px;background:#edf8f5;border-radius:11px;padding:10px;color:var(--brand);font-size:19px}.stat-label{font-size:12px;color:var(--muted);font-weight:650}.stat-value{font-size:34px;font-weight:830;letter-spacing:-1.5px;margin-top:20px;color:var(--navy)}.stat-detail{color:#94a0b0;font-size:11px;margin-top:6px}.two-col{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:var(--shadow);margin-bottom:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px;gap:12px}.panel h2{font-size:16px;letter-spacing:-.35px;color:var(--navy);margin:0;font-weight:800}.panel-sub{color:var(--muted);font-size:12px;margin-top:6px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:12px}.table th{text-align:left;color:#98a2b2;text-transform:uppercase;font-size:10px;letter-spacing:.7px;font-weight:800;border-bottom:1px solid var(--line);padding:13px 13px}.table td{padding:16px 13px;border-bottom:1px solid #f0f2f5;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table strong{font-weight:750;color:#27354b}.muted{color:var(--muted)}.tag{background:#f0f3f6;border-radius:7px;color:#69788b;padding:5px 9px;font-size:11px;font-weight:750;white-space:nowrap}.tag.draft{background:#fff4df;color:#a87923}.tag.approved{background:#e8f7f0;color:#208063}.tag.review{background:#fff2e4;color:#a86a32}.tag.blocked{background:#ffeded;color:#b34c4c}.feature-banner{background:linear-gradient(120deg,#172f47,#17685e);color:white;border-radius:16px;padding:27px 27px 30px;position:relative;overflow:hidden}.feature-banner:after{content:'◉';position:absolute;right:-20px;top:-45px;font-size:245px;opacity:.05}.feature-banner h3{font-size:22px;letter-spacing:-.5px;margin:10px 0 10px}.feature-banner p{color:#c8e0de;line-height:1.65;max-width:320px}.feature-banner .btn{margin-top:10px}.empty{text-align:center;padding:50px 15px;color:#8d98a8}.empty-icon{font-size:38px;margin-bottom:12px;color:#8cc1b5}.empty strong{display:block;color:#34465d;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field label,.field>span{font-size:12px;font-weight:750;color:#53647b}.field input,.field select,.field textarea,.login-panel input{width:100%;padding:12px 13px;border:1px solid #dce3eb;border-radius:10px;background:white;color:#26354a;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.login-panel input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #13866e18}.field textarea{min-height:145px;resize:vertical;line-height:1.6}.field .hint{font-size:11px;color:#96a0ac}.actions{display:flex;gap:9px;flex-wrap:wrap}.dropzone{border:2px dashed #d4e5df;background:linear-gradient(145deg,#f8fcfa,#fff);padding:55px 25px;border-radius:14px;text-align:center}.dropzone .upload-icon{font-size:45px;color:var(--brand);display:block;margin-bottom:15px}.dropzone h3{margin:0 0 7px;color:var(--navy);font-size:18px}.dropzone p{color:var(--muted);font-size:13px}.dropzone input{display:none}.dropzone.selected{background:#edfaf5;border-color:var(--brand)}.info-line{display:flex;gap:12px;align-items:flex-start;color:#6d7a8b;font-size:12px;line-height:1.7;padding:14px;border-radius:10px;background:#f7f9fb}.info-line strong{color:#3b4b5e}.message-card{padding:20px;border:1px solid var(--line);border-radius:13px;margin-bottom:14px;background:#fff}.message-top{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.message-top strong{display:block;color:#273850}.message-top small{display:block;color:var(--muted);margin-top:5px}.message-body{padding:16px;background:#f8faf9;border-radius:10px;white-space:pre-wrap;font-size:12px;line-height:1.7;color:#37455c;max-height:240px;overflow:auto;border:1px solid #ecf0ed}.message-warning{margin-top:10px;font-size:11px;color:#af6d23;background:#fff8ec;border-radius:8px;padding:9px}.message-footer{margin-top:15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.message-actions{display:flex;gap:9px}.pill{border-radius:99px;background:#f5f7fa;padding:7px 11px;font-size:11px;color:#61728a}.modal-overlay{position:fixed;inset:0;background:#13233a77;z-index:10;display:grid;place-items:center;padding:18px}.modal{background:#fff;width:min(750px,100%);max-height:90vh;overflow:auto;border-radius:17px;padding:26px;box-shadow:0 24px 70px #0003}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal h2{margin:0;font-size:19px}.modal footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.file-line{padding:12px;background:#f6faf8;border:1px solid #dceee7;color:#2f7864;border-radius:9px;margin:12px 0;font-weight:650;font-size:12px}.setting-logo{width:102px;height:102px;border:1px dashed #c9ded8;border-radius:16px;display:grid;place-items:center;background:#f5faf7;color:var(--brand);font-size:40px;overflow:hidden}.setting-logo img{max-width:100%;max-height:100%;object-fit:contain}.preview-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#f8fafb}.preview-card h3{margin:10px 0 5px}.preview-card p{color:var(--muted);margin:0}.toast{position:fixed;right:25px;bottom:25px;z-index:50;background:#162b3f;color:white;border-radius:12px;padding:14px 20px;box-shadow:0 9px 30px #0003;max-width:400px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login-visual{background:linear-gradient(150deg,#112940,#105449 75%,#137962);color:white;padding:9vh 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-shape{font-size:94px;opacity:.22;line-height:1}.visual-chip{font-size:11px;font-weight:750;letter-spacing:1.8px;color:#b1d7ca;margin-top:40px}.login-visual h1{font-size:clamp(40px,5vw,75px);line-height:1.1;letter-spacing:-3px;margin:25px 0}.login-visual em{color:#9be6c9;font-style:normal}.login-visual p{color:#c6e1df;font-size:17px;line-height:1.8;max-width:440px}.visual-footer{position:absolute;bottom:38px;color:#9bc5be;font-size:12px}.login-panel{max-width:410px;width:80%;align-self:center;justify-self:center}.login-mark{height:53px;width:53px;font-size:32px;margin-bottom:29px}.login-panel h2{font-size:29px;letter-spacing:-1px;margin:0 0 9px}.login-panel>p{color:var(--muted);margin:0 0 30px}.login-panel label{display:block;font-size:12px;font-weight:750;color:#53647b;margin-bottom:19px}.login-panel input{display:block;margin-top:9px;padding:14px}.login-panel .btn{padding:15px;margin-top:10px}.login-error{color:#b44d4d;margin-top:14px;min-height:20px;font-size:12px}.tiny{font-size:11px;color:#a1acb8;text-align:center;margin-top:25px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.number{font-variant-numeric:tabular-nums}.section-divider{height:1px;background:var(--line);margin:24px 0}.text-button{border:0;background:transparent;color:var(--brand);font-weight:700;padding:5px 0}.count-chip{background:#eef8f4;color:#128269;border-radius:99px;padding:6px 12px;font-weight:750;font-size:12px}
@media(max-width:1150px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.content{padding:30px}.sidebar{width:218px}.topbar{padding:0 28px}}@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.sidebar{width:64px}.sidebar .brand{padding:0 12px}.brand #brand-name,.sidebar .workspace-tag,.nav-label,.nav-item:not(.active){font-size:0}.nav-item{font-size:0;justify-content:center;padding:13px 6px}.nav-item span{font-size:20px}.signed-user>div,.side-info,.brand .icon-btn,.sidebar-bottom .signed-user .icon-btn{display:none}.sidebar-bottom{padding:7px}.brand-icon{flex-shrink:0}.topbar{padding:0 15px}.top-date,.top-profile{display:none}.content{padding:20px 14px}.page-header h1{font-size:25px}.page-header{flex-direction:column}.stats-grid,.form-grid,.preview-grid{grid-template-columns:1fr}.panel{padding:16px}.message-top{flex-direction:column}}
