:root{
  --bg:#eef3f8;
  --bg2:#ffffff;
  --bg3:#f7f9fc;
  --panel:#ffffff;
  --text:#132033;
  --muted:#6d7b8d;
  --line:#dce5ee;
  --lineStrong:#bdd0e2;
  --blue:#0b4f94;
  --blue2:#1b73bf;
  --blueSoft:#eaf3fb;
  --green:#258965;
  --greenSoft:#e8f6f0;
  --amber:#b98226;
  --amberSoft:#fff4df;
  --red:#c74e57;
  --redSoft:#fdecef;
  --purple:#6f5ba9;
  --purpleSoft:#f0ecfb;
  --shadow:0 15px 40px rgba(28,57,86,.08);
  --radius:18px;
}
html[data-theme="dark"]{
  --bg:#07111d;
  --bg2:#0d1a29;
  --bg3:#112236;
  --panel:#0d1a29;
  --text:#f2f7fb;
  --muted:#9cafc2;
  --line:rgba(158,189,220,.13);
  --lineStrong:rgba(95,159,220,.35);
  --blue:#2e7ec8;
  --blue2:#68ace7;
  --blueSoft:rgba(46,126,200,.14);
  --green:#61d2a0;
  --greenSoft:rgba(97,210,160,.11);
  --amber:#f1c66f;
  --amberSoft:rgba(241,198,111,.11);
  --red:#ff8e97;
  --redSoft:rgba(255,142,151,.11);
  --purple:#b09aef;
  --purpleSoft:rgba(176,154,239,.12);
  --shadow:0 20px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:
  radial-gradient(circle at 10% 0,rgba(32,115,190,.09),transparent 26%),
  radial-gradient(circle at 96% 12%,rgba(11,79,148,.07),transparent 22%),var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer;color:inherit}
