:root{--navy:#0c1f35;--navy2:#13314f;--ink:#17283e;--muted:#748398;--line:#e2e8ef;--bg:#f4f7fa;--surface:#fff;--blue:#2868e8;--blue-soft:#eaf1ff;--green:#20a875;--green-soft:#e8f8f1;--amber:#e7a23f;--amber-soft:#fff4e1;--red:#d75b5b;--red-soft:#fff0ef;--violet:#7459d4;--shadow:0 14px 38px rgba(17,40,67,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:var(--blue)}
.eyebrow{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.1em}.brand-mark{width:39px;height:43px;display:grid;place-items:center;border-radius:12px 12px 18px 12px;background:linear-gradient(145deg,var(--blue),#28b783);color:#fff;font-size:20px;font-weight:900;box-shadow:0 9px 22px rgba(40,104,232,.23)}
.login-view{min-height:100vh;padding:30px 5vw;background:radial-gradient(circle at 15% 20%,rgba(36,166,117,.13),transparent 30%),linear-gradient(135deg,#091a2d,#102c48 72%,#103c3b);color:#fff}.login-brand{height:54px;display:flex;align-items:center;gap:12px;direction:ltr}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:12px;letter-spacing:.12em}.login-brand small{margin-top:3px;color:#9fb0c3;font-size:9px}.login-grid{min-height:calc(100vh - 114px);max-width:1140px;margin:auto;display:grid;grid-template-columns:1.15fr 430px;gap:80px;align-items:center}.login-copy h1{margin:13px 0 20px;font-size:49px;line-height:1.25;letter-spacing:-.045em}.login-copy p{max-width:620px;margin:0;color:#aebdcc;font-size:14px;line-height:2}.flow-strip{margin-top:35px;display:flex;align-items:center;gap:9px;direction:ltr;flex-wrap:wrap}.flow-strip span,.flow-strip b{padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.06);font-size:9px}.flow-strip b{background:rgba(39,186,132,.19);color:#57dfad}.flow-strip i{color:#627b92;font-style:normal}.login-card{padding:32px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 28px 75px rgba(0,0,0,.24)}.login-card h2{margin:7px 0 25px;font-size:24px}.login-card label{display:block;margin-bottom:14px}.login-card label span{display:block;margin-bottom:7px;color:#53647a;font-size:10px;font-weight:800}.login-card input{height:45px}.login-hint{margin:13px 0;text-align:center;color:#8895a5;font-size:9px}.demo-users{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.demo-users button{padding:7px;border:0;border-radius:7px;background:#edf2f7;color:#64758a;font-size:8px;font-weight:800}.demo-users button:hover{background:var(--blue-soft);color:var(--blue)}
.topbar{height:74px;position:fixed;z-index:30;inset:0 0 auto;display:grid;grid-template-columns:248px 1fr 255px;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(15px)}.brand{height:100%;padding:0 22px;display:flex;align-items:center;gap:11px;direction:ltr;border-left:1px solid var(--line)}.brand strong,.brand small{display:block}.brand strong{font-size:11px;letter-spacing:.12em}.brand small{margin-top:3px;color:#909cab;font-size:8px}.project-switcher{padding:0 22px;display:flex;align-items:center;justify-content:center;gap:8px}.project-switcher label{display:flex;align-items:center;gap:7px;color:#8190a2;font-size:9px}.project-switcher select{height:38px;min-width:180px;background:#f7f9fb}.project-switcher select:last-child{min-width:220px}.user-menu{height:100%;padding:0 17px;display:grid;grid-template-columns:38px 1fr 34px;align-items:center;gap:9px;border-right:1px solid var(--line)}.user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#dce8ff,#d5f0e5);color:#1c61be;font-weight:900}.user-menu strong,.user-menu small{display:block}.user-menu strong{font-size:10px}.user-menu small{margin-top:3px;color:#8996a7;font-size:8px}
.sidebar{position:fixed;z-index:20;top:74px;right:0;bottom:0;width:248px;padding:24px 16px 17px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:#fff}.sidebar nav{display:grid;gap:6px}.nav-btn{position:relative;width:100%;padding:11px 12px;display:flex;align-items:center;gap:10px;border:0;border-radius:10px;background:transparent;color:#65748a;text-align:right;font-size:11px;font-weight:800}.nav-btn:hover{background:#f5f7fa}.nav-btn.active{background:var(--blue-soft);color:var(--blue)}.nav-btn.active:after{content:"";position:absolute;right:-16px;width:3px;height:25px;border-radius:4px;background:var(--blue)}.nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#eff3f6}.nav-badge{margin-right:auto;min-width:21px;padding:4px 6px;border-radius:20px;background:var(--amber);color:#fff;text-align:center;font-size:8px}.counting-rule{margin-top:auto;padding:13px;display:flex;gap:9px;border:1px solid #e2ebf7;border-radius:13px;background:#f5f8ff}.counting-rule>span{width:25px;height:25px;display:grid;place-items:center;flex:none;border-radius:50%;background:#dce9ff;color:var(--blue);font-weight:900}.counting-rule strong{font-size:9px}.counting-rule p{margin:4px 0 0;color:#718097;font-size:8px;line-height:1.6}
main{min-height:100vh;padding:104px 280px 60px 32px}.page{max-width:1280px;margin:auto}.page-head{margin-bottom:23px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.page-head h1{margin:5px 0 0;color:var(--navy);font-size:30px;line-height:1.25;letter-spacing:-.04em}.page-head p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.7}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{padding:10px 14px;border:0;border-radius:9px;background:#edf1f5;color:#5f6f84;font-size:10px;font-weight:850;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(40,104,232,.2)}.btn.green{background:var(--green);color:#fff}.btn.amber{background:var(--amber-soft);color:#93671d}.btn.danger{background:var(--red-soft);color:#a64949}.btn.ghost{background:transparent;color:var(--blue)}.btn.wide{width:100%;height:45px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:#f0f3f6;color:#67768a;font-weight:900}
input,textarea,select{width:100%;border:1px solid #dbe3eb;border-radius:9px;background:#fff;color:var(--ink);outline:0}input,select{height:42px;padding:0 11px}textarea{padding:10px 11px;resize:vertical;line-height:1.7}input:focus,textarea:focus,select:focus{border-color:#79a4f2;box-shadow:0 0 0 3px rgba(40,104,232,.08)}.field{display:block;margin-bottom:13px}.field>span{display:block;margin-bottom:7px;color:#46576d;font-size:9px;font-weight:800}.field small{display:block;margin-top:5px;color:#8a96a5;font-size:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{margin-top:10px;padding:9px 10px;border:1px solid #f0c5bd;border-radius:8px;background:var(--red-soft);color:#98483d;font-size:9px}
.hero{padding:25px 28px;display:grid;grid-template-columns:140px 1fr 230px;align-items:center;gap:26px;border-radius:20px;background:linear-gradient(115deg,var(--navy),#123552 75%,#11453f 130%);color:#fff;box-shadow:0 15px 36px rgba(13,31,53,.13)}.progress-ring{--p:0;width:118px;height:118px;margin:auto;display:grid;place-items:center;position:relative;border-radius:50%;background:conic-gradient(#45d5a3 calc(var(--p)*1%),rgba(255,255,255,.12) 0)}.progress-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#112943}.progress-ring div{position:relative;z-index:1;text-align:center}.progress-ring strong,.progress-ring small{display:block}.progress-ring strong{font-size:28px}.progress-ring small{color:#aabccc;font-size:8px}.hero-copy span{color:#94a9bd;font-size:9px}.hero-copy h2{margin:6px 0 14px;font-size:20px}.bar{height:6px;border-radius:8px;background:#e7edf3;overflow:hidden}.bar>span{display:block;height:100%;border-radius:inherit;background:var(--blue)}.hero .bar{background:rgba(255,255,255,.12)}.hero .bar>span{background:linear-gradient(90deg,#27a875,#55deaf)}.hero-meta{margin-top:10px;display:flex;gap:16px;flex-wrap:wrap;color:#a8b9c9;font-size:8px}.hero-side{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.06)}.hero-side span,.hero-side strong,.hero-side small{display:block}.hero-side span{color:#9fb2c3;font-size:8px}.hero-side strong{margin:5px 0;font-size:22px}.hero-side small{color:#91a7b9;font-size:8px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}.stat span,.stat strong,.stat small{display:block}.stat span{color:#7c899b;font-size:8px}.stat strong{margin:6px 0 3px;font-size:22px}.stat small{color:#929eac;font-size:7px}.section{margin-top:27px}.section-head{margin-bottom:13px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.section-head h2{margin:0;color:var(--navy);font-size:16px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:8px}.card{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(21,46,74,.035)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.project-card{padding:18px}.project-card header{display:flex;align-items:center;gap:10px}.project-logo{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:900}.project-card h3,.project-card header p{margin:0}.project-card h3{font-size:12px}.project-card header p{margin-top:3px;color:#929eac;font-size:7px}.project-card .status{margin-right:auto}.project-progress{margin-top:15px;padding-top:13px;border-top:1px solid #edf1f4}.metric-line{margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:6px;color:#68778b;font-size:8px}.metric-line .bar{grid-column:1/-1;height:5px}.project-card footer{margin-top:14px;display:flex;justify-content:space-between;align-items:center;color:#8b98a8;font-size:8px}
.status{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:20px;font-size:7px;font-weight:850}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.approved,.status.published,.status.publish_approved,.status.manager_approved{background:var(--green-soft);color:#19855f}.status.pending,.status.submitted,.status.ready{background:var(--amber-soft);color:#986b22}.status.changes,.status.in_progress{background:var(--blue-soft);color:var(--blue)}.status.rejected{background:var(--red-soft);color:#ab4b4b}.status.planned,.status.assigned{background:#eef2f5;color:#6d7a8c}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:12px 13px;border-bottom:1px solid #edf1f4;text-align:right;font-size:9px}th{background:#f7f9fb;color:#748297;font-size:8px}tr:last-child td{border-bottom:0}tr.clickable:hover td{background:#f7faff;cursor:pointer}.person{display:flex;align-items:center;gap:8px}.mini-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e6efff;color:var(--blue);font-weight:900}.person strong,.person small{display:block}.person small{margin-top:2px;color:#8b98a8;font-size:7px}.progress-cell{min-width:150px}.progress-cell>div{display:flex;justify-content:space-between;margin-bottom:5px}.progress-cell .bar{height:5px}
.plan-layout{display:grid;grid-template-columns:310px 1fr;gap:16px}.plan-sidebar{padding:16px;align-self:start}.brand-profile{padding:16px;border-radius:13px;background:linear-gradient(135deg,#0e2239,#153b57);color:#fff}.brand-profile h3{margin:5px 0 10px;font-size:14px}.brand-profile p{margin:0;color:#b0c0cf;font-size:8px;line-height:1.7}.brand-profile dl{margin:14px 0 0}.brand-profile dt{margin-top:9px;color:#7fdcb7;font-size:7px;font-weight:900}.brand-profile dd{margin:3px 0 0;color:#d7e1e9;font-size:8px;line-height:1.6}.tag-list{margin-top:12px;display:flex;flex-wrap:wrap;gap:5px}.tag-list span{padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.08);font-size:7px}.plan-item-list{margin-top:12px;display:grid;gap:6px}.plan-item-btn{width:100%;padding:10px;display:grid;grid-template-columns:1fr auto;gap:5px;border:1px solid #e5ebf1;border-radius:9px;background:#fff;text-align:right;color:#536278}.plan-item-btn.active{border-color:#91b3f4;background:#f3f7ff;color:var(--blue)}.plan-item-btn strong{font-size:8px}.plan-item-btn small{grid-column:1/-1;color:#929eac;font-size:7px}.content-list{display:grid;gap:9px}.content-card{padding:14px;display:grid;grid-template-columns:1fr auto;gap:9px}.content-card h3{margin:0;font-size:10px}.content-card p{margin:5px 0;color:#7a889b;font-size:8px;line-height:1.6}.content-meta{display:flex;gap:10px;color:#8a97a7;font-size:7px}.content-card footer{grid-column:1/-1;padding-top:10px;display:flex;align-items:center;gap:6px;border-top:1px solid #edf1f4}.content-card footer .bar{width:150px;height:5px}.content-card footer small{color:#8592a3;font-size:7px}.content-actions{display:flex;align-items:flex-start;gap:5px}
.objective-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.objective{padding:16px}.objective header{display:flex;justify-content:space-between;align-items:center}.objective h3{margin:13px 0 5px;font-size:11px}.objective p{margin:0 0 11px;color:#8491a1;font-size:8px}.objective .big{display:flex;align-items:baseline;gap:4px}.objective .big strong{font-size:22px}.objective .big span{color:#7b899b;font-size:8px}.objective .bar{margin:9px 0}.objective footer{display:flex;justify-content:space-between;color:#8793a2;font-size:7px}
.board{display:grid;grid-template-columns:repeat(6,minmax(245px,1fr));gap:11px;overflow:auto;padding-bottom:10px}.board-column{min-height:350px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#edf2f6}.board-column header{padding:3px 3px 10px;display:flex;justify-content:space-between;color:#5f6f83;font-size:9px;font-weight:900}.board-card{margin-bottom:8px;padding:11px;border:1px solid #dfe6ed;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(20,42,67,.05)}.board-card h3{margin:0 0 6px;font-size:9px;white-space:normal}.board-card p{margin:0;color:#8290a2;font-size:7px;line-height:1.6}.board-card footer{margin-top:9px;display:flex;justify-content:space-between;color:#8b97a7;font-size:7px}
.timeline{display:grid;gap:9px}.activity{padding:11px 13px;display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:9px}.activity>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green)}.activity strong,.activity small{display:block}.activity strong{font-size:8px}.activity small{margin-top:3px;color:#8d99a8;font-size:7px}.activity time{color:#929dac;font-size:7px}
.approval-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.approval{padding:16px}.approval header{display:flex;justify-content:space-between;gap:10px}.approval h3{margin:0;font-size:11px}.approval p{margin:6px 0;color:#758397;font-size:8px;line-height:1.6}.approval blockquote{margin:10px 0;padding:9px;border-radius:8px;background:#f5f7fa;color:#53657b;font-size:8px}.approval footer{padding-top:11px;display:flex;align-items:center;gap:7px;border-top:1px solid #edf1f4}.approval footer time{margin-right:auto;color:#8a96a6;font-size:7px}
.sprint-banner{padding:22px 25px;display:grid;grid-template-columns:1fr auto;gap:20px;border-radius:18px;background:linear-gradient(120deg,#0e223a,#143a58);color:#fff}.sprint-banner h2{margin:5px 0 7px;font-size:20px}.sprint-banner p{margin:0;color:#a9bac9;font-size:9px}.sprint-date{display:flex;gap:8px;align-items:center;direction:ltr}.sprint-date span{padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:rgba(255,255,255,.07);font-size:9px}.load-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.load-card{padding:14px}.load-card header{display:flex;justify-content:space-between}.load-card h3{margin:0;font-size:10px}.load-card .bar{margin:10px 0}.load-card footer{display:flex;justify-content:space-between;color:#8290a1;font-size:7px}
.empty{min-height:170px;padding:25px;display:grid;place-items:center;align-content:center;border:1px dashed #d3dce6;border-radius:14px;background:rgba(255,255,255,.55);text-align:center}.empty>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:18px}.empty h3{margin:10px 0 5px;font-size:11px}.empty p{margin:0 0 12px;color:#7b899b;font-size:8px}.muted{color:var(--muted)}.code{padding:12px;border-radius:10px;background:#0e2138;color:#cfe0ee;font-family:Consolas,monospace;font-size:8px;line-height:1.8;direction:ltr;text-align:left;white-space:pre-wrap}.notice{padding:11px 12px;border:1px solid #e3ebf6;border-radius:10px;background:#f4f8ff;color:#526985;font-size:8px;line-height:1.7}.notice.amber{border-color:#efd9ad;background:#fff8e9;color:#806027}
.modal{position:fixed;z-index:100;inset:0;padding:25px;display:grid;place-items:center;background:rgba(7,20,35,.58);backdrop-filter:blur(3px)}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(4,15,28,.35)}.modal-card>header{position:sticky;z-index:2;top:0;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.modal-card h2{margin:4px 0 0;font-size:17px}.modal-body{padding:20px}.modal-section{margin-bottom:20px}.modal-section h3{margin:0 0 10px;font-size:11px}.task-row{padding:11px;display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid #e7ecf1;border-radius:9px;margin-bottom:6px}.task-row h4{margin:0;font-size:9px}.task-row p{margin:4px 0 0;color:#8390a1;font-size:7px}.task-row footer{grid-column:1/-1;display:flex;justify-content:space-between;color:#8793a2;font-size:7px}.comment{margin-bottom:7px;padding:9px;border-radius:9px;background:#f5f7fa}.comment strong,.comment time{font-size:7px}.comment time{margin-right:7px;color:#929ead}.comment p{margin:5px 0 0;font-size:8px;line-height:1.6}
.toast{position:fixed;z-index:120;left:22px;bottom:22px;min-width:250px;padding:12px 14px;display:flex;align-items:center;gap:10px;border-radius:11px;background:#112b45;color:#fff;box-shadow:var(--shadow)}.toast>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--green)}.toast b{font-size:9px}.loading{position:fixed;z-index:200;inset:0;display:grid;place-items:center;align-content:center;gap:10px;background:rgba(244,247,250,.78);backdrop-filter:blur(2px)}.loading span{width:30px;height:30px;border:3px solid #d5e0ec;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}.loading b{font-size:9px;color:#617187}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1150px){.topbar{grid-template-columns:220px 1fr 220px}.sidebar{width:220px}main{padding-right:250px}.project-grid,.objective-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.plan-layout{grid-template-columns:270px 1fr}.load-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.login-grid{grid-template-columns:1fr;gap:30px;padding:35px 0}.login-copy h1{font-size:36px}.topbar{height:auto;position:static;grid-template-columns:1fr}.brand,.user-menu{display:none}.project-switcher{padding:12px;flex-wrap:wrap}.sidebar{position:static;width:auto;padding:10px;border:0}.sidebar nav{display:flex;overflow:auto}.nav-btn{width:auto;white-space:nowrap}.nav-btn.active:after,.counting-rule{display:none}main{padding:24px 14px 55px}.page-head,.hero,.sprint-banner{grid-template-columns:1fr}.hero{padding:20px}.hero-side{display:none}.plan-layout{grid-template-columns:1fr}.project-grid,.objective-grid,.approval-grid,.load-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.project-switcher select{min-width:140px!important}.modal{padding:10px}.login-view{padding:20px}.login-card{padding:24px}}
