:root{--bg:#07111d;--bg2:#0a1421;--panel:#0d1a2a;--panel2:#101f31;--line:#223247;--line2:#2a3b51;--text:#f7fbff;--muted:#8ea1b7;--muted2:#64788e;--cyan:#18d4ff;--blue:#3b82f6;--green:#2dd4a8;--yellow:#f4b83f;--red:#ff4b61;--violet:#a78bfa;--radius:10px;--shadow:0 14px 34px rgba(0,0,0,.18)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}body{min-height:100vh;background:linear-gradient(180deg,#07111d 0,#081421 100%)}a{color:inherit}button,input,select,textarea{font:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#040b16;border-right:1px solid #1c2b3d;display:flex;flex-direction:column;z-index:30}.brand{height:70px;padding:14px 13px;border-bottom:1px solid #142233;display:flex;align-items:center}.brandtext small{display:block;color:var(--cyan);font-size:10px;letter-spacing:1.7px;font-weight:800}.brandtext strong{display:block;font-size:18px;margin-top:4px;letter-spacing:-.3px}.sidebar nav{padding:12px 6px 8px;overflow-y:auto;display:grid;gap:2px}.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-track{background:#0a1019}.sidebar nav::-webkit-scrollbar-thumb{background:#77808c;border-radius:8px;border:2px solid #0a1019}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;text-decoration:none;color:#d5dfeb;font-size:13px;line-height:1.2;transition:.15s}.sidebar nav a:hover{background:#0b192a}.sidebar nav a.active{background:#112239;color:#fff}.navsvg{width:18px;height:18px;flex:none;color:#bac8d7}.sidebar nav a.active .navsvg{color:#dceaff}.sidefoot{margin-top:auto;border-top:1px solid #152438;padding:12px 10px 15px;display:grid;gap:3px}.sidefoot strong{font-size:11px}.sidefoot small{font-size:10px;color:#7c91a7}.sidefoot a{font-size:11px;color:#8ea1b7;text-decoration:none;margin-top:5px}
.main{margin-left:252px;min-height:100vh}.projectbar{height:50px;border-bottom:1px solid #27384b;background:#07111e;display:flex;align-items:center;padding:0 26px;gap:12px;position:sticky;top:0;z-index:20}.projectselect-label{font-size:10px;color:#74879c;letter-spacing:1.3px}.projectselect{height:33px;min-width:320px;border:1px solid #293b50;background:#0b1826;border-radius:7px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:#c9d6e4;font-size:12px}.projectbar-right{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px;color:#7e93a8}.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px rgba(45,212,168,.08)}
.pageintro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 25px 19px}.eyebrow{color:var(--cyan);font-size:10px;letter-spacing:1.4px;font-weight:800;margin-bottom:6px}.pageintro h1{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.1;margin:0;letter-spacing:-.4px}.pageintro p{margin:7px 0 0;color:#8da3b9;max-width:900px;font-size:12px;line-height:1.55}.quicklinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quicklinks a{border:1px solid #2a3b50;background:#0d1b2b;border-radius:7px;padding:8px 10px;font-size:11px;color:#bfd0e2;text-decoration:none}.quicklinks a:hover{border-color:#3d5a78;background:#112338}
.flash{margin:0 25px 15px;padding:11px 13px;border-radius:8px;border:1px solid}.flash.ok{color:#8ee7c8;background:rgba(45,212,168,.07);border-color:rgba(45,212,168,.22)}.flash.error{color:#ff9cab;background:rgba(255,75,97,.07);border-color:rgba(255,75,97,.22)}
.kpi-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:12px;padding:0 25px 18px}.kpi{min-height:104px;background:#0d1a2a;border:1px solid #26384d;border-radius:9px;padding:16px;display:flex;flex-direction:column}.kpi span,.money-card span{font-size:10px;color:#83a4c4;letter-spacing:1.2px;text-transform:uppercase}.kpi strong{font-size:23px;margin-top:10px;line-height:1;color:#fff}.kpi small{font-size:9px;color:#5f748b;margin-top:auto;padding-top:10px;line-height:1.4}.kpi.cyan strong{color:var(--cyan)}.kpi.warn strong{color:var(--yellow)}.kpi.danger strong{color:var(--red)}
.money-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 25px 24px}.money-card{background:#0d1a2a;border:1px solid #26384d;border-radius:9px;padding:17px 16px;min-height:84px}.money-card strong{display:block;font-size:22px;color:var(--violet);margin-top:9px}.money-card small{display:block;color:#60768d;font-size:9px;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;padding:0 25px}.dashboard-grid.lower{margin-top:0}.panel{background:#0d1a2a;border:1px solid #26384d;border-radius:9px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow);overflow:auto}.panel h2{font-size:15px;margin:0 0 12px}.panel h3{font-size:13px;margin:0 0 9px}.panel p{color:#7f96ad;font-size:11px;line-height:1.55}.panelhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.panelhead h2{margin:0}.panelhead p{margin:3px 0 0;max-width:640px}.panelhead a{font-size:10px;color:#86b8db;text-decoration:none;white-space:nowrap;margin-top:2px}.panelhead a:hover{color:var(--cyan)}
.phase-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 0}.phase-row>b{font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:600}.phase-state{display:grid;grid-template-columns:auto 105px 28px;align-items:center;gap:10px;min-width:250px}.mini-progress{height:7px;border-radius:999px;background:#122337;overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:inherit}.phase-state>span{font-size:10px;color:#7ba8ce;text-align:right}.focus-panel{min-height:100%}.focus-block+ .focus-block{margin-top:22px}.focus-item{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #1c2d40}.focus-item:last-child{border-bottom:0}.focus-item b,.task-row b,.attention-row b{display:block;font-size:12px}.focus-item small,.task-row small,.attention-row small{display:block;color:#7990a6;font-size:10px;margin-top:2px;line-height:1.4}.signal{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:#718499}.signal.warn{background:var(--yellow)}.signal.danger{background:var(--red)}.signal.cyan{background:var(--cyan)}.soft-empty{font-size:11px;color:#748da4;line-height:1.55;padding:7px 0}.attention-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid #1c2d40;text-decoration:none}.attention-row:last-child{border-bottom:0}.attention-row>div{flex:1}.attention-row .arrow{color:#68829a;margin-left:auto}.attention-row:hover b{color:var(--cyan)}
.metric-line,.source-stat{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #1c2d40}.metric-line span,.source-stat span{color:#869bb0;font-size:11px}.metric-line b,.source-stat b{font-size:12px}.number-cyan{color:var(--cyan)!important}.number-green{color:var(--green)!important}.number-red{color:var(--red)!important}.progressbar{height:8px;background:#102135;border-radius:999px;overflow:hidden;margin-top:13px}.progressbar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:inherit}.task-row,.todo-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #1c2d40}.task-row:last-child,.todo-row:last-child{border-bottom:0}.task-main{min-width:0}.tipbox{display:flex;gap:10px;align-items:flex-start;background:#0b1928;border:1px solid #20344a;border-radius:8px;padding:11px 12px;margin-top:14px}.tipbox b{color:var(--cyan);font-size:11px}.tipbox span{font-size:10px;color:#8098b0;line-height:1.5}.pill{display:inline-flex;align-items:center;border:1px solid #2d3f54;border-radius:999px;background:#132236;color:#aabbd0;padding:3px 8px;font-size:9px;line-height:1;white-space:nowrap}.pill.warn{color:#f7ca72;border-color:rgba(244,184,63,.22);background:rgba(244,184,63,.08)}.pill.danger{color:#ff8997;border-color:rgba(255,75,97,.22);background:rgba(255,75,97,.08)}.pill.success{color:#77dfbd;border-color:rgba(45,212,168,.22);background:rgba(45,212,168,.08)}
.project-profile{margin:0 25px 16px}.project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.project-head>div{display:flex;gap:10px;align-items:flex-start}.project-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:20px}.project-head p{margin:4px 0 0}.statusdot{width:10px;height:10px;border-radius:50%;background:var(--green);margin-top:7px;box-shadow:0 0 0 4px rgba(45,212,168,.08)}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.project-facts>div{background:#0a1726;border:1px solid #1f3247;border-radius:8px;padding:12px}.project-facts span{display:block;color:#6f879f;font-size:9px;text-transform:uppercase;letter-spacing:.8px}.project-facts b{display:block;margin-top:5px;font-size:11px}.scope-tags{display:flex;flex-wrap:wrap;gap:7px}.scope-tags span{border:1px solid #2b4159;background:#0b1827;padding:6px 9px;border-radius:999px;color:#a8bbce;font-size:10px}
.guide-list{display:grid;gap:11px}.guide-list>div{display:flex;gap:10px;align-items:flex-start}.guide-list b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#122439;color:var(--cyan);font-size:10px;flex:none}.guide-list span{color:#91a5b9;font-size:11px;line-height:1.45;padding-top:4px}.empty-state{text-align:center;padding:30px 18px}.empty-icon{width:42px;height:42px;border:1px solid #2a4159;border-radius:50%;display:grid;place-items:center;margin:0 auto 11px;color:#6f91ad;font-size:20px}.empty-state>b{font-size:13px}.empty-state p{max-width:560px;margin:7px auto 14px}.date-chip{font-size:10px;color:#94abc1;background:#0b1928;border:1px solid #21364c;border-radius:999px;padding:4px 8px}.todo-row.is-overdue{background:linear-gradient(90deg,rgba(255,75,97,.05),transparent);padding-left:8px;border-left:2px solid var(--red)}.user-card{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#17bfe8,#5478ef);font-weight:800}.user-card small{display:block;color:#7f96ad;font-size:10px;margin-top:3px}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.health-card{display:flex;gap:10px;align-items:center;background:#0b1827;border:1px solid #1f3349;padding:12px;border-radius:8px}.health-card b{font-size:11px}.health-card small{display:block;color:#7f96ad;font-size:10px;margin-top:2px}.health-light{width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px rgba(244,184,63,.08)}.health-light.ok{background:var(--green);box-shadow:0 0 0 4px rgba(45,212,168,.08)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 9px;border-bottom:1px solid #1b2d40;vertical-align:top}tr:last-child td{border-bottom:0}th{font-size:9px;color:#6e849a;letter-spacing:.8px;text-transform:uppercase}td{font-size:11px;color:#c9d5e2}td b{font-size:11px}.block{display:block;color:#71879e;margin-top:3px;font-size:10px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid .full{grid-column:1/-1}label{display:grid;gap:5px;color:#aebed0;font-weight:700;font-size:10px}input,select,textarea{width:100%;padding:9px 10px;border:1px solid #263a51;border-radius:7px;background:#081522;color:#e9f2fa;outline:none}input:focus,select:focus,textarea:focus{border-color:#2d91ba;box-shadow:0 0 0 3px rgba(24,212,255,.06)}textarea{min-height:92px;resize:vertical}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #2c435c;background:#112136;color:#dbe7f2;padding:8px 12px;border-radius:7px;text-decoration:none;font-weight:700;font-size:11px;cursor:pointer}.btn:hover{background:#152941}.btn.primary{background:linear-gradient(135deg,#168eb8,#4a6fe8);border-color:#2e82c3;color:#fff}.btn.small{padding:7px 10px}.btn.tiny{padding:5px 8px;font-size:9px}.inline{display:inline}.hint{color:#7f96ad}.timeline .mile{display:grid;grid-template-columns:105px 1fr auto;gap:16px;padding:14px 0;border-bottom:1px solid #1c2d40}.mile .date{font-size:10px;color:#7e9ab5;font-weight:800}.mile small{display:block;color:#71879e;font-size:10px;margin-top:3px}.mile p{margin:5px 0 0}.empty{color:#70879e;font-size:11px;padding:10px 0}code{display:block;background:#071420;border:1px solid #20364c;border-radius:7px;color:#9ce2f3;padding:8px 10px;word-break:break-all;font-size:10px}
.login,.install{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 5%,rgba(24,212,255,.10),transparent 27%),linear-gradient(145deg,#050b14,#091521)}.loginbox,.installbox{width:min(760px,100%);background:#0d1a2a;border:1px solid #26384d;border-radius:14px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.loginbox{width:min(430px,100%)}.loginbox h1,.installbox h1{font-family:Georgia,"Times New Roman",serif;margin:0 0 5px}.loginbox p,.installbox p{color:#8299af}.loginbox form{display:grid;gap:12px;margin-top:20px}.loginmeta{display:flex;justify-content:space-between;color:#61778e;font-size:10px;margin-top:16px}.loginbrandline{height:1px;background:linear-gradient(90deg,transparent,#2b4b65,transparent);margin:16px 0}
@media(max-width:1450px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.kpi-grid .kpi:nth-child(n+5){min-height:90px}.project-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.sidebar{width:220px}.main{margin-left:220px}.dashboard-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.money-grid{grid-template-columns:repeat(2,1fr)}.quicklinks{display:none}}
@media(max-width:760px){.sidebar{position:static;width:auto;min-height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr);max-height:none}.sidefoot{display:none}.main{margin-left:0}.projectbar{position:static;padding:0 14px}.projectselect{min-width:0;flex:1}.projectbar-right{display:none}.pageintro{padding:20px 14px}.kpi-grid,.money-grid,.dashboard-grid{padding-left:14px;padding-right:14px}.project-profile{margin-left:14px;margin-right:14px}.formgrid,.project-facts,.health-grid{grid-template-columns:1fr}.phase-state{min-width:180px;grid-template-columns:auto 75px 24px}.pageintro h1{font-size:23px}}
@media(max-width:520px){.sidebar nav{grid-template-columns:1fr}.kpi-grid,.money-grid{grid-template-columns:1fr}.phase-row,.task-row,.todo-row{align-items:flex-start;flex-direction:column}.phase-state{width:100%;min-width:0}.projectselect-label{display:none}}
.login-logo small{display:block;color:var(--cyan);font-size:10px;letter-spacing:1.7px;font-weight:800}.login-logo strong{display:block;font-size:20px;margin-top:4px}.loginbox .flash{margin:14px 0 0}.loginbox .btn{margin-top:3px}.loginbox label{font-size:11px}

/* V5.1 focused project-control modules */
.flow-steps{display:grid;gap:12px;margin-top:12px}.flow-steps>div{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid #223449;border-radius:10px;background:#0a1726}.flow-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0ee6ff;color:#04111d}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;gap:6px;align-items:center}.link-grid select{min-width:0}.phase-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #17293b}.phase-state{display:grid;grid-template-columns:auto 1fr 44px;gap:10px;align-items:center}.progress{height:8px;border-radius:99px;background:#13243a;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#11dff4,#8b5cf6);border-radius:99px}.block{display:block;margin-top:4px}.hint{color:#84a3c2}.panel table select{max-width:190px}
@media(max-width:1100px){.link-grid{grid-template-columns:1fr}.phase-row{grid-template-columns:1fr}}
