:root{--bg:#fff;--bg-alt:#f5f5f7;--text:#1d1d1f;--text-secondary:#6e6e73;--border:#d2d2d7;--accent:#0071e3;--accent-dark:#0060c0;--success:#30d158;--amber:#ff9f0a;--danger:#ff453a;--navy:#0b1f3a;--navy-2:#12294a;--steel:#4a6fa5;--radius:12px;--radius-lg:18px;--shadow:0 4px 24px #00000014;--shadow-hover:0 8px 40px #0000001f;--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bar-planned:#4a6fa5;--bar-delay:#ff9f0a;--bar-critical:#ff453a;--bar-baseline:#b9c4d4;--bar-nearcritical:#ffd60a;--bar-complete:#30d158;--bar-notstarted:#aeaeb2;--bar-propagated:#ff8a3d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.container{max-width:1100px;margin:0 auto;padding:0 24px}.container-wide{max-width:1280px;margin:0 auto;padding:0 24px}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.2}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 22px;font-size:15px;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s;display:inline-flex;text-decoration:none!important}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{color:var(--accent);border-color:var(--accent);background:0 0}.btn-secondary:hover{background:#0071e30f}.btn-dark{background:var(--text);color:#fff}.btn-dark:hover{background:#000}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{background:#0000000d}.btn-sm{border-radius:9px;min-height:36px;padding:0 14px;font-size:14px}.btn-lg{border-radius:14px;min-height:52px;padding:0 30px;font-size:17px}.site-header{z-index:100;background:0 0;transition:background .25s,box-shadow .25s;position:fixed;top:0;left:0;right:0}.site-header.solid{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;box-shadow:0 1px #00000014}.site-header .inner{align-items:center;gap:28px;height:64px;display:flex}.site-header nav{flex:1;gap:24px;display:flex}.site-header nav a{color:var(--text);font-size:14px;font-weight:500}.site-header nav a:hover{color:var(--accent);text-decoration:none}.site-header .actions{align-items:center;gap:12px;display:flex}.logo{color:var(--text);letter-spacing:-.02em;align-items:center;gap:9px;font-size:18px;font-weight:700;display:flex;text-decoration:none!important}.logo svg{display:block}.hamburger{cursor:pointer;background:0 0;border:none;padding:10px;display:none}.hamburger span{background:var(--text);border-radius:2px;width:22px;height:2px;margin:5px 0;display:block}.mobile-nav{display:none}@media (max-width:860px){.site-header nav,.site-header .actions{display:none}.hamburger{margin-left:auto;display:block}.mobile-nav.open{z-index:99;border-bottom:1px solid var(--border);background:#fff;flex-direction:column;gap:4px;padding:16px 24px 24px;display:flex;position:fixed;top:64px;left:0;right:0}.mobile-nav.open a{color:var(--text);border-bottom:1px solid var(--bg-alt);padding:12px 0;font-size:16px}.sticky-cta{z-index:98;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff2;gap:12px;position:fixed;bottom:0;left:0;right:0;display:flex!important}.sticky-cta .btn{flex:1}}.sticky-cta{display:none}.hero{background:radial-gradient(circle at 82% 18%,#0071e324 0%,#0071e300 42%),radial-gradient(circle at 8% 85%,#30d1581a 0%,#30d15800 38%),radial-gradient(#0b1f3a0e 1px,#0000 1px) 0 0/26px 26px,linear-gradient(#eaf2fc 0%,#fff 88%);padding:140px 0 80px}.hero .hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;display:grid}@media (max-width:960px){.hero .hero-grid{grid-template-columns:1fr}}.hero h1{max-width:800px;font-size:clamp(36px,5vw,58px);font-weight:700}.hero p.sub{color:var(--text-secondary);max-width:640px;margin:20px 0 32px;font-size:clamp(17px,2.2vw,20px)}.hero .cta-row{flex-wrap:wrap;gap:14px;display:flex}.hero-visual svg{width:100%;height:auto;display:block}@media (max-width:960px){.hero-visual{max-width:540px;margin:8px auto 0}}.section{padding:80px 0}.section.alt{background:var(--bg-alt)}.section-title{margin-bottom:12px;font-size:clamp(28px,4vw,40px);font-weight:700}.section-sub{color:var(--text-secondary);max-width:620px;margin-bottom:44px;font-size:17px}.center{text-align:center}.center .section-sub{margin-left:auto;margin-right:auto}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:28px;transition:box-shadow .15s,transform .15s;box-shadow:0 1px 4px #0000000a}.card:hover{box-shadow:var(--shadow)}.card h3{margin-bottom:8px;font-size:18px}.card p{color:var(--text-secondary);font-size:14.5px}.card .icon{width:44px;height:44px;color:var(--accent);background:#eaf2fc;border-radius:11px;justify-content:center;align-items:center;margin-bottom:16px;font-size:21px;display:flex}.reveal{opacity:0;transition:opacity .65s ease-out,transform .65s ease-out;transform:translateY(26px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.billing-toggle{background:#e5e5ea;border-radius:999px;padding:3px;display:inline-flex;position:relative}.billing-toggle button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:999px;min-height:40px;padding:9px 22px;font-size:14px;font-weight:600;transition:background .25s ease-in-out,color .25s ease-in-out,box-shadow .25s ease-in-out}.billing-toggle button[aria-pressed=true]{color:var(--text);background:#fff;box-shadow:0 2px 8px #0000001f}.tier-grid{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:20px;display:grid}@media (max-width:1024px){.tier-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.tier-grid{grid-template-columns:1fr}}.tier-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;flex-direction:column;padding:32px;transition:box-shadow .2s;display:flex;position:relative}.tier-card:hover{box-shadow:var(--shadow-hover)}.tier-card.popular{border-top:3px solid var(--accent);background:#f0f6ff}.tier-card .tier-name{font-size:20px;font-weight:600}.tier-card .tier-desc{color:var(--text-secondary);min-height:42px;margin:6px 0 18px;font-size:13.5px}.tier-card .price{letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:1}.tier-card .per{color:var(--text-secondary);font-size:14px}.tier-card .annual-note{color:var(--text-secondary);margin-top:6px;font-size:13px}.tier-card ul{border-top:1px solid var(--border);margin-top:18px;padding-top:18px;list-style:none}.tier-card ul li{align-items:flex-start;gap:9px;padding:5px 0;font-size:14px;display:flex}.tier-card ul li .tick{color:var(--success);font-weight:700}.tier-card ul li .cross{color:#c7c7cc;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-block}.badge-popular{background:var(--accent);color:#fff}.badge-trial{background:var(--amber);color:#fff}.badge-save{background:var(--success);color:#fff;animation:.3s badgeIn}@keyframes badgeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow-x:auto}table.compare{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}table.compare caption{text-align:left;padding:14px 16px;font-size:16px;font-weight:600}table.compare th,table.compare td{text-align:left;border-top:1px solid var(--bg-alt);padding:11px 16px}table.compare thead th{background:var(--bg-alt);border-top:none;font-weight:600}table.compare td.c{text-align:center}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:16px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--text-secondary);flex-shrink:0;font-size:22px}.faq-item[open] summary:after{content:"−"}.faq-item .answer{color:var(--text-secondary);max-width:720px;padding:0 0 18px}.site-footer{background:var(--navy);color:#c8d3e2;margin-top:0;padding:60px 0 32px}.site-footer h4{color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-size:13px}.site-footer ul{list-style:none}.site-footer li{margin:8px 0}.site-footer a{color:#c8d3e2;font-size:14px}.site-footer a:hover{color:#fff}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;display:grid}@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-bottom{color:#8fa1b8;border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:44px;padding-top:24px;font-size:13px;display:flex}.prose{max-width:760px}.prose h1{margin-bottom:8px;font-size:38px}.prose h2{margin:36px 0 12px;font-size:24px}.prose h3{margin:26px 0 10px;font-size:18px}.prose p,.prose li{color:#3a3a3c;font-size:15.5px}.prose p{margin:12px 0}.prose ul,.prose ol{margin:12px 0;padding-left:22px}.prose li{margin:6px 0}.prose .updated{color:var(--text-secondary);margin-bottom:28px;font-size:14px}.summary-box{border-radius:var(--radius);background:#eaf2fc;border:1px solid #c4dcf5;margin:24px 0;padding:20px 24px}.summary-box h3{margin-top:0!important}.page-head{background:linear-gradient(#eaf2fc 0%,#fff 100%);padding:130px 0 40px}.page-head h1{font-size:clamp(32px,4.5vw,46px)}.page-head p{color:var(--text-secondary);max-width:640px;margin-top:12px;font-size:17px}.app-shell{background:#f2f4f8;min-height:100vh;display:flex}.app-sidebar{background:var(--navy);color:#c8d3e2;flex-direction:column;flex-shrink:0;gap:2px;width:240px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.app-sidebar .logo{color:#fff;padding:6px 10px 18px;font-size:17px}.app-sidebar .nav-item{color:#c8d3e2;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.app-sidebar .nav-item:hover{background:#ffffff12;text-decoration:none}.app-sidebar .nav-item.active{color:#fff;background:#ffffff21;font-weight:600}.app-sidebar .nav-sub{padding-left:30px;font-size:13.5px}.app-sidebar .nav-sub.quiet{color:#8fa1b8}.app-sidebar .nav-sub.quiet:hover{color:#c8d3e2}.proj-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.nav-chevron{color:#8fa1b8;margin-left:auto;font-size:10px}.nav-account-wrap{margin-top:6px;position:relative}.nav-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12.5px;font-weight:700;display:inline-flex}.nav-account-menu{z-index:140;border:1px solid var(--border);width:210px;box-shadow:var(--shadow-hover);color:var(--text);background:#fff;border-radius:10px;padding:6px 0;position:absolute;bottom:46px;left:4px}.nav-account-menu .who{border-bottom:1px solid var(--border);margin-bottom:6px;padding:8px 14px 10px}.nav-account-menu .who .n{font-size:13.5px;font-weight:700}.nav-account-menu .who .e{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.nav-account-menu a.item,.nav-account-menu button.item{text-align:left;cursor:pointer;width:100%;font-size:13.5px;font-family:var(--font);color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;display:flex}.nav-account-menu a.item:hover,.nav-account-menu button.item:hover{background:var(--bg-alt);text-decoration:none}.nav-collapsed .app-sidebar .nav-sub{padding-left:8px}.nav-collapsed .nav-chevron{display:none}.app-sidebar .divider{border-top:1px solid #ffffff1f;margin:12px 8px}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--border);z-index:50;background:#fff;align-items:center;gap:16px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.app-topbar .prog-name{font-size:14px;font-weight:600}.app-content{padding:24px}.demo-banner{color:#8a5a00;text-align:center;background:#fff7e6;border-bottom:1px solid #ffd591;padding:8px 20px;font-size:13px}.sim-banner{background:var(--amber);color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:10px 20px;font-size:14px;font-weight:600;display:flex}.sim-banner button{color:#8a5a00;cursor:pointer;background:#fff;border:none;border-radius:8px;min-height:32px;padding:6px 14px;font-weight:600}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:18px 20px}.kpi-card .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:12px;font-weight:600}.kpi-card .value{letter-spacing:-.02em;margin-top:4px;font-size:30px;font-weight:700}.kpi-card .hint{color:var(--text-secondary);margin-top:2px;font-size:12.5px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-top:20px;overflow:hidden}.panel-head{border-bottom:1px solid var(--bg-alt);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-size:15px;font-weight:600;display:flex}.panel-body{padding:20px}.task-table-wrap{--grid-line:#e4e6ea;overflow-x:auto}table.task-table{border-collapse:collapse;width:100%;min-width:980px;font-size:13.5px}table.task-table th{text-align:left;border-bottom:1px solid var(--grid-line);border-right:1px solid var(--grid-line);white-space:nowrap;z-index:5;background:#fafbfc;padding:7px 10px;font-weight:600;position:sticky;top:0}table.task-table td{border-bottom:1px solid var(--grid-line);border-right:1px solid var(--grid-line);white-space:nowrap;height:36px;padding:5px 10px}table.task-table th:last-child,table.task-table td:last-child{border-right:none}table.task-table td:first-child:not([colspan]){text-align:center}table.task-table td:first-child input[type=checkbox]{vertical-align:middle}table.task-table tbody tr:hover td{background:#f3f8fd}table.task-table tr.ws-row td{background:#e9eef6;border-right:none;font-size:13px;font-weight:700}table.task-table input,table.task-table select{min-height:26px}table.task-table input[type=checkbox]{min-height:0}table.task-table input[type=number]{background:0 0;border:1px solid #0000;border-radius:6px;width:64px;padding:3px 8px;font-size:13px}table.task-table input[type=number]:hover{border-color:var(--border);background:#fff}table.task-table input[type=number]:focus{border-color:var(--accent);background:#fff;outline:none}.status-pill{border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:700;display:inline-block}.st-delayed{color:#b3261e;background:#ffe5e3}.st-progress{color:#0b57a8;background:#e2edfb}.st-complete{color:#157347;background:#ddf5e4}.st-notstarted{color:#5c5c61;background:#ececf0}.imp-pill{border-radius:6px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.imp-high{color:#b3261e;background:#ffe5e3}.imp-med{color:#8a5a00;background:#fff3d6}.imp-low{color:#157347;background:#ddf5e4}.risk-pill{border-radius:6px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.rk-critical{color:#fff;background:#b3261e}.rk-moderate{color:#fff;background:#ff9f0a}.rk-isolated{color:#5c5c61;background:#ececf0}.row-impacted td{background:#fff4f3!important}.gantt{font-size:12.5px;display:flex}.gantt-left{border-right:1px solid var(--border);z-index:2;background:#fff;flex-shrink:0;width:310px}.gantt-left .g-row,.gantt-right .g-row{border-bottom:1px solid #f0f0f2;align-items:center;height:34px;display:flex}.gantt-left .g-row{white-space:nowrap;gap:8px;padding:0 12px;overflow:hidden}.gantt-left .g-row .t-name{text-overflow:ellipsis;font-weight:500;overflow:hidden}.gantt-left .g-head,.gantt-right .g-head{background:var(--navy);color:#fff;border-bottom:1px solid var(--border);align-items:center;height:40px;font-weight:600;display:flex}.gantt-left .g-head{padding:0 12px}.gantt-scroll{flex:1;overflow-x:auto}.gantt-right,.gantt-right .g-row{position:relative}.g-row.alt{background:#f8fafc}.gantt-bar{border-radius:4px;height:18px;position:absolute;top:8px}.gantt-bar.delay-ext{background:var(--bar-delay);border-radius:0 4px 4px 0}.gantt-bar.propagated{background:var(--bar-propagated);opacity:.85;border-radius:0 4px 4px 0}.milestone{background:var(--navy);width:14px;height:14px;position:absolute;top:10px;transform:rotate(45deg)}.today-line{background:var(--accent);z-index:3;width:2px;position:absolute;top:0;bottom:0}.g-month{border-right:1px solid #ffffff40;justify-content:center;align-items:center;height:100%;font-size:12px;display:inline-flex}.gantt-legend{border-top:1px solid var(--bg-alt);color:var(--text-secondary);flex-wrap:wrap;gap:18px;padding:12px 20px;font-size:12.5px;display:flex}.gantt-legend .sw{vertical-align:baseline;border-radius:3px;width:14px;height:10px;margin-right:6px;display:inline-block}.board{grid-template-columns:repeat(4,1fr);align-items:start;gap:16px;display:grid}@media (max-width:1024px){.board{grid-template-columns:repeat(2,1fr)}}.board-col{border-radius:var(--radius);background:#edf0f5;padding:12px}.board-col h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 6px 12px;font-size:13px}.board-card{border-left:3px solid var(--border);background:#fff;border-radius:9px;margin-bottom:10px;padding:12px 14px;font-size:13.5px;box-shadow:0 1px 3px #00000012}.board-card .meta{color:var(--text-secondary);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.trust-bar{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:24px;margin-top:22px;font-size:13.5px;display:flex}.trust-bar span:before{content:"✓";color:var(--success);margin-right:7px;font-weight:700}.form-field{margin-bottom:18px}.form-field label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);width:100%;font-size:15px;font-family:var(--font);background:#fff;border-radius:8px;padding:12px 14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.auth-card{border:1px solid var(--border);border-radius:var(--radius-lg);max-width:420px;box-shadow:var(--shadow);background:#fff;margin:0 auto;padding:36px}.steps{counter-reset:step}.step{gap:20px;margin-bottom:34px;display:flex}.step .num{counter-increment:step;background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex}.step .num:before{content:counter(step)}.status-dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.dot-green{background:var(--success)}.dot-amber{background:var(--amber)}.dot-red{background:var(--danger)}.uptime-bars{align-items:flex-end;gap:2px;height:36px;display:flex}.uptime-bars i{background:var(--success);border-radius:2px;flex:1;min-width:3px;height:100%}.uptime-bars i.degraded{background:var(--amber)}.heatmap{grid-template-columns:90px repeat(5,1fr);gap:4px;max-width:640px;display:grid}.heatmap .cell{color:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:52px;font-size:15px;font-weight:700;display:flex}.heatmap .axis{color:var(--text-secondary);justify-content:flex-end;align-items:center;padding-right:10px;font-size:12px;font-weight:600;display:flex}.back-to-top{z-index:90;background:var(--navy);color:#fff;cursor:pointer;width:46px;height:46px;box-shadow:var(--shadow);opacity:0;pointer-events:none;border:none;border-radius:50%;font-size:18px;transition:opacity .25s;position:fixed;bottom:26px;right:26px}.back-to-top.show{opacity:1;pointer-events:auto}.cookie-banner{z-index:200;border:1px solid var(--border);border-radius:var(--radius-lg);max-width:640px;box-shadow:var(--shadow-hover);background:#fff;margin:0 auto;padding:20px 24px;font-size:14px;position:fixed;bottom:20px;left:20px;right:20px}.cookie-banner .row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.demo-panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;overflow:hidden}.demo-controls{border-bottom:1px solid var(--bg-alt);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.demo-controls label{font-size:14px;font-weight:600}.demo-controls input[type=range]{width:220px;accent-color:var(--accent)}.blog-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.blog-card .cover{background:linear-gradient(135deg, var(--navy) 0%, var(--steel) 100%);align-items:flex-end;height:150px;padding:16px;display:flex}.blog-card .cover span{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#ffffff2e;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.blog-card .body{padding:20px 22px 24px}.blog-card .meta{color:var(--text-secondary);margin-top:10px;font-size:12.5px}.tpl-thumb{background:linear-gradient(135deg,#eaf2fc,#d8e6f7);border-radius:9px;justify-content:center;align-items:center;height:130px;margin-bottom:16px;font-size:34px;display:flex}.notfound{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:120px 24px 80px;display:flex}.notfound h1{color:var(--accent);font-size:84px}.pill-tag{background:var(--bg-alt);color:var(--text-secondary);border-radius:6px;margin-right:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.calc{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;padding:32px}.calc input[type=range]{width:100%;accent-color:var(--accent)}.calc .result-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;display:grid}@media (max-width:640px){.calc .result-grid{grid-template-columns:1fr}}.calc .result-grid .val{font-size:26px;font-weight:700}.calc .result-grid .lbl{color:var(--text-secondary);font-size:13px}.changelog-entry{border-left:2px solid var(--border);padding:0 0 34px 26px;position:relative}.changelog-entry:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.tag-new,.tag-improved,.tag-fixed{text-transform:uppercase;border-radius:5px;margin-right:8px;padding:2px 8px;font-size:11px;font-weight:700}.tag-new{color:#157347;background:#ddf5e4}.tag-improved{color:#0b57a8;background:#e2edfb}.tag-fixed{color:#8a5a00;background:#fff3d6}.testimonial{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:26px}.testimonial .stars{color:var(--amber);letter-spacing:2px;margin-bottom:10px}.testimonial .quote{font-size:15px}.testimonial .who{color:var(--text-secondary);margin-top:14px;font-size:13.5px}.testimonial .who b{color:var(--text)}.editor-overlay{z-index:300;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.editor-panel{background:#fff;width:min(480px,100%);height:100%;padding:22px 24px 40px;animation:.2s slideIn;overflow-y:auto;box-shadow:-8px 0 40px #0003}@keyframes slideIn{0%{opacity:.6;transform:translate(30px)}to{opacity:1;transform:none}}.gantt-bar.draggable{cursor:grab}.gantt-bar.dragging{cursor:grabbing;opacity:.85;box-shadow:0 2px 8px #0000004d}.gantt-resize{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0;right:-3px}.zoom-ctl{background:#e5e5ea;border-radius:8px;padding:2px;display:inline-flex}.zoom-ctl button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;min-height:30px;padding:5px 12px;font-size:12.5px;font-weight:600}.zoom-ctl button[aria-pressed=true]{color:var(--text);background:#fff;box-shadow:0 1px 4px #00000026}.board-card.draggable{cursor:grab}.board-col.drag-over{outline:2px dashed var(--accent);outline-offset:-4px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-head{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:4px 6px;font-size:12px;font-weight:700}.cal-cell{border:1px solid var(--bg-alt);background:#fff;border-radius:8px;min-height:96px;padding:6px;overflow:hidden}.cal-cell.weekend{background:#f3f5f9}.cal-cell.outside{opacity:.45}.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-date{margin-bottom:4px;font-size:12px;font-weight:700}.cal-cell.today .cal-date{color:var(--accent)}.cal-chip{text-align:left;cursor:pointer;color:#fff;text-overflow:ellipsis;white-space:nowrap;border:none;border-radius:5px;width:100%;margin-bottom:3px;padding:2px 6px;font-size:11px;font-weight:600;display:block;overflow:hidden}.cal-chip:hover{filter:brightness(1.12)}@media (max-width:900px){.cal-cell{min-height:64px}.cal-chip{font-size:10px}}.notif-bell{cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:36px;padding:6px 8px;font-size:18px;position:relative}.notif-bell:hover{background:var(--bg-alt)}.notif-badge{background:var(--danger);color:#fff;border-radius:999px;min-width:16px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;top:0;right:0}.notif-panel{z-index:200;border:1px solid var(--border);width:340px;max-width:90vw;box-shadow:var(--shadow-hover);background:#fff;border-radius:12px;position:absolute;top:44px;right:0;overflow:hidden}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--bg-alt);cursor:pointer;width:100%;font-family:var(--font);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.notif-item:hover{filter:brightness(.97)}.comment-item{border-bottom:1px solid var(--bg-alt);padding:10px 0}.comment-item .who{color:var(--text-secondary);margin-bottom:3px;font-size:12px}.comment-item .body{white-space:pre-wrap;font-size:13.5px}.ob-shell{min-height:100vh;display:flex}.ob-form{flex:1;max-width:640px;padding:48px 56px}.ob-preview{background:linear-gradient(135deg,#5a67d8 0%,#7c5cbf 100%);flex:1;justify-content:center;align-items:center;padding:40px;display:flex}@media (max-width:900px){.ob-preview{display:none}.ob-form{max-width:none}}.ob-mock{background:#fff;border-radius:14px;width:min(520px,100%);overflow:hidden;box-shadow:0 20px 60px #00000040}.ob-mock-head{border-bottom:1px solid var(--bg-alt);align-items:center;gap:4px;padding:12px 14px;display:flex}.ob-dots{gap:8px;margin:26px 0 30px;display:flex}.ob-dots span{background:#e5e5ea;border-radius:3px;width:26px;height:6px}.ob-dots span.on{background:var(--accent)}.ob-dots span.past{background:#a7c8ef}.ob-title{margin-bottom:20px;font-size:clamp(24px,3.4vw,32px)}.ob-label{margin:22px 0 8px;font-size:13.5px;font-weight:600}.ob-cards{flex-wrap:wrap;gap:12px;display:flex}.ob-card{border:1.5px solid var(--border);cursor:pointer;width:160px;font-family:var(--font);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;font-size:14px;display:flex}.ob-card.sel{border-color:var(--accent);background:#f0f6ff}.ob-chips{flex-wrap:wrap;gap:8px;display:flex}.ob-chip{border:1.5px solid var(--border);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);background:#fff;border-radius:999px;padding:8px 14px}.ob-chip.sel{border-color:var(--accent);color:var(--accent);background:#f0f6ff}.ob-chip:disabled{opacity:.5;cursor:not-allowed}.ob-nav{justify-content:space-between;gap:12px;max-width:460px;margin-top:36px;display:flex}.view-tabs{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 20px;display:flex;overflow:visible}.vt-tab{white-space:nowrap;border-radius:8px;align-items:center;display:inline-flex}.vt-tab a{color:var(--text-secondary);align-items:center;gap:6px;padding:6px 4px 6px 12px;font-size:13px;font-weight:500;display:inline-flex}.vt-tab:hover{background:var(--bg-alt)}.vt-tab a:hover{color:var(--text);text-decoration:none}.vt-tab.active{background:#0071e317}.vt-tab.active a{color:var(--accent);font-weight:600}.vt-more{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:700;line-height:1}.vt-more:hover,.vt-more[aria-expanded=true]{background:var(--bg-alt);color:var(--text)}.vt-close{cursor:pointer;color:var(--text-secondary);visibility:hidden;background:0 0;border:none;padding:2px 7px 2px 2px;font-size:14px;line-height:1}.vt-tab:hover .vt-close{visibility:visible}.vt-close:hover{color:var(--danger)}.vt-add{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:7px;padding:6px 11px;font-size:17px;font-weight:600;line-height:1}.vt-add:hover{background:var(--bg-alt);color:var(--text)}.vt-menu{z-index:150;border:1px solid var(--border);width:210px;box-shadow:var(--shadow-hover);background:#fff;border-radius:10px;padding:8px 0;position:absolute;top:34px;left:0}.vt-menu button{text-align:left;cursor:pointer;width:100%;font-size:13.5px;font-family:var(--font);background:0 0;border:none;align-items:center;gap:9px;padding:8px 12px;display:flex}.vt-menu button:hover{background:var(--bg-alt)}.app-sidebar .nav-section{text-transform:uppercase;letter-spacing:.07em;color:#8fa1b8;margin-top:16px;padding:8px 12px 4px;font-size:11px;font-weight:700}.collapse-btn{color:#8fa1b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:15px}.collapse-btn:hover{color:#fff;background:#ffffff1a}.nav-collapsed .app-sidebar{width:58px;padding:18px 8px}.nav-collapsed .app-sidebar .nav-label{display:none}.nav-collapsed .app-sidebar .nav-item{justify-content:center;padding:10px 8px}.nav-collapsed .app-sidebar .logo{padding-left:2px}.chat-pop{z-index:300;border:1px solid var(--border);width:330px;max-width:calc(100vw - 40px);height:420px;max-height:70vh;box-shadow:var(--shadow-hover);background:#fff;border-radius:14px;flex-direction:column;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden}.chat-head{border-bottom:1px solid var(--bg-alt);align-items:center;gap:8px;padding:10px 12px;display:flex}.chat-body{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-bubble{border-radius:13px;max-width:82%;padding:8px 12px;font-size:13.5px;line-height:1.45}.chat-bubble.mine{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.theirs{color:var(--text);background:#eef0f4;border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble .who{color:var(--steel);margin-bottom:2px;font-size:11px;font-weight:700}.chat-bubble .when{opacity:.7;text-align:right;margin-top:3px;font-size:10.5px}.chat-input{border-top:1px solid var(--bg-alt);gap:8px;padding:10px 12px;display:flex}.chat-input input{border:1px solid var(--border);font-size:13.5px;font-family:var(--font);border-radius:999px;flex:1;padding:9px 12px}.row-menu-wrap{display:inline-block;position:relative}.row-menu{z-index:120;border:1px solid var(--border);width:150px;box-shadow:var(--shadow-hover);background:#fff;border-radius:10px;padding:6px 0;position:absolute;top:30px;right:0}.row-menu button{text-align:left;cursor:pointer;width:100%;font-size:13.5px;font-family:var(--font);background:0 0;border:none;padding:8px 14px;display:block}.row-menu button:hover{background:var(--bg-alt)}.row-menu button.danger{color:var(--danger)}.dots-btn,.chat-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:7px;min-height:28px;padding:4px 8px;font-size:14px;line-height:1}.dots-btn:hover,.chat-btn:hover{background:var(--bg-alt);color:var(--text)}.chat-btn{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.cell-input{font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;max-width:130px;padding:3px 6px}.cell-input:hover{border-color:var(--border);background:#fff}.cell-input:focus{border-color:var(--accent);background:#fff;outline:none}.sb-slide{display:none}.sb-slide.active{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-direction:column;min-height:480px;margin-top:16px;padding:44px 52px;display:flex}.sb-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:12px;font-weight:700}.sb-slide h2{margin:8px 0 26px;font-size:clamp(26px,3.4vw,38px)}.sb-body{flex:1;font-size:15px}.sb-row{border-bottom:1px solid var(--bg-alt);align-items:center;gap:16px;padding:10px 0;display:flex}.sb-kpis{flex-wrap:wrap;gap:34px;margin-bottom:28px;display:flex}.sb-kpis>div{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;font-weight:600}.sb-num{color:var(--text);letter-spacing:-.02em;font-size:34px;font-weight:700;display:block}.sb-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:18px 0 6px;font-size:13px}.sb-foot{color:var(--text-secondary);margin-top:26px;font-size:11.5px}@media print{.app-sidebar,.view-tabs,.app-topbar,.project-header,.demo-banner,.sim-banner,.sb-controls,.back-to-top,.cookie-banner{display:none!important}.app-content{padding:0!important}.sb-slide{page-break-after:always;border:none;flex-direction:column;min-height:90vh;display:flex!important}}.table-toolbar{border-bottom:1px solid var(--bg-alt);z-index:20;background:#fff;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex;position:sticky;top:0}.sticky-scroll{max-height:calc(100vh - 250px);overflow:auto}.col-controls{visibility:hidden;align-items:center;gap:1px;display:inline-flex}th:hover .col-controls{visibility:visible}.col-controls:has([aria-expanded=true]){visibility:visible}.th-resize{cursor:col-resize;width:7px;position:absolute;top:0;bottom:0;right:0}.th-resize:hover{background:#0071e340}.qsort{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0 3px;font-size:11px;line-height:1}.qsort:hover{color:var(--accent)}.undo-toast{z-index:400;background:var(--navy);color:#fff;box-shadow:var(--shadow-hover);border-radius:999px;align-items:center;gap:14px;padding:9px 10px 9px 18px;font-size:13.5px;animation:.2s badgeIn;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.undo-toast button{color:var(--navy);cursor:pointer;background:#fff;border:none;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700}.why-overlay{z-index:320;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.why-card{width:100%;max-width:520px;box-shadow:var(--shadow-hover);background:#fff;border-radius:16px;max-height:80vh;padding:26px 30px;overflow-y:auto}.why-step{border-bottom:1px solid var(--bg-alt);gap:10px;padding:8px 0;font-size:14px;display:flex}.why-step .n{color:#c2511f;background:#ffe8d9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.col-add-pop{z-index:130;border:1px solid var(--border);width:260px;box-shadow:var(--shadow-hover);text-align:left;background:#fff;border-radius:10px;padding:14px;font-weight:400;position:absolute;top:34px;right:0}.donut{border-radius:50%;flex-shrink:0;width:150px;height:150px;position:relative}.donut:after{content:attr(data-total);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex;position:absolute;inset:26px}.legend-row{align-items:center;gap:8px;margin:6px 0;font-size:13.5px;display:flex}.dlg-overlay{z-index:500;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dlg-card{width:100%;max-width:420px;box-shadow:var(--shadow-hover);background:#fff;border-radius:16px;padding:24px 26px;animation:.15s badgeIn}.dlg-title{margin-bottom:8px;font-size:17px}.dlg-message{color:var(--text-secondary);margin-bottom:16px;font-size:13.5px;line-height:1.5}.dlg-input{border:1px solid var(--border);width:100%;font-size:14px;font-family:var(--font);border-radius:8px;margin-bottom:16px;padding:9px 11px}.dlg-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.dlg-actions{justify-content:flex-end;gap:8px;display:flex}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{color:#fff;background:#e03a30}.act-sidebar{border-left:1px solid var(--border);z-index:300;background:#fff;flex-direction:column;width:420px;max-width:calc(100vw - 40px);animation:.2s actIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #0000001a}@keyframes actIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.act-head{border-bottom:1px solid var(--bg-alt);align-items:center;gap:10px;padding:14px 18px;display:flex}.act-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.act-sub{color:var(--text-secondary);font-size:12px}.act-body{flex:1;padding:8px 18px 20px;overflow-y:auto}.act-item{border-bottom:1px solid var(--bg-alt);align-items:flex-start;gap:10px;padding:11px 0;font-size:13px;display:flex}.act-when{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:4px;width:66px;margin-top:4px;font-size:11.5px;display:inline-flex}.act-detail{flex:1;min-width:0}.act-line{line-height:1.45}.act-change{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.act-pill{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:150px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-block;overflow:hidden}.act-pill.old{color:#5c5c61;background:#ececf0;text-decoration:line-through}.act-pill.new{color:#0b57a8;background:#e2edfb}.act-arrow{color:var(--text-secondary);font-size:11px}.avatar-chip{color:#fff;letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.lastupd-btn{cursor:pointer;font:inherit;color:var(--text-secondary);background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;min-height:26px;padding:2px 6px;font-size:12.5px;display:inline-flex}.lastupd-btn:hover{color:var(--text);background:#eef3fa}table.task-table th[draggable=true]{cursor:grab}table.task-table th.col-dragging{opacity:.45}table.task-table th.col-drag-over{box-shadow:inset 3px 0 0 var(--accent)}.flt-pop{z-index:160;border:1px solid var(--border);width:430px;max-width:calc(100vw - 60px);box-shadow:var(--shadow-hover);background:#fff;border-radius:12px;padding:12px 14px;position:absolute;top:34px;left:0}.flt-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.flt-input{border:1px solid var(--border);min-width:0;font-size:13px;font-family:var(--font);background:#fff;border-radius:7px;flex:1;padding:6px 8px}.flt-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.flt-novalue{flex:1}.pop-right .flt-pop{left:auto;right:0}.dash-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;display:grid}@media (max-width:1100px){.dash-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.dash-grid{grid-template-columns:1fr}}.dash-w-1{grid-column:span 1}.dash-w-2{grid-column:span 2}.dash-w-3{grid-column:1/-1}@media (max-width:1100px){.dash-w-2{grid-column:1/-1}}@media (max-width:720px){.dash-w-1,.dash-w-2{grid-column:auto}}.dash-widget{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.dash-widget.dash-drag-over{box-shadow:0 0 0 2px var(--accent)}.dash-widget-head{border-bottom:1px solid var(--bg-alt);cursor:grab;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;font-weight:600;display:flex}.dash-widget-head:active{cursor:grabbing}.dash-widget-body{padding:14px 16px}table.task-table.density-compact td{height:28px;padding-top:1px;padding-bottom:1px}table.task-table.density-comfortable td{height:46px;padding-top:10px;padding-bottom:10px}.vt-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.vt-tab.vt-drag-over{box-shadow:inset 2px 0 0 var(--accent)}.vt-tab .vt-close[aria-expanded=true]{visibility:visible}.avm-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}@media (max-width:560px){.avm-grid{grid-template-columns:1fr 1fr}}.avm-type{border:1.5px solid var(--border);cursor:pointer;font:inherit;color:var(--text-secondary);text-align:left;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.avm-type:hover{border-color:var(--accent);color:var(--text)}.avm-type.active{border-color:var(--accent);color:var(--accent);background:#f0f6ff}.avm-radio{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.avm-radio input{accent-color:var(--accent)}.avm-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.avm-swatch.none{border-color:var(--border);background:#fff;position:relative}.avm-swatch.none:after{content:"∕";color:var(--text-secondary);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.avm-swatch.active{outline:2px solid var(--accent);outline-offset:1px}.ct-icon{color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.ct-search{border:1px solid var(--border);width:100%;font-size:13.5px;font-family:var(--font);border-radius:8px;margin-bottom:10px;padding:8px 11px}.ct-search:focus{outline:2px solid var(--accent);outline-offset:-1px}.ct-cat{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:6px 0;font-size:11px;font-weight:700}.ct-grid{grid-template-columns:1fr 1fr;gap:2px;display:grid}.ct-item{cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:7px 8px;font-size:13.5px;display:flex}.ct-item:hover{background:var(--bg-alt)}.ct-more{text-align:center;cursor:pointer;width:100%;color:var(--accent);font:inherit;border:none;border-top:1px solid var(--bg-alt);background:0 0;margin-top:10px;padding:10px 0 2px;font-size:13.5px;font-weight:600;display:block}.ct-more:hover{text-decoration:underline}.cc-modal{width:100%;max-width:860px;height:min(620px,86vh);box-shadow:var(--shadow-hover);background:#fff;border-radius:16px;flex-direction:column;animation:.15s badgeIn;display:flex;overflow:hidden}.cc-head{border-bottom:1px solid var(--bg-alt);align-items:center;gap:16px;padding:16px 20px;display:flex}.cc-head h2{margin-right:auto}.cc-body{flex:1;min-height:0;display:flex}.cc-nav{border-right:1px solid var(--bg-alt);flex-shrink:0;width:190px;padding:14px 8px;overflow-y:auto}.cc-nav button{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:13.5px;display:block}.cc-nav button:hover{background:var(--bg-alt)}.cc-nav button.active{color:#0b57a8;background:#e2edfb;font-weight:600}.cc-main{flex:1;padding:18px 22px;overflow-y:auto}.cc-sec{margin:4px 0 12px;font-size:15px}.cc-sec+.cc-cards{margin-bottom:22px}.cc-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:720px){.cc-cards{grid-template-columns:1fr}}.cc-card{border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.cc-card-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cc-card-text strong{font-size:14px}.cc-card-text span{color:var(--text-secondary);font-size:12.5px;line-height:1.4}.pp-wrap{display:inline-block;position:relative}.pp-cell{cursor:pointer;font:inherit;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;min-height:26px;padding:2px 6px;font-size:13px;display:inline-flex}button.pp-cell:hover{background:#eef3fa}.pp-cell-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.pp-empty{border:1.5px dashed var(--border);background:var(--bg-alt);border-radius:50%;width:22px;height:22px;display:inline-block}.pp-cell:hover .pp-empty{border-color:var(--accent)}.pp-pop{z-index:140;border:1px solid var(--border);width:270px;box-shadow:var(--shadow-hover);text-align:left;background:#fff;border-radius:12px;padding:12px;font-weight:400;position:absolute;top:30px;left:0}.pp-list{max-height:190px;overflow-y:auto}.pp-row{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:6px 8px;font-size:13.5px;display:flex}.pp-row:hover{background:var(--bg-alt)}.pp-row.current{background:#e2edfb}.pp-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pp-clear{background:var(--bg-alt);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.pp-invite{border-top:1px solid var(--bg-alt);border-radius:0 0 8px 8px;align-items:center;gap:8px;margin-top:4px;padding:8px;font-size:13.5px;display:flex}.pp-invite:hover{background:var(--bg-alt);text-decoration:none}.pp-note{color:#0b57a8;background:#e2edfb;border-radius:8px;margin-top:8px;padding:7px 10px;font-size:12px;font-weight:600}.grp-sticky{align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 340px);padding:0 12px 0 8px;display:inline-flex;position:sticky;left:0}.grp-toggle{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:11px}.grp-toggle:hover{background:#0000000f}.grp-name-input{font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;width:180px;padding:2px 6px;font-weight:700}.grp-name-input:hover{border-color:var(--border);background:#fff}.grp-name-input:focus{border-color:var(--accent);background:#fff;outline:none}.grp-meta{color:var(--text-secondary);white-space:nowrap;font-size:12.5px;font-weight:400}.name-input{width:190px;max-width:230px;font-weight:600}.name-input:not(:hover):not(:focus){background:0 0;border-color:#0000}.status-select{cursor:pointer;appearance:none;font-family:var(--font);text-align:center;border:none}.calc-cell{cursor:help}.project-header{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;align-items:center;gap:18px;padding:12px 20px;display:flex}.ph-left{flex:1;min-width:220px}.ph-name-btn{cursor:pointer;font:inherit;letter-spacing:-.01em;color:var(--text);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin-left:-8px;padding:2px 8px;font-size:19px;font-weight:700;display:inline-flex}.ph-name-btn:hover{background:var(--bg-alt)}.ph-caret{color:var(--text-secondary);font-size:11px}.ph-meta{color:var(--text-secondary);margin-top:1px;font-size:12.5px}.ph-chips{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ph-chip{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;flex-direction:column;gap:2px;min-width:92px;padding:6px 14px;display:flex}.ph-chip .t{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:10.5px;font-weight:700}.ph-chip .v{align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:flex}.ph-menu{z-index:130;border:1px solid var(--border);width:270px;max-height:380px;box-shadow:var(--shadow-hover);background:#fff;border-radius:10px;padding:6px 0;font-size:13.5px;font-weight:400;position:absolute;top:34px;left:0;overflow-y:auto}.ph-menu .sec{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:8px 14px 4px;font-size:10.5px;font-weight:700}.ph-menu .item{text-align:left;cursor:pointer;width:100%;font-size:13.5px;font-family:var(--font);color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:7px 14px;display:flex}.ph-menu .item:hover{background:var(--bg-alt);text-decoration:none}.ph-menu .divider{border-top:1px solid var(--border);margin:6px 0}.ph-star{cursor:pointer;color:#c9cdd6;background:0 0;border:none;padding:4px 10px 4px 4px}.ph-star:hover,.ph-star.on{color:var(--amber)}.bulk-bar{z-index:160;border:1px solid var(--border);box-shadow:var(--shadow-hover);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100vw - 40px);padding:10px 14px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.bulk-bar .cnt{white-space:nowrap;margin-right:4px;font-size:13.5px;font-weight:700}.sub-indent{border-bottom:2px solid var(--border);vertical-align:middle;width:20px;height:1px;margin-right:2px;display:inline-block}.sub-toggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1}.sub-toggle:hover{background:var(--bg-alt);color:var(--text)}.sub-chip{color:var(--text-secondary);background:var(--bg-alt);white-space:nowrap;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:10.5px;font-weight:700}
