:root{--navy:#122b45;--blue:#2563eb;--ink:#172c42;--muted:#708198;--border:#e4eaf1;--bg:#f5f7fb;--green:#159477}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Segoe UI",Arial,sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:var(--navy);color:#fff;padding:27px 18px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;font-size:23px;color:#fff;font-weight:600;letter-spacing:-.8px}.brand b{color:#68a7ff}.brand-icon{font-size:39px;color:#69a9ff}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#9bafc5;margin-top:2px}.nav-label{font-size:9px;letter-spacing:1.6px;color:#7892ac;margin:31px 13px 12px}.sidebar nav{overflow-y:auto;flex:1}.sidebar nav a{display:flex;gap:14px;align-items:center;color:#c1d0df;padding:9px 13px;border-radius:7px;margin:2px 0;font-size:13px}.sidebar nav a span{font-size:19px;width:23px;text-align:center}.sidebar nav a:hover{background:#203e5b}.sidebar nav a.active{background:#2b64cf;color:#fff}.sidebar-bottom{border-top:1px solid #35506b;margin-top:14px;padding:17px 5px 0;display:flex;gap:10px;align-items:center}.sidebar-bottom small{display:block;color:#8fa9c2;font-size:11px}.avatar{background:#3a5470;width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.workspace{margin-left:242px}.topbar{height:72px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:22px;align-items:center}.top-actions form{margin:0}.text-button{border:0;background:none;color:var(--muted)}main{max-width:1580px;margin:auto;padding:32px 36px 55px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}h1{font-size:29px;letter-spacing:-.9px;margin:5px 0 0;font-weight:650}.eyebrow{font-size:10px;font-weight:700;color:#8796a9;letter-spacing:1.5px}h2{font-size:16px;margin:0;font-weight:650}h3{font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);border:1px solid var(--blue);color:white;padding:10px 17px;border-radius:7px;font-weight:600;white-space:nowrap;font-size:12px}.button:hover{filter:brightness(.95)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--border)}.button.danger{background:#bd3649;border-color:#bd3649}.panel{background:white;border:1px solid var(--border);border-radius:11px;padding:22px;margin-bottom:22px;box-shadow:0 3px 5px #20334a03;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px;color:var(--ink)}.card .label{font-size:11px;color:var(--muted)}.card strong{display:block;font-size:25px;letter-spacing:-.8px;margin:10px 0 4px;font-weight:650}.card small{color:var(--muted);font-size:10px}.card.highlight{background:#e9f7f2;border-color:#cbe9df}.card.highlight strong{color:var(--green)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid-2 .panel{margin-bottom:0}.grid-2{margin-bottom:22px}.muted{color:var(--muted)}.lead{margin:-14px 0 24px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;background:#f7f9fc;color:#7e8da0;font-size:10px;letter-spacing:.5px;text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--border)}td{padding:14px;border-bottom:1px solid #edf1f6;font-size:12px}td:first-child{font-weight:600}tr:last-child td{border-bottom:0}.badge{display:inline-block;font-size:10px;font-weight:600;padding:4px 9px;border-radius:20px;color:#4c72ac;background:#eef4fe}.badge.good{color:#13866c;background:#e6f5ee}.badge.warn{color:#b8791e;background:#fff3df}.empty{text-align:center;color:var(--muted);padding:30px;font-weight:400}.edit-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.edit-form label,.filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#52657a}input,select,textarea{width:100%;border:1px solid #d9e1ea;border-radius:6px;padding:9px 11px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b4ceff;border-color:#789ddd}select[multiple]{min-height:125px}.wide{grid-column:1/-1}.form-actions{border-top:1px solid var(--border);padding-top:18px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.filters label{flex:1;min-width:120px}.filters .button{height:40px}.notice,.error{padding:13px 18px;border:1px solid #bce4d4;background:#ecf9f1;border-radius:8px;margin-bottom:20px}.error{border-color:#efb9bc;background:#fff1f1;color:#9f2933}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.detail-list{display:grid;grid-template-columns:140px 1fr;gap:9px;font-size:12px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.timeline{border-left:2px solid #d9e7fa;padding-left:18px}.timeline p{font-size:12px;margin:0 0 17px}.auth-main{max-width:530px;padding-top:65px}.auth-brand{color:var(--navy);margin-bottom:35px;justify-content:center}.auth-main .edit-form{display:block}.auth-main label{margin-bottom:18px}.auth-main h1{margin-bottom:20px}.menu-toggle{display:none}.line-row{display:grid;grid-template-columns:3fr 1fr 1fr 35px;gap:10px;margin-bottom:10px}.line-row button{background:white;border:1px solid #edc7cb;color:#b33;border-radius:5px}.hint{font-size:12px;color:var(--muted)}.check{display:flex!important;flex-direction:row!important;align-items:center;font-weight:400!important}.check input{width:auto}.chart{width:100%;height:210px;display:block}.chart text{font-size:10px;fill:#718096}.chart .bar-ca{fill:#3676eb}.chart .bar-gain{fill:#2db39b}.chart .bar-cost{fill:#f1b65a}.chart line{stroke:#e7edf4}.flow-steps{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.flow-steps span{padding:9px 15px;border-radius:6px;background:#edf3fc;font-size:11px;color:#516e9c}.flow-steps span.done{background:#e5f4ef;color:#168668}pre{white-space:pre-wrap;word-break:break-word;font-size:11px}.negative{color:#ba3b4c}.preview-frame{width:100%;height:850px;border:1px solid var(--border)}.file-list{list-style:none;padding:0}.file-list li{margin:9px 0}
@media(min-width:1600px){main{padding-top:40px}}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.sidebar{width:210px}.workspace{margin-left:210px}main{padding:24px}.topbar{padding:0 24px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);width:240px;transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.menu-toggle{display:block;background:none;border:0;font-size:22px;color:var(--ink)}.topbar{height:60px;padding:0 16px}.topbar>span,.today{display:none}main{padding:22px 16px}.page-title{align-items:start;flex-direction:column}h1{font-size:25px}.cards{gap:10px}.card{padding:14px}.card strong{font-size:21px}.edit-form{grid-template-columns:1fr}.panel{padding:16px}.line-row{grid-template-columns:2fr 1fr 1fr 28px;gap:5px}.line-row input{padding:8px 5px}.detail-list{grid-template-columns:100px 1fr}.filters{gap:8px}}
@media print{.sidebar,.topbar,.page-title>.button,.filters,.toolbar,.edit-form{display:none}.workspace{margin:0}body{background:white}main{padding:0}.panel,.card{break-inside:avoid;box-shadow:none}.cards{grid-template-columns:repeat(4,1fr)}}