.app-shell{display:grid;grid-template-columns:290px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:20px;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg3))}
.brand-card,.sidebar-card,.panel,.metric-card,.object-card,.hero,.flow-card,.insight-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg3));border-radius:var(--radius);box-shadow:var(--shadow)}
.brand-card{padding:19px 18px 16px;margin-bottom:12px}
.brand-logo{display:block;max-width:175px;max-height:52px;object-fit:contain;object-position:left center;filter:none}
.brand-system{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.02em}
.demo-label{display:flex;gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:13px;font-size:11px;color:var(--muted);margin-bottom:15px;background:var(--bg3)}
.demo-label span{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px var(--amberSoft)}
.menu{display:grid;gap:7px;margin:0 0 16px}
.menu-item{display:flex;align-items:center;gap:11px;width:100%;border:1px solid transparent;background:transparent;border-radius:14px;padding:12px 13px;text-align:left;font-weight:650;font-size:13px}
.menu-item:hover,.menu-item.active{background:var(--blueSoft);border-color:var(--lineStrong)}
.menu-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--bg3);border:1px solid var(--line);font-size:14px;flex:0 0 auto}
.menu-item.active .menu-icon{background:linear-gradient(180deg,var(--blue2),var(--blue));color:#fff;border-color:transparent}
.sidebar-card{padding:15px;margin-bottom:13px}
.sidebar-card.compact{padding:14px}
.sidebar-card-label{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:var(--muted);margin-bottom:11px}
.scope-line{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-top:1px solid var(--line)}
.scope-line:first-of-type{border-top:0;padding-top:0}.scope-line b{font-size:12px}.scope-line span,.sidebar-note{font-size:11px;color:var(--muted);line-height:1.45}.sidebar-note{margin:0}
.main{padding:20px 22px 34px;min-width:0}
.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px;flex-wrap:wrap}
.topbar-left,.topbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.topbar-left{flex:1 1 520px}.topbar-right{justify-content:flex-end}
.field-select,.field-input,.btn{min-height:42px;border:1px solid var(--line);border-radius:13px;background:var(--bg2);color:var(--text);padding:9px 13px;outline:none}
.field-select{min-width:205px}.search-input{flex:1 1 300px;min-width:250px}.field-input::placeholder{color:var(--muted)}
.field-select:focus,.field-input:focus{border-color:var(--blue2);box-shadow:0 0 0 3px var(--blueSoft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;font-size:13px}
.btn:hover{border-color:var(--lineStrong)}.btn.primary{background:linear-gradient(180deg,var(--blue2),var(--blue));color:#fff;border-color:transparent}.btn.soft{background:var(--blueSoft);border-color:var(--lineStrong)}.btn.danger{background:var(--redSoft);color:var(--red)}
.hero{position:relative;overflow:hidden;padding:23px;margin-bottom:16px;background:linear-gradient(132deg,#0b4f94 0%,#0a345f 54%,#081c31 100%);color:#fff;border-color:rgba(255,255,255,.10)}
.hero::after{content:"";position:absolute;right:-55px;top:-75px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(104,172,231,.28),transparent 66%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:20px;align-items:end;position:relative;z-index:1}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.7);margin-bottom:8px}.hero h1{font-size:34px;line-height:1.04;margin:0 0 10px;max-width:820px}.hero p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.84);margin:0;max-width:850px}
.hero-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.hero-fact{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11)}.hero-fact b{display:block;font-size:16px;margin-bottom:3px}.hero-fact span{font-size:10px;color:rgba(255,255,255,.7)}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:11px;margin-bottom:16px}.metric-card{padding:14px 15px;min-height:110px}.metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.35}.metric-value{font-size:26px;font-weight:800;margin:8px 0 4px;letter-spacing:-.02em}.metric-hint{font-size:11px;color:var(--muted);line-height:1.35}.metric-hint.good{color:var(--green)}.metric-hint.warn{color:var(--amber)}.metric-hint.bad{color:var(--red)}
.grid-2{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-bottom:14px}.grid-2.equal{grid-template-columns:1fr 1fr}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.panel{padding:17px;min-width:0}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.panel-title{font-size:16px;font-weight:800;margin:0}.panel-subtitle{font-size:11px;color:var(--muted);line-height:1.45;margin-top:4px}.panel-actions{display:flex;gap:7px;flex-wrap:wrap}.section-title{font-size:20px;margin:0 0 4px}.section-copy{font-size:12px;color:var(--muted);margin:0 0 15px;line-height:1.55}
.object-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:11px}.object-card{padding:15px;box-shadow:none}.object-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.object-name{font-size:15px;font-weight:800}.object-meta{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}.object-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.mini-kpi{background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:9px}.mini-kpi b{display:block;font-size:14px}.mini-kpi span{font-size:9px;color:var(--muted);line-height:1.3}.object-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:750;white-space:nowrap;border:1px solid transparent}.badge.blue{background:var(--blueSoft);color:var(--blue2);border-color:var(--lineStrong)}.badge.green{background:var(--greenSoft);color:var(--green)}.badge.amber{background:var(--amberSoft);color:var(--amber)}.badge.red{background:var(--redSoft);color:var(--red)}.badge.purple{background:var(--purpleSoft);color:var(--purple)}.badge.gray{background:var(--bg3);color:var(--muted);border-color:var(--line)}
.health-bar{height:7px;border-radius:999px;background:var(--bg3);overflow:hidden;border:1px solid var(--line);margin-top:8px}.health-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--blue2))}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:stretch}.flow-step{position:relative;padding:13px 12px;border-radius:14px;border:1px solid var(--line);background:var(--bg3);min-height:102px}.flow-step:not(:last-child)::after{content:"→";position:absolute;right:-11px;top:40%;z-index:2;color:var(--blue2);font-weight:900;background:var(--panel);width:20px;height:20px;border-radius:50%;display:grid;place-items:center}.flow-step b{display:block;font-size:11px;margin-bottom:6px}.flow-step p{font-size:10px;line-height:1.4;color:var(--muted);margin:0}.flow-step strong{display:block;color:var(--blue2);font-size:16px;margin-top:8px}
.insight-list{display:grid;gap:9px}.insight-card{padding:13px 14px;box-shadow:none;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center}.insight-icon{width:36px;height:36px;border-radius:12px;background:var(--blueSoft);display:grid;place-items:center;font-size:16px}.insight-card b{font-size:11px;display:block}.insight-card p{font-size:10px;color:var(--muted);line-height:1.4;margin:3px 0 0}.insight-number{font-size:16px;font-weight:800}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.data-table th{position:sticky;top:0;background:var(--bg3);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);z-index:1}.data-table td{font-size:11px;line-height:1.45}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:var(--blueSoft)}.cell-title{font-weight:750;font-size:11px}.cell-sub{color:var(--muted);font-size:9px;margin-top:3px}.amount{font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.deadline.overdue{color:var(--red);font-weight:750}.deadline.soon{color:var(--amber);font-weight:750}.deadline.ok{color:var(--green)}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.filter-chip{border:1px solid var(--line);background:var(--bg2);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:650}.filter-chip.active{background:var(--blueSoft);border-color:var(--lineStrong);color:var(--blue2)}
.progress-line{display:flex;gap:9px;align-items:center}.progress{flex:1;height:8px;border-radius:99px;background:var(--bg3);border:1px solid var(--line);overflow:hidden;min-width:80px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--blue2));border-radius:99px}.progress-line b{font-size:10px;min-width:34px;text-align:right}
.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:92px 13px 1fr;gap:10px}.timeline-date{font-size:10px;color:var(--muted);text-align:right;padding-top:1px}.timeline-dot{position:relative}.timeline-dot::before{content:"";position:absolute;left:4px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--blue2);box-shadow:0 0 0 4px var(--blueSoft)}.timeline-dot::after{content:"";position:absolute;left:7px;top:17px;width:1px;height:calc(100% + 7px);background:var(--lineStrong)}.timeline-item:last-child .timeline-dot::after{display:none}.timeline-content{padding:0 0 11px}.timeline-content b{font-size:11px}.timeline-content p{font-size:10px;color:var(--muted);line-height:1.4;margin:4px 0 0}
.asset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.asset-stat{border:1px solid var(--line);border-radius:14px;background:var(--bg3);padding:12px}.asset-stat b{font-size:19px;display:block}.asset-stat span{font-size:9px;color:var(--muted)}
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.doc-card{border:1px solid var(--line);background:var(--bg3);border-radius:14px;padding:13px}.doc-card-top{display:flex;justify-content:space-between;gap:8px}.doc-card b{font-size:11px}.doc-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:5px 0 10px}.doc-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);padding-top:9px;border-top:1px solid var(--line)}
.callout{border:1px solid var(--lineStrong);background:var(--blueSoft);border-radius:14px;padding:13px 14px;font-size:11px;line-height:1.5;margin-bottom:14px}.callout b{color:var(--blue2)}
.source-box{border-left:3px solid var(--blue2);padding:10px 12px;background:var(--blueSoft);border-radius:0 12px 12px 0;font-size:10px;color:var(--muted);line-height:1.5}.source-box b{color:var(--text)}
.empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:12px}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(700px,100%);max-height:92vh;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,.35);padding:20px}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.modal h2{font-size:19px;margin:0}.modal p{font-size:11px;color:var(--muted);line-height:1.5}.modal-close{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--bg3)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-group{display:grid;gap:6px}.form-group.full{grid-column:1/-1}.form-group label{font-size:10px;color:var(--muted)}.form-group textarea{min-height:90px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
#toastRoot{position:fixed;right:20px;bottom:20px;z-index:120;display:grid;gap:8px}.toast{background:var(--bg2);border:1px solid var(--lineStrong);box-shadow:var(--shadow);border-radius:13px;padding:11px 13px;min-width:260px;font-size:11px}.toast b{display:block;margin-bottom:3px}.toast span{color:var(--muted)}
.kicker-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.kicker-row .badge{font-size:10px}.page-title{font-size:24px;line-height:1.1;margin:0 0 6px}.page-lead{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 16px;max-width:950px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:9px;padding:5px 7px;border-radius:8px;background:var(--bg3);border:1px solid var(--line);color:var(--muted)}
@media(max-width:1280px){.metric-grid{grid-template-columns:repeat(3,1fr)}.object-grid{grid-template-columns:repeat(2,1fr)}.asset-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.menu{grid-template-columns:repeat(2,1fr)}.main{padding:16px}.grid-2,.grid-2.equal,.grid-3{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.flow-step::after{display:none!important}.doc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.menu{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.object-grid,.doc-grid,.form-grid{grid-template-columns:1fr}.hero h1{font-size:27px}.hero-facts{grid-template-columns:1fr 1fr}.flow{grid-template-columns:1fr}.asset-grid{grid-template-columns:1fr 1fr}.topbar-left,.topbar-right{width:100%}.field-select,.search-input{width:100%;min-width:0}.topbar-right .btn{flex:1}.main{padding:13px}.sidebar{padding:14px}}

/* v2.1 — feedback pass 12.08.2026 */
.brand-card{background:linear-gradient(145deg,#0a3f75,#0b4f94 62%,#176aab);border-color:rgba(255,255,255,.10);box-shadow:0 18px 42px rgba(5,50,91,.22)}
.brand-system{color:rgba(255,255,255,.76)}
.brand-logo{width:160px;height:auto;max-height:54px}
.project-card{position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.project-card:hover{transform:translateY(-2px);border-color:var(--lineStrong);box-shadow:0 12px 28px rgba(20,67,108,.10)}
.project-card-accent{position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),var(--blue2),transparent 82%)}
.project-phase{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--blue2);margin-bottom:5px}
.object-note{font-size:10px;line-height:1.45;color:var(--muted);min-height:44px;margin:10px 0 0}
.object-footer>span{max-width:60%;line-height:1.35}
.open-project-btn{white-space:nowrap}
.portfolio-panel{margin-bottom:14px}
.portfolio-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}
.capability-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.capability-mini{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:start;border:1px solid var(--line);background:var(--bg3);border-radius:13px;padding:12px}
.capability-mini>strong{font-size:18px;color:var(--blue2);line-height:1}
.capability-mini b{display:block;font-size:11px;margin-bottom:4px}.capability-mini span{display:block;color:var(--muted);font-size:9px;line-height:1.4}
.construction-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:16px}
.construction-capability{border:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg3));border-radius:16px;padding:15px;display:grid;grid-template-columns:42px 1fr;gap:12px;box-shadow:var(--shadow)}
.construction-num{font-size:23px;font-weight:900;color:var(--blue2);line-height:1}
.construction-capability h3{font-size:12px;letter-spacing:.03em;margin:0 0 7px}.construction-capability p{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 8px}.construction-capability span{font-size:9px;color:var(--green);text-transform:uppercase;letter-spacing:.07em;font-weight:750}
.progress.accepted>span{background:linear-gradient(90deg,#258965,#61d2a0)}
.acceptance-list{display:grid;gap:8px}
.acceptance-card{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:var(--bg3);border-radius:13px;padding:11px}
.acceptance-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--blueSoft);color:var(--blue2);font-size:16px}.acceptance-card b{font-size:11px}.acceptance-card p{font-size:9px;color:var(--muted);margin:3px 0 6px}.acceptance-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:8px;color:var(--muted)}.acceptance-meta span{padding:3px 5px;border:1px solid var(--line);border-radius:7px;background:var(--bg2)}.acceptance-side{display:grid;justify-items:end;gap:6px;font-size:9px;color:var(--muted);white-space:nowrap}
.benefit-list{display:grid;gap:8px;margin-top:12px}.benefit-list>div{position:relative;padding:9px 10px 9px 30px;border:1px solid var(--line);border-radius:11px;background:var(--bg3);font-size:10px;line-height:1.45}.benefit-list>div::before{content:"→";position:absolute;left:10px;top:8px;color:var(--green);font-weight:900}.benefit-list.compact{margin-top:8px}
.project-hero{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--bg2),var(--bg3));box-shadow:var(--shadow);padding:18px;margin-bottom:14px;overflow:hidden;position:relative}.project-hero::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-145px;background:radial-gradient(circle,rgba(27,115,191,.16),transparent 70%);pointer-events:none}
.project-hero-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px;position:relative;z-index:1}.project-hero-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.project-hero-links a{text-decoration:none}
.project-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:end;position:relative;z-index:1}.project-hero h1{font-size:32px;line-height:1;margin:5px 0 7px}.project-hero p{font-size:11px;color:var(--muted);margin:0}.project-public-note{font-size:11px;line-height:1.5;margin:12px 0 7px;max-width:820px}.project-score{border:1px solid var(--line);background:var(--bg3);border-radius:15px;padding:13px}.project-score>span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.project-score>b{font-size:30px;display:block;margin:4px 0 7px}
.lifecycle-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:16px;position:relative;z-index:1}.life-stage{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:8px 9px;font-size:9px;color:var(--muted);background:var(--bg3)}.life-stage>span{width:7px;height:7px;border-radius:50%;background:var(--lineStrong)}.life-stage.active{color:var(--text);border-color:var(--lineStrong);background:var(--blueSoft)}.life-stage.active>span{background:var(--blue2);box-shadow:0 0 0 3px var(--blueSoft)}
.project-nav-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:14px}.project-nav-card{border:1px solid var(--line);background:var(--bg2);color:var(--text);border-radius:14px;padding:12px;text-align:left;min-height:76px;transition:.15s}.project-nav-card:hover{border-color:var(--lineStrong);background:var(--blueSoft);transform:translateY(-1px)}.project-nav-card b{display:block;font-size:11px}.project-nav-card span{display:block;font-size:9px;color:var(--muted);margin-top:6px;line-height:1.35}
.mini-legal{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:10px 0}.mini-legal:first-of-type{margin-top:8px}.mini-legal b{font-size:10px;line-height:1.4}.mini-legal span{font-size:9px;color:var(--muted);white-space:nowrap}.empty.small{padding:18px 10px}
.route-loader{position:fixed;inset:0;z-index:200;background:rgba(4,12,22,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.route-loader-card{width:min(360px,100%);border-radius:22px;background:linear-gradient(145deg,#083866,#0b4f94);border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 90px rgba(0,0,0,.35);padding:27px;color:#fff;text-align:center;display:grid;justify-items:center}.route-loader-card img{width:145px;height:auto;margin-bottom:22px}.route-loader-card b{font-size:16px;margin-top:12px}.route-loader-card span{font-size:13px;margin-top:5px}.route-loader-card small{font-size:9px;color:rgba(255,255,255,.68);margin-top:8px}.loader-ring{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.22);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.modal-open{overflow:hidden}.modal-close{font-size:22px;line-height:1;display:grid;place-items:center}.modal-close:hover{border-color:var(--lineStrong);background:var(--blueSoft)}

@media(max-width:1380px){.portfolio-grid{grid-template-columns:repeat(3,minmax(190px,1fr))}.project-nav-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){
  .app-shell{display:block}.sidebar{position:sticky;top:0;z-index:60;height:auto;max-height:none;overflow:visible;padding:9px 12px;border-right:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 94%,transparent);backdrop-filter:blur(16px)}
  .brand-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;margin-bottom:7px;border-radius:13px}.brand-logo{max-width:125px;max-height:34px}.brand-system{margin:0;text-align:right;font-size:9px}.demo-label,.sidebar-card{display:none}
  .menu{display:flex;gap:6px;overflow-x:auto;margin:0;padding-bottom:1px;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu-item{flex:0 0 auto;width:auto;padding:7px 9px;font-size:10px;border-radius:11px}.menu-icon{width:25px;height:25px;border-radius:8px;font-size:11px}
  .main{padding:13px 14px 28px}.topbar{margin-bottom:12px}.portfolio-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.construction-capabilities{grid-template-columns:1fr}.project-hero-grid{grid-template-columns:1fr}.project-score{max-width:260px}.lifecycle-strip{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding-bottom:3px}.project-nav-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
  .main{padding:11px 11px 24px}.brand-card{padding:8px 10px}.brand-logo{max-width:112px}.brand-system{font-size:8px}.menu-item{font-size:9px;padding:6px 8px}.menu-item span:last-child{white-space:nowrap}
  .topbar-left{display:grid;grid-template-columns:1fr;width:100%}.topbar-right{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.topbar-right .btn{padding-left:8px;padding-right:8px;font-size:10px}.field-select,.search-input{width:100%;min-width:0}
  .portfolio-grid,.object-grid,.doc-grid,.form-grid{grid-template-columns:1fr}.capability-mini-grid{grid-template-columns:1fr}.construction-capability{grid-template-columns:36px 1fr;padding:13px}.construction-num{font-size:20px}.acceptance-card{grid-template-columns:34px 1fr}.acceptance-side{grid-column:2;justify-items:start;grid-auto-flow:column;align-items:center}.object-note{min-height:0}.object-footer{align-items:flex-end}.object-footer>span{max-width:52%}
  .project-hero{padding:14px;border-radius:16px}.project-hero-top{align-items:flex-start}.project-hero-links{justify-content:flex-end}.project-hero h1{font-size:27px}.project-nav-grid{grid-template-columns:1fr 1fr}.project-nav-card{min-height:68px;padding:10px}.metric-grid{grid-template-columns:1fr 1fr}.hero-facts{grid-template-columns:1fr 1fr}.mini-legal{display:grid}.mini-legal span{white-space:normal}.kicker-row{align-items:flex-start}.kicker-row>.badge{white-space:normal;text-align:center}
  .modal-backdrop{padding:10px}.modal{padding:15px;border-radius:16px;max-height:94vh}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions .btn{width:100%}
}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.hero-facts{grid-template-columns:1fr 1fr}.project-nav-grid{grid-template-columns:1fr}.project-hero-top{display:grid}.project-hero-links{justify-content:flex-start}.object-footer{display:grid}.object-footer>span{max-width:100%}.open-project-btn{width:100%}.topbar-right{grid-template-columns:1fr 1fr}.topbar-right #createBtn{grid-column:1/-1}.toast{min-width:0;width:calc(100vw - 24px)}#toastRoot{left:12px;right:12px;bottom:12px}}
