:root{--bg: #000000;--panel: #161618;--card: #161618;--border: rgba(255, 255, 255, .08);--border-bright: rgba(255, 255, 255, .18);--text: #f4f4f5;--muted: #a1a1aa;--dim: #6b6b73;--gold: #ffd400;--accent: #f4f4f5;--ok: #10e0a0;--warn: #ffb020;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif: Georgia, "Times New Roman", serif;--blue: #3b82f6;--emerald: #10e0a0;--magenta: #f0258e;--orange: #ff6a00;--pm-gold: #ffd400;--brand-gradient: linear-gradient(137deg, #3b82f6 0%, #f0258e 45%, #ff6a00 100%)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em}.boot{display:grid;place-items:center;height:100vh}.boot-mark{font-family:var(--serif);font-size:22px;letter-spacing:.04em;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--text);color:#0a0a0a;border:none;border-radius:10px;padding:13px 18px;font-size:15px;font-weight:600;cursor:pointer;font-family:var(--font);transition:transform .15s,opacity .15s;width:100%}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:14px;cursor:pointer;font-family:var(--font)}.btn-ghost:hover{color:var(--text);border-color:var(--border-bright)}.btn-sm{padding:7px 12px;font-size:13px}.login{display:flex;flex-direction:column;min-height:100vh}.login-body{flex:1;display:grid;place-items:center;padding:24px;position:relative}.login-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:40px 32px;text-align:center}.login-wordmark{font-family:var(--serif);font-size:14px;letter-spacing:.06em;color:var(--muted);margin:0 0 28px}.login-card h1{font-size:26px;margin:0 0 6px}.login-sub{color:var(--muted);margin:0 0 26px;font-size:15px}.login-card form{text-align:left}.login-card label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}.login-card input{width:100%;background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:13px 14px;font-size:15px;color:var(--text);font-family:var(--font);outline:none;margin-bottom:14px;transition:border-color .15s}.login-card input:focus{border-color:var(--border-bright)}.login-help{font-size:12px;color:var(--dim);margin:18px 0 0}.login-help a{color:var(--muted)}.login-error{color:#ff6b6b;font-size:13px;margin-top:12px}.login-sent h1{margin-top:8px}.login-sent p{color:var(--muted);font-size:15px;line-height:1.6}.login-check{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:var(--ok);background:#10e0a01f;border:1px solid rgba(16,224,160,.4)}.login-sent .btn-ghost{margin-top:22px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:200;background:#000000e0;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--border)}.topbar-inner{height:52px;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{font-family:var(--serif);font-size:18px;letter-spacing:.03em;justify-self:start}.tabs{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;list-style:none}.tab{font-size:12px;font-weight:400;letter-spacing:.01em;color:var(--muted);transition:color .2s}.tab:hover,.tab-active{color:var(--text)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:6px;padding:0 5px;border-radius:980px;background:var(--warn);color:#1a1300;font-size:10.5px;font-weight:700;vertical-align:middle}.topbar-right{display:flex;align-items:center;gap:12px;justify-self:end}.role-chip{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:#ffd4001f;border:1px solid rgba(255,212,0,.4);padding:3px 8px;border-radius:980px}.who{font-size:13px;color:var(--muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:40px 24px 80px}.page-head{margin-bottom:28px}.page-head h1{font-size:30px;margin:0 0 6px}.page-intro{color:var(--muted);margin:0;font-size:15px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:32px 0 14px}.muted{color:var(--muted)}.small{font-size:12px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:4px}.stat-link{transition:border-color .15s}.stat-link:hover{border-color:var(--border-bright)}.stat-n{font-size:30px;font-weight:700;letter-spacing:-.02em}.stat-l{font-size:12.5px;color:var(--muted)}.card-list{display:flex;flex-direction:column;gap:10px}.row-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:border-color .15s}.row-card:hover{border-color:var(--border-bright)}button.row-card{width:100%;font:inherit;text-align:left;cursor:pointer}.row-eyebrow{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.row-title{font-size:15px;font-weight:600}.row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.status{font-size:11px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:980px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.status-in_progress{color:#8ab4ff;border-color:#8ab4ff66}.status-awaiting_approval{color:var(--warn);border-color:#ffb02073}.status-launched{color:var(--ok);border-color:#10e0a066}.status-on_hold{color:var(--dim)}.project-stack{display:flex;flex-direction:column;gap:16px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.project-card-head h2{font-size:19px;margin:0 0 4px}.project-card-head .muted{font-size:13.5px;max-width:560px}.timeline{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:flex;gap:14px;padding:0 0 18px 4px}.tl-item:last-child{padding-bottom:0}.tl-dot{width:11px;height:11px;border-radius:50%;margin-top:3px;flex-shrink:0;background:var(--panel);border:2px solid var(--dim)}.tl-item:not(:last-child) .tl-dot:after{content:"";position:absolute;left:9px;top:16px;bottom:2px;width:2px;background:var(--border)}.tl-done .tl-dot{background:var(--ok);border-color:var(--ok)}.tl-in_progress .tl-dot{background:#8ab4ff;border-color:#8ab4ff}.tl-awaiting_approval .tl-dot{background:var(--warn);border-color:var(--warn)}.tl-body{display:flex;flex-direction:column;gap:2px}.tl-title{font-size:14.5px;font-weight:600}.tl-meta{font-size:12px;color:var(--muted)}.approval-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.approval-top .row-title{display:block;margin:2px 0}.approval-top .small{display:block}.approval-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-approve{background:var(--ok);color:#04130d;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font);transition:transform .15s,opacity .15s}.btn-approve:hover{transform:translateY(-1px)}.btn-approve:disabled{opacity:.6;cursor:default;transform:none}.btn-changes{background:transparent;color:var(--warn);border:1px solid rgba(255,176,32,.5);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font)}.btn-changes:disabled{opacity:.5;cursor:default}.changes-box{display:flex;flex-direction:column;gap:10px}.changes-box label{font-size:13px;color:var(--muted)}.changes-box textarea{width:100%;background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;color:var(--text);font-family:var(--font);outline:none;resize:vertical;min-height:76px}.changes-box textarea:focus{border-color:var(--border-bright)}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:14px}.back-link:hover{color:var(--text)}.admin-block{margin-bottom:30px}.admin-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.admin-form .field{display:flex;flex-direction:column;gap:6px;min-width:160px}.admin-form .field.grow{flex:1;min-width:200px}.admin-form label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.admin-form .dim{color:var(--dim);text-transform:none;letter-spacing:0;font-weight:400}.admin-form input,.admin-form select,.status-select,.tl-controls select{background:#ffffff0a;border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:14px;color:var(--text);font-family:var(--font);outline:none}.admin-form input:focus,.admin-form select:focus{border-color:var(--border-bright)}.btn-inline{width:auto;padding:11px 18px}.milestone-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.status-select{font-size:12px;padding:6px 10px}.table{border:1px solid var(--border);border-radius:12px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1fr 200px 130px;gap:12px;align-items:center;padding:12px 16px}.table-head{background:#ffffff08;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.table-row{border-top:1px solid var(--border)}.table-row select{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--text);font-family:var(--font);outline:none}.email-cell{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-admin{width:100%}.tl-controls{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.tl-controls select{font-size:12px;padding:5px 9px}.tl-due{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:12px;color:var(--text);font-family:var(--font);outline:none;color-scheme:dark}.tl-due:focus{border-color:var(--border-bright)}@media (max-width: 720px){.table-head{display:none}.table-row{grid-template-columns:1fr;gap:8px}}.preview{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#0d0d0f}.preview-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:#ffffff08}.preview-label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.preview-open{display:inline-flex;align-items:center;gap:5px;background:var(--text);color:#0a0a0a;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:8px;white-space:nowrap;transition:transform .15s,box-shadow .15s}.preview-open:hover{color:#0a0a0a;transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.preview-tools{display:flex;align-items:center;gap:10px}.device-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.device-toggle button{background:transparent;border:0;color:var(--muted);font-family:var(--font);font-size:12px;padding:5px 10px;cursor:pointer}.device-toggle button.active{background:#ffffff1a;color:var(--text)}.preview-stage{background:#0d0d0f}.preview-stage.device-desktop .preview-frame{width:100%;height:460px}.preview-stage.device-mobile{display:flex;justify-content:center;padding:18px 0;background:repeating-linear-gradient(45deg,#0d0d0f,#0d0d0f 10px,#101013 10px,#101013 20px)}.preview-stage.device-mobile .preview-frame{width:390px;max-width:92%;height:720px;border-radius:26px;border:9px solid #1c1c20;box-shadow:0 12px 40px #00000080}.preview-frame{border:0;display:block;background:#fff}.preview-img{width:100%;height:auto;display:block}.preview-hint{padding:8px 12px 10px;margin:0}.preview-picker{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.preview-picker select,.preview-picker input{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12.5px;color:var(--text);font-family:var(--font);outline:none}.preview-picker input{min-width:180px}.btn-link-sm{background:none;border:0;color:var(--gold);font-family:var(--font);font-size:12px;cursor:pointer;padding:2px 0;margin-top:4px}.btn-link-sm:hover{text-decoration:underline}.btn-link-sm.danger{color:var(--dim);margin-left:10px}.btn-link-sm.danger:hover{color:#ff8a8a}.tl-approval{display:block;margin-top:3px}.tl-preview{margin-top:6px}.tl-preview .preview{margin-top:8px}.tl-demo{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px}.req-form{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.req-form input{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12.5px;color:var(--text);font-family:var(--font);outline:none;min-width:200px}.req-form input:focus{border-color:var(--border-bright)}.services-summary{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:28px}.services-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.services-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.service-chip{font-size:12.5px;font-weight:600;color:var(--text);border:1px solid var(--border);border-radius:980px;padding:5px 13px;background:#ffffff0a}.owns-groups{display:flex;flex-direction:column;gap:16px}.owns-group{display:flex;flex-direction:column;gap:8px}.owns-group-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.owns-grid{display:flex;flex-wrap:wrap;gap:8px}.own-chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;border:1px solid var(--border);border-radius:980px;padding:7px 13px;font-size:13px;color:var(--muted);transition:border-color .15s,color .15s,background .15s}.own-chip:hover{border-color:var(--border-bright);color:var(--text)}.own-chip.on{color:var(--ok);border-color:#10e0a080;background:#10e0a014}.own-chip input{accent-color:var(--ok)}.growth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:12px}.growth-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}.growth-card.featured{border-color:#ffd40059;background:#ffd4000a}.growth-card h3{font-size:16px;margin:2px 0 0}.growth-card .muted{font-size:13.5px;line-height:1.55}.growth-btn{width:auto;align-self:flex-start;margin-top:auto;padding:9px 16px;font-size:13.5px}@media (max-width: 720px){.growth-grid{grid-template-columns:1fr}}.billing-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;max-width:540px}.billing-card h2{font-size:18px;margin:0 0 8px}.billing-card .muted{line-height:1.6;font-size:14.5px}.billing-btn{width:auto;padding:13px 20px;margin-top:18px}.billing-msg{margin-top:12px}.billing-note{margin:16px 0 0}.comments{margin-top:6px}.comment-thread{margin-top:8px;border:1px solid var(--border);border-radius:10px;padding:12px;background:#ffffff05;display:flex;flex-direction:column;gap:12px}.comment{display:flex;flex-direction:column;gap:3px}.comment-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.comment-author{font-size:12.5px;font-weight:700;color:var(--text)}.comment-time{white-space:nowrap}.comment-body{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;white-space:pre-wrap}.comment-form{display:flex;gap:8px;align-items:flex-end}.comment-form textarea{flex:1;background:#ffffff0a;border:1px solid var(--border);border-radius:9px;padding:9px 12px;font-size:13.5px;color:var(--text);font-family:var(--font);outline:none;resize:vertical;min-height:40px}.comment-form textarea:focus{border-color:var(--border-bright)}.comment-send{width:auto;padding:9px 16px}.appr-pill{display:inline-block;margin-left:10px;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:980px;vertical-align:middle;border:1px solid var(--border);color:var(--muted)}.appr-pending{color:var(--warn);border-color:#ffb02080;background:#ffb02014}.appr-approved{color:var(--ok);border-color:#10e0a080;background:#10e0a014}.appr-changes_requested{color:#ff8a8a;border-color:#ff8a8a80;background:#ff8a8a14}.assets{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.assets-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.assets-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.upload-btn{cursor:pointer}.upload-btn.is-busy{opacity:.6;cursor:default}.asset-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.asset-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff08;border:1px solid var(--border);border-radius:9px;padding:9px 12px}.asset-name{background:none;border:none;color:var(--text);font-family:var(--font);font-size:13.5px;cursor:pointer;text-align:left;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-name:hover{color:var(--gold);text-decoration:underline}.login-error.small{font-size:12.5px}.empty{text-align:center;padding:64px 24px;border:1px dashed var(--border);border-radius:16px;background:#ffffff04}.empty-mark{font-size:34px;color:var(--dim);margin-bottom:14px}.empty h3{font-size:18px;margin:0 0 8px}.empty p{color:var(--muted);max-width:420px;margin:0 auto;line-height:1.6;font-size:14.5px}@media (max-width: 720px){.topbar-inner{height:auto;padding:10px 16px;grid-template-columns:1fr auto;row-gap:12px}.tabs{grid-column:1 / -1;gap:18px}.who{display:none}.content{padding:28px 16px 72px}.stat-row{grid-template-columns:1fr}.page-head h1{font-size:25px}}.page-head{text-align:center}.page-intro{margin-left:auto;margin-right:auto}.section-title{text-align:center}.stat{align-items:center;text-align:center}.services-summary{text-align:center}.services-chips{justify-content:center}.growth-card{align-items:center;text-align:center}.growth-btn{align-self:center}.billing-card{margin-left:auto;margin-right:auto;text-align:center}.billing-btn{margin-left:auto;margin-right:auto}.billing-note{text-align:center}.brand{display:inline-flex;align-items:center;gap:9px}.brand-logo{height:32px;width:auto;display:block;filter:brightness(0) invert(1)}.login{position:relative;overflow:hidden}.login-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:460px;height:460px;max-width:95vw;border-radius:50%;background:conic-gradient(from 0deg,#3b82f6,#f0258e,#ff6a00,#8b5cf6,#3b82f6);filter:blur(95px);opacity:.34;z-index:0;pointer-events:none;animation:login-glow-spin 9s linear infinite,login-glow-pulse 4.2s ease-in-out infinite}@keyframes login-glow-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes login-glow-pulse{0%,to{opacity:.26}50%{opacity:.48}}@media (prefers-reduced-motion: reduce){.login-glow{animation:none}}.login-card{position:relative;z-index:1;background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--brand-gradient) border-box;border:1.5px solid transparent;border-radius:22px;box-shadow:0 24px 80px #0000008c}.login-logo{height:72px;width:auto;display:block;margin:0 auto 18px}.stat,.row-card,.project-card,.growth-card,.billing-card,.services-summary,.comment-thread,.preview,.approval-card,.empty,.table,.addon-card,.price-card{position:relative;background:var(--card)}.stat:before,.row-card:before,.project-card:before,.growth-card:before,.billing-card:before,.services-summary:before,.comment-thread:before,.preview:before,.approval-card:before,.empty:before,.table:before,.addon-card:before,.price-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:conic-gradient(from var(--glow-angle),#3b82f6,#f0258e,#ff6a00,#3b82f6);filter:blur(5px);opacity:.5;z-index:-1;pointer-events:none;animation:glow-rotate 7s linear infinite,glow-pulse 3.4s ease-in-out infinite}.row-card:hover:before,.stat-link:hover:before{filter:blur(7px)}@property --glow-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes glow-rotate{to{--glow-angle: 360deg}}@keyframes glow-pulse{0%,to{opacity:.38}50%{opacity:.66}}.empty{background:var(--card)}.app-footer{background:#000;border-top:.5px solid var(--border);padding:26px 28px;display:flex;align-items:center;justify-content:center}.app-footer img{height:44px;width:auto;filter:brightness(0) invert(1);opacity:.95}.decided-info{display:flex;flex-direction:column;gap:3px}.tl-dot{position:relative;z-index:1;color:var(--dim);animation:tl-dot-pulse 2.2s ease-in-out infinite}.tl-done .tl-dot{color:var(--ok)}.tl-in_progress .tl-dot{color:#8ab4ff}.tl-awaiting_approval .tl-dot{color:var(--warn)}@keyframes tl-dot-pulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 10px 2px currentColor}}.tl-item:not(:last-child) .tl-dot:after{display:none}.tl-item:not(:last-child):after{content:"";position:absolute;left:9px;top:9px;bottom:-10px;width:2px;background:linear-gradient(180deg,var(--magenta),var(--blue));background-size:100% 200%;animation:tl-line-flow 2.6s ease-in-out infinite;z-index:0}@keyframes tl-line-flow{0%,to{opacity:.4;background-position:0% 0%}50%{opacity:1;background-position:0% 100%}}.tl-title{text-transform:capitalize}.table{overflow:visible}.table-head{border-top-left-radius:12px;border-top-right-radius:12px}
