@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#182033;font-synthesis:none;--ink:#182033;--muted:#71798c;--line:#e7e9f0;--surface:#fff;--purple:#7658ff;--navy:#101529;background:#f5f6fa;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,strong{font-family:Manrope,sans-serif}svg{width:18px;height:18px}.eyebrow{letter-spacing:.16em;color:#8a91a3;font-size:11px;font-weight:800}.brand-mark{color:#fff;background:linear-gradient(145deg,#8067ff,#5840d5);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 25px #7658ff3b}.brand-mark svg{width:23px;height:23px}.primary-button,.secondary-button{border:0;border-radius:11px;align-items:center;gap:8px;height:43px;padding:0 17px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#6f55ee;box-shadow:0 8px 20px #6f55ee32}.primary-button:hover{background:#6046dd}.primary-button:disabled{opacity:.6}.secondary-button{color:#6147db;background:#f1efff}.full{justify-content:center;width:100%}.error-message{color:#b9384e;background:#fff0f2;border:1px solid #ffd5db;border-radius:10px;align-items:center;gap:7px;padding:10px 12px;font-size:13px;display:flex}.loading-screen{background:#0e1324;place-items:center;height:100vh;display:grid}.loading-screen .brand-mark{animation:1.2s infinite pulse}.login-shell{color:#fff;background:#0d1222;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.ambient{filter:blur(110px);opacity:.3;border-radius:50%;width:520px;height:520px;position:absolute}.ambient-one{background:#6f55ee;top:-250px;right:-120px}.ambient-two{background:#187e93;bottom:-320px;left:-150px}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#171c2ed9;border:1px solid #ffffff14;border-radius:24px;width:min(420px,100vw - 32px);padding:42px;position:relative;box-shadow:0 35px 100px #0008}.login-card .brand-mark{margin-bottom:28px}.login-card h1{margin:9px 0;font-size:30px}.login-card p{color:#aeb5c8;margin:0 0 24px;line-height:1.6}.login-card label{color:#ccd1df;gap:8px;margin:18px 0;font-size:13px;font-weight:600;display:grid}.login-card input{color:#fff;background:#0e1324;border:1px solid #30364b;border-radius:11px;outline:none;height:48px;padding:0 14px}.login-card input:focus{border-color:#836cff;box-shadow:0 0 0 3px #7658ff22}.login-card small{color:#6f778c;text-align:center;margin-top:20px;display:block}.project-chip{color:#c5cbda;background:#0e1324;border:1px solid #30364b;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex}.app-shell{grid-template-columns:245px 1fr;min-height:100vh;display:grid}.sidebar{color:#b4bbcd;background:#111629;flex-direction:column;width:245px;height:100vh;padding:25px 17px;display:flex;position:fixed}.sidebar-brand{align-items:center;gap:12px;padding:0 5px 28px;display:flex}.sidebar-brand strong{color:#fff;font-size:16px;display:block}.sidebar-brand span{color:#737c94;font-size:11px}.sidebar nav{gap:5px;display:grid}.sidebar nav a{border-radius:10px;align-items:center;gap:11px;height:44px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.sidebar nav a.active{color:#a997ff;background:#7658ff1f}.sidebar nav a span{background:#252b40;border-radius:99px;margin-left:auto;padding:2px 7px;font-size:11px}.sidebar-bottom{border-top:1px solid #252b40;align-items:center;gap:10px;margin-top:auto;padding:18px 5px 0;display:flex}.sidebar-bottom .avatar{color:#fff;background:#2a3148;border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.sidebar-bottom div:nth-child(2){min-width:0}.sidebar-bottom strong,.sidebar-bottom span{white-space:nowrap;display:block}.sidebar-bottom strong{color:#fff;font-size:12px}.sidebar-bottom span{font-size:10px}.sidebar-bottom button{color:#7b849b;background:0 0;border:0;margin-left:auto}.admin-main{grid-column:2;width:100%;max-width:1600px;padding:30px 38px 60px}.topbar,.section-heading{justify-content:space-between;align-items:center;display:flex}.topbar h1{margin:4px 0 0;font-size:24px}.project-tabs{gap:7px;padding:24px 0 18px;display:flex;overflow:auto}.project-tabs button{border:1px solid var(--line);text-align:left;white-space:nowrap;color:#343c4e;background:#fff;border-radius:11px;grid-template-columns:9px auto;align-items:center;column-gap:8px;padding:10px 14px;display:grid}.project-tabs button i{border-radius:50%;grid-row:span 2;width:8px;height:8px}.project-tabs button span{color:#8990a1;font-size:10px}.project-tabs button.active{background:#f5f2ff;border-color:#bcb0ff;box-shadow:0 4px 14px #6f55ee12}.hero-card{color:#fff;background:linear-gradient(105deg,#171d31,#111628);border-radius:19px;justify-content:space-between;align-items:center;padding:27px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 15px 40px #18203314}.hero-card:after{content:"";background:var(--project);filter:blur(85px);opacity:.28;border-radius:50%;width:250px;height:250px;position:absolute;top:-120px;right:5%}.hero-card>div{z-index:1;position:relative}.hero-meta{align-items:center;gap:17px;display:flex}.hero-meta>span{color:#aeb5c8;gap:6px;font-size:12px;display:flex}.hero-meta svg{width:14px}.hero-title{color:#fff;background:0 0;border:0;border-bottom:1px solid #0000;outline:0;width:min(550px,50vw);margin:10px 0 8px;padding:0;font-family:Manrope;font-size:27px;font-weight:800;display:block}.hero-title:focus{border-color:#ffffff30}.share-link{color:#858da3;align-items:center;gap:8px;font-size:12px;display:flex}.share-link svg{width:14px}.share-link button{color:#d6d9e3;background:#ffffff10;border:0;border-radius:7px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:flex}.hero-stats{align-items:center;gap:32px;display:flex}.hero-stats>div:not(.progress-ring) span,.hero-stats>div:not(.progress-ring) strong{display:block}.hero-stats>div:not(.progress-ring) span{color:#8e96aa;margin-bottom:5px;font-size:10px}.hero-stats>div:not(.progress-ring) strong{white-space:nowrap;font-size:13px}.progress-ring{background:conic-gradient(var(--ring) var(--progress),#ffffff17 0);border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:relative}.progress-ring:before{content:"";background:#151a2d;border-radius:50%;position:absolute;inset:6px}.progress-ring span{color:#fff;font-size:12px;font-weight:800;position:relative}.settings-strip{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:20px;margin-top:15px;padding:12px 16px;display:flex}.settings-strip label,.milestone-row label{color:#8a91a3;gap:4px;font-size:10px;font-weight:700;display:grid}.settings-strip input,.settings-strip select,.milestone-row input,.milestone-row select{border:1px solid var(--line);color:#394155;background:#fafbfc;border-radius:8px;height:34px;padding:0 9px}.recalc-note{color:#7b8498;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.recalc-note svg{color:#7658ff;width:15px}.schedule-panel,.milestones-section,.client-milestones{border:1px solid var(--line);background:#fff;border-radius:17px;margin-top:16px;padding:24px;box-shadow:0 6px 28px #16203a08}.section-heading h2{margin:4px 0;font-size:19px}.segmented{background:#f1f2f6;border-radius:10px;padding:4px;display:flex}.segmented button{color:#7c8395;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;height:32px;padding:0 11px;font-size:11px;font-weight:700;display:flex}.segmented button svg{width:14px}.segmented button.active{color:#3a4254;background:#fff;box-shadow:0 2px 7px #18203312}.timeline{margin-top:20px;overflow:auto}.timeline-header,.timeline-row{grid-template-columns:190px minmax(600px,1fr);min-width:800px;display:grid}.timeline-header{color:#9aa0ae;text-transform:uppercase;letter-spacing:.05em;height:32px;font-size:10px;font-weight:700}.timeline-axis{justify-content:space-between;display:flex}.timeline-row{border-top:1px solid #f0f1f5;align-items:center;min-height:56px}.timeline-label strong,.timeline-label span{display:block}.timeline-label strong{font-size:12px}.timeline-label span{color:#949baa;margin-top:3px;font-size:10px}.track{background:repeating-linear-gradient(90deg,#0000 0 calc(16.66% - 1px),#f0f1f5 calc(16.66% - 1px) 16.66%);height:30px;position:relative}.baseline-bar{background:#d8dbe4;border-radius:4px;height:5px;position:absolute;top:22px}.task-bar{color:#fff;white-space:nowrap;border-radius:5px;align-items:center;min-width:5px;height:20px;padding-left:6px;font-size:9px;display:flex;position:absolute;top:3px;overflow:hidden;box-shadow:0 3px 8px #30236d23}.task-progress{background:#ffffff30;position:absolute;top:0;bottom:0;left:0}.task-bar span{position:relative}.delay-dot{color:#d55d6e;white-space:nowrap;background:#fff0f2;border-radius:5px;padding:2px 4px;font-size:8px;position:absolute;top:-8px}.timeline-legend{color:#9299a8;justify-content:flex-end;gap:16px;padding-top:12px;font-size:9px;display:flex}.timeline-legend span{align-items:center;gap:5px;display:flex}.timeline-legend i{border-radius:4px;width:15px;height:5px}.legend-current{background:#7658ff}.legend-baseline{background:#d8dbe4}.compact .timeline-row{grid-template-columns:210px minmax(600px,1fr)}.calendar-card{border:1px solid var(--line);border-radius:12px;margin-top:20px;overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.calendar-toolbar>div:first-child{gap:7px;display:flex}.calendar-toolbar span{color:#969dac}.calendar-toolbar button{border:1px solid var(--line);color:#6e7688;background:#fff;height:29px}.calendar-toolbar button svg{width:14px}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekdays{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8f9fb}.weekdays div{color:#9299a8;text-transform:uppercase;padding:8px 10px;font-size:9px;font-weight:800}.calendar-day{border-bottom:1px solid #f0f1f5;border-right:1px solid #f0f1f5;min-height:90px;padding:7px;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.muted{color:#b9bec9;background:#fafbfc}.day-number{font-size:10px;font-weight:700}.calendar-day.today .day-number{color:#fff;background:#7658ff;border-radius:50%;place-items:center;width:21px;height:21px;margin:-3px;display:grid}.calendar-event{white-space:nowrap;text-overflow:ellipsis;color:#525a6c;border-left:3px solid;border-radius:4px;margin-top:5px;padding:4px 5px;font-size:8px;overflow:hidden}.calendar-event i{display:none}.calendar-day small{color:#8c93a4;font-size:8px}.milestones-section{margin-top:16px}.milestone-list{border:1px solid var(--line);border-radius:12px;margin-top:16px;overflow:hidden}.milestone-row{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(250px,2fr) 75px 65px 110px 75px;align-items:center;gap:10px;padding:11px 13px;display:grid}.milestone-row:last-child{border:0}.milestone-main{align-items:center;gap:10px;display:flex}.drag-handle{color:#c0c4ce;letter-spacing:-2px}.milestone-main>div{width:100%}.inline-title{width:100%;background:0 0!important;border:0!important;height:22px!important;padding:0!important;font-weight:700!important;display:block!important}.milestone-main span{color:#949baa;font-size:9px}.milestone-row input,.milestone-row select{width:100%;font-size:11px}.warning-input{color:#c5485a!important;background:#fff3f4!important}.row-actions{gap:4px;display:flex}.row-actions button{border:1px solid var(--line);color:#777f92;background:#fff;border-radius:8px;width:31px;height:31px}.row-actions button svg{width:14px}.row-actions button.danger{color:#c44e61}.empty-state{text-align:center;color:#8d94a5;padding:45px}.empty-state svg{color:#7658ff;width:30px;height:30px}.empty-state h3{color:#3a4254;margin-bottom:7px}.empty-state p{font-size:13px}.status-badge{text-transform:uppercase;letter-spacing:.04em;color:#737b8c;white-space:nowrap;background:#edf0f6;border-radius:99px;align-items:center;gap:6px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge.in-progress{color:#347ac0;background:#eaf4ff}.status-badge.completed{color:#328c67;background:#eaf8f1}.status-badge.at-risk{color:#c14a5c;background:#fff1f2}.status-badge.on-hold{color:#a67718;background:#fff7e4}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a0e1aaa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:19px;width:min(650px,100%);padding:30px;position:relative;box-shadow:0 30px 90px #0005}.modal h2{margin:7px 0}.modal>p{color:#858c9e;margin-top:0}.modal-close{background:#f2f3f6;border:0;border-radius:9px;width:34px;height:34px;position:absolute;top:20px;right:20px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:22px;display:grid}.form-grid label{color:#6f7789;gap:6px;font-size:11px;font-weight:700;display:grid}.form-grid input{border:1px solid var(--line);border-radius:9px;outline:none;height:42px;padding:0 11px}.form-grid input:focus{border-color:#7658ff;box-shadow:0 0 0 3px #7658ff14}.form-grid input[type=color]{width:100%;padding:5px}.form-grid small{color:#9ca2af}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.modal-actions>button:not(.primary-button){background:#f0f1f5;border:0;border-radius:10px;padding:0 16px}.toast{color:#fff;z-index:30;background:#161c2e;border-radius:11px;align-items:center;gap:8px;padding:12px 17px;font-size:12px;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 15px 45px #0004}.toast svg{color:#8be3b8}.portal{background:#f4f5f9;min-height:100vh}.portal-header{color:#fff;background:#111629;justify-content:space-between;align-items:center;height:75px;padding:0 max(30px,50vw - 590px);display:flex}.portal-header .sidebar-brand{padding:0}.portal-header button{color:#aeb5c8;background:#ffffff0a;border:1px solid #ffffff15;border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:flex}.portal-main{max-width:1180px;margin:auto;padding:48px 30px 70px}.portal-welcome{justify-content:space-between;align-items:flex-start;display:flex}.portal-welcome h1{margin:6px 0;font-size:35px}.portal-welcome p{color:#7f8799}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:17px;display:flex}.metric>svg{color:var(--project);background:#f1efff;border-radius:10px;width:38px;height:38px;padding:8px}.metric span,.metric strong{display:block}.metric span{color:#8b92a3;font-size:10px}.metric strong{color:#30384a;margin-top:5px;font-size:12px}.progress-metric .progress-ring{width:42px;height:42px}.progress-metric .progress-ring:before{background:#fff;inset:5px}.progress-metric .progress-ring span{display:none}.client-list{border:1px solid var(--line);border-radius:12px;margin-top:15px;overflow:hidden}.client-row{border-bottom:1px solid #edf0f4;grid-template-columns:45px minmax(230px,1fr) minmax(120px,250px) 45px 85px;align-items:center;gap:14px;padding:14px;display:grid}.client-row:last-child{border:0}.sequence{color:#a0a6b4;font:700 10px Manrope}.client-row>div:nth-child(2) strong,.client-row>div:nth-child(2) span{display:block}.client-row>div:nth-child(2) strong{font-size:12px}.client-row>div:nth-child(2) span{color:#939aaa;margin-top:3px;font-size:9px}.mini-progress{background:#edeff4;border-radius:5px;height:5px;overflow:hidden}.mini-progress i{border-radius:5px;height:100%;display:block}.client-row>b{font-size:10px}.portal footer{text-align:center;color:#a1a7b4;padding:20px;font-size:10px}.not-found{place-items:center;height:100vh;display:grid}.schedule-heading{gap:18px}.schedule-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.view-size-controls{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;height:40px;display:flex;overflow:hidden}.view-size-controls button{border:0;border-right:1px solid var(--line);color:#626b7d;background:#fff;place-items:center;width:36px;height:38px;display:grid}.view-size-controls button:last-child{border-right:0}.view-size-controls button:hover:not(:disabled){color:#654bdc;background:#f4f2ff}.view-size-controls button:disabled{opacity:.35;cursor:not-allowed}.view-size-controls .zoom-reset{color:#4e5668;width:53px;font-size:10px;font-weight:800}.view-size-controls svg{width:15px}.download-view{color:#fff;white-space:nowrap;background:#171d31;border:0;border-radius:10px;align-items:center;gap:7px;height:40px;padding:0 13px;font-size:10px;font-weight:800;display:flex}.download-view:hover:not(:disabled){background:#292f43}.download-view:disabled{opacity:.55;cursor:wait}.download-view svg{width:15px}.schedule-viewport{max-width:100%;padding-bottom:2px;overflow:auto}.schedule-export-surface{transform-origin:0 0;background:#fff;width:100%}.schedule-export-surface>.calendar-card{min-width:1120px}.export-error{color:#b74357;background:#fff1f2;border-radius:9px;align-items:center;gap:7px;margin-top:12px;padding:9px 11px;font-size:11px;display:flex}.export-error svg{width:14px}.schedule-export-surface .timeline,.schedule-export-surface .calendar-card{margin-bottom:1px}@media (width<=760px){.schedule-heading{flex-direction:column;align-items:flex-start}.schedule-actions{justify-content:flex-start;width:100%}.download-view{margin-left:auto}}.calendar-week{border-bottom:1px solid #f0f1f5;min-height:96px;position:relative}.calendar-week:last-child{border-bottom:0}.week-day-cells{grid-template-columns:repeat(7,1fr);height:96px;display:grid}.week-day-cells .calendar-day{border-bottom:0;min-height:96px}.calendar-day.weekend{background:#f8f9fb}.week-event-layer{pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:22px;row-gap:3px;display:grid;position:absolute;inset:31px 0 auto}.calendar-span{color:#fff;white-space:nowrap;align-items:center;gap:6px;min-width:0;height:21px;margin:0 2px;padding:0 8px;font-size:9px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 3px 8px #30236d22}.calendar-span span{text-overflow:ellipsis;overflow:hidden}.calendar-span i{border:1px solid #fffa;border-radius:50%;flex:none;width:5px;height:5px}.calendar-span.starts{border-radius:5px 0 0 5px}.calendar-span.ends{border-radius:0 5px 5px 0}.calendar-span.starts.ends{border-radius:5px}.calendar-span.continues{margin-left:0}.calendar-span.continues-after{margin-right:0}.row-actions{justify-content:flex-end;align-items:center}.autosave-state{color:#8b92a3;align-items:center;gap:4px;min-width:50px;margin-right:3px;font-size:9px;font-weight:700;display:inline-flex}.autosave-state svg{width:12px;height:12px}.autosave-state.saved{color:#408d69}.autosave-state.saving{color:#6750d7}.autosave-state.error{color:#c44e61}.autosave-state.pending i{background:#e0a735;border-radius:50%;width:6px;height:6px}.project-settings{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:10px;overflow:hidden}.project-settings summary{cursor:pointer;align-items:center;gap:14px;padding:13px 16px;list-style:none;display:flex}.project-settings summary::-webkit-details-marker{display:none}.project-settings summary>span{color:#495164;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.project-settings summary>span svg{color:#7658ff;width:15px}.project-settings summary small{color:#9aa0ae}.project-settings summary:after{content:"＋";color:#8f96a6;margin-left:auto}.project-settings[open] summary:after{content:"−"}.project-settings-grid{border-top:1px solid var(--line);background:#fbfbfd;grid-template-columns:1fr 1fr 1.4fr;align-items:end;gap:14px;padding:16px;display:grid}.project-settings-grid label{color:#7b8395;gap:6px;font-size:10px;font-weight:700;display:grid}.project-settings-grid input,.readonly-field{border:1px solid var(--line);color:#3d4557;background:#fff;border-radius:8px;height:38px;padding:0 10px}.readonly-field{color:#848b9c;background:#f5f6f8;align-items:center;display:flex}.password-control{display:flex}.password-control input{border-radius:8px 0 0 8px;flex:1;min-width:120px}.password-control button{color:#fff;background:#6f55ee;border:0;border-radius:0 8px 8px 0;padding:0 12px;font-size:10px;font-weight:700}.password-control button:disabled{opacity:.45}.settings-help{color:#969dac;grid-column:1/-1;align-items:center;gap:6px;font-size:9px;display:flex}.settings-help svg{width:12px}.project-settings-grid select{border:1px solid var(--line);color:#3d4557;background:#fff;border-radius:8px;height:38px;padding:0 10px}.settings-wide{grid-column:1/-1}.share-control{min-width:0;display:flex}.share-control .readonly-field{text-overflow:ellipsis;white-space:nowrap;border-radius:8px 0 0 8px;flex:1;min-width:0;overflow:hidden}.share-control button{color:#fff;background:#6f55ee;border:0;border-radius:0 8px 8px 0;align-items:center;gap:5px;height:38px;padding:0 13px;font-size:10px;font-weight:700;display:flex}.share-control button svg{width:13px}.share-control button:disabled{opacity:.4}.share-actions{gap:8px;display:flex}.share-actions button{border:1px solid var(--line);color:#596174;background:#fff;border-radius:8px;height:38px;padding:0 13px;font-size:10px;font-weight:700}.share-actions .danger-button{color:#bc4058;background:#fff8f9;border-color:#f0cbd2}.access-disabled{color:#ae4257;background:#fff8f9;border:1px solid #f0d9de;border-radius:9px;align-items:flex-start;gap:10px;padding:13px;display:flex}.access-disabled svg{flex:none}.access-disabled strong,.access-disabled span{display:block}.access-disabled span{color:#8b6870;margin-top:3px;font-size:10px}.share-link.disabled{opacity:.65}.view-only-pill{color:#33785a;background:#effcf6;border-radius:999px;align-items:center;height:30px;padding:0 11px;font-size:10px;font-weight:800;display:inline-flex}.not-found>div{text-align:center}.not-found p{color:#7d8494}@keyframes pulse{50%{opacity:.7;transform:scale(1.08)}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.milestone-row{transition:opacity .15s,background .15s,box-shadow .15s;position:relative}.milestone-row.dragging{opacity:.42;background:#f7f5ff}.milestone-row.drop-before{box-shadow:inset 0 3px #7658ff}.milestone-row.drop-after{box-shadow:inset 0 -3px #7658ff}.drag-handle{color:#b3b8c5;cursor:grab;touch-action:none;letter-spacing:normal;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:27px;height:34px;padding:0;display:grid}.drag-handle:hover,.drag-handle:focus-visible{color:#7658ff;background:#f1efff;outline:none}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{cursor:wait;opacity:.5}.drag-handle svg{width:17px;height:17px}@media (width<=1050px){.app-shell{grid-template-columns:78px 1fr}.sidebar{width:78px}.sidebar-brand>div:nth-child(2),.sidebar nav a:not(.active),.sidebar nav a span,.sidebar-bottom>div:nth-child(2),.sidebar-bottom button{display:none}.sidebar nav a{justify-content:center}.admin-main{grid-column:2;padding:25px}.hero-card{align-items:flex-start}.hero-stats{flex-wrap:wrap;justify-content:flex-end;gap:16px}.milestone-row{grid-template-columns:minmax(200px,2fr) 70px 60px 100px 150px}.metric-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{display:none}.admin-main{padding:18px}.topbar h1{font-size:19px}.primary-button{padding:0 12px}.hero-card{padding:22px;display:block}.hero-title{width:100%;font-size:22px}.hero-stats{justify-content:flex-start;margin-top:25px}.settings-strip{flex-wrap:wrap;align-items:flex-end}.recalc-note{width:100%;margin:0}.schedule-panel,.milestones-section{padding:17px}.section-heading{align-items:flex-end}.milestone-list{overflow:auto}.form-grid{grid-template-columns:1fr}.portal-header{padding:0 18px}.portal-main{padding:30px 16px}.portal-welcome h1{font-size:26px}.metric-grid{grid-template-columns:1fr}.client-list{overflow:auto}.client-row{min-width:760px}.calendar-day{min-height:70px;padding:4px}.calendar-event{padding:2px;font-size:0}.calendar-event:after{content:"•";font-size:11px}.timeline-header,.timeline-row{grid-template-columns:150px minmax(550px,1fr)}.project-settings-grid{grid-template-columns:1fr}.milestone-row{min-width:850px}.calendar-span{padding:0 4px;font-size:8px}}.sidebar nav button{width:100%;height:44px;color:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.sidebar nav button.active{color:#a997ff;background:#7658ff1f}.sidebar nav button span{background:#252b40;border-radius:99px;margin-left:auto;padding:2px 7px;font-size:11px}.back-to-projects{color:#6d7588;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.back-to-projects>svg{border:1px solid var(--line);background:#fff;border-radius:9px;width:31px;height:31px;padding:8px}.back-to-projects span,.back-to-projects small,.back-to-projects strong{display:block}.back-to-projects small{letter-spacing:.12em;color:#9ba1ae;font-size:9px}.back-to-projects strong{color:#30384a;margin-top:2px;font-size:15px}.project-index{margin-top:24px}.project-index-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.project-index-heading h2{margin:7px 0 5px;font-size:25px}.project-index-heading p{color:#7e8698;margin:0;font-size:13px}.project-count{color:#7760dc;white-space:nowrap;background:#f0edff;border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800}.project-index-grid{grid-template-columns:repeat(3,minmax(250px,1fr));gap:14px;display:grid}.project-card{border:1px solid var(--line);text-align:left;color:#30384a;background:#fff;border-radius:16px;padding:19px;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:0 7px 25px #16203a08}.project-card:hover,.project-card:focus-visible{border-color:#c9befd;outline:none;transform:translateY(-2px);box-shadow:0 13px 30px #44388a14}.project-card-top,.project-card-title,.project-card-meta{justify-content:space-between;align-items:center;display:flex}.project-card-top>i{border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 5px #f3f1fb}.project-card-title{gap:12px;margin-top:17px}.project-card-title h3{margin:0;font-size:17px}.project-card-title svg{color:#9ca2b0;width:17px}.project-client{color:#858d9f;align-items:center;gap:6px;margin-top:7px;font-size:11px;display:flex}.project-client svg{width:13px}.project-card-progress{margin-top:21px}.project-card-progress>span{color:#8b92a2;margin-bottom:7px;font-size:10px;display:block}.project-card-progress b{color:#3c4457}.project-card-progress>div{background:#eef0f4;border-radius:10px;height:6px;overflow:hidden}.project-card-progress>div i{border-radius:10px;height:100%;display:block}.project-card-meta{border-top:1px solid #eef0f4;gap:12px;margin-top:17px;padding-top:14px}.project-card-meta span,.project-card-meta strong{display:block}.project-card-meta span{color:#969dac;font-size:9px}.project-card-meta strong{color:#4a5264;margin-top:4px;font-size:11px}.project-index-empty{text-align:center;color:#8a91a2;background:#fff;border:1px dashed #d9dce6;border-radius:17px;padding:55px}.project-index-empty>svg{color:#7658ff;width:34px;height:34px}.project-index-empty h3{margin:12px 0 5px}.project-index-empty p{margin:0 0 18px;font-size:12px}.party-color-legend{color:#858d9e;justify-content:flex-end;align-items:center;gap:14px;margin-top:12px;font-size:9px;font-weight:700;display:flex}.party-color-legend span{align-items:center;gap:5px;display:flex}.party-color-legend i{border-radius:50%;width:9px;height:9px}@media (width<=1180px){.project-index-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.milestone-row{grid-template-columns:minmax(200px,2fr) 70px 60px 100px 95px 150px}}@media (width<=1050px){.sidebar nav button{justify-content:center}.sidebar nav button span{display:none}}@media (width<=760px){.project-index-heading{flex-direction:column;align-items:flex-start}.project-index-grid{grid-template-columns:1fr}.project-card{min-width:0}.milestone-row{min-width:950px}.party-color-legend{justify-content:flex-start}.back-to-projects>svg{width:29px;height:29px}}.portal .schedule-export-surface>.calendar-card{width:100%;min-width:100%;max-width:100%}.timeline-axis{position:relative}.timeline-today-label{z-index:6;color:#fff;letter-spacing:0;text-transform:none;white-space:nowrap;background:#e34f6f;border-radius:5px;padding:2px 5px;font-size:8px;font-weight:800;line-height:12px;position:absolute;top:14px;transform:translate(-50%);box-shadow:0 2px 6px #9f294433}.timeline-today-line{z-index:5;opacity:.8;pointer-events:none;background:#e34f6f;width:2px;height:56px;position:absolute;top:-13px;transform:translate(-1px)}.calendar-nav{background:#f6f7fa;border:1px solid #e8eaf0;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:inset 0 1px #fff}.calendar-toolbar .calendar-nav button{color:#667085;border:0;border-radius:8px;justify-content:center;align-items:center;height:34px;transition:background .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.calendar-toolbar .calendar-nav button:hover{color:#5e45d8;background:#fff;box-shadow:0 2px 8px #2f365314}.calendar-toolbar .calendar-nav button:active{box-shadow:none;transform:translateY(1px)}.calendar-toolbar .calendar-nav button:focus-visible{outline-offset:2px;outline:2px solid #7658ff}.calendar-nav-arrow{width:34px;padding:0}.calendar-nav-arrow svg{stroke-width:2.25px;width:16px;height:16px}.calendar-toolbar .calendar-start-button{color:#40495c;white-space:nowrap;background:#fff;gap:7px;padding:0 12px;font-size:10px;font-weight:750;box-shadow:0 1px 3px #26304a12}.calendar-start-button svg{color:#7658ff;width:14px;height:14px}.calendar-start-button span{line-height:1}@media (width<=560px){.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.calendar-nav{align-self:stretch}.calendar-toolbar .calendar-start-button{flex:1}}.calendar-day.public-holiday{background:#fff8f8}.holiday-name{text-overflow:ellipsis;white-space:nowrap;color:#c34f62;max-width:100%;margin-top:7px;font-size:8px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.calendar-day.public-holiday .day-number{color:#c34f62}@media (width<=760px){.holiday-name{font-size:0}.holiday-name:after{content:"";background:#d85b70;border-radius:50%;width:5px;height:5px;display:block}}.download-control{border-radius:10px;align-items:stretch;height:40px;display:flex;overflow:hidden;box-shadow:0 0 0 1px #171d31}.download-control select{color:#fff;background:#292f43;border:0;border-right:1px solid #ffffff24;outline:none;width:60px;padding:0 7px;font-size:10px;font-weight:800}.download-control select:focus-visible{box-shadow:inset 0 0 0 2px #9d8bff}.download-control select:disabled{opacity:.55}.download-control .download-view{height:40px;box-shadow:none;border-radius:0}.download-control:focus-within{box-shadow:0 0 0 2px #b8adff}@media (width<=760px){.download-control{margin-left:auto}}.milestone-row{grid-template-columns:minmax(235px,2fr) 72px 78px minmax(210px,1.25fr) 105px 100px 165px}.milestone-start-control{align-items:end;gap:6px;min-width:0;display:flex}.milestone-start-control label{flex:1;min-width:0}.milestone-start-control .start-mode-field{flex:0 0 98px}.milestone-start-control input[type=date]{min-width:116px;padding:0 6px}.milestone-start-control input[type=number]{min-width:70px}@media (width<=1180px){.milestone-row{grid-template-columns:minmax(210px,2fr) 68px 74px 205px 98px 95px 150px}}@media (width<=760px){.milestone-row{min-width:1110px}}.milestone-hover{outline:none;position:relative}.task-bar{overflow:visible}.task-bar-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.milestone-hover:focus-visible{box-shadow:0 0 0 3px #7658ff35,0 3px 8px #30236d23}.milestone-tooltip{z-index:80;color:#fff;white-space:normal;pointer-events:none;text-align:left;background:#171d31;border:1px solid #32394d;border-radius:11px;width:238px;padding:12px;display:none;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%);box-shadow:0 14px 35px #0c112555}.milestone-tooltip:before{content:"";background:#171d31;border-top:1px solid #32394d;border-left:1px solid #32394d;width:9px;height:9px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.milestone-tooltip>strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:11px;display:block;overflow:hidden}.milestone-tooltip>span{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:5px;font-size:9px;line-height:1.35;display:flex;overflow:visible}.milestone-tooltip i{color:#9098ad;flex:none;font-style:normal}.milestone-tooltip b{color:#f2f4f8;text-align:right;font-weight:700}.milestone-hover:hover>.milestone-tooltip,.milestone-hover:focus-visible>.milestone-tooltip{display:block}.week-event-layer{z-index:4}.calendar-span{pointer-events:auto;overflow:visible}.calendar-span-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.calendar-span .milestone-tooltip,.calendar-span .milestone-tooltip span{text-overflow:clip;overflow:visible}.calendar-card{overflow:visible}.client-metric-grid{grid-template-columns:repeat(3,1fr)}.client-row{grid-template-columns:45px minmax(230px,1fr) minmax(145px,190px) 95px}.client-row-details{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.client-row-details strong{color:#4b5365;font-size:10px}.client-row-details span{color:#8d94a5;align-items:center;gap:5px;font-size:9px;margin:0!important;display:flex!important}.client-row-details i{border-radius:50%;width:7px;height:7px}.client-row .status-badge{justify-self:end}.calendar-pdf-pages{pointer-events:none;z-index:-1;width:1120px;position:fixed;top:0;left:-20000px}.calendar-pdf-page{background:#fff;flex-direction:column;width:1120px;height:820px;padding:28px 34px 20px;display:flex;overflow:hidden}.calendar-pdf-header{border-bottom:1px solid #e8eaf0;justify-content:space-between;align-items:flex-end;padding-bottom:14px;display:flex}.calendar-pdf-header>div:first-child span,.calendar-pdf-header>div:first-child strong{display:block}.calendar-pdf-header>div:first-child span{color:#7658ff;letter-spacing:.13em;font-size:10px;font-weight:800}.calendar-pdf-header>div:first-child strong{color:#20283a;margin-top:5px;font-size:20px}.calendar-pdf-header>div:last-child{color:#7b8395;align-items:center;gap:13px;font-size:10px;display:flex}.calendar-pdf-header>div:last-child b{color:#654bdc;background:#f0edff;border-radius:8px;place-items:center;min-width:42px;height:27px;display:grid}.calendar-pdf-page .calendar-card{min-width:0;margin-top:14px}.calendar-pdf-page .calendar-toolbar{padding:11px 14px}.calendar-pdf-page>footer{color:#9aa1b0;text-align:right;margin-top:auto;padding-top:9px;font-size:9px}@media (width<=760px){.client-row{min-width:650px}.client-row-details{align-items:flex-start}.milestone-tooltip{width:210px}}.calendar-week:hover,.calendar-week:focus-within{z-index:10}.calendar-span>.milestone-tooltip{top:auto;bottom:calc(100% + 9px)}.calendar-span>.milestone-tooltip:before{border:1px solid #32394d;border-top:0;border-left:0;top:auto;bottom:-5px}
