@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--bg:#f4f6f3;--surface:#fff;--ink:#13201d;--muted:#73807b;--line:#e5eae6;--sidebar:#0d1816;--accent:#55d29a;--accent-strong:#24b879;--accent-soft:#e4f8ef;--blue-soft:#edf2ff;--amber-soft:#fff5df;--danger:#d75a5a;--danger-soft:#fff0f0;--shadow:0 18px 50px rgba(20,40,34,.07);--shadow-soft:0 8px 28px rgba(20,40,34,.055);--radius:20px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}.icon{display:block;flex:0 0 auto}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 16% 20%,#1e3a31 0,transparent 28%),radial-gradient(circle at 82% 84%,#15382b 0,transparent 25%),#09110f;position:relative;overflow:hidden;padding:28px}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:40px 40px}.login-orbit{position:absolute;border:1px solid rgba(85,210,154,.12);border-radius:50%}.orbit-one{width:620px;height:620px;left:-280px;top:-230px}.orbit-two{width:480px;height:480px;right:-210px;bottom:-170px}.login-card{width:min(940px,100%);min-height:570px;background:linear-gradient(135deg,#fffffffa,#f8fbf8f5);border-radius:30px;padding:34px 44px 38px;box-shadow:0 40px 100px #00000047;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 1fr auto;column-gap:62px;position:relative;z-index:1}.login-brand{grid-column:1/-1;display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:#0c1c16;font:800 13px Manrope;letter-spacing:-.5px}.login-brand div,.brand-button>span:last-child{display:flex;flex-direction:column;text-align:left}.login-brand strong,.brand-button strong{font:800 16px/1.1 Manrope}.login-brand small,.brand-button small{font-size:10px;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.12em}.login-copy{align-self:center}.mini-label{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.13em;color:#4f6e63}.login-copy h1{font:800 clamp(40px,5vw,64px)/.98 "Manrope";letter-spacing:-.055em;margin:20px 0}.login-copy h1 span{color:#8f9b96}.login-copy p{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.login-form{align-self:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:16px}.login-form label,.form-stack label{display:flex;flex-direction:column;gap:8px;color:#56635e;font-size:12px;font-weight:700}.login-form input,.form-stack input,.form-stack textarea,.form-stack select{width:100%;border:1px solid #dfe6e1;background:#fbfcfb;color:var(--ink);border-radius:12px;padding:12px 13px}.login-form input:focus,.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:#8bcfb2;background:#fff;outline:none;box-shadow:0 0 0 4px #55d29a1f}.login-error{background:var(--danger-soft);color:#9b4040;border:1px solid #ffd7d7;border-radius:11px;padding:10px 12px;font-size:12px}.login-button{height:46px;justify-content:space-between!important}.login-foot{grid-column:1/-1;margin:0;color:#9aa49f;font-size:11px;align-self:end}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,var(--sidebar),#0a1210);color:#e8f0ec;padding:20px 16px 16px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05);z-index:30}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 22px}.brand-button{border:0;background:none;color:inherit;display:flex;align-items:center;gap:11px;padding:0}.brand-button .brand-mark{width:34px;height:34px}.brand-button small{color:#71817a}.mobile-close{display:none;background:none;border:0;color:#9aaba4}.main-nav{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:16px}.main-nav button,.project-nav button{border:0;background:transparent;color:#8fa099;border-radius:11px;display:flex;align-items:center;gap:11px;width:100%;text-align:left}.main-nav button{height:40px;padding:0 11px;font-size:13px;font-weight:600}.main-nav button:hover,.main-nav button.active,.project-nav button:hover,.project-nav button.active{background:#ffffff0f;color:#f4fbf7}.main-nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;color:#64746e;padding:20px 7px 9px;font-size:9px;font-weight:800;letter-spacing:.14em}.sidebar-section-head button{width:25px;height:25px;border-radius:8px;background:#ffffff0d;border:0;color:#82918b;display:grid;place-items:center}.project-nav{display:flex;flex-direction:column;gap:3px;overflow:auto;max-height:43vh}.project-nav button{padding:9px 8px}.project-dot{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#1b2d28;color:#a4bab0;font:700 11px Manrope}.project-nav button.active .project-dot{background:var(--accent);color:#10211a}.project-nav-copy{display:flex;flex-direction:column;min-width:0;flex:1}.project-nav-copy b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-nav-copy small{font-size:9px;color:#65766f;margin-top:3px}.sidebar-spacer{flex:1}.storage-card{border:1px solid rgba(255,255,255,.07);background:#ffffff09;border-radius:14px;padding:12px;margin:0 2px 12px}.storage-card>div{display:flex;align-items:center;gap:8px;font-size:11px}.storage-icon{width:25px;height:25px;border-radius:8px;background:#55d29a1f;color:var(--accent);display:grid;place-items:center}.storage-card p{font-size:9px;line-height:1.5;color:#71817a;margin:8px 0 0}.sidebar-tools{display:grid;grid-template-columns:1fr 1fr;gap:4px}.sidebar-tools button{border:0;background:transparent;color:#708079;padding:8px;border-radius:9px;font-size:10px;display:flex;align-items:center;gap:6px;justify-content:center}.sidebar-tools button:last-of-type{grid-column:1/-1}.sidebar-tools button:hover{background:#ffffff0d;color:#d6e1dc}.main-area{min-width:0}.app-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#f4f6f3e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(221,227,222,.75)}.header-title{display:flex;align-items:center;gap:14px}.header-title>div{display:flex;flex-direction:column}.header-title span{font-size:9px;font-weight:800;letter-spacing:.14em;color:#89958f}.header-title h1{font:800 19px/1.1 Manrope;letter-spacing:-.03em;margin:4px 0 0}.menu-button{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;place-items:center;color:#52615b}.header-actions{display:flex;align-items:center;gap:10px}.header-search{height:38px;min-width:190px;border:1px solid var(--line);background:#ffffffb3;border-radius:11px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#89958f;font-size:11px}.header-search span{flex:1}kbd{border:1px solid #e1e6e2;background:#f7f8f7;border-radius:6px;padding:2px 5px;color:#9aa49f;font-size:9px}.avatar{width:36px;height:36px;border-radius:11px;background:#15231f;color:#dce8e2;display:grid;place-items:center;font:700 10px Manrope}.btn{border:1px solid transparent;border-radius:11px;height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700}.btn-primary{background:#14241f;color:#eff8f3;box-shadow:0 7px 18px #14241f1f}.btn-primary:hover{background:#0b1713}.btn-ghost{background:#fff;border-color:var(--line);color:#52615b}.icon-button{width:32px;height:32px;border-radius:9px;border:0;background:transparent;color:#8b9792;display:grid;place-items:center}.icon-button:hover{background:#f1f4f2;color:#34433d}.page{padding:28px 34px 46px;max-width:1620px;margin:0 auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.section-kicker{font-size:9px;font-weight:800;letter-spacing:.15em;color:#91a09a}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head h3{font:800 19px/1.2 Manrope;letter-spacing:-.035em;margin:5px 0 0}.text-action{border:0;background:none;color:#4d6259;font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px}.muted-count{min-width:28px;height:28px;border-radius:9px;background:#f2f5f3;color:#819089;display:grid;place-items:center;font-size:10px;font-weight:700}.welcome-card{min-height:208px;border-radius:24px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(120deg,#eef4ee,#f8faf6,#edf8f2);border:1px solid #dfe8e0;position:relative;overflow:hidden}.welcome-card:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-130px;top:-160px;border:1px solid rgba(78,121,231,.1);box-shadow:0 0 0 45px #55d29a09,0 0 0 90px #55d29a06}.welcome-card h2{font:800 clamp(28px,3vw,40px)/1.08 "Manrope";letter-spacing:-.052em;margin:13px 0 12px;position:relative;z-index:1}.welcome-card h2 span{color:#85928c}.welcome-card p{margin:0;color:#73817b;font-size:13px}.welcome-progress{padding-right:32px;position:relative;z-index:1}.ring{--progress:0deg;width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent-strong) var(--progress),#dce5df 0);position:relative}.ring:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:#f6faf6}.ring>span{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.ring b{font:800 27px Manrope}.ring small{font-size:9px;color:#829089}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.metric-card{min-height:122px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;display:flex;align-items:flex-start;gap:13px;box-shadow:0 7px 24px #182a2309}.metric-card.accent{background:linear-gradient(145deg,#f5fff9,#ecfaf2);border-color:#d5eee0}.metric-icon{width:34px;height:34px;border-radius:11px;background:#f0f4f1;color:#66756f;display:grid;place-items:center}.metric-card.accent .metric-icon{background:#dff6e9;color:#258a60}.metric-card>div:last-child{display:flex;flex-direction:column;min-width:0}.metric-card span{font-size:10px;color:#829089;font-weight:600}.metric-card strong{font:800 23px Manrope;letter-spacing:-.045em;margin:7px 0 2px;white-space:nowrap}.metric-card small{font-size:9px;color:#a0aaa5}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:14px;margin-top:14px}.project-panel,.focus-panel{padding:21px}.project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.project-card{text-align:left;border:1px solid #e7ebe8;background:#fbfcfb;border-radius:17px;padding:16px;color:inherit;min-height:220px;display:flex;flex-direction:column}.project-card:hover{background:#fff;border-color:#cfd9d3;box-shadow:var(--shadow-soft)}.project-card-top{display:flex;align-items:center;justify-content:space-between;color:#8d9a94}.project-index{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font:800 9px Manrope;background:#eff3f0;color:#63746d}.project-index.p1{background:#eef2ff;color:#5571c8}.project-index.p2{background:#fff2e2;color:#bf7a24}.project-index.p3{background:#f5ebff;color:#8b5abb}.project-card-copy{margin:19px 0 16px;flex:1}.project-card-copy>span{font-size:9px;color:#98a39e;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.project-card-copy h4{font:800 20px Manrope;margin:5px 0 6px}.project-card-copy p{font-size:10px;line-height:1.45;color:#85918c;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-progress>div{display:flex;justify-content:space-between;margin-bottom:7px;font-size:9px;color:#7b8882}.project-card-progress strong{font-size:11px;color:#34443e}.project-card-foot{display:flex;justify-content:space-between;border-top:1px solid #e9edea;margin-top:13px;padding-top:11px;color:#8c9893;font-size:9px}.focus-list{display:flex;flex-direction:column;margin-top:13px}.focus-list button{border:0;background:none;text-align:left;color:inherit;display:flex;align-items:center;gap:10px;padding:11px 3px;border-bottom:1px solid #edf0ee}.focus-check{width:17px;height:17px;border-radius:6px;border:1px solid #d4dcd7}.focus-copy{display:flex;flex-direction:column;min-width:0;flex:1}.focus-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-copy small{font-size:8px;color:#99a39f;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.effort-badge{min-width:25px;height:23px;padding:0 7px;border-radius:8px;background:#f1f4f2;color:#6f7e77;display:inline-grid;place-items:center;font-size:9px;font-weight:800}.progress-track{height:8px;background:#e5ebe7;border-radius:999px;overflow:hidden}.progress-track.compact{height:5px}.progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3cc989,#67d9a5)}.project-hero{background:#13231e;color:#edf6f1;border-radius:23px;padding:28px 30px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:end;position:relative;overflow:hidden}.project-breadcrumb{display:flex;align-items:center;gap:5px;font-size:9px;color:#718a80;font-weight:700}.project-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:19px}.project-client{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#72af94;font-weight:800}.project-title-row h2{font:800 35px/1.05 Manrope;letter-spacing:-.055em;margin:5px 0 7px}.project-title-row p{margin:0;color:#8ea39a;font-size:11px;max-width:650px}.project-hero .btn-ghost{background:#ffffff0f;border-color:#ffffff1a;color:#c9d7d1}.project-score{border-left:1px solid rgba(255,255,255,.09);padding-left:28px;display:flex;flex-direction:column}.project-score>span{font-size:9px;color:#759084;text-transform:uppercase;letter-spacing:.1em}.project-score>strong{font:800 39px Manrope;margin:5px 0 8px}.project-score small{font-size:9px;color:#74897f;margin-top:8px}.project-hero .progress-track{background:#ffffff14}.project-tabs{display:flex;gap:5px;border-bottom:1px solid #dde4df;margin:17px 2px 18px}.project-tabs button{border:0;background:none;color:#85918c;padding:13px 14px 12px;font-size:11px;font-weight:700;position:relative;display:flex;gap:6px}.project-tabs button span{font-size:8px;background:#e8eeea;border-radius:999px;padding:2px 6px}.project-tabs button.active{color:#21312b}.project-tabs button.active:after{content:"";height:2px;position:absolute;left:8px;right:8px;bottom:-1px;background:#2db77e}.project-metrics{margin-top:0}.areas-panel{margin-top:14px;padding:22px}.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.area-card{background:#fafbfa;border:1px solid #e8ece9;border-radius:14px;padding:14px}.area-head,.area-foot{display:flex;justify-content:space-between}.area-head{margin-bottom:9px}.area-head span{font-size:10px;font-weight:700}.area-head strong{font:800 12px Manrope}.area-foot{margin-top:8px;color:#98a39e;font-size:8px}.task-panel{overflow:hidden}.task-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 0;gap:14px}.status-tabs{display:flex;gap:2px;overflow:auto}.status-tabs button{white-space:nowrap;border:0;background:none;color:#87938e;border-radius:9px;padding:8px 9px;font-size:10px;font-weight:700;display:flex;gap:5px}.status-tabs button span{font-size:8px;color:#a1aaa6;background:#f0f3f1;padding:2px 5px;border-radius:999px}.status-tabs button.active{background:#eef5f1;color:#2d443b}.toolbar-actions{display:flex;gap:7px}.task-filters{display:flex;align-items:center;gap:8px;padding:13px 18px 14px;border-bottom:1px solid var(--line)}.search-box{height:36px;border:1px solid var(--line);background:#fafbfa;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 10px;min-width:320px;color:#8e9a95}.search-box input{border:0;background:transparent;outline:none;width:100%;font-size:10px}.task-filters select{height:36px;border:1px solid var(--line);background:#fafbfa;border-radius:10px;color:#617069;padding:0 10px;font-size:10px}.filter-result{margin-left:auto;color:#9ba5a1;font-size:9px}.task-table-wrap{overflow:auto;min-height:270px}.task-table{width:100%;border-collapse:collapse;min-width:1060px}.task-table th{text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#9aa49f;padding:11px 12px;background:#fafbfa;border-bottom:1px solid #e7ebe8}.task-table th:first-child,.task-table td:first-child{padding-left:18px}.task-table td{padding:11px 12px;border-bottom:1px solid #edf0ee;font-size:9px;color:#58665f}.task-table tbody tr{cursor:pointer}.task-table tbody tr:hover{background:#fbfdfb}.task-name{display:flex;gap:9px;max-width:380px}.task-state-dot{width:7px;height:7px;border-radius:50%;background:#c5ceca;margin-top:4px}.task-state-dot.progress{background:#648be8}.task-state-dot.review{background:#e1a03f}.task-state-dot.done{background:#49bf88}.task-name>span:last-child{display:flex;flex-direction:column;min-width:0}.task-name b{font-size:10px;color:#26352f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-name small{font-size:8px;color:#9aa49f;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.area-tag{display:inline-flex;border:1px solid #e2e8e4;background:#f8faf8;padding:4px 7px;border-radius:7px;white-space:nowrap;font-size:8px}.assignee{display:flex;align-items:center;gap:6px;white-space:nowrap}.assignee i{font-style:normal;width:22px;height:22px;border-radius:7px;background:#e9f0ec;display:grid;place-items:center;font-size:7px;font-weight:800}.empty-value{color:#a8b0ac}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;background:#f2f4f3;color:#728078;white-space:nowrap;font-size:8px;font-weight:700}.status-pill i{width:5px;height:5px;border-radius:50%;background:#aab4af}.status-pill.blue{background:var(--blue-soft);color:#4a67b8}.status-pill.amber{background:var(--amber-soft);color:#a36c1d}.status-pill.green{background:var(--accent-soft);color:#27835f}.table-progress{display:flex;align-items:center;gap:7px;min-width:105px}.table-progress .progress-track{width:65px}.table-progress>span{font-size:8px}.empty-state{padding:56px 24px;text-align:center;color:#87938e}.empty-state>span{width:42px;height:42px;border-radius:13px;background:#f1f5f2;display:grid;place-items:center;margin:0 auto 10px}.empty-state h4{font:800 14px Manrope;margin:0 0 4px;color:#45544e}.empty-state p{font-size:9px;margin:0}.compact-empty{padding:45px 20px}.compact-empty .btn{margin-top:14px}.payment-panel{margin-top:14px;padding:21px}.payment-list{margin-top:15px}.payment-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ee}.payment-type{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.payment-type.income{background:#e6f7ef;color:#25855f}.payment-type.expense{background:#fff0ef;color:#b75555}.payment-row>div{display:flex;flex-direction:column}.payment-row b{font-size:10px}.payment-row small{font-size:8px;color:#99a39f}.payment-row>span:last-child{font:800 11px Manrope}.positive{color:#278660}.negative{color:#b75555}.team-hero{padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.team-hero h2{font:800 29px/1.1 Manrope;letter-spacing:-.05em;margin:7px 0}.team-hero p{margin:0;color:#819089;font-size:11px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.team-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-soft);position:relative}.team-avatar{width:44px;height:44px;border-radius:13px;background:#e5f5ec;color:#2b7e5f;display:grid;place-items:center;font:800 11px Manrope}.team-card-copy h3{font:800 15px Manrope;margin:13px 0 3px}.team-card-copy p{margin:0;color:#929d98;font-size:9px}.team-stats{display:flex;gap:16px;border-top:1px solid #edf0ee;margin-top:17px;padding-top:13px;color:#8b9792;font-size:8px}.remove-link{position:absolute;right:12px;top:12px;border:0;background:none;color:#b7c0bc;font-size:8px}.remove-link:hover{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060d0b7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:80;display:grid;place-items:center;padding:24px}.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 32px 90px #08140f40;padding:23px}.modal-card.wide{width:min(780px,100%)}.modal-head{display:flex;justify-content:space-between;margin-bottom:21px}.modal-head h3{font:800 22px Manrope;margin:5px 0 0}.form-stack{display:flex;flex-direction:column;gap:15px}.form-stack textarea{resize:vertical;min-height:70px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px}.modal-actions.split{justify-content:space-between}.danger-link{border:0;background:none;color:#c55d5d;font-size:10px;font-weight:700}.loading-screen{min-height:100vh;background:#0b1412;color:#aebbb5;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;font-size:11px}.mobile-overlay{display:none}@media (max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.project-hero{grid-template-columns:1fr 240px}.areas-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:270px;transform:translate(-102%);transition:.22s;box-shadow:25px 0 70px #0003}.sidebar.mobile-open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;background:#060d0b75}.mobile-close,.menu-button{display:grid;place-items:center}.app-header{padding-inline:20px}.page{padding:22px 20px 40px}.header-search{display:none}.project-hero{grid-template-columns:1fr}.project-score{border-left:0;border-top:1px solid rgba(255,255,255,.09);padding:18px 0 0}.login-card{grid-template-columns:1fr;gap:25px;padding:30px;min-height:auto}.login-brand{margin-bottom:18px}.login-foot{margin-top:4px}}@media (max-width:680px){.app-header{height:68px;padding-inline:14px}.header-title h1{font-size:16px}.header-actions .btn{width:38px;padding:0;font-size:0}.avatar{display:none}.page{padding:16px 14px 34px}.welcome-card{padding:24px;min-height:230px}.welcome-progress{display:none}.welcome-card h2{font-size:29px}.metrics-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{min-height:105px;padding:13px;gap:9px}.metric-icon{width:30px;height:30px}.metric-card strong{font-size:18px}.project-panel,.focus-panel{padding:15px}.project-cards{grid-template-columns:1fr}.focus-list{display:block}.project-hero{border-radius:18px;padding:22px 19px}.project-title-row{align-items:flex-start;flex-direction:column}.project-title-row h2{font-size:30px}.project-tabs{overflow:auto}.areas-panel{padding:15px}.areas-grid{grid-template-columns:1fr}.task-toolbar{align-items:flex-start;flex-direction:column;padding:13px}.status-tabs,.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1}.task-filters{padding:10px 13px;flex-wrap:wrap}.search-box{min-width:100%;width:100%}.filter-result{margin-left:0}.team-hero{padding:21px;align-items:flex-start;flex-direction:column}.team-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-card{border-radius:18px;padding:18px}.form-grid,.form-grid.three{grid-template-columns:1fr}.modal-actions.split{flex-direction:column}.modal-actions.split>div{display:grid;grid-template-columns:1fr 1fr}.login-page{padding:14px}.login-card{padding:24px 20px;border-radius:22px}.login-copy h1{font-size:36px}.login-copy p{font-size:13px}.login-form{padding:18px}}.payment-row{grid-template-columns:36px minmax(0,1fr) auto 32px;cursor:pointer;border-radius:10px;padding-left:6px;padding-right:4px;transition:background .16s ease}.payment-row:hover{background:#fafcfb}.payment-amount{font:800 11px Manrope;white-space:nowrap}.payment-edit-button{opacity:.45;transition:opacity .16s ease}.payment-row:hover .payment-edit-button{opacity:1}.payment-modal-actions{display:flex;gap:8px}.task-table{min-width:1140px}.task-name small{max-width:360px}.status-pill.amber{font-weight:800}.focus-list button:hover{background:#fafcfb;border-radius:9px}.focus-list button{transition:background .16s ease}.task-filters select{max-width:180px}@media (max-width:680px){.payment-row{grid-template-columns:34px minmax(0,1fr) auto 28px;gap:8px}.payment-row small{white-space:normal}.payment-modal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.task-filters select{max-width:none;flex:1;min-width:135px}}.project-card.project-card-pro{min-height:184px;padding:14px 15px 13px;gap:0;background:linear-gradient(180deg,#fff,#fbfcfb)}.project-card-pro .project-card-top{min-height:30px;gap:8px}.project-card-pro .project-card-top>.icon{margin-left:auto}.project-card-pro .project-card-copy{margin:12px 0 11px;flex:0 0 auto}.project-card-pro .project-card-copy h4{font-size:19px;margin:4px 0}.project-card-pro .project-card-copy p{font-size:10px;line-height:1.35;-webkit-line-clamp:1;min-height:14px}.project-card-meta{display:grid;grid-template-columns:1.3fr 1fr .72fr;gap:8px;margin:0 0 12px}.project-card-meta>div{min-width:0;padding:8px 9px;border:1px solid #edf0ee;border-radius:10px;background:#f8faf9;display:flex;flex-direction:column;gap:3px}.project-card-meta span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#97a29d;font-weight:800}.project-card-meta b{font:700 10px Manrope;color:#394941;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-pro .project-card-progress{margin-top:auto}.project-card-pro .project-card-progress>div{margin-bottom:5px}.project-card-pro .project-card-foot{display:none}.project-risk-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.project-risk-badge span{font-size:10px}.project-risk-badge.risk-neutral{background:#f2f4f3;color:#7b8882;border-color:#e5e9e6}.project-risk-badge.risk-green{background:#ebf8f1;color:#25865e;border-color:#d5efdf}.project-risk-badge.risk-amber{background:#fff6e4;color:#a86e13;border-color:#f1dfb9}.project-risk-badge.risk-red{background:#fff0f0;color:#b54d4d;border-color:#f3d2d2}.compact-risk{padding:4px 7px}.project-hero-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.project-hero-meta>span:first-child{display:inline-flex;flex-direction:column;gap:2px;padding:8px 11px;border-radius:11px;background:#ffffff13;border:1px solid rgba(255,255,255,.08);color:#d9e5df;font-size:10px}.project-hero-meta>span:first-child b{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#7fa294}.project-hero .project-risk-badge{background:#ffffff17;border-color:#ffffff1a;color:#dfe9e4}.task-risk-dot{margin-left:auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.task-risk-dot.risk-neutral{background:#f0f3f1;color:#95a09b}.task-risk-dot.risk-green{background:#e7f7ef;color:#25865e}.task-risk-dot.risk-amber{background:#fff3dc;color:#aa721b}.task-risk-dot.risk-red{background:#ffeded;color:#b94d4d}.field-help{font-size:9px!important;line-height:1.4;color:#98a39e!important;font-weight:500!important;margin-top:-2px}.sidebar-tools.single{grid-template-columns:1fr}.sidebar-tools.single button{grid-column:auto!important}.storage-card.synced{border-color:#55d29a29;background:#55d29a0e}.modal-actions.split>div{display:flex;gap:8px}.danger-link{border:0;background:transparent;color:#c65555;font-size:11px;font-weight:700;padding:8px 0}.danger-link:hover{color:#a83c3c;text-decoration:underline}.error-loading{gap:14px}.error-loading p{color:#8d5858}.login-link{border:0;background:transparent;color:#587167;font-size:11px;font-weight:700;padding:2px 0 0;text-align:left;align-self:flex-start}.login-link:hover{color:#1f7a56;text-decoration:underline}.login-success{background:#edf9f2;color:#257653;border:1px solid #d2eedf;border-radius:11px;padding:10px 12px;font-size:12px;line-height:1.45}@media (max-width:760px){.project-card-meta{grid-template-columns:1fr 1fr}.project-card-meta>div:last-child{display:none}.project-hero-meta{align-items:flex-start}.project-card.project-card-pro{min-height:176px}}:root{--bg:#f5f7fb;--surface:#ffffff;--ink:#0b1726;--muted:#748095;--line:#e3e8ef;--sidebar:#081521;--accent:#2a5cff;--accent-strong:#1f49de;--accent-soft:#edf2ff;--blue-soft:#edf3ff;--amber-soft:#fff5e6;--danger:#cb4d5b;--danger-soft:#fff0f2;--shadow:0 22px 60px rgba(10,27,51,.08);--shadow-soft:0 10px 32px rgba(10,27,51,.06)}html,body{background:var(--bg)}body{color:var(--ink)}.app-shell{background:var(--bg)}.sidebar{background:linear-gradient(180deg,#081521,#0b1a29 55%,#08131e);border-right:1px solid rgba(255,255,255,.05);box-shadow:14px 0 40px #08152114}.brand-mark{background:linear-gradient(135deg,#3869ff,#2350e7);color:#fff;box-shadow:0 8px 24px #2a5cff3d}.brand-button small{color:#708196}.main-nav button,.project-nav button{color:#91a0b1}.main-nav button:hover,.main-nav button.active,.project-nav button:hover,.project-nav button.active{background:#fff1;color:#fff}.main-nav button.active{box-shadow:inset 3px 0 #5d7fff}.project-dot{background:#13263a;color:#9fb0c2}.project-nav button.active .project-dot{background:#2a5cff;color:#fff}.sidebar-section-head{color:#63758a}.sidebar-section-head button{background:#ffffff0f;color:#8fa2b5}.storage-card.synced{border-color:#4673ff33;background:#2a5cff13}.storage-icon{background:#4870ff24;color:#7f9cff}.storage-card p,.sidebar-tools button{color:#718397}.sidebar-tools button:hover{color:#fff;background:#ffffff0d}.app-header{height:76px;background:#f7f9fce6;border-bottom:1px solid rgba(222,228,236,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-title span{color:#8290a3}.header-title h1{color:#101c2c}.header-search{background:#fff;border-color:#e0e6ee;color:#8a96a7;box-shadow:0 3px 14px #12263f06}.avatar{background:#0d1d2d;color:#eef4ff}.btn-primary{background:#0b1a29;color:#fff;box-shadow:0 8px 22px #0b1a2924}.btn-primary:hover{background:#162a40}.btn-ghost{background:#fff;border-color:#dfe5ed;color:#44536a}.progress-track{background:#e8edf4}.progress-track span{background:linear-gradient(90deg,#2859f6,#557cff)}.vx-dashboard{padding-top:26px}.vx-hero{position:relative;overflow:hidden;min-height:290px;border-radius:28px;padding:34px 36px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:42px;background:linear-gradient(125deg,#071523,#0b2035 56%,#102c4a);box-shadow:0 24px 70px #08182b2b;color:#fff}.vx-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.82));mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.82));pointer-events:none}.vx-hero:after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-250px;top:-310px;border:1px solid rgba(79,123,255,.24);box-shadow:0 0 0 65px #3c65e70e,0 0 0 135px #3c65e709;pointer-events:none}.vx-hero-copy,.vx-next-focus{position:relative;z-index:1}.vx-kicker{display:inline-flex;align-items:center;gap:8px;font-size:9px;font-weight:800;letter-spacing:.17em;color:#7e9dff}.vx-kicker:before{content:"";width:18px;height:1px;background:currentColor;opacity:.8}.vx-kicker.dark{color:#60718a}.vx-hero h2{font:800 clamp(34px,4.1vw,57px)/1.02 "Manrope";letter-spacing:-.055em;margin:19px 0 14px;max-width:760px}.vx-hero h2 em{font-style:normal;color:#90a8ff}.vx-hero-copy>p{margin:0;color:#9eafc2;font-size:14px;line-height:1.65;max-width:650px}.vx-hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.vx-hero-pills span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.09);background:#ffffff0e;color:#aebdcb;border-radius:999px;padding:8px 11px;font-size:10px}.vx-hero-pills b{font:700 11px Manrope;color:#fff}.vx-hero-pills .attention{border-color:#ffb75c33;background:#ffad4914;color:#ffc178}.vx-hero-pills .attention b{color:#ffd09a}.vx-next-focus{align-self:stretch;border:1px solid rgba(255,255,255,.1);background:linear-gradient(150deg,#ffffff17,#ffffff0a);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:21px;padding:22px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 1px #ffffff0f}.vx-next-focus>span:first-child{font-size:8px;font-weight:800;letter-spacing:.16em;color:#7d93aa}.vx-next-focus h3{font:800 20px/1.22 Manrope;letter-spacing:-.035em;margin:10px 0 5px}.vx-next-focus>p{font-size:10px;color:#8fa2b6;margin:0}.vx-next-focus-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:18px 0}.vx-next-focus-meta>span:not(.vx-time){font-size:9px;color:#a4b4c4;padding:6px 8px;border-radius:8px;background:#ffffff0e}.vx-next-focus button{border:0;background:#fff;color:#0a1a2a;height:38px;border-radius:11px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800}.vx-next-focus button:hover{background:#edf2ff}.vx-all-clear strong{font:800 22px Manrope;display:block;margin-top:12px}.vx-all-clear p{color:#91a5b8}.vx-metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:13px}.vx-metric{position:relative;overflow:hidden;min-height:126px;padding:18px;border:1px solid #e2e7ef;border-radius:18px;background:#fff;box-shadow:0 8px 28px #1227430b;display:flex;flex-direction:column}.vx-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#d7dee8}.vx-metric-blue:before{background:#315ff5}.vx-metric-positive:before{background:#40b995}.vx-metric-expense:before{background:#e68b68}.vx-metric-navy:before{background:#0e2237}.vx-metric-label{font-size:9px;font-weight:700;color:#7c899b}.vx-metric strong{font:800 25px Manrope;letter-spacing:-.045em;margin:12px 0 4px;color:#0b1726}.vx-metric small{font-size:9px;color:#9aa5b4}.vx-metric-blue{background:linear-gradient(145deg,#fff,#f5f7ff)}.vx-metric-positive{background:linear-gradient(145deg,#fff,#f6fbfa)}.vx-metric-navy{background:linear-gradient(145deg,#fdfefe,#f4f7fa)}.vx-work-panel{margin-top:13px;border:1px solid #e2e7ef;background:#fff;border-radius:22px;box-shadow:0 12px 38px #10243c0d;overflow:hidden}.vx-work-head{padding:22px 23px 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid #edf0f4}.vx-work-head h3{font:800 22px Manrope;letter-spacing:-.04em;margin:5px 0}.vx-work-head p{font-size:11px;color:#8b97a8;margin:0}.vx-work-actions{display:flex;align-items:center;gap:10px}.vx-filter-tabs{display:flex;background:#f2f5f9;padding:3px;border-radius:11px}.vx-filter-tabs button{border:0;background:transparent;color:#718095;height:31px;padding:0 10px;border-radius:8px;font-size:9px;font-weight:700;display:flex;gap:5px;align-items:center}.vx-filter-tabs button span{color:#a3acb8}.vx-filter-tabs button.active{background:#fff;color:#18263a;box-shadow:0 2px 7px #0d213912}.vx-filter-tabs button.active span{color:#315ff5}.vx-new-project{height:37px;border-radius:10px;border:1px solid #dbe2eb;background:#fff;color:#33445a;font-size:10px;font-weight:750;padding:0 12px}.vx-new-project:hover{border-color:#bdc9d8;background:#f9fbfd}.vx-task-list{display:flex;flex-direction:column}.vx-task-row{width:100%;min-height:67px;border:0;border-bottom:1px solid #edf1f5;background:#fff;color:inherit;display:grid;grid-template-columns:4px minmax(250px,1fr) 110px 65px 92px 54px 120px 24px;align-items:center;gap:13px;padding:0 20px;text-align:left;transition:.15s ease}.vx-task-row:last-child{border-bottom:0}.vx-task-row:hover{background:#f9fbfe}.vx-task-priority{width:4px;height:34px;border-radius:99px;background:#d6dde7}.vx-priority-high{background:#f19b73}.vx-priority-medium{background:#5e83f7}.vx-priority-low{background:#c9d1dc}.vx-task-main{display:flex;flex-direction:column;min-width:0}.vx-task-main strong{font:700 11px/1.35 Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-task-main small{font-size:9px;color:#94a0b0;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx-status,.vx-priority-label,.vx-time{display:inline-flex;align-items:center;justify-content:center;width:max-content;white-space:nowrap;border-radius:999px;font-size:8px;font-weight:750;padding:6px 8px}.vx-status-pending{background:#f2f4f7;color:#6f7d90}.vx-status-progress{background:#edf3ff;color:#3157c8}.vx-status-review{background:#fff5e8;color:#9d681e}.vx-priority-label-high{background:#fff0e9;color:#bf6240}.vx-priority-label-medium{background:#edf2ff;color:#526ab2}.vx-priority-label-low{background:#f2f4f6;color:#7d8795}.vx-time{gap:5px}.vx-time i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.72}.vx-time-none{background:#f3f5f7;color:#8490a0}.vx-time-ok{background:#eef4ff;color:#4c6ab5}.vx-time-watch{background:#fff7e8;color:#a67223}.vx-time-soon,.vx-time-today{background:#fff2e9;color:#c2643d}.vx-time-late{background:#fff0f2;color:#c34e5b}.vx-effort{font-size:9px;color:#7e8a99}.vx-row-progress{display:flex;align-items:center;gap:7px}.vx-row-progress i{display:block;flex:1;height:5px;background:#e8edf3;border-radius:99px;overflow:hidden}.vx-row-progress i b{display:block;height:100%;background:#315ff5;border-radius:99px}.vx-row-progress span{font-size:8px;color:#8894a4}.vx-row-arrow{font-size:15px;color:#bdc5cf}.vx-empty-tasks{padding:48px;text-align:center;color:#7f8b9c}.vx-empty-tasks strong{font:700 14px Manrope}.vx-empty-tasks p{font-size:10px}.project-hero{min-height:250px;border-radius:26px;background:linear-gradient(125deg,#071725,#0a2035 62%,#102c49);box-shadow:0 20px 58px #081a2d24;overflow:hidden;position:relative}.project-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}.project-hero:after{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(87,124,255,.14);border-radius:50%;right:-180px;top:-215px;box-shadow:0 0 0 45px #4a6ee809,0 0 0 90px #4a6ee806;pointer-events:none}.project-hero-main,.project-score{position:relative;z-index:1}.project-breadcrumb{color:#8095ab}.project-client{color:#7898ff!important}.project-title-row h2{font-size:38px!important;letter-spacing:-.05em}.project-title-row p{color:#9aaec0!important;max-width:680px}.project-title-row>.btn-ghost{background:#ffffff14;border-color:#ffffff1c;color:#e6edf5}.project-title-row>.btn-ghost:hover{background:#ffffff21}.project-score{background:#ffffff0b;border-left:1px solid rgba(255,255,255,.075)}.project-score>span{color:#7790a7}.project-score>strong{color:#fff}.project-score small{color:#8ea2b5}.project-score .progress-track{background:#ffffff17}.project-score .progress-track span{background:linear-gradient(90deg,#5b7eff,#87a2ff)}.project-hero-meta>span:first-child{background:#ffffff0e!important;border-color:#ffffff14!important;color:#d9e2eb!important}.project-hero-meta>span:first-child b{color:#7d91a7!important}.project-risk-badge{border-radius:999px!important;padding:6px 9px!important;font-size:8px!important;font-weight:750!important;gap:6px!important}.project-risk-badge>span{display:none!important}.project-risk-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8}.project-risk-badge.risk-neutral{background:#f2f4f7!important;color:#7c8796!important;border-color:#e2e7ed!important}.project-risk-badge.risk-green{background:#eef5ff!important;color:#4a67ad!important;border-color:#dbe6fb!important}.project-risk-badge.risk-amber{background:#fff6e8!important;color:#9f6d22!important;border-color:#f0dfbd!important}.project-risk-badge.risk-red{background:#fff0f2!important;color:#bd505c!important;border-color:#f0d3d7!important}.project-hero .project-risk-badge{background:#ffffff13!important;border-color:#ffffff17!important;color:#cad6e2!important}.task-risk-dot{width:auto!important;height:26px!important;border-radius:999px!important;padding:0 8px!important;font-size:0!important;margin-left:auto;display:inline-flex!important;align-items:center!important;gap:5px!important}.task-risk-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.task-risk-dot:after{font-size:8px;font-weight:750}.task-risk-dot.risk-neutral{background:#f2f4f7!important;color:#7c8796!important}.task-risk-dot.risk-neutral:after{content:"Sin fecha"}.task-risk-dot.risk-green{background:#eef5ff!important;color:#4d6bb0!important}.task-risk-dot.risk-green:after{content:"En tiempo"}.task-risk-dot.risk-amber{background:#fff6e8!important;color:#9f6d22!important}.task-risk-dot.risk-amber:after{content:"Atención"}.task-risk-dot.risk-red{background:#fff0f2!important;color:#bd505c!important}.task-risk-dot.risk-red:after{content:"En riesgo"}.metric-card.accent{background:linear-gradient(145deg,#fff,#f4f7ff);border-color:#dce5fb}.metric-card.accent .metric-icon{background:#edf2ff;color:#335bd0}.metric-icon{background:#f1f4f8;color:#67758a}.status-pill.blue{background:#edf2ff;color:#4461ad}.status-pill.green{background:#eef5ff;color:#4867ae}.status-pill.amber{background:#fff5e7;color:#9c6b22}.status-pill.neutral{background:#f1f3f6;color:#707d90}.area-card{background:#fbfcfe;border-color:#e7ebf1}.area-card .progress-track span{background:#315ff5}.project-tabs button.active{color:#18304e;border-bottom-color:#315ff5}@media (max-width:1180px){.vx-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-task-row{grid-template-columns:4px minmax(220px,1fr) 100px 68px 86px 54px}.vx-row-progress,.vx-row-arrow{display:none}}@media (max-width:900px){.vx-hero{grid-template-columns:1fr;min-height:auto}.vx-next-focus{min-height:190px}.vx-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-work-head{align-items:flex-start;flex-direction:column}.vx-work-actions{width:100%;justify-content:space-between}.vx-task-row{grid-template-columns:4px minmax(180px,1fr) 86px 82px}.vx-status,.vx-priority-label,.vx-effort{display:none}}@media (max-width:620px){.vx-dashboard{padding-top:16px}.vx-hero{padding:25px 21px;border-radius:21px;gap:24px}.vx-hero h2{font-size:36px}.vx-metrics-grid{grid-template-columns:1fr 1fr}.vx-metric{min-height:112px;padding:15px}.vx-metric strong{font-size:21px}.vx-work-head{padding:19px 16px}.vx-work-actions{align-items:stretch;flex-direction:column}.vx-filter-tabs{overflow:auto}.vx-new-project{width:100%}.vx-task-row{padding:11px 14px;min-height:70px;grid-template-columns:4px minmax(0,1fr) 82px;gap:9px}.vx-time{justify-self:end}.project-hero{min-height:auto;border-radius:21px}}:root{--vx-paper:#f7f9f7;--vx-white:#ffffff;--vx-navy:#091827;--vx-navy-soft:#122b43;--vx-ink:#101923;--vx-muted:#64717d;--vx-blue:#2859f6;--vx-blue-deep:#173dbd;--vx-mint:#29f2a7;--vx-mint-soft:#dcfff2;--vx-line:rgba(9,24,39,.12)}html,body,.app-shell{background:var(--vx-paper)!important;color:var(--vx-ink)!important}.sidebar{background:linear-gradient(180deg,#091827,#0b1d2d 58%,#07131f)!important}.brand-mark{background:var(--vx-mint)!important;color:var(--vx-navy)!important;box-shadow:0 10px 30px #29f2a72e!important}.main-nav button.active{box-shadow:inset 3px 0 0 var(--vx-mint)!important}.project-nav button.active .project-dot{background:var(--vx-blue)!important}.app-header{background:#f7f9f7eb!important;border-bottom:1px solid rgba(9,24,39,.09)!important}.btn-primary{background:var(--vx-navy)!important}.btn-primary:hover{background:var(--vx-navy-soft)!important}.progress-track span{background:linear-gradient(90deg,var(--vx-blue),#5d7df8)!important}.vx2-dashboard{padding-top:24px;padding-bottom:44px}.vx2-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.62fr);gap:38px;min-height:292px;padding:38px 40px;border-radius:30px;background:linear-gradient(118deg,#091827,#0c2237 56%,#123451);box-shadow:0 28px 80px #09182729;color:#fff}.vx2-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(90deg,transparent 5%,rgba(0,0,0,.9) 80%);mask-image:linear-gradient(90deg,transparent 5%,rgba(0,0,0,.9) 80%);pointer-events:none}.vx2-hero:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-245px;top:-350px;border:1px solid rgba(41,242,167,.18);box-shadow:0 0 0 70px #2859f60e,0 0 0 150px #29f2a706;pointer-events:none}.vx2-hero-copy,.vx2-system-card{position:relative;z-index:1}.vx2-kicker{display:inline-flex;align-items:center;gap:9px;font-size:9px;font-weight:850;letter-spacing:.16em;color:var(--vx-mint)}.vx2-kicker:before{content:"";width:18px;height:1px;background:currentColor}.vx2-kicker.dark{color:var(--vx-blue)}.vx2-hero h2{margin:18px 0 14px;font:720 clamp(36px,4.4vw,61px)/.98 "Manrope",Inter,sans-serif;letter-spacing:-.06em;max-width:820px}.vx2-hero h2 em{font-style:normal;color:#dfe8ff}.vx2-hero-copy>p{margin:0;max-width:650px;color:#9eb0c0;font-size:14px;line-height:1.65}.vx2-hero-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.vx2-hero-summary span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#ffffff0d;color:#a8bac8;font-size:10px}.vx2-hero-summary b{color:#fff;font:800 11px Manrope}.vx2-hero-summary .attention{border-color:#29f2a733;background:#29f2a712;color:#85f9ce}.vx2-hero-summary .attention b{color:var(--vx-mint)}.vx2-system-card{align-self:stretch;padding:23px 24px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(155deg,#ffffff16,#ffffff09);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff0f;display:flex;flex-direction:column;justify-content:center}.vx2-system-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.08)}.vx2-system-head span{font-size:8px;font-weight:850;letter-spacing:.15em;color:#81a0b7}.vx2-system-head small{font-size:9px;color:#748ba0;text-transform:capitalize}.vx2-system-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.065)}.vx2-system-line span{font-size:9px;color:#8095a7}.vx2-system-line strong{font:650 10px Manrope;color:#e7eef4;text-align:right}.vx2-system-state{display:flex;align-items:center;gap:7px;margin-top:15px;font-size:9px;font-weight:700}.vx2-system-state i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px #ffffff09}.vx2-system-state.good{color:var(--vx-mint)}.vx2-system-state.warning{color:#ffb873}.vx2-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}.vx2-metric{position:relative;overflow:hidden;min-height:124px;padding:17px 18px;border:1px solid rgba(9,24,39,.105);border-radius:18px;background:#fff;box-shadow:0 10px 28px #0918270b;display:flex;flex-direction:column}.vx2-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#d4dcd8}.vx2-metric>span{font-size:9px;font-weight:750;color:#708078}.vx2-metric strong{margin:12px 0 4px;font:800 25px Manrope;letter-spacing:-.045em;color:var(--vx-navy)}.vx2-metric small{font-size:9px;color:#98a39d}.vx2-metric-blue:before{background:var(--vx-blue)}.vx2-metric-blue{background:linear-gradient(145deg,#fff,#f5f7ff)}.vx2-metric-mint:before{background:var(--vx-mint)}.vx2-metric-mint{background:linear-gradient(145deg,#fff,#f2fff9)}.vx2-metric-warm:before{background:#e68a68}.vx2-metric-navy:before{background:var(--vx-navy)}.vx2-section{margin-top:14px;border:1px solid rgba(9,24,39,.1);border-radius:23px;background:#fff;box-shadow:0 12px 38px #0918270b;padding:23px}.vx2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.vx2-section-head h3{margin:5px 0;font:800 22px Manrope;letter-spacing:-.04em;color:var(--vx-navy)}.vx2-section-head p{margin:0;font-size:10px;color:#819087}.vx2-section-head.compact{align-items:center;margin-bottom:13px}.vx2-section-head.compact h3{font-size:19px}.vx2-section-head>small{font-size:9px;color:#94a099}.vx2-primary-action{height:38px;padding:0 14px;border:0;border-radius:11px;background:var(--vx-mint);color:var(--vx-navy);font-size:10px;font-weight:850;box-shadow:0 8px 22px #29f2a729}.vx2-primary-action:hover{transform:translateY(-1px);background:#50f5b9}.vx2-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.vx2-insight{position:relative;min-height:142px;padding:16px;border:1px solid #e7ece9;border-radius:17px;background:#fbfcfb;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:11px;transition:.16s ease}.vx2-insight:not(:disabled){cursor:pointer}.vx2-insight:not(:disabled):hover{transform:translateY(-2px);border-color:#d5ded9;box-shadow:0 12px 28px #09182712}.vx2-insight:disabled{cursor:default}.vx2-insight-icon{width:34px;height:34px;border-radius:10px;background:#edf1ef;color:#62746b;display:grid;place-items:center;font-size:15px}.vx2-insight-copy{min-width:0}.vx2-insight-copy small{display:block;font-size:8px;font-weight:850;letter-spacing:.11em;color:#8d9b93}.vx2-insight-copy strong{display:block;margin:7px 0 5px;font:800 20px Manrope;letter-spacing:-.04em;color:var(--vx-navy)}.vx2-insight-copy p{margin:0;color:#7c8a82;font-size:9px;line-height:1.45}.vx2-insight-action{position:absolute;right:14px;bottom:13px;color:var(--vx-blue);font-size:8px;font-weight:800}.vx2-insight-blue .vx2-insight-icon{background:#eef2ff;color:var(--vx-blue)}.vx2-insight-mint .vx2-insight-icon{background:var(--vx-mint-soft);color:#087956}.vx2-insight-warning .vx2-insight-icon{background:#fff4e3;color:#a76e1a}.vx2-insight-danger .vx2-insight-icon{background:#fff0ef;color:#b4574d}.vx2-lower-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px}.vx2-delivery-list,.vx2-critical-list{display:flex;flex-direction:column}.vx2-delivery-list button,.vx2-critical-list button{width:100%;min-height:61px;border:0;border-bottom:1px solid #edf1ee;background:#fff;display:flex;align-items:center;gap:12px;padding:8px 4px;text-align:left;color:inherit}.vx2-delivery-list button:last-child,.vx2-critical-list button:last-child{border-bottom:0}.vx2-delivery-list button:hover,.vx2-critical-list button:hover{background:#fafcfa}.vx2-delivery-date{width:42px;height:44px;border-radius:11px;background:#f0f3f1;color:var(--vx-navy);display:flex;flex-direction:column;align-items:center;justify-content:center}.vx2-delivery-date b{font:800 15px Manrope}.vx2-delivery-date small{font-size:7px;text-transform:uppercase;color:#7f8e86}.vx2-delivery-copy,.vx2-critical-copy{display:flex;flex-direction:column;min-width:0;flex:1}.vx2-delivery-copy strong,.vx2-critical-copy strong{font:700 10px Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--vx-navy)}.vx2-delivery-copy small,.vx2-critical-copy small{font-size:8px;color:#93a098;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vx2-priority-dot{width:5px;height:32px;border-radius:99px;background:#ced7d2}.vx2-priority-dot.high{background:#e77862}.vx2-priority-dot.medium{background:var(--vx-blue)}.vx2-priority-dot.low{background:#bfc9c3}.vx2-deadline{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;font-size:8px;font-weight:750;white-space:nowrap}.vx2-deadline i{width:5px;height:5px;border-radius:50%;background:currentColor}.vx2-deadline.none{background:#f1f3f2;color:#86928c}.vx2-deadline.good{background:#eef3ff;color:#4966b5}.vx2-deadline.warning{background:#fff5e6;color:#a36d20}.vx2-deadline.danger{background:#fff0ef;color:#b8554b}.vx2-arrow{color:#b1bbb5;font-size:14px}.vx2-empty{padding:30px 6px;color:#87948d;font-size:10px}.project-hero{background:linear-gradient(120deg,var(--vx-navy) 0%,#0d263c 65%,#123b5a 100%)!important}.project-client{color:var(--vx-mint)!important}.project-score .progress-track span{background:linear-gradient(90deg,var(--vx-blue),var(--vx-mint))!important}.project-risk-badge.risk-green{background:#eafff6!important;color:#168661!important;border-color:#c6f5df!important}.project-risk-badge.risk-amber{background:#fff5e7!important;color:#a36c20!important;border-color:#f2dfbd!important}.project-risk-badge.risk-red{background:#fff0ef!important;color:#b65349!important;border-color:#f0d2cf!important}.project-risk-badge.risk-neutral{background:#f1f4f2!important;color:#7b8981!important;border-color:#e0e6e2!important}.header-search{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.header-search:hover{border-color:#cdd6d1!important;box-shadow:0 6px 20px #0918270f!important}.command-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#09182775;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;justify-content:center;align-items:flex-start;padding:11vh 18px 30px}.command-card{width:min(720px,100%);max-height:72vh;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:#fff;box-shadow:0 34px 100px #0918274d;display:flex;flex-direction:column}.command-input{display:flex;align-items:center;gap:11px;padding:17px 18px;border-bottom:1px solid #e7ece9}.command-input span{color:var(--vx-blue);font-size:17px}.command-input input{flex:1;border:0;outline:0;font-size:15px;color:var(--vx-navy);background:transparent}.command-input kbd{padding:4px 7px;border-radius:7px;background:#f1f4f2;color:#87948d;font-size:9px}.command-results{overflow:auto;padding:8px}.command-group-label{padding:8px 9px 5px;font-size:8px;font-weight:850;letter-spacing:.13em;color:#94a099}.command-result{width:100%;border:0;background:#fff;border-radius:12px;padding:11px;display:flex;align-items:center;gap:11px;text-align:left;color:inherit}.command-result:hover,.command-result.active{background:#f4f7f5}.command-type{width:32px;height:32px;border-radius:9px;background:#edf2ff;color:var(--vx-blue);display:grid;place-items:center;font-size:11px;font-weight:850}.command-result-copy{display:flex;flex-direction:column;min-width:0;flex:1}.command-result-copy strong{font:700 10px Manrope;color:var(--vx-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-result-copy small{margin-top:3px;font-size:8px;color:#8b9891}.command-result>span:last-child{font-size:12px;color:#b1bbb5}.command-empty{padding:34px;text-align:center;color:#86938c;font-size:10px}.sync-card{border:1px solid rgba(41,242,167,.13);background:#29f2a70b;border-radius:13px;padding:11px}.sync-card strong{display:flex;align-items:center;gap:7px;color:#b8c8c0;font-size:9px}.sync-card strong i{width:7px;height:7px;border-radius:50%;background:var(--vx-mint);box-shadow:0 0 0 4px #29f2a70f}.sync-card p{margin:5px 0 0;color:#657a70;font-size:8px;line-height:1.4}.sync-card.saving strong i{background:#6b8cff}.sync-card.error{border-color:#e56f592e;background:#e56f590d}.sync-card.error strong i{background:#e46f59}.sync-card.error strong{color:#d5aaa1}@media (max-width:1150px){.vx2-metrics{grid-template-columns:repeat(3,1fr)}.vx2-insight-grid{grid-template-columns:repeat(2,1fr)}.vx2-hero{grid-template-columns:1fr}.vx2-system-card{min-height:auto}.vx2-lower-grid{grid-template-columns:1fr}}@media (max-width:760px){.vx2-hero{padding:28px 22px;border-radius:22px}.vx2-hero h2{font-size:37px}.vx2-metrics{grid-template-columns:1fr 1fr}.vx2-insight-grid{grid-template-columns:1fr}.vx2-section{padding:18px}.vx2-section-head{align-items:flex-start;flex-direction:column}.vx2-primary-action{width:100%}.vx2-deadline{display:none}}@media (max-width:480px){.vx2-metrics{grid-template-columns:1fr}.vx2-hero-summary{gap:6px}.vx2-system-line{align-items:flex-start;flex-direction:column;gap:4px}.vx2-system-line strong{text-align:left}}:root{--vx-paper:#f7f9f7;--vx-white:#fff;--vx-navy:#091827;--vx-navy-soft:#122b43;--vx-blue:#2859f6;--vx-blue-deep:#173dbd;--vx-mint:#29f2a7;--vx-mint-soft:#dcfff2;--vx-ink:#101923;--vx-muted:#64717d;--vx-line:rgba(9,24,39,.11)}.jarvis-calendar-page,.projects-hub-page{padding-top:26px;padding-bottom:48px}.jarvis-calendar-hero,.projects-hub-hero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(128deg,var(--vx-navy) 0%,#0d2134 58%,var(--vx-navy-soft) 100%);color:#fff;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:34px;min-height:230px;box-shadow:0 24px 70px #09182726}.jarvis-calendar-hero:before,.projects-hub-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,#00000040,#000);mask-image:linear-gradient(90deg,#00000040,#000)}.jarvis-calendar-hero:after,.projects-hub-hero:after{content:"";position:absolute;right:-160px;top:-250px;width:470px;height:470px;border-radius:50%;border:1px solid rgba(41,242,167,.19);box-shadow:0 0 0 62px #2859f60e,0 0 0 125px #29f2a707;pointer-events:none}.jarvis-calendar-hero>*,.projects-hub-hero>*{position:relative;z-index:1}.jarvis-eyebrow{font-size:9px;font-weight:850;letter-spacing:.18em;color:var(--vx-mint);text-transform:uppercase}.jarvis-eyebrow.dark{color:#6e7d8d}.jarvis-calendar-hero h2,.projects-hub-hero h2{margin:15px 0 12px;font:750 clamp(33px,4vw,54px)/1.02 "Manrope",sans-serif;letter-spacing:-.055em}.jarvis-calendar-hero h2 span,.projects-hub-hero h2 span{color:#91aaff}.jarvis-calendar-hero>div>p,.projects-hub-hero>div>p{margin:0;color:#a7b8c6;font-size:13px;line-height:1.65;max-width:680px}.jarvis-calendar-brief{min-width:285px;max-width:340px;padding:20px 22px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#ffffff0e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.jarvis-calendar-brief>span{font-size:8px;font-weight:850;letter-spacing:.16em;color:#7f98ab}.jarvis-calendar-brief strong{display:block;margin:9px 0 5px;font:760 20px Manrope;letter-spacing:-.03em}.jarvis-calendar-brief p{margin:0;color:#91a5b5;font-size:10px;line-height:1.6}.jarvis-calendar-shell{margin-top:14px;background:var(--vx-white);border:1px solid var(--vx-line);border-radius:24px;overflow:hidden;box-shadow:0 14px 42px #0918270e}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;padding:22px 24px 15px;border-bottom:1px solid rgba(9,24,39,.07)}.calendar-toolbar h3{margin:5px 0 0;font:760 25px Manrope;letter-spacing:-.04em;text-transform:capitalize}.calendar-actions{display:flex;align-items:center;gap:6px}.calendar-actions button{height:36px;min-width:36px;border:1px solid rgba(9,24,39,.12);border-radius:10px;background:#fff;color:var(--vx-navy);font-weight:800}.calendar-actions button:hover{background:#f1f5f7}.calendar-actions .today{padding:0 13px;background:var(--vx-navy);color:#fff;border-color:var(--vx-navy)}.calendar-legend{display:flex;gap:17px;flex-wrap:wrap;padding:11px 24px;background:#fbfcfb;border-bottom:1px solid rgba(9,24,39,.065)}.calendar-legend span{display:inline-flex;align-items:center;gap:7px;color:#70808e;font-size:9px;font-weight:700}.calendar-legend i{width:8px;height:8px;border-radius:99px}.legend-start i{background:var(--vx-blue)}.legend-task i{background:#8ba1b4}.legend-delivery i{background:var(--vx-mint);box-shadow:0 0 0 3px #29f2a729}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{padding:10px 12px;border-right:1px solid rgba(9,24,39,.065);border-bottom:1px solid rgba(9,24,39,.07);background:#f8faf9;color:#82909a;font-size:8px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.calendar-weekday:nth-child(7){border-right:0}.calendar-day{position:relative;min-height:146px;padding:10px;border-right:1px solid rgba(9,24,39,.065);border-bottom:1px solid rgba(9,24,39,.065);background:#fff;transition:.15s ease}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#fcfdfd}.calendar-day.outside{background:#f8faf9}.calendar-day.outside .calendar-day-number,.calendar-day.outside .calendar-day-events{opacity:.38}.calendar-day.has-delivery{background:linear-gradient(145deg,#fff 55%,#29f2a70f)}.calendar-day.is-today{box-shadow:inset 0 0 0 2px #2859f647}.calendar-day-number{height:24px;display:flex;align-items:center;justify-content:space-between}.calendar-day-number>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;font:750 10px Manrope;color:#3c4c58}.calendar-day.is-today .calendar-day-number>span{background:var(--vx-blue);color:#fff}.calendar-day-number small{font-size:7px;font-weight:850;color:var(--vx-blue);letter-spacing:.1em}.calendar-day-events{display:flex;flex-direction:column;gap:5px;margin-top:8px}.jarvis-calendar-event{position:relative;width:100%;min-width:0;border:0;border-radius:8px;padding:6px 7px;background:#f4f7f8;text-align:left;display:flex;align-items:flex-start;gap:6px;color:var(--vx-ink)}.jarvis-calendar-event:hover{transform:translateY(-1px);box-shadow:0 5px 14px #09182712}.calendar-event-dot{flex:0 0 auto;width:5px;height:5px;border-radius:50%;margin-top:4px;background:#91a0ac}.calendar-event-copy{min-width:0;display:flex;flex-direction:column}.calendar-event-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;line-height:1.35}.calendar-event-copy small{margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7c8994;font-size:7px}.event-start{background:#edf2ff}.event-start .calendar-event-dot{background:var(--vx-blue)}.event-delivery{background:var(--vx-mint-soft);box-shadow:inset 2px 0 0 var(--vx-mint)}.event-delivery .calendar-event-dot{background:#15bd7e}.event-delivery .calendar-event-copy b{color:#087554}.event-task.priority-high{background:#fff4ed}.event-task.priority-high .calendar-event-dot{background:#e57b4f}.event-task.priority-medium .calendar-event-dot{background:#738ca1}.event-task.priority-low .calendar-event-dot{background:#c0c9cf}.calendar-more{font-size:7px;font-weight:750;color:#6e7d88;padding:2px 6px}.jarvis-calendar-bottom{margin-top:14px}.calendar-upcoming{background:#fff;border:1px solid var(--vx-line);border-radius:20px;padding:20px 22px}.calendar-section-head h3{margin:5px 0 0;font:750 20px Manrope;letter-spacing:-.035em}.upcoming-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}.upcoming-list button{min-width:0;border:1px solid rgba(9,24,39,.09);background:#fafcfb;border-radius:13px;padding:12px;text-align:left;display:grid;grid-template-columns:6px 1fr auto;gap:9px;align-items:center}.upcoming-list button:hover{border-color:#2859f640;background:#f7f9ff}.upcoming-type{width:5px;height:28px;border-radius:99px;background:#9aa8b2}.upcoming-start{background:var(--vx-blue)}.upcoming-delivery{background:var(--vx-mint)}.upcoming-list div{min-width:0}.upcoming-list b,.upcoming-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-list b{font-size:9px}.upcoming-list small{font-size:7px;color:#82909b;margin-top:3px}.upcoming-list time{font-size:8px;font-weight:800;color:#526474}.calendar-empty{color:#788895;font-size:10px}.projects-hub-create{height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:var(--vx-mint);color:var(--vx-navy);font-weight:850;font-size:10px;box-shadow:0 8px 26px #29f2a729}.projects-hub-create:hover{transform:translateY(-1px);background:#4ef5b6}.projects-hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.projects-hub-stats article{padding:18px;border:1px solid var(--vx-line);border-radius:17px;background:#fff;display:flex;flex-direction:column}.projects-hub-stats span{font-size:8px;font-weight:750;color:#758591}.projects-hub-stats strong{font:780 24px Manrope;letter-spacing:-.04em;margin:8px 0 3px}.projects-hub-stats small{font-size:8px;color:#9aa5ac}.projects-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.projects-hub-card{border:1px solid var(--vx-line);border-radius:20px;background:#fff;padding:20px;text-align:left;color:inherit;box-shadow:0 10px 30px #0918270a;transition:.18s ease}.projects-hub-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px #09182714;border-color:#2859f633}.projects-hub-card-top{display:flex;justify-content:space-between;align-items:center}.projects-hub-index{font:800 9px Manrope;color:var(--vx-mint);background:var(--vx-navy);padding:6px 8px;border-radius:8px}.projects-hub-arrow{color:#96a3ab}.projects-hub-client{display:block;margin-top:18px;color:var(--vx-blue);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.projects-hub-card h3{margin:5px 0 7px;font:780 24px Manrope;letter-spacing:-.045em}.projects-hub-card>p{margin:0;color:#7a8993;font-size:10px;line-height:1.55;min-height:31px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projects-hub-dates,.projects-hub-finance{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.projects-hub-dates span,.projects-hub-finance span{padding:10px 11px;border-radius:11px;background:#f6f8f7;border:1px solid rgba(9,24,39,.06);display:flex;flex-direction:column}.projects-hub-dates small,.projects-hub-finance small{font-size:7px;color:#87959d}.projects-hub-dates b,.projects-hub-finance b{margin-top:4px;font-size:9px}.projects-hub-progress{margin-top:15px}.projects-hub-progress>div{display:flex;justify-content:space-between;font-size:8px;color:#75858e}.projects-hub-progress>div b{color:var(--vx-navy)}.projects-hub-progress>i{display:block;height:5px;border-radius:99px;background:#e8eeeb;margin-top:7px;overflow:hidden}.projects-hub-progress>i b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--vx-blue),var(--vx-mint))}.main-nav button.calendar-nav.active,.main-nav button.projects-nav.active{box-shadow:inset 3px 0 0 var(--vx-mint)}.project-modal-context{grid-template-columns:repeat(5,minmax(0,1fr))!important}@media (max-width:1180px){.upcoming-list{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:132px}.projects-hub-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:850px){.jarvis-calendar-hero,.projects-hub-hero{display:block}.jarvis-calendar-brief,.projects-hub-create{margin-top:20px}.calendar-grid{min-width:850px}.jarvis-calendar-shell{overflow-x:auto}.projects-hub-grid,.upcoming-list{grid-template-columns:1fr}.project-modal-context{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:640px){.jarvis-calendar-page,.projects-hub-page{padding-top:16px}.jarvis-calendar-hero,.projects-hub-hero{padding:26px 22px;border-radius:22px}.projects-hub-stats{grid-template-columns:1fr 1fr}.calendar-toolbar{padding:18px}.calendar-legend{padding:10px 18px}.project-modal-context{grid-template-columns:1fr 1fr!important}}.project-modal-pro{width:min(780px,100%);max-height:92vh;overflow:auto;border-radius:26px;background:#fff;box-shadow:0 34px 110px #09182747;border:1px solid rgba(255,255,255,.5)}.project-modal-pro-head{position:relative;padding:26px 28px 22px;display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:start;background:linear-gradient(135deg,#091827,#0d263c 70%,#123b5a);color:#fff;border-radius:26px 26px 0 0;overflow:hidden}.project-modal-pro-head:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;top:-150px;border:1px solid rgba(41,242,167,.15);box-shadow:0 0 0 38px #2859f60d}.project-modal-pro-brand{position:relative;z-index:1;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#29f2a7;color:#091827;font:900 13px Manrope;box-shadow:0 10px 26px #29f2a724}.project-modal-pro-head>div:nth-child(2){position:relative;z-index:1}.project-modal-pro-head span{font-size:8px;font-weight:850;letter-spacing:.14em;color:#29f2a7}.project-modal-pro-head h2{margin:6px 0;font:760 25px/1.05 Manrope;letter-spacing:-.045em}.project-modal-pro-head p{margin:0;max-width:520px;color:#93a8b9;font-size:10px;line-height:1.55}.project-modal-close{position:relative;z-index:2;width:34px;height:34px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#ffffff0f;color:#dce6ed;font-size:19px;line-height:1}.project-modal-close:hover{background:#ffffff1c}.project-modal-context{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e7ece9;border-bottom:1px solid #e7ece9}.project-modal-context span{background:#f8faf8;padding:12px 15px;display:flex;flex-direction:column;gap:3px}.project-modal-context small{font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8b9891}.project-modal-context b{font:700 10px Manrope;color:#15241d}.project-modal-form{padding:24px 28px 26px}.project-form-block{display:grid;grid-template-columns:185px 1fr;gap:14px 18px;padding:0 0 22px;margin-bottom:20px;border-bottom:1px solid #e9eeeb}.project-form-block.last{margin-bottom:0}.project-form-block-title{grid-row:1 / span 2;display:flex;gap:9px;align-items:flex-start;padding-top:3px}.project-form-block-title>span{width:26px;height:26px;border-radius:8px;background:#edf2ff;color:#2859f6;display:grid;place-items:center;font-size:8px;font-weight:850}.project-form-block-title strong{display:block;font:750 10px Manrope;color:#15241d}.project-form-block-title small{display:block;margin-top:4px;color:#8b9891;font-size:8px;line-height:1.35}.project-modal-form label{margin:0;font-size:9px;font-weight:750;color:#617168}.project-modal-form input,.project-modal-form textarea{width:100%;margin-top:6px;border:1px solid #dce4df!important;background:#fbfcfb!important;border-radius:12px!important;padding:11px 12px!important;color:#14241c!important;font-size:10px!important;box-shadow:none!important;outline:none}.project-modal-form input:focus,.project-modal-form textarea:focus{border-color:#8fb1ff!important;box-shadow:0 0 0 3px #2859f614!important;background:#fff!important}.project-modal-form textarea{resize:vertical;min-height:90px}.project-form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.money-input{position:relative}.money-input span{position:absolute;left:12px;top:50%;transform:translateY(-12%);font-size:10px;font-weight:800;color:#7f8e86}.money-input input{padding-left:27px!important}.project-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:20px}.project-modal-footer.has-delete{justify-content:space-between}.project-modal-footer>div{display:flex;gap:8px}.project-cancel,.project-delete,.project-save{height:39px;border-radius:11px;padding:0 14px;font-size:9px;font-weight:800}.project-cancel{border:1px solid #dce4df;background:#fff;color:#53645b}.project-cancel:hover{background:#f7f9f7}.project-delete{border:0;background:transparent;color:#b9584f;padding-left:0}.project-delete:hover{text-decoration:underline}.project-save{min-width:132px;border:0;background:#29f2a7;color:#091827;box-shadow:0 8px 22px #29f2a724;display:flex;align-items:center;justify-content:space-between;gap:16px}.project-save:hover{background:#50f5b9;transform:translateY(-1px)}@media (max-width:720px){.project-modal-pro-head{grid-template-columns:42px 1fr auto;padding:22px 20px}.project-modal-context{grid-template-columns:1fr 1fr}.project-modal-form{padding:20px}.project-form-block{grid-template-columns:1fr}.project-form-block-title{grid-row:auto}.project-form-two{grid-template-columns:1fr}.project-modal-footer.has-delete{align-items:stretch;flex-direction:column}.project-modal-footer>div{width:100%}.project-cancel,.project-save{flex:1}}
