:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17233b;background:#f5f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label:focus-within{outline:3px solid #687bff;outline-offset:2px}.shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100svh}.sidebar{background:#17244c;color:#e6edff;display:flex;flex-direction:column;padding:27px 19px;min-height:100svh}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-size:24px;font-weight:850;letter-spacing:-.05em;padding:0 13px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#d7ff58;color:#17244c;font-size:27px}.brand-mark span{color:#527e32}.brand small{display:block;font-size:9px;font-weight:800;letter-spacing:.25em;color:#adbbd9;margin-top:-3px}.side-nav{margin-top:55px;display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#b7c5e1;text-align:left;padding:13px 15px;border-radius:9px;font-size:15px;font-weight:650;display:flex;align-items:center;gap:15px}.nav-item span{font-size:21px;line-height:1}.nav-item:hover,.nav-item.active{background:#34436c;color:#fff}.side-bottom{margin-top:auto;border-top:1px solid #465374;padding:24px 12px 0}.side-bottom p{margin:0 0 17px;color:#aab7d3;font-size:13px;line-height:1.5}.side-bottom strong{color:#e8f0ff}.side-action{display:block;border:0;background:transparent;color:#e6edff;font-size:14px;text-align:left;padding:9px 0;width:100%;font-weight:650}.side-action:hover{color:#d7ff58}.import-label{cursor:pointer}.workspace{min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid #e3e7ef;padding:0 clamp(20px,3.5vw,55px);display:flex;align-items:center;gap:20px}.topbar-kicker{font-size:12px;font-weight:850;letter-spacing:.16em;color:#53627e}.topbar-date{margin-left:auto;font-size:14px;color:#66728b}.primary-btn,.secondary-btn,.danger-btn{border-radius:8px;border:1px solid transparent;min-height:41px;padding:9px 16px;font-weight:750;font-size:14px}.primary-btn{background:#445ae8;color:#fff}.primary-btn:hover{background:#3047dc}.secondary-btn{background:#fff;border-color:#d5dbe7;color:#263956}.secondary-btn:hover{background:#f5f7fb}.danger-btn{background:#b83146;color:#fff}.danger-btn:hover{background:#95283a}.menu-toggle{display:none;border:0;background:transparent;color:#17244c;font-size:22px}.main{padding:36px clamp(20px,3.5vw,55px) 70px;max-width:1600px;margin:auto}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{margin:0 0 9px;color:#566bd6;font-size:12px;letter-spacing:.17em;font-weight:850}.heading h1{font-size:clamp(30px,3.5vw,46px);letter-spacing:-.055em;line-height:1.12;margin:0}.heading p.sub{margin:11px 0 0;color:#6f7b91;font-size:15px;line-height:1.5}.heading-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.stat,.panel,.project-card{background:#fff;border:1px solid #e4e8f0;border-radius:12px}.stat{padding:20px 22px;min-height:126px}.stat-label{font-size:13px;color:#65738b;font-weight:700}.stat-value{display:block;font-size:clamp(23px,2.4vw,36px);letter-spacing:-.065em;font-weight:820;margin-top:12px;line-height:1;overflow-wrap:anywhere}.stat.date .stat-value{font-size:20px;letter-spacing:-.03em;line-height:1.2}.stat-note{display:block;font-size:12px;color:#8190a3;margin-top:8px}.stat.alert .stat-value{color:#c44252}.stat.highlight{background:#d7ff58;border-color:#d7ff58}.stat.highlight .stat-label,.stat.highlight .stat-note{color:#3d523e}.panel{padding:23px;margin-bottom:18px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head h2{margin:0;font-size:20px;letter-spacing:-.035em}.panel-head a,.text-button{background:none;border:0;color:#4358d6;text-decoration:none;font-size:14px;font-weight:700}.panel-head a:hover,.text-button:hover{text-decoration:underline}.two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.project-list{display:grid;gap:10px}.project-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 130px;align-items:center;gap:15px;border:1px solid #e6eaf1;background:#fff;padding:15px 17px;border-radius:9px;text-decoration:none;color:inherit}.project-row:hover{border-color:#8290ec;background:#fbfcff}.project-row strong,.task-title{display:block;font-size:15px}.project-row small{display:block;margin-top:4px;color:#7c899e;font-size:13px}.progress-track{height:8px;background:#e9ecf4;border-radius:20px;overflow:hidden}.progress-fill{height:100%;display:block;background:#6375e8;border-radius:20px}.progress-text{font-size:14px;font-weight:800;text-align:right}.due-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.due-list li{border-bottom:1px solid #eef0f4;padding:0 0 11px;display:flex;justify-content:space-between;gap:15px;font-size:14px}.due-list li:last-child{border:0;padding-bottom:0}.due-list small{display:block;color:#78859a;margin-top:4px;font-size:13px}.badge{display:inline-flex;align-items:center;border-radius:30px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap;background:#eff1fb;color:#4b5f9e}.badge.overdue{background:#ffe9eb;color:#a83045}.badge.soon{background:#fff0d5;color:#98641c}.badge.done{background:#dff7e6;color:#247747}.badge.blocked{background:#eee9ff;color:#654b9f}.empty{text-align:center;padding:48px 25px;color:#718098}.empty strong{display:block;font-size:20px;color:#263853;margin-bottom:9px}.empty p{max-width:430px;margin:0 auto 20px;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.project-card{padding:21px;display:flex;flex-direction:column;gap:15px}.card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.card-head h2{font-size:19px;line-height:1.25;letter-spacing:-.035em;margin:0}.card-head h2 a{color:inherit;text-decoration:none}.card-head h2 a:hover{color:#4358d6}.card-copy{color:#718099;font-size:14px;line-height:1.5;min-height:40px;margin:0}.card-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#718099}.card-foot{border-top:1px solid #ebedf3;padding-top:14px;display:flex;justify-content:space-between;gap:6px}.table-wrap{overflow-x:auto}.task-table{width:100%;border-collapse:collapse;min-width:780px}.task-table th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7e8ba0;font-weight:750;padding:11px 10px;border-bottom:1px solid #e4e8ef}.task-table td{padding:13px 10px;border-bottom:1px solid #eef0f5;vertical-align:middle;font-size:14px}.task-table tr:last-child td{border-bottom:0}.task-table td small{display:block;color:#7a879a;margin-top:5px;font-size:12px}.task-table td .progress-track{min-width:75px}.row-actions{display:flex;gap:7px}.row-actions button{border:0;background:#f0f2f8;color:#41506d;border-radius:6px;padding:6px 9px;font-size:13px}.row-actions button:hover{background:#e1e7ff}.segmented{display:inline-flex;background:#e9ecf5;padding:4px;border-radius:9px;gap:2px}.segmented button{border:0;background:transparent;padding:8px 13px;border-radius:6px;color:#58667f;font-weight:700;font-size:13px}.segmented button.active{background:#fff;color:#283d85;box-shadow:0 1px 4px #17244c18}.budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.budget-cell{background:#f5f7fb;border-radius:8px;padding:15px}.budget-cell small{display:block;font-size:13px;color:#718098}.budget-cell strong{display:block;font-size:19px;margin-top:6px}.budget-cell.warning strong{color:#bd354b}.timeline-scroll{overflow-x:auto;padding-bottom:8px}.timeline{min-width:760px}.timeline-head,.timeline-row{display:grid;grid-template-columns:230px minmax(480px,1fr);border-bottom:1px solid #ecedf2;align-items:center}.timeline-head{font-size:12px;color:#74849a;font-weight:750;text-transform:uppercase}.timeline-head>div,.timeline-row>div{padding:12px}.timeline-row:last-child{border:0}.timeline-label strong{font-size:14px;display:block}.timeline-label small{font-size:12px;color:#7d899c;display:block;margin-top:4px}.timeline-lane{height:45px;position:relative;background:repeating-linear-gradient(90deg,#e9edf5 0,#e9edf5 1px,transparent 1px,transparent 12.5%)}.timeline-bar{position:absolute;top:11px;height:23px;background:#6375e8;border-radius:5px;min-width:12px}.timeline-bar.done{background:#42ad72}.timeline-bar.overdue{background:#dc6574}.timeline-months{display:flex;justify-content:space-between}.timeline-months span{white-space:nowrap}.notice{background:#edf1ff;border:1px solid #dbe1ff;color:#4b5b81;border-radius:9px;padding:13px 17px;margin-bottom:22px;font-size:14px;line-height:1.5}.notice strong{color:#2c3d78}.editor{border:0;border-radius:14px;padding:0;max-width:620px;width:calc(100% - 28px);max-height:calc(100dvh - 36px);box-shadow:0 25px 80px #0c183a55}.editor::backdrop{background:#0e193ba6}.editor form,.small-dialog{padding:26px 28px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:19px}.dialog-head h2{font-size:26px;letter-spacing:-.045em;margin:0}.icon-btn{border:0;background:#f1f3f8;border-radius:7px;width:34px;height:34px;font-size:25px;line-height:1;color:#53637c}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;color:#41516d}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #cfd7e5;border-radius:7px;padding:10px 11px;min-height:42px;color:#17233b;background:#fff;width:100%;font-size:15px}.field textarea{min-height:80px;resize:vertical}.field-hint{font-size:12px;font-weight:400;color:#8090a5}.form-error{color:#b32743;font-size:13px;min-height:1.3em;margin:13px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.small-dialog{max-width:440px}.small-dialog p{color:#66758d;line-height:1.6}.toast{position:fixed;bottom:22px;right:22px;background:#17244c;color:#fff;padding:12px 17px;border-radius:8px;box-shadow:0 9px 35px #17244c44;font-size:14px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:5}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1080px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;z-index:10;left:0;top:0;width:254px;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 40px #14204444}.sidebar.open{transform:none}.menu-toggle{display:block}.topbar{height:67px;padding:0 17px;gap:11px}.topbar-kicker,.topbar-date{display:none}.topbar>.primary-btn{margin-left:auto}.main{padding:24px 16px 55px}.heading{display:block}.heading-actions{justify-content:flex-start;margin-top:15px}.project-row{grid-template-columns:minmax(0,1fr) 58px}.project-row .progress-track{display:none}.budget-grid{grid-template-columns:1fr 1fr}.editor form,.small-dialog{padding:22px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:440px){.stats{gap:9px}.stat{padding:14px;min-height:104px}.stat-value{font-size:29px}.stat-label{font-size:12px}.budget-grid{grid-template-columns:1fr}.topbar>.primary-btn{font-size:12px;padding:8px 11px}.panel{padding:16px}}
