:root{--ink:#171513;--ink-2:#2a2724;--muted:#746f69;--line:#e8e3dd;--soft:#f7f5f2;--paper:#fff;--orange:#e9651b;--orange-dark:#c84e0b;--orange-soft:#fff2e9;--green:#18845b;--green-soft:#e9f7f1;--red:#c83c3c;--red-soft:#fff0f0;--blue:#3174b8;--blue-soft:#edf5fd;--yellow:#a36a06;--yellow-soft:#fff7dc;--shadow:0 10px 32px rgba(33,27,22,.07);--radius:14px;--sidebar:248px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft);font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;background:var(--soft)}body{margin:0;min-height:100vh;background:var(--soft);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.icon{display:inline-block;flex:none}.muted{color:var(--muted)}.text-right{text-align:right}.text-center{text-align:center}.nowrap{white-space:nowrap}.danger-text{color:var(--red)}.success-text{color:var(--green)}.full-field{grid-column:1/-1}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}pre{max-width:520px;overflow:auto;background:#211e1b;color:#f4eee8;padding:12px;border-radius:8px;font-size:11px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#191715;color:#eee9e4;display:flex;flex-direction:column;z-index:40;border-right:1px solid #302d2a}.brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid #302d2a}.brand-mark{width:42px;height:42px;border-radius:11px;background:var(--orange);display:grid;place-items:center;overflow:hidden}.brand-mark img{width:36px;height:36px;object-fit:contain;filter:brightness(0) invert(1)}.brand strong{display:block;font-size:20px;letter-spacing:.08em}.brand small{display:block;color:#aaa39d;font-size:11px}.nav-list{padding:18px 10px;overflow-y:auto;flex:1}.nav-group{display:block;color:#7f7872;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;padding:15px 10px 7px}.nav-item{min-height:42px;display:flex;align-items:center;gap:11px;color:#bcb5ae;border-radius:9px;padding:9px 11px;margin:2px 0;font-weight:600;transition:.15s ease}.nav-item:hover{color:#fff;background:#272421}.nav-item.active{color:#fff;background:linear-gradient(100deg,var(--orange-dark),var(--orange));box-shadow:0 5px 18px rgba(233,101,27,.2)}.sidebar-footer{padding:15px 18px;border-top:1px solid #302d2a;color:#837d77;font-size:10px;display:flex;justify-content:space-between;align-items:center}.version{border:1px solid #423e3a;border-radius:999px;padding:2px 7px;color:#aaa39d}
.app-main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:76px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}.topbar-title{display:flex;flex-direction:column}.topbar-title small{font-size:10px;color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.topbar-title strong{font-size:17px}.mobile-menu{display:none}.user-menu{margin-left:auto;position:relative}.user-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px}.user-menu summary::-webkit-details-marker{display:none}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--orange-soft);color:var(--orange-dark);font-weight:800}.user-copy{display:flex;flex-direction:column;min-width:135px}.user-copy strong{font-size:13px}.user-copy small{font-size:11px;color:var(--muted)}.user-popover{position:absolute;right:0;top:50px;width:190px;background:var(--paper);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:7px;z-index:50}.user-popover a,.user-popover button{display:block;width:100%;border:0;background:none;text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer}.user-popover a:hover,.user-popover button:hover{background:var(--soft)}
.page-content{padding:26px 28px 50px;max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px}.page-head h1{font-size:26px;line-height:1.2;margin:4px 0 4px;letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted)}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.eyebrow{color:var(--orange-dark);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(33,27,22,.02);padding:20px}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.card-head h2,.card h2{font-size:16px;margin:0}.card-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.narrow-card{max-width:620px}.split-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px}.two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.four-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.metric{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:17px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;width:65px;height:65px;border-radius:50%;right:-20px;top:-20px;background:var(--tone,#f4eee8)}.metric small{display:block;color:var(--muted);font-weight:600;margin-bottom:8px}.metric strong{display:block;font-size:25px;letter-spacing:-.03em}.metric.orange{--tone:var(--orange-soft)}.metric.blue{--tone:var(--blue-soft)}.metric.red{--tone:var(--red-soft)}.metric.green{--tone:var(--green-soft)}
.btn{min-height:38px;border-radius:9px;padding:8px 13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:.15s}.btn:hover{border-color:#cfc7c0;background:#faf8f6}.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange)}.btn-primary:hover{background:var(--orange-dark);border-color:var(--orange-dark)}.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-danger{color:var(--red);border-color:#f0c9c9;background:var(--red-soft)}.btn-small{min-height:31px;padding:5px 9px;font-size:11px;border-radius:7px}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}.icon-button{border:0;background:none;width:40px;height:40px;border-radius:9px;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:var(--soft)}
.stack-form{display:flex;flex-direction:column;gap:14px}.stack-form h2{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 0 8px;margin:3px 0 0}.form-grid{display:grid;gap:14px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4d4843}label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #dcd6d0;background:#fff;border-radius:9px;padding:9px 10px;min-height:40px;color:var(--ink);outline:none;transition:.15s}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(233,101,27,.11)}input[readonly]{background:var(--soft);color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.inline-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.inline-form label{min-width:150px;flex:1}.search-bar{display:flex;gap:8px;align-items:center;margin-bottom:15px}.search-input{position:relative;flex:1;max-width:440px}.search-input .icon{position:absolute;left:11px;top:10px;color:var(--muted)}.search-input input{padding-left:38px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}table{border-collapse:collapse;width:100%;min-width:720px;background:#fff}th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;background:#faf9f7;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid #eeeae6;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fdfbf9}.table-link{font-weight:750}.table-sub{display:block;color:var(--muted);font-size:11px;margin-top:2px}.status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;background:#f0eeeb;color:#625d57}.status.success{background:var(--green-soft);color:var(--green)}.status.danger{background:var(--red-soft);color:var(--red)}.status.info{background:var(--blue-soft);color:var(--blue)}.status.warning{background:var(--yellow-soft);color:var(--yellow)}.status.neutral{background:#f0eeeb;color:#625d57}.empty{padding:35px 15px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:var(--muted);font-size:12px}.pagination-links{display:flex;gap:5px}.page-link{min-width:31px;height:31px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;background:#fff}.page-link.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.alert{border-radius:10px;padding:11px 13px;margin-bottom:14px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid}.alert button{background:none;border:0;cursor:pointer;font-size:18px;line-height:1}.alert-success{background:var(--green-soft);border-color:#bfe7d5;color:#0f6a48}.alert-error{background:var(--red-soft);border-color:#f3c7c7;color:#a22d2d}.alert-warning{background:var(--yellow-soft);border-color:#ecd99c;color:#7d5105}.alert-info{background:var(--blue-soft);border-color:#c8dff4;color:#265d94}
.detail-list{display:grid;grid-template-columns:150px 1fr;gap:9px 14px;margin:0}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{margin:0;font-weight:650}.section-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:17px}.section-tabs a{padding:9px 12px;border-bottom:2px solid transparent;color:var(--muted);font-weight:650}.section-tabs a.active{color:var(--orange-dark);border-color:var(--orange)}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;padding:0 0 18px 24px;border-left:1px solid var(--line);margin-left:5px}.timeline li:before{content:"";position:absolute;width:9px;height:9px;background:var(--orange);border:3px solid var(--orange-soft);border-radius:50%;left:-5px;top:3px}.timeline li:last-child{border-left-color:transparent}.timeline strong{display:block}.timeline small{color:var(--muted)}.progress{height:7px;background:#ede9e5;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange);border-radius:inherit}.item-block{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:12px}.item-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.item-title h3{font-size:15px;margin:0}.item-title p{margin:2px 0;color:var(--muted)}.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.component{background:var(--soft);border-radius:9px;padding:12px}.component h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.component-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e7e1db;padding:7px 0;font-size:12px}.component-row:first-of-type{border-top:0}.operation-card{border:1px solid var(--line);border-radius:11px;padding:15px;margin-top:10px}.operation-card.current{border-color:#a9ccec;background:var(--blue-soft)}.operation-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.operation-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.kpi-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:9px 0}.kpi-line:first-child{border-top:0}.amount-positive{color:var(--green);font-weight:750}.amount-negative{color:var(--red);font-weight:750}
.login-shell,.install-shell{background:#171513;min-height:100vh;color:#fff}.login-shell{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,#4a2716 0,transparent 34%),#171513}.login-card{width:min(440px,100%);background:#fff;color:var(--ink);border-radius:20px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.login-brand,.install-logo{display:flex;align-items:center;gap:12px}.login-brand>span{width:46px;height:46px;border-radius:12px;background:var(--orange);display:grid;place-items:center}.login-brand img,.install-logo img{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}.login-brand strong,.install-logo strong{display:block;font-size:17px}.login-brand small,.install-logo small{display:block;color:var(--muted);font-size:11px}.login-heading{margin:34px 0 22px}.login-heading h1{font-size:27px;margin:5px 0}.login-heading p{color:var(--muted);margin:0}.login-help{text-align:center;color:var(--muted);font-size:10px;margin:20px 0 0}.install-wrap{width:min(1180px,100%);margin:auto;min-height:100vh;display:grid;grid-template-columns:1fr 540px;gap:70px;align-items:center;padding:45px 28px}.install-intro h1{font-size:44px;line-height:1.08;letter-spacing:-.04em;margin:12px 0 18px}.install-intro p{color:#bcb4ad;font-size:16px;max-width:560px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px;color:#ddd5cf}.feature-list span::first-letter{color:var(--orange)}.install-card{background:#fff;color:var(--ink);border-radius:20px;padding:26px;max-height:calc(100vh - 50px);overflow:auto}.install-logo{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:15px}.install-logo img{background:var(--orange);border-radius:10px;padding:4px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:15px}.check{font-size:10px;border:1px solid var(--line);padding:6px;border-radius:7px;display:flex;gap:6px;align-items:center}.check b{width:16px;height:16px;display:grid;place-items:center;border-radius:50%}.check.ok b{background:var(--green-soft);color:var(--green)}.check.fail{color:var(--red);border-color:#f2cece}.check.fail b{background:var(--red-soft)}
.error-page{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.error-code{font-size:74px;font-weight:900;color:var(--orange);line-height:1}.error-page h1{font-size:25px;margin:10px 0}.error-page p{max-width:650px}.sidebar-overlay{display:none}
@media(max-width:1100px){.four-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.split-grid{grid-template-columns:1fr}.install-wrap{grid-template-columns:1fr;gap:25px}.install-intro{display:none}.install-card{margin:auto;width:min(540px,100%);max-height:none}.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--sidebar:260px}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:35}.sidebar-open .sidebar-overlay{display:block}.app-main{margin-left:0}.topbar{height:66px;padding:0 15px}.mobile-menu{display:grid;margin-right:7px}.user-copy{display:none}.page-content{padding:20px 15px 40px}.page-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.two-grid,.three-grid,.component-grid{grid-template-columns:1fr}.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.four-grid,.metric-grid,.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.check-grid,.feature-list{grid-template-columns:1fr}.login-card{padding:22px;border-radius:16px}.install-wrap{padding:18px}.install-card{padding:20px}.page-head h1{font-size:23px}.btn{flex:1}.detail-list{grid-template-columns:1fr;gap:2px}.detail-list dd{margin-bottom:10px}.topbar-title strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
progress.progress{display:block;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:#ede9e5}progress.progress::-webkit-progress-bar{background:#ede9e5}progress.progress::-webkit-progress-value{background:var(--orange)}progress.progress::-moz-progress-bar{background:var(--orange)}