.group-chart{width:100%;display:block}.group-chart text{font:12px "Segoe UI",sans-serif;fill:#708198}.group-chart line{stroke:#cdd8e5}.group-chart .gain{fill:#2db39b}.group-chart .loss{fill:#d96072}

.stamp-preview{background:#fff;border:1px solid #dce3e9;padding:12px;max-width:320px;margin:14px 0;overflow:hidden}.stamp-preview img{display:block;max-width:100%;max-height:160px;object-fit:contain}.stamp-preview-photo{position:relative;width:234px;height:132px;padding:0}.stamp-preview-photo img{position:absolute;left:51px;top:-51px;width:132px;height:234px;max-width:none;max-height:none;transform:rotate(-90deg)}

.captcha-block{grid-column:1/-1;margin:12px 0}.captcha-image{display:block;max-width:100%;width:240px;height:80px;border:1px solid #dce3e9;border-radius:8px;margin:8px 0}.captcha-block a{display:inline-block;margin:4px 0 10px}.captcha-block input{text-transform:uppercase;letter-spacing:2px}
.file-preview{display:block;width:100%;height:76vh;border:1px solid #dce5ef;border-radius:12px;background:white}.image-preview{max-width:100%;max-height:80vh;object-fit:contain;background:white;border-radius:12px}.connection-warning{position:fixed;bottom:16px;left:260px;right:16px;z-index:100;background:#fff3d6;color:#694910;padding:15px;border:1px solid #e4c87e;border-radius:12px;box-shadow:0 4px 16px #172d4520}.connection-warning[hidden]{display:none}.connection-warning form{display:inline-block;margin:8px 0 0 8px}@media(max-width:850px){.connection-warning{left:16px}}fieldset{border:1px solid #dce5ef;border-radius:8px;padding:12px}legend{padding:0 6px}
