*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit} button{cursor:pointer}
.app{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:#20242a;color:white;padding:20px 14px;display:flex;flex-direction:column;gap:14px;z-index:30}
.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.logo{width:42px;height:42px;border-radius:12px;background:var(--orange);display:grid;place-items:center;font-weight:900;font-size:21px;box-shadow:inset 0 -8px 20px rgba(0,0,0,.08)}
.brand strong{display:block;font-size:18px}.brand small{color:#b9c0c8}
.nav{display:flex;flex-direction:column;gap:4px}.nav button{border:0;background:transparent;color:#d6d9dd;padding:11px 12px;border-radius:10px;text-align:left;display:flex;gap:10px;align-items:center}.nav button:hover,.nav button.active{background:rgba(244,123,32,.16);color:#fff}.nav .ico{width:23px;text-align:center}
.sidebar-footer{margin-top:auto;color:#9ea5ad;font-size:12px;padding:8px}.sidebar-footer button{margin-top:8px;background:#343a42;color:#fff;border:0;border-radius:9px;padding:8px 10px;width:100%}
.main{min-width:0}.topbar{position:sticky;top:0;z-index:20;background:rgba(245,246,248,.92);backdrop-filter:blur(12px);display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid rgba(0,0,0,.04)}
.menu-btn{display:none;border:0;background:#fff;border-radius:10px;padding:9px 11px;box-shadow:var(--shadow)}
.search{flex:1;max-width:680px;position:relative}.search input{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px 14px 12px 40px;outline:none}.top-actions{margin-left:auto;display:flex;gap:8px}.pill,.btn{border:1px solid var(--line);background:white;border-radius:10px;padding:10px 13px}.btn.primary{background:var(--orange);color:white;border-color:var(--orange);font-weight:700}.btn.ghost{background:transparent}.btn.danger{color:#a32828}.btn.small{padding:7px 9px;font-size:13px}
.content{padding:22px;max-width:none;margin:0}.page{display:none}.page.active{display:block}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{margin:0;font-size:28px}.page-head p{margin:5px 0 0;color:var(--muted)}
.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:18px}.metric .label{color:var(--muted);font-size:13px}.metric .num{font-size:30px;font-weight:800;margin-top:6px}.metric .sub{font-size:12px;color:var(--muted);margin-top:4px}.accent-line{border-top:4px solid var(--orange)}
.section-title{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.section-title h2{margin:0;font-size:18px}.section-title small{color:var(--muted)}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#7a828b;background:#fafbfc}.table tr.clickable:hover{background:#fff8f2}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;background:#eef1f4;color:#59616a}.badge.orange{background:#fff0e4;color:#a95213}.badge.green{background:#e9f6ef;color:#24724e}.badge.red{background:#fdecec;color:#a32b2b}.badge.blue{background:#eaf2fb;color:#2c6295}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.split{display:grid;grid-template-columns:minmax(300px,38%) 1fr;gap:16px}.list-card{overflow:hidden}.list-item{padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.list-item:hover,.list-item.active{background:#fff7f0}.list-item h3{font-size:15px;margin:0 0 4px}.list-item p{margin:0;color:var(--muted);font-size:13px}.detail{padding:18px}.detail h2{margin:0 0 4px}.muted{color:var(--muted)}.kvs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.kv{background:#fafbfc;border:1px solid var(--line);padding:11px;border-radius:10px}.kv small{color:var(--muted);display:block;margin-bottom:5px}.subcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini{border:1px solid var(--line);border-radius:12px;padding:12px}.mini h4{margin:0 0 8px}.mini p{margin:4px 0;font-size:13px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.hr{height:1px;background:var(--line);margin:16px 0}
.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{position:relative;padding:4px 0 18px 28px}.timeline-item:before{content:'';position:absolute;left:7px;top:8px;width:10px;height:10px;background:var(--orange);border-radius:50%}.timeline-item:after{content:'';position:absolute;left:11px;top:20px;bottom:0;width:2px;background:#eceef1}.timeline-item:last-child:after{display:none}.timeline-item strong{font-size:14px}.timeline-item small{display:block;color:var(--muted);margin-top:3px}
