@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2) format("woff2"),url(/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2) format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-ext-500-normal-Du0rIuHj.woff2) format("woff2"),url(/assets/figtree-latin-ext-500-normal-BOEJvrb_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-500-normal-BWnGEVsr.woff2) format("woff2"),url(/assets/figtree-latin-500-normal-B_yy1phn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2) format("woff2"),url(/assets/figtree-latin-ext-600-normal-CQqsimlV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2) format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-ext-700-normal-CS4sQkGV.woff2) format("woff2"),url(/assets/figtree-latin-ext-700-normal-BoDi4KL2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2) format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/figtree-latin-ext-800-normal-DLIuazCv.woff2) format("woff2"),url(/assets/figtree-latin-ext-800-normal-Cp4dEvwL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/figtree-latin-800-normal-30yxI7TZ.woff2) format("woff2"),url(/assets/figtree-latin-800-normal-B7vj2UK8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-vietnamese-400-normal-CkBxLiRJ.woff2) format("woff2"),url(/assets/anton-vietnamese-400-normal-2FfR1wHA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-ext-400-normal-SyiqE2Jt.woff2) format("woff2"),url(/assets/anton-latin-ext-400-normal-BMODBQc6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.resize{resize:both}.rounded{border-radius:.25rem}.p-8{padding:2rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink: #2c3a47;--ink-soft: #45525f;--ink-muted: #717c86;--cream: #f4f6f8;--cream-dark: #dfe4e8;--gold: #f8b400;--gold-light: #fff1db;--blue: #cf5580;--blue-light: #ffd9e6;--teal: #1f8f86;--teal-light: #d7f9ec;--purple: #0e8fa0;--purple-light: #e6f7fb;--radius: 12px;--radius-sm: 6px}*,*:before,*:after{box-sizing:border-box}body{font-family:DM Sans,system-ui,sans-serif;background:var(--cream);color:var(--ink);min-height:100vh;margin:0}button{font-family:inherit}.header{background:var(--ink);padding:18px 28px;display:flex;align-items:center;justify-content:space-between}.header-brand{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:19px;color:var(--cream)}.header-sub{font-size:10px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.header-right{display:flex;align-items:center;gap:16px}.header-user{font-size:12px;color:var(--cream);opacity:.85}.header-badge{background:var(--gold);color:var(--ink);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px}.header-link{background:none;border:1px solid rgba(255,255,255,.25);color:var(--cream);font-size:11px;padding:5px 12px;border-radius:5px;cursor:pointer}.header-link:hover{border-color:var(--gold)}.container{max-width:1400px;margin:0 auto;padding:32px 28px 80px;display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.main-col{min-width:0}@media (max-width: 720px){.container{grid-template-columns:1fr}}.section-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px}.muted{color:var(--ink-muted)}.err{color:#a3341f;font-size:12px;margin:8px 0}.plist{display:flex;flex-direction:column;gap:10px}.pcard{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:16px 18px;cursor:pointer;display:flex;align-items:center;gap:14px;transition:border-color .13s}.pcard:hover{border-color:var(--gold)}.pcard .ptrack{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:26px;min-width:30px}.pcard.ta .ptrack{color:var(--blue)}.pcard.tb .ptrack{color:var(--teal)}.pcard .pname{font-size:14px;font-weight:600}.pcard .pmeta{font-size:11px;color:var(--ink-muted);margin-top:2px}.pill{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:20px;background:var(--cream-dark);color:var(--ink-muted)}.pill.active{background:var(--teal-light);color:var(--teal)}.pill.closed{background:var(--cream-dark);color:var(--ink-muted)}.btn{border:none;border-radius:5px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer}.btn-primary{background:var(--ink);color:var(--cream)}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{background:none;border:1.5px solid var(--cream-dark);color:var(--ink-muted)}.btn-ghost:hover{border-color:var(--purple);color:var(--purple)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:11px;font-weight:600;color:var(--ink-soft)}.input{border:1.5px solid var(--cream-dark);border-radius:5px;padding:9px 11px;font-size:13px;font-family:inherit;color:var(--ink);outline:none;background:#fff;width:100%}.input:focus{border-color:var(--purple)}.card{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:18px}.client-bar{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;display:flex;gap:10px;align-items:center}.client-bar label{font-size:11px;font-weight:600;color:var(--ink-muted);white-space:nowrap;letter-spacing:.08em;text-transform:uppercase}.client-bar .name{flex:1;font-size:14px;font-weight:600}.session-bar{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:12px 18px;margin-bottom:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-status{font-size:11px;color:var(--ink-muted);flex:1}.session-status.ok{color:var(--teal);font-weight:500}.track-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.track-card{background:#fff;border:2px solid var(--cream-dark);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .18s}.track-card:hover{border-color:var(--gold-light)}.track-card.selected.track-a{border-color:var(--blue);background:var(--blue-light)}.track-card.selected.track-b{border-color:var(--teal);background:var(--teal-light)}.track-letter{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:32px;line-height:1;margin-bottom:5px}.track-a .track-letter{color:var(--blue)}.track-b .track-letter{color:var(--teal)}.track-name{font-size:13px;font-weight:600;margin-bottom:3px}.track-desc{font-size:11px;color:var(--ink-muted);line-height:1.5}.phase-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.phase-item{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .13s}.phase-item:hover{border-color:var(--gold)}.phase-item.selected.ta{border-color:var(--blue);background:var(--blue-light)}.phase-item.selected.tb{border-color:var(--teal);background:var(--teal-light)}.phase-num{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:17px;font-style:italic;min-width:32px}.ta .phase-num,.ta .phase-title{color:var(--blue)}.tb .phase-num,.tb .phase-title{color:var(--teal)}.phase-info{flex:1}.phase-title{font-size:13px;font-weight:600}.phase-owner-text{font-size:11px;color:var(--ink-muted);margin-top:1px}.checklist-panel{background:#fff;border-radius:var(--radius);border:1.5px solid var(--cream-dark);overflow:hidden;margin-bottom:16px}.panel-header{padding:18px 22px 16px;border-bottom:1px solid var(--cream-dark)}.panel-phase-tag{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px;margin-bottom:6px;display:inline-block}.tag-a{background:var(--blue-light);color:var(--blue)}.tag-b{background:var(--teal-light);color:var(--teal)}.panel-title{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:21px;line-height:1.2}.panel-owner-line{font-size:11px;color:var(--ink-muted);margin-top:3px}.panel-note{margin-top:14px;background:var(--purple-light);border-radius:6px;padding:12px 14px;font-size:11px;color:var(--ink-soft);line-height:1.5;white-space:pre-wrap}.progress-wrap{padding:14px 22px;background:var(--cream);border-top:1px solid var(--cream-dark);display:flex;align-items:center;gap:10px}.progress-bar-bg{flex:1;height:5px;background:var(--cream-dark);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;background:var(--gold);transition:width .3s ease}.progress-label{font-size:11px;color:var(--ink-muted);white-space:nowrap}.check-item{border-bottom:1px solid var(--cream-dark)}.check-item:last-child{border-bottom:none}.check-row{display:flex;align-items:flex-start;gap:12px;padding:13px 22px;cursor:pointer}.check-row:hover{background:#eef2f5}.check-item.is-checked .check-label{opacity:.5}.check-box{width:19px;height:19px;border-radius:4px;border:2px solid var(--cream-dark);flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;background:#fff}.is-checked .check-box{background:var(--ink);border-color:var(--ink);color:#fff}.check-text{flex:1}.check-label{font-size:13px;font-weight:500;line-height:1.4}.check-detail{font-size:11px;color:var(--ink-muted);line-height:1.5;margin-top:2px}.reveal-inner{padding:6px 22px 16px 53px;background:var(--purple-light)}.reveal-action-btn{background:#fff;border:1.5px solid rgba(14,143,160,.25);border-radius:var(--radius-sm);padding:11px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;width:100%}.reveal-action-btn:hover{border-color:var(--purple)}.btn-icon{background:var(--purple);color:#fff;font-size:9px;font-weight:700;padding:3px 6px;border-radius:3px}.btn-name{font-size:12px;font-weight:600;color:var(--purple)}.btn-hint{font-size:11px;color:var(--ink-muted);margin-top:1px}.questions-panel{background:#fff;border:1.5px solid rgba(14,143,160,.2);border-radius:var(--radius-sm);overflow:hidden;margin-top:10px}.questions-header{background:var(--purple);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.questions-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}.q-close{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:16px}.context-preview{background:#eef9fb;border:1px solid rgba(14,143,160,.15);border-radius:6px;padding:10px 12px;margin:12px 14px 0;font-size:11px;color:var(--ink-muted);line-height:1.6}.context-preview-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:4px}.context-preview-body{white-space:pre-wrap;word-break:break-word}.questions-body{padding:14px;display:flex;flex-direction:column;gap:12px}.q-field{display:flex;flex-direction:column;gap:5px}.q-label{font-size:11px;font-weight:600;color:var(--purple)}.q-input{border:1.5px solid rgba(14,143,160,.2);border-radius:5px;padding:9px 11px;font-size:12px;font-family:inherit;color:var(--ink);outline:none;line-height:1.5;background:#f5fdfe;width:100%}.q-input:focus{border-color:var(--purple)}.q-input.prefilled{background:#dff3f8}textarea.q-input{resize:vertical;min-height:72px}.q-from-ctx{font-weight:400;color:var(--teal);font-size:10px}.questions-footer{padding:12px 14px;border-top:1px solid var(--cream-dark);display:flex;gap:8px;align-items:center}.btn-generate{background:var(--purple);color:#fff;border:none;border-radius:5px;padding:8px 18px;font-size:12px;font-weight:600;cursor:pointer}.btn-generate:disabled{opacity:.5;cursor:wait}.q-note{font-size:10px;color:var(--ink-muted)}.ai-off{font-size:11px;color:#a3341f;padding:10px 14px}.output-block{border-top:1px solid var(--cream-dark)}.output-text{padding:16px;font-size:12px;line-height:1.75;color:var(--ink-soft);white-space:pre-wrap;max-height:420px;overflow-y:auto}.output-footer{padding:10px 14px;border-top:1px solid var(--cream-dark);display:flex;gap:8px}.context-sidebar{position:sticky;top:24px}.context-card{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden}.context-card-header{background:var(--ink);padding:14px 16px}.context-card-title{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:15px;color:var(--cream)}.context-card-sub{font-size:10px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.context-sections{padding:12px;display:flex;flex-direction:column;gap:8px}.ctx-section{border:1px solid var(--cream-dark);border-radius:6px;overflow:hidden}.ctx-section-header{padding:8px 12px;background:var(--cream);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;justify-content:space-between;cursor:pointer}.ctx-badge{font-size:9px;background:var(--gold-light);color:var(--ink);padding:1px 6px;border-radius:10px;font-weight:600}.ctx-badge.filled{background:var(--teal-light);color:var(--teal)}.ctx-body{padding:8px 12px}.ctx-field{margin-bottom:8px}.ctx-field:last-child{margin-bottom:0}.ctx-field-label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:3px}.ctx-field-value{font-size:11px;color:var(--ink-soft);line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto}.ctx-field-value.empty{color:var(--ink-muted);font-style:italic}.spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}:root{--good:#2f9e57;--good-l:#e3f5e9;--warn:#9a6f00;--warn-l:#fdf0d3;--over:#d1483b;--over-l:#fbe4e1}.dash{max-width:1400px;margin:0 auto;padding:26px 28px 70px}.dash-titlerow{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;flex-wrap:wrap}.dash-titlerow h1{font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:24px}.dash-titlerow .sub{font-size:12.5px;color:var(--ink-muted)}.dash-new{margin-left:auto}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}@media (max-width: 720px){.kpis{grid-template-columns:1fr 1fr}}.kpi{background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius);padding:15px 16px;position:relative;overflow:hidden}.kpi .strip{position:absolute;left:0;top:0;bottom:0;width:5px}.kpi.k1 .strip{background:var(--gold)}.kpi.k2 .strip{background:var(--teal)}.kpi.k3 .strip{background:var(--warn)}.kpi.k4 .strip{background:var(--over)}.kpi .cap{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.kpi .num{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1;font-variant-numeric:tabular-nums}.kpi.k3 .num{color:var(--warn)}.kpi.k4 .num{color:var(--over)}.kpi .foot{font-size:11.5px;color:var(--ink-muted);margin-top:5px}.attn{background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius);margin-bottom:22px;overflow:hidden}.attn h2{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);padding:12px 16px 8px}.attn-row{display:flex;align-items:center;gap:12px;padding:9px 16px;border-top:1px solid var(--cream-dark)}.attn-row .sev{width:8px;height:8px;border-radius:50%;flex:none}.sev.over{background:var(--over)}.sev.warn{background:var(--warn)}.sev.due{background:var(--blue)}.attn-row .txt{font-size:13px;flex:1;min-width:0}.attn-row .txt b{font-weight:700}.attn-row .who{font-size:11px;color:var(--ink-muted);white-space:nowrap}.attn-row .when{font-size:11px;font-weight:700;white-space:nowrap;padding:2px 9px;border-radius:20px}.when.over{color:var(--over);background:var(--over-l)}.when.warn{color:var(--warn);background:var(--warn-l)}.when.due{color:var(--blue);background:var(--blue-light)}.dash-panel{background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden}.dash-panel-h{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--cream-dark)}.dash-panel-h h2{font-size:13px;font-weight:700;letter-spacing:.04em}.dash-panel-h .cnt{font-size:11px;color:var(--ink-muted);margin-left:8px}.tscroll{overflow-x:auto}.dtable{border-collapse:collapse;width:100%;min-width:760px}.dtable thead th{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);text-align:left;padding:9px 16px;background:#eef1f4;border-bottom:1px solid var(--cream-dark)}.dtable tbody td{padding:13px 16px;border-bottom:1px solid var(--cream-dark);vertical-align:middle;font-size:13px}.dtable tbody tr{cursor:pointer}.dtable tbody tr:hover td{background:#0000000a}.dtable tbody tr:last-child td{border-bottom:none}.d-pname{font-weight:700}.d-pclient{font-size:11.5px;color:var(--ink-muted);margin-top:1px}.d-projrow{display:flex;align-items:center;gap:10px}.d-projdot{width:12px;height:12px;border-radius:3px;flex:none}.d-track{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.d-track .dot{width:9px;height:9px;border-radius:50%}.d-track.a{color:var(--blue)}.d-track.a .dot{background:var(--blue)}.d-track.b{color:var(--teal)}.d-track.b .dot{background:var(--teal)}.d-track.c{color:#9a6f00}.d-track.c .dot{background:var(--gold)}.d-phase{font-weight:700;font-variant-numeric:tabular-nums}.d-phase small{font-weight:500;color:var(--ink-muted)}.d-owner{display:inline-flex;align-items:center;gap:7px}.d-ava{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;background:var(--ink)}.d-bud{min-width:150px}.d-bar{height:7px;border-radius:5px;background:var(--cream-dark);overflow:hidden;margin-bottom:4px}.d-fill{height:100%;border-radius:5px}.d-fill.good{background:var(--good)}.d-fill.warn{background:var(--warn)}.d-fill.over{background:var(--over)}.d-budlbl{font-size:11px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.d-budlbl b{color:var(--ink)}.d-chip{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;display:inline-block;background:var(--gold-light);color:#7a5a12}.d-due .d1{font-weight:700;font-size:12px}.d-due .d1.soon{color:var(--blue)}.d-due .d1.late{color:var(--over)}.d-due .d2{font-size:11px;color:var(--ink-muted)}.d-prio{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:6px}.d-prio.high{background:var(--over-l);color:var(--over)}.d-prio.normal,.d-prio.low{background:#eef1f4;color:var(--ink-muted)}.dash-empty{padding:40px 20px;text-align:center;color:var(--ink-muted);font-size:13px}.pv{max-width:1400px;margin:0 auto;padding:20px 28px 80px}.pv-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.pv-back{font-size:12px;color:var(--ink-muted);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.pv-back:hover{color:var(--blue)}.pv-client{font-size:18px;font-weight:700}.pv-projdot{width:14px;height:14px;border-radius:4px;flex:none}.pill.trackpill.ta{background:var(--blue-light);color:var(--blue)}.pill.trackpill.tb{background:var(--teal-light);color:var(--teal)}.pv-saved{margin-left:auto;font-size:11px;color:var(--teal);font-weight:600}.stepper{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:22px}.step{background:#fff;border:1.5px solid var(--cream-dark);border-radius:10px;padding:10px 11px;cursor:pointer;position:relative;text-align:left;font-family:inherit;transition:border-color .12s}.step:hover{border-color:var(--blue)}.step .sid{font-size:15px;font-weight:700;color:var(--ink-muted)}.step .snm{font-size:10.5px;color:var(--ink-muted);margin-top:2px;line-height:1.25;height:26px;overflow:hidden}.step .sbar{height:4px;border-radius:3px;background:var(--cream-dark);margin-top:8px;overflow:hidden}.step .sfill{height:100%;background:var(--teal);border-radius:3px}.step .sprog{font-size:9px;color:var(--ink-muted);margin-top:4px;font-variant-numeric:tabular-nums}.step.done{background:var(--teal-light);border-color:#bfe6da}.step.done .sid,.step.done .snm{color:var(--teal)}.step.cur{background:var(--ink);border-color:var(--ink)}.step.cur .sid{color:var(--gold)}.step.cur .snm,.step.cur .sprog{color:#cdd6dd}.step.cur .sbar{background:#ffffff2e}.step.cur .sfill{background:var(--gold)}.step.cur:before{content:"You are here";position:absolute;top:-8px;left:9px;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:2px 6px;border-radius:4px}@media (max-width: 900px){.stepper{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(120px,1fr);overflow-x:auto;padding-bottom:6px}}.pv-body{display:grid;gap:22px;align-items:start}.pv-tasks{min-width:0}@media (max-width: 860px){.pv-body{grid-template-columns:1fr!important}}.context-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ctx-hide{background:none;border:1px solid rgba(255,255,255,.3);color:var(--cream);font-size:10px;padding:3px 9px;border-radius:5px;cursor:pointer;font-family:inherit;flex:none}.ctx-hide:hover{border-color:var(--gold)}.check-box,.check-label{cursor:pointer}.check-row{align-items:flex-start}.task-meta{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.assignee-select{font-family:inherit;font-size:11px;color:var(--ink-soft);background:var(--cream);border:1.5px solid var(--cream-dark);border-radius:20px;padding:4px 10px;cursor:pointer;max-width:160px}.assignee-select:focus{outline:none;border-color:var(--blue)}.due-input{font-family:inherit;font-size:11px;color:var(--ink-soft);background:var(--cream);border:1.5px solid var(--cream-dark);border-radius:20px;padding:3px 10px;cursor:pointer}.due-input:focus{outline:none;border-color:var(--blue)}.custom-tag{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);background:var(--gold-light);padding:1px 7px;border-radius:10px;vertical-align:middle}.task-del{margin-left:auto;background:none;border:none;color:var(--ink-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;flex:none}.task-del:hover{color:#a3341f}.add-task{display:flex;gap:8px;padding:12px 22px;border-top:1px solid var(--cream-dark);background:#fafbfc}.add-task-input{flex:1;font-family:inherit;font-size:13px;color:var(--ink);background:#fff;border:1.5px solid var(--cream-dark);border-radius:6px;padding:8px 11px}.add-task-input:focus{outline:none;border-color:var(--blue)}.phase-assign{display:flex;align-items:center;gap:8px;margin-top:12px}.phase-assign-lbl{font-size:11px;font-weight:600;color:var(--ink-muted)}.mw-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px;align-items:start}.mw-col{background:#eef1f4;border:1.5px solid var(--cream-dark);border-radius:12px;padding:8px;min-height:170px}.mw-col.mw-today{background:var(--gold-light);border-color:var(--gold)}.mw-col.mw-unsched{background:#fff}.mw-col.drop-ready{border-color:var(--blue);border-style:dashed}.mw-col-h{display:flex;align-items:baseline;gap:6px;padding:4px 6px 10px}.mw-col-t{font-size:12px;font-weight:700}.mw-col-s{font-size:10px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.mw-col-n{margin-left:auto;font-size:10px;font-weight:700;color:var(--ink-muted);background:#0000000f;padding:1px 7px;border-radius:10px}.mw-col-body{display:flex;flex-direction:column;gap:8px}.mw-card{background:#fff;border:1px solid var(--cream-dark);border-radius:9px;padding:9px 10px;display:flex;gap:8px;cursor:grab;box-shadow:0 1px 4px #2c3a4714}.mw-card:active{cursor:grabbing}.mw-done{width:16px;height:16px;border-radius:50%;border:2px solid var(--cream-dark);background:#fff;flex:none;margin-top:1px;cursor:pointer}.mw-done:hover{border-color:var(--teal);background:var(--teal-light)}.mw-card-body{min-width:0;flex:1}.mw-lbl{font-size:12.5px;font-weight:600;line-height:1.3}.mw-meta{font-size:10.5px;color:var(--ink-muted);margin-top:3px}.mw-empty{color:var(--ink-muted);font-size:11px;text-align:center;padding:10px 0;opacity:.5}.mw-toggle{margin-left:auto;display:inline-flex;border:1.5px solid var(--cream-dark);border-radius:8px;overflow:hidden}.mw-toggle button{font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px;background:#fff;border:none;cursor:pointer;color:var(--ink-muted)}.mw-toggle button.on{background:var(--ink);color:var(--cream)}.mcal-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px}.mcal-title{font-size:16px;font-weight:700;min-width:160px;text-align:center}.mw-tray{background:#fff;border:1.5px solid var(--cream-dark);border-radius:12px;padding:10px 12px;margin-bottom:14px}.mw-tray-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.mw-tray-cards{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.mw-tray-cards .mw-card{width:220px}.mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mcal-dow{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);text-align:center;padding:4px 0}.mcal-cell{background:#fff;border:1.5px solid var(--cream-dark);border-radius:8px;min-height:96px;padding:6px}.mcal-cell.empty{background:transparent;border:none;min-height:0}.mcal-cell.today{border-color:var(--gold);background:var(--gold-light)}.mcal-daynum{font-size:11px;font-weight:700;color:var(--ink-muted);font-variant-numeric:tabular-nums}.mcal-tasks{display:flex;flex-direction:column;gap:5px;margin-top:5px}.mcal-tasks .mw-card{padding:6px 8px}.mcal-tasks .mw-lbl{font-size:11px}.mcal-tasks .mw-meta{font-size:9.5px}.rail-toggle{display:flex;align-items:center;gap:6px;margin-bottom:12px}.rail-toggle button{font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px;border:1.5px solid var(--cream-dark);background:#fff;color:var(--ink-muted);cursor:pointer;border-radius:8px}.rail-toggle button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.rail-toggle .rail-hide{margin-left:auto;border-radius:8px}.task-drag{cursor:grab;color:var(--ink-muted);font-size:14px;line-height:1;flex:none;margin-top:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.5}.task-drag:hover{opacity:1;color:var(--blue)}.task-drag:active{cursor:grabbing}.pp{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:14px;position:sticky;top:16px}.pp-head{display:flex;align-items:center;gap:10px}.pp-modes{display:inline-flex;border:1.5px solid var(--cream-dark);border-radius:8px;overflow:hidden}.pp-modes button{font-family:inherit;font-size:12px;font-weight:600;padding:5px 13px;background:#fff;border:none;color:var(--ink-muted);cursor:pointer}.pp-modes button.on{background:var(--ink);color:var(--cream)}.pp-full{margin-left:auto;font-family:inherit;font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer}.pp-hint{font-size:11px;color:var(--ink-muted);font-style:italic;margin:8px 0 12px}.pp-week{display:flex;flex-direction:column;gap:6px}.pp-row{border:1.5px solid var(--cream-dark);border-radius:9px;padding:8px 10px}.pp-row.pp-today{border-color:var(--gold);background:var(--gold-light)}.pp-row.pp-over{border-color:#eec7c1;background:var(--over-l)}.pp-row-h{display:flex;align-items:baseline;gap:8px}.pp-row-t{font-size:12px;font-weight:700}.pp-row-s{font-size:10px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.pp-row-body{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.pp-drop-hint{font-size:10px;color:var(--ink-muted);font-style:italic;opacity:.6;padding:2px 0}.pp-card{display:inline-flex;align-items:center;gap:6px;background:var(--blue-light);border:1px solid #f2c6d6;border-radius:7px;padding:5px 8px;cursor:grab;max-width:100%}.pp-card:active{cursor:grabbing}.pp-card-lbl{font-size:11px;font-weight:600;color:var(--blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.pp-card-phase{font-size:9px;font-weight:700;color:var(--ink-muted)}.pp-mnav{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pp-mtitle{font-size:13px;font-weight:700;flex:1;text-align:center}.pp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.pp-dow{font-size:9px;font-weight:700;color:var(--ink-muted);text-align:center}.pp-cell{border:1.5px solid var(--cream-dark);border-radius:6px;min-height:46px;padding:3px}.pp-cell.empty{border:none}.pp-cell.today{border-color:var(--gold);background:var(--gold-light)}.pp-cell-n{font-size:10px;font-weight:700;color:var(--ink-muted)}.pp-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);display:inline-block;margin:1px;cursor:grab}.day-grid{display:flex;flex-direction:column;border:1.5px solid var(--cream-dark);border-radius:12px;overflow:hidden;background:#fff}.day-hour{display:flex;border-top:1px solid var(--cream-dark);min-height:46px}.day-hour:first-child{border-top:none}.day-hour-lbl{width:66px;flex:none;padding:8px 10px;font-size:11px;font-weight:600;color:var(--ink-muted);background:#f7f9fb;border-right:1px solid var(--cream-dark);font-variant-numeric:tabular-nums}.day-hour-body{flex:1;padding:6px;display:flex;flex-direction:column;gap:6px;min-width:0}.day-block{display:flex;align-items:center;gap:8px;background:var(--blue-light);border:1px solid #f2c6d6;border-radius:8px;padding:6px 9px;cursor:grab}.day-block:active{cursor:grabbing}.day-block-body{flex:1;min-width:0;cursor:pointer}.day-block .mw-lbl{font-size:12px}.day-block .mw-meta{font-size:10px}.dur-sel{font-family:inherit;font-size:10px;color:var(--ink-soft);background:#fff;border:1px solid var(--cream-dark);border-radius:6px;padding:2px 4px;cursor:pointer;flex:none}.day-untime{background:none;border:none;color:var(--ink-muted);font-size:15px;line-height:1;cursor:pointer;flex:none;padding:0 2px}.day-untime:hover{color:#a3341f}.mw-feed-btn{font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);background:#fff;border:1.5px solid var(--cream-dark);border-radius:8px;padding:6px 12px;cursor:pointer}.mw-feed-btn:hover{border-color:var(--blue);color:var(--blue)}.feed-panel{background:#fff;border:1.5px solid var(--cream-dark);border-radius:12px;padding:16px 18px;margin-bottom:18px}.feed-lbl{font-size:13px;font-weight:700;margin-bottom:6px}.feed-help{font-size:12.5px;color:var(--ink-soft);margin:0 0 10px;line-height:1.5}.feed-url{display:flex;gap:8px}.feed-url input{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--ink-soft);background:var(--cream);border:1.5px solid var(--cream-dark);border-radius:6px;padding:8px 10px}.feed-note{font-size:11px;color:var(--ink-muted);margin:10px 0 0}.dg{position:relative;border:1.5px solid var(--cream-dark);border-radius:12px;background:#fff;overflow:hidden}.dg-hour{position:absolute;left:0;right:0;border-top:1px solid var(--cream-dark);height:0}.dg-hour:first-child{border-top:none}.dg-hour-lbl{position:absolute;top:2px;left:6px;font-size:10px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.dg-block{position:absolute;left:52px;right:8px;background:var(--blue-light);border:1px solid #e9a9c0;border-radius:7px;overflow:hidden;box-shadow:0 1px 3px #2c3a471f;display:flex;flex-direction:column;touch-action:none}.dg-block.dragging{opacity:.9;box-shadow:0 5px 14px #2c3a4738;z-index:5}.dg-handle{height:7px;flex:none;cursor:ns-resize}.dg-handle.bottom{margin-top:auto}.dg-body{flex:1;min-height:0;padding:1px 8px;cursor:move;overflow:hidden}.dg-lbl{font-size:12px;font-weight:600;color:var(--blue);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dg-time{font-size:10px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.dg-x{position:absolute;top:1px;right:3px;background:none;border:none;color:var(--ink-muted);font-size:13px;line-height:1;cursor:pointer;padding:0 2px}.dg-x:hover{color:#a3341f}.cg{border:1.5px solid var(--cream-dark);border-radius:12px;overflow:hidden;background:#fff}.cg-gutter{width:46px;flex:none}.cg-head{display:flex;border-bottom:1px solid var(--cream-dark);background:#f7f9fb}.cg-dayhead{flex:1;text-align:center;padding:6px 2px;border-left:1px solid var(--cream-dark);min-width:0}.cg-dayhead.today{background:var(--gold-light)}.cg-dow{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.cg-dnum{font-size:12px;font-weight:700}.cg-allday{display:flex;border-bottom:1px solid var(--cream-dark);min-height:24px}.cg-allday-lbl{font-size:8.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 4px 0;text-align:right}.cg-allday-cell{flex:1;border-left:1px solid var(--cream-dark);padding:2px;display:flex;flex-direction:column;gap:2px;min-width:0}.cg-chip{background:var(--blue-light);color:var(--blue);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;cursor:grab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-bodywrap{display:flex;align-items:flex-start;max-height:460px;overflow-y:auto}.cg-times{display:flex;flex-direction:column;flex:none}.cg-timelbl{flex:none;font-size:9px;color:var(--ink-muted);text-align:right;padding-right:5px;box-sizing:border-box}.cg-cols{position:relative;flex:1}.cg-hline{position:absolute;left:0;right:0;border-top:1px solid var(--cream)}.cg-col{position:absolute;top:0;bottom:0;border-left:1px solid var(--cream-dark)}.cg-block{position:absolute;border:1px solid #e9a9c0;border-radius:5px;overflow:hidden;box-shadow:0 1px 2px #2c3a471f;touch-action:none;box-sizing:border-box}.cg-block.dragging{opacity:.92;z-index:5;box-shadow:0 4px 12px #2c3a4738}.cg-h{position:absolute;left:0;right:0;height:7px;cursor:ns-resize;z-index:2}.cg-h.top{top:0}.cg-h.bottom{bottom:0}.cg-b{position:absolute;top:0;right:0;bottom:0;left:0;padding:1px 15px 1px 19px;overflow:hidden}.cg-done{position:absolute;top:2px;left:3px;width:13px;height:13px;border-radius:50%;border:1.5px solid rgba(0,0,0,.35);background:#ffffffa6;cursor:pointer;z-index:3;padding:0}.cg-done:hover{background:var(--teal);border-color:var(--teal)}.cg-lbl{font-size:10px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-time{font-size:8.5px;color:var(--ink-soft);line-height:1.1;overflow:hidden;white-space:nowrap}.cg-x{position:absolute;top:0;right:1px;background:none;border:none;color:var(--ink-soft);font-size:11px;line-height:1;cursor:pointer;padding:0 2px;z-index:3}.cg-x:hover{color:#a3341f}.pp-cell{min-height:66px}.pp-cell-tasks{display:flex;flex-direction:column;gap:2px;margin-top:3px}.pp-chip{background:var(--blue-light);color:var(--blue);border-radius:4px;padding:1px 4px;font-size:9px;font-weight:600;cursor:grab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pp-chip.ro{opacity:.55;cursor:default}.pp-more{font-size:8.5px;color:var(--ink-muted)}.pp-chip-t{font-weight:800;margin-right:3px}.pp-legend{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 10px;padding:8px 10px;background:#fff;border:1px solid var(--cream-dark);border-radius:8px}.pp-leg{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft)}.pp-leg-dot{width:10px;height:10px;border-radius:3px;flex:none}.check-item.highlight{background:var(--gold-light);box-shadow:inset 4px 0 0 var(--gold);transition:background .2s}.rm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.rm{position:fixed;z-index:201;background:#fff;border:1.5px solid var(--cream-dark);border-radius:10px;box-shadow:0 10px 30px #2c3a4740;padding:12px;width:230px}.rm-title{font-size:12px;font-weight:700;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-field{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;color:var(--ink-soft)}.rm-field input{font-family:inherit;font-size:12px;border:1.5px solid var(--cream-dark);border-radius:5px;padding:5px 7px}.rm-row{margin-bottom:8px}.rm-clear{font-family:inherit;font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.rm-actions{display:flex;gap:8px;justify-content:flex-end}.rm-actions .btn{padding:6px 12px}.pp-cell{min-width:0;overflow:hidden}.cg-block.ro{opacity:.5}.cg-chip.ro{opacity:.6;cursor:default;border-style:dashed}.task-time{font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-light);border-radius:20px;padding:3px 9px;white-space:nowrap}.task-edit{background:none;border:none;color:var(--ink-muted);cursor:pointer;font-size:11px;padding:0 4px;opacity:.55}.task-edit:hover{opacity:1;color:var(--blue)}.rename-input{font-family:inherit;font-size:13px;font-weight:500;color:var(--ink);border:1.5px solid var(--blue);border-radius:5px;padding:4px 8px;width:100%;max-width:340px;outline:none}.task-hide{background:none;border:none;color:var(--ink-muted);cursor:pointer;font-size:13px;line-height:1;padding:0 4px;flex:none;opacity:.5}.task-hide:hover{opacity:1;color:var(--blue)}.check-item.is-hidden{opacity:.6;background:#fafbfc}.show-hidden{display:block;margin:6px 22px 10px;background:none;border:none;color:var(--ink-muted);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:underline}.show-hidden:hover{color:var(--blue)}.topbars{position:sticky;top:0;z-index:50;box-shadow:0 4px 14px #141a2029}.tabs{display:flex;background:#fff;padding:10px 16px 0;gap:8px;overflow-x:auto}.tab{display:flex;align-items:center;gap:10px;background:var(--cream);border:none;cursor:pointer;padding:12px 22px;font:inherit;font-size:15px;font-weight:800;color:var(--ink-muted);border-radius:14px 14px 0 0;white-space:nowrap;transition:transform .08s,background .12s}.tab:hover{color:var(--ink);background:var(--gold-light);transform:translateY(-1px)}.tab.on{color:var(--ink);background:var(--gold)}.tab-ic{font-size:20px;line-height:1}@media (max-width: 560px){.tab{padding:11px 16px;font-size:14px}}.ptabs{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 16px 12px;border-bottom:2px solid var(--cream-dark);overflow-x:auto}.ptab{display:flex;align-items:center;gap:8px;cursor:pointer;flex:none;border:2px solid;border-radius:999px;padding:7px 15px;font:inherit;font-size:13px;font-weight:800;max-width:220px;transition:transform .08s}.ptab.on{box-shadow:0 3px 10px #141a2033}.ptab-dot{width:10px;height:10px;border-radius:50%;flex:none}.ptab-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbar{background:var(--ink);color:var(--cream);display:flex;align-items:center;gap:14px;padding:8px 28px;flex-wrap:wrap}.tbar-lead{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);flex:none}.tbar-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}.tbar-item{display:flex;align-items:center;gap:8px;background:#ffffff17;border-radius:4px 999px 999px 4px;padding:4px 6px 4px 10px}.tbar-rec{width:8px;height:8px;border-radius:50%;background:#ff5a5a;flex:none;animation:tbar-pulse 1.4s ease-in-out infinite}.tbar-dot{width:8px;height:8px;border-radius:50%;flex:none}@keyframes tbar-pulse{0%,to{opacity:1}50%{opacity:.3}}.tbar-clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;min-width:52px}.tbar-where{background:none;border:none;color:var(--cream);font:inherit;font-size:12px;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.tbar-where:hover{text-decoration:underline;opacity:1}.tbar-stop{background:var(--gold);color:var(--ink);border:none;border-radius:999px;font:inherit;font-size:11px;font-weight:700;padding:4px 12px;cursor:pointer;flex:none}.tbar-stop:hover{opacity:.88}.tbar-stopall{background:none;border:1px solid rgba(255,255,255,.35);color:var(--cream);border-radius:999px;font:inherit;font-size:11px;font-weight:600;padding:4px 12px;cursor:pointer;flex:none}.tbar-stopall:hover{border-color:var(--gold);color:var(--gold)}.btn-timer{background:var(--teal);color:#fff;border:none;border-radius:var(--radius-sm);font:inherit;font-size:12px;font-weight:700;padding:7px 14px;cursor:pointer}.btn-timer:hover{opacity:.9}.btn-timer.on{background:var(--over)}.task-timer{background:none;border:1.5px solid var(--cream-dark);color:var(--teal);cursor:pointer;font-size:11px;line-height:1;width:24px;height:24px;border-radius:50%;flex:none;padding:0;display:inline-flex;align-items:center;justify-content:center}.task-timer:hover{border-color:var(--teal);background:var(--teal-light)}.task-timer.on{background:var(--over);border-color:var(--over);color:#fff;animation:tbar-pulse 1.4s ease-in-out infinite}.pv-budget{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fff;border:1.5px solid var(--cream-dark);border-left:5px solid var(--good);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px}.pv-budget.h-warn{border-left-color:var(--warn)}.pv-budget.h-over{border-left-color:var(--over)}.pv-budget.h-none{border-left-color:var(--cream-dark)}.pvb-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:240px}.pvb-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.pvb-nums{font-size:14px;font-weight:600;color:var(--ink)}.pvb-pct{color:var(--ink-muted);font-weight:700}.pvb-bar{flex:1;min-width:120px;height:7px;background:var(--cream-dark);border-radius:4px;overflow:hidden}.pvb-fill{height:100%;background:var(--good);border-radius:4px}.h-warn .pvb-fill{background:var(--warn)}.h-over .pvb-fill{background:var(--over)}.pvb-side{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-soft);flex-wrap:wrap}.pvb-flag{background:var(--over-l);color:var(--over);font-weight:700;font-size:11px;padding:2px 8px;border-radius:999px}.pvb-flag.warn{background:var(--warn-l);color:var(--warn)}.tbar-item.on{background:#f8b40029;box-shadow:inset 0 0 0 1px #f8b40080}.tbar-play{background:none;border:none;color:var(--cream);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;flex:none;opacity:.9}.tbar-play:hover,.tbar-item.on .tbar-play{color:var(--gold)}.tbar-x{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:15px;line-height:1;padding:0 4px;flex:none}.rmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2080;z-index:200;display:flex;align-items:center;justify-content:center}.rmd{background:#fff;border-radius:var(--radius);border:1.5px solid var(--cream-dark);padding:22px 24px;max-width:380px;box-shadow:0 18px 50px #141a2047}.rmd-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:8px}.rmd-body{font-size:13px;color:var(--ink-soft);line-height:1.6;margin-bottom:18px}.rmd-actions{display:flex;justify-content:flex-end;gap:10px}.ts{max-width:920px;margin:0 auto;width:100%}.ts-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.ts-title{font-size:20px;font-weight:700;color:var(--ink);margin:0}.ts-nav{display:flex;align-items:center;gap:6px}.ts-date{font:inherit;font-size:13px;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:5px 8px;color:var(--ink)}.ts-total{margin-left:auto;font-size:18px;font-weight:700;color:var(--ink)}.ts-total-lbl{font-size:12px;font-weight:600;color:var(--ink-muted)}.ts-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ts-sumchip{background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius-sm);padding:5px 12px;font-size:12px;color:var(--ink-soft)}.ts-list{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}.ts-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius-sm);padding:9px 12px}.ts-row.editing{border-color:var(--purple);flex-wrap:wrap}.ts-dot{width:9px;height:9px;border-radius:50%;flex:none}.ts-proj{background:none;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;flex:none;padding:0}.ts-proj:hover{color:var(--blue);text-decoration:underline}.ts-desc{flex:1;font-size:13px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:60px}.ts-when{font-size:12px;color:var(--ink-muted);flex:none;font-variant-numeric:tabular-nums}.ts-running{color:var(--teal);font-weight:700}.ts-dur{font-size:13px;font-weight:700;color:var(--ink);flex:none;min-width:56px;text-align:right;font-variant-numeric:tabular-nums}.ts-actions{display:flex;gap:2px;flex:none}.ts-edit,.ts-del{background:none;border:none;cursor:pointer;color:var(--ink-muted);font-size:14px;line-height:1;padding:2px 5px}.ts-edit:hover{color:var(--blue)}.ts-del:hover{color:var(--over)}.ts-add{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:14px 16px}.ts-add-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin-bottom:10px}.ts-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ts-in-proj{font:inherit;font-size:13px;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:6px 8px;color:var(--ink);min-width:180px}.ts-in-time{font:inherit;font-size:13px;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:6px 8px;color:var(--ink)}.ts-in-dur{font:inherit;font-size:13px;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:6px 8px;color:var(--ink);width:66px}.ts-min{font-size:12px;color:var(--ink-muted)}.ts-in-note{font:inherit;font-size:13px;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:6px 10px;color:var(--ink);flex:1;min-width:160px}.ts-add-hint{font-size:11px;color:var(--ink-muted);margin-top:8px}.week2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}@media (max-width: 720px){.week2{grid-template-columns:1fr}}.week-card{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:16px 18px}.week-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin-bottom:12px}.week-empty{font-size:12px;padding:4px 0}.week-row{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:default}.week-card:first-child .week-row{cursor:pointer}.week-name{flex:0 0 38%;display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-dot{width:9px;height:9px;border-radius:50%;flex:none}.week-track{flex:1;height:8px;background:var(--cream-dark);border-radius:4px;overflow:hidden}.week-fill{display:block;height:100%;border-radius:4px;background:var(--gold)}.week-fill.person{background:var(--teal)}.week-val{flex:none;font-size:12px;font-weight:700;color:var(--ink);min-width:58px;text-align:right;font-variant-numeric:tabular-nums}.ts-modes{display:inline-flex;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);overflow:hidden}.ts-modes button{background:#fff;border:none;padding:6px 14px;font:inherit;font-size:12px;font-weight:600;color:var(--ink-muted);cursor:pointer;border-left:1px solid var(--cream-dark)}.ts-modes button:first-child{border-left:none}.ts-modes button.on{background:var(--ink);color:var(--cream)}.ts-nav{margin-left:auto}.ts-range{font-size:13px;font-weight:600;color:var(--ink);min-width:150px;text-align:center;display:inline-block}.ts-splitbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.ts-split{font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--radius-sm)}.ts-split.non{background:var(--gold-light);color:#8a5a00}.ts-split.tot{background:var(--cream);color:var(--ink);border:1px solid var(--cream-dark)}.ts-splitbar.big .ts-split{display:flex;flex-direction:column;align-items:flex-start;font-size:20px;font-weight:700;padding:10px 16px;min-width:120px}.ts-splitbar.big .ts-split small{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.ts-util{margin-left:auto;font-size:13px;font-weight:700;color:var(--ink-muted)}.ts-bill{border:1px solid var(--cream-dark);background:#fff;border-radius:999px;font:inherit;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;cursor:pointer;flex:none}.ts-bill.yes{background:var(--teal-light);color:var(--teal);border-color:transparent}.ts-bill.no{background:var(--gold-light);color:#8a5a00;border-color:transparent}.ts-billchk{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-soft);white-space:nowrap}.ts-sumtable{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden}.ts-sumhead,.ts-sumrow{display:grid;grid-template-columns:1fr 120px 120px 100px;align-items:center;padding:10px 16px}.ts-sumhead{background:var(--cream);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.ts-sumhead span:not(:first-child),.ts-sumrow span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ts-sumrow{border-top:1px solid var(--cream-dark);cursor:pointer;font-size:13px;color:var(--ink)}.ts-sumrow:hover{background:#eef2f5}.ts-sumname{display:flex;align-items:center;gap:8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-sumbill{color:var(--teal);font-weight:700}.ts-sumnon{color:#8a5a00;font-weight:700}.ts-sumtot{font-weight:700}@media (max-width: 640px){.ts-sumhead,.ts-sumrow{grid-template-columns:1fr 70px 70px 64px;font-size:12px}}.ts-billed{display:block;font-size:10px;font-weight:600;color:var(--teal);margin-top:1px}.tv{max-width:920px;margin:0 auto;width:100%}.tv-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.tv-title{font-size:20px;font-weight:700;color:var(--ink);margin:0}.tv-modes{display:inline-flex;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);overflow:hidden}.tv-modes button{background:#fff;border:none;padding:6px 16px;font:inherit;font-size:12px;font-weight:600;color:var(--ink-muted);cursor:pointer;border-left:1px solid var(--cream-dark)}.tv-modes button:first-child{border-left:none}.tv-modes button.on{background:var(--ink);color:var(--cream)}.tv-count{margin-left:auto;font-size:12px;color:var(--ink-muted)}.tv-group{margin-bottom:18px}.tv-grouph{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0 0 8px 2px;display:flex;align-items:center;gap:7px}.tv-grouph span{background:var(--cream-dark);color:var(--ink-muted);border-radius:999px;padding:1px 7px;font-size:10px}.tv-grouph.late{color:var(--over)}.tv-grouph.late span{background:var(--over-l);color:var(--over)}.tv-grouph.soon{color:var(--ink)}.tv-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius-sm);padding:11px 14px;margin-bottom:6px;cursor:pointer}.tv-row:hover{border-color:var(--gold)}.tv-check{width:16px;height:16px;border:2px solid var(--cream-dark);border-radius:50%;flex:none}.tv-main{flex:1;min-width:0}.tv-label{font-size:13px;font-weight:600;color:var(--ink)}.tv-sub{font-size:11px;color:var(--ink-muted);margin-top:1px}.tv-who{flex:none;font-size:11px;color:var(--ink-muted)}.tv-ava{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--cream);font-size:10px;font-weight:700}.tv-due{flex:none;font-size:12px;font-weight:700;color:var(--ink-muted);font-variant-numeric:tabular-nums}.tv-due.late{color:var(--over)}.tv-due.soon{color:var(--gold)}.files-soon{max-width:520px;margin:60px auto;text-align:center;background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:40px 32px}.files-soon-icon{font-size:44px;margin-bottom:8px}.files-soon h2{font-size:20px;color:var(--ink);margin:0 0 12px}.files-soon p{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:0 0 10px}.code-tag{display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--ink-soft);background:var(--cream);border:1px solid var(--cream-dark);border-radius:4px;padding:1px 6px;margin-right:7px;vertical-align:middle}.pv-top .code-tag{font-size:11px;background:#fff}.code-tag-btn{cursor:pointer}.code-tag-btn:hover{border-color:var(--gold);color:var(--ink)}.code-edit-wrap{display:inline-flex;align-items:center;gap:6px}.code-edit{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;font-weight:700;text-transform:uppercase;width:84px;border:1.5px solid var(--purple);border-radius:5px;padding:4px 8px;outline:none;color:var(--ink)}.code-save{padding:5px 10px;font-size:11px}.rates{max-width:720px;margin:0 auto;width:100%}.rates-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}.rates-title{font-size:20px;font-weight:700;color:var(--ink);margin:0}.rates-note{background:var(--gold-light);border:1px solid #e6c78a;color:#7a5600;font-size:12px;line-height:1.6;border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:16px}.rates-table{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden}.rates-row{display:grid;grid-template-columns:1fr 130px 130px 96px;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--cream-dark)}.rates-row:first-child{border-top:none}.rates-hrow{background:var(--cream);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.rates-hrow span:not(:first-child){text-align:left}.rates-name{font-size:14px;font-weight:600;color:var(--ink)}.rates-in{display:flex;align-items:center;gap:5px}.rates-pre{color:var(--ink-muted);font-size:13px}.rates-in input{width:100%;font:inherit;font-size:14px;border:1.5px solid var(--cream-dark);border-radius:6px;padding:7px 9px;color:var(--ink);font-variant-numeric:tabular-nums}.rates-in input:focus{outline:none;border-color:var(--purple)}.rates-save .btn{width:100%}.rates-hint{font-size:11px;color:var(--ink-muted);margin-top:10px}@media (max-width: 560px){.rates-row{grid-template-columns:1fr 88px 88px}.rates-save{grid-column:1 / -1}}.mgr{max-width:1000px;margin:0 auto;width:100%}.mgr-titlerow{display:flex;align-items:center;gap:14px;margin-bottom:18px}.mgr-titlerow h1{font-size:24px;font-weight:800;color:var(--ink);margin:0}.mgr-lock{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);background:var(--cream);border:1px solid var(--cream-dark);border-radius:999px;padding:4px 12px}.mgr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}@media (max-width: 720px){.mgr-kpis{grid-template-columns:1fr 1fr}}.mgr-kpi{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:14px 16px}.mgr-kpi .cap{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.mgr-kpi .num{font-size:24px;font-weight:800;color:var(--ink);margin-top:4px;font-variant-numeric:tabular-nums}.mgr-kpi .num.low{color:#8a5a00}.mgr-kpi .num.neg{color:var(--over)}.mgr-kpi .foot{font-size:11px;color:var(--ink-muted);margin-top:2px}.mgr-card{background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.mgr-cardh{padding:12px 16px;background:var(--ink);color:var(--cream);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.mgr-table{width:100%}.mgr-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr .7fr;align-items:center;padding:10px 16px;border-top:1px solid var(--cream-dark);font-size:13px;font-variant-numeric:tabular-nums}.mgr-table.team .mgr-row{grid-template-columns:1.4fr repeat(6,1fr)}.mgr-row>span:not(:first-child){text-align:right}.mgr-hrow{border-top:none;background:var(--cream);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.mgr-proj,.mgr-name{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgr-dot{width:9px;height:9px;border-radius:50%;flex:none}.mgr-row .ok{color:var(--teal);font-weight:700}.mgr-row .low{color:#8a5a00;font-weight:700}.mgr-row .neg{color:var(--over);font-weight:700}@media (max-width: 640px){.mgr-table.team{overflow-x:auto}.mgr-table.team .mgr-row{min-width:620px}}.mgr-chart{display:flex;align-items:flex-end;gap:14px;height:180px;padding:18px 18px 6px}.mgr-bargroup{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.mgr-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}.mgr-bar{width:26px;border-radius:5px 5px 0 0;min-height:2px}.mgr-barlbl{font-size:11px;font-weight:700;color:var(--ink-muted);margin-top:6px}.mgr-legend{display:flex;gap:18px;justify-content:center;padding:0 0 14px;font-size:12px;color:var(--ink-soft)}.mgr-legend .sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:middle}.mgr-legend .sw.cost{background:var(--gold)}.est{border:1.5px solid var(--gold);border-radius:var(--radius-sm);overflow:hidden;margin-top:10px;background:#fffdf7}.est-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--gold-light)}.est-title{font-size:13px;font-weight:800;color:var(--ink)}.est-form{padding:10px 14px;display:flex;flex-direction:column;gap:7px}.est-sec{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin-top:6px;border-top:1px solid var(--cream-dark);padding-top:8px}.est-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.est-lbl{font-size:12px;color:var(--ink-soft)}.est-u{font-size:11px;color:var(--ink-muted)}.est-n,.est-t,.est-s{font:inherit;font-size:13px;border:1.5px solid var(--cream-dark);border-radius:5px;padding:5px 7px;color:var(--ink);background:#fff}.est-t{width:110px}.est-s{min-width:130px}.est-n:focus,.est-t:focus,.est-s:focus{outline:none;border-color:var(--gold)}.est-chk{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-soft)}.est-results{padding:8px 14px 12px;border-top:1px solid var(--cream-dark)}.est-rrow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;font-size:12px;padding:4px 0;font-variant-numeric:tabular-nums}.est-rrow>span:not(:first-child){text-align:right}.est-rhead{font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:10px;border-bottom:1px solid var(--cream-dark)}.est-rtot{border-top:1.5px solid var(--ink);font-weight:800;color:var(--ink);margin-top:3px}.est-rtot>span:nth-child(3){color:var(--gold-ink, #8a5a00)}.est-meta{font-size:11px;color:var(--ink-muted);margin-top:8px}.est-margin.ok{color:var(--teal);font-weight:700}.est-margin.low{color:#8a5a00;font-weight:700}.est-margin.neg{color:var(--over);font-weight:700}.est-foot{display:flex;align-items:center;gap:12px;padding:0 14px 14px}.est-msg{font-size:12px;color:var(--teal);font-weight:600}.est-line-lvl{flex-direction:column;align-items:stretch;gap:4px}.est-s.wide{width:100%;min-width:0}.cg-block.done{opacity:.6}.cg-block.done .cg-lbl{text-decoration:line-through}.cg-chip.done,.pp-chip.done{opacity:.55;text-decoration:line-through}.undo-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:120;background:var(--ink);color:var(--cream);border-radius:999px;padding:10px 12px 10px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 24px #141a204d;font-size:13px}.undo-toast button{background:var(--gold);color:var(--ink);border:none;border-radius:999px;font:inherit;font-weight:700;padding:5px 14px;cursor:pointer}.task-move{display:inline-flex;flex-direction:column;gap:1px;flex:none;margin-right:2px}.task-mv{background:none;border:none;color:var(--ink-muted);cursor:pointer;font-size:8px;line-height:1;padding:1px 2px}.task-mv:hover:not(:disabled){color:var(--blue)}.task-mv:disabled{opacity:.25;cursor:default}.custom-sep{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:10px 22px 4px}:root{--font-head: "Figtree", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;--canvas: #eef0f3;--surface: #ffffff;--line: #e6e9ed;--cream: #eef0f3;--cream-dark: #e6e9ed;--ink: #2c3a47;--ink-soft: #3b4550;--ink-muted: #8a94a0;--pink: #f86c9d;--blue: #f86c9d;--blue-light: #ffe4ee;--gold: #f8b400;--gold-light: #fff5e2;--teal: #20a99e;--teal-light: #e7f9f2;--purple: #6b4aa0;--purple-light: #f3f0fa;--font-display: "Anton", "Figtree", system-ui, sans-serif;--m-aqua: #8fd4ce;--m-green: #cbdd97;--m-yellow: #ecd781;--m-pink: #ed8faa;--on-bright: #1b2730;--band-bg: #eef4fb;--band-line: #d9e4f1;--paper: #f6f3ee;--mist: #edf3f1;--good-ink: #2f9e57}body{font-family:var(--font-body);background:var(--canvas);color:var(--ink)}h1,h2,h3,.panel-title,.rates-title,.ts-title,.tv-title{font-family:var(--font-head);font-weight:700}.topbars{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--line),0 8px 22px #2c3a470d}.header{background:#fff;padding:15px 26px 0;display:flex;align-items:center;justify-content:space-between}.brandmark{display:flex;align-items:center;gap:11px}.wordmark{font-family:var(--font-head);font-weight:700;font-size:17px;letter-spacing:.02em;color:var(--ink)}.wm-cut{-webkit-text-stroke:1px var(--ink);-webkit-text-fill-color:transparent}.header-right{display:flex;align-items:center;gap:14px}.header-user{font-size:12.5px;color:var(--ink-muted)}.header-link{background:none;border:none;color:var(--ink-muted);font-size:12.5px;cursor:pointer;padding:0}.header-link:hover{color:var(--ink)}.header-badge{background:var(--gold-light);color:#a9761a;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px}.tabs{background:#fff;display:flex;gap:22px;padding:12px 26px 0;border-bottom:1px solid var(--line);overflow-x:auto}.tab{background:none;border:none;padding:0 0 11px;margin:0;font-family:var(--font-head);font-weight:600;font-size:13px;color:var(--ink-muted);border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap;border-radius:0;transition:color .12s}.tab:hover{color:var(--ink);background:none;transform:none}.tab.on{color:var(--ink);background:none;border-bottom-color:var(--gold)}.ptabs{background:#fff;border-bottom:1px solid var(--line);padding:10px 26px;display:flex;align-items:center;gap:9px;flex-wrap:nowrap;overflow-x:auto}.ptabs-lead{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);flex:none}.ptab{display:inline-flex;align-items:center;gap:7px;border:1px solid;border-radius:999px;padding:6px 13px;font-family:var(--font-head);font-weight:600;font-size:12px;cursor:pointer;flex:none;box-shadow:none}.ptab:hover{transform:translateY(-1px)}.ptab.on{box-shadow:0 3px 10px #2c3a4724}.ptab-dot{width:7px;height:7px;border-radius:50%;flex:none}.ptab-lbl{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbar{background:#fbfcfd;border-top:none;border-bottom:1px solid var(--line);padding:9px 26px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink)}.tbar-lead{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}.tbar-lead:before{content:"";width:7px;height:7px;border-radius:50%;background:#ff5a5a;box-shadow:0 0 0 3px #ff5a5a2e}.tbar-item{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 8px;color:var(--ink-soft);box-shadow:none}.tbar-item.on{background:#fff;border:1.5px solid var(--gold);box-shadow:none}.tbar-play{color:var(--ink-muted)}.tbar-item.on .tbar-play{color:var(--ink)}.tbar-clock{font-family:var(--font-head);font-weight:700;font-size:12.5px;color:var(--ink)}.tbar-item:not(.on) .tbar-clock{font-weight:600;color:var(--ink-muted)}.tbar-where{color:var(--ink-soft)}.tbar-x{color:#c2c9d0}.tbar-x:hover{color:#ff8a8a}.container{padding-top:28px}.dash2{max-width:1040px;margin:0 auto;width:100%}.dash-hi{display:flex;align-items:center;gap:11px}.dash-greet{font-family:var(--font-head);font-weight:800;font-size:27px;letter-spacing:-.02em;color:#1c2530;margin:0}.dash-spark{flex:none}.dash-new{margin-left:auto;font-family:var(--font-head);font-weight:600;font-size:12.5px;background:var(--gold);color:var(--ink);border:none;border-radius:9px;padding:9px 16px;cursor:pointer;box-shadow:0 4px 12px #f8b40047}.dash-sub{font-size:13.5px;color:var(--ink-muted);margin:5px 0 24px}.dash-sub-warn{color:#d1483b;font-weight:600}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.kpi2{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 15px}.kpi2-rule{display:block;width:22px;height:3px;border-radius:2px;margin-bottom:10px}.kpi2-cap{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#96a0a9}.kpi2-num{font-family:var(--font-head);font-weight:700;font-size:26px;color:#1c2530;font-variant-numeric:tabular-nums}.dash-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}@media (max-width: 820px){.dash-cols{grid-template-columns:1fr}.kpi-row{grid-template-columns:1fr 1fr}}.dash-col-h{font-family:var(--font-head);font-weight:600;font-size:14px;color:#3b4550;margin-bottom:12px}.pcard-list{display:flex;flex-direction:column;gap:12px}.pcard2{display:flex;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;padding:0;font:inherit;color:inherit;transition:border-color .12s,transform .06s}.pcard2:hover{border-color:#d4d9df;transform:translateY(-1px)}.pcap{width:5px;flex:none}.pcard2-body{flex:1;min-width:0;padding:13px 15px;display:block}.pc-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}.pc-code{font-family:var(--font-head);font-weight:600;font-size:10px;padding:2px 8px;border-radius:6px}.pc-phase{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#aeb6be;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-title{display:block;font-family:var(--font-head);font-weight:600;font-size:14px;color:#1c2530}.pc-bar{display:block;height:6px;background:#eceef1;border-radius:3px;overflow:hidden;margin:10px 0 6px}.pc-fill{display:block;height:100%;border-radius:3px}.pc-foot{display:flex;justify-content:space-between;font-size:11px;color:#79828b;font-variant-numeric:tabular-nums}.pc-warn{color:#d1483b;font-weight:600}.pc-est{color:#aeb6be;font-style:italic}.upnext{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px}.up-item{display:flex;align-items:center;gap:11px;background:none;border:none;border-radius:10px;padding:8px 10px;cursor:pointer;text-align:left;font:inherit;color:inherit}.up-item:hover{background:#f6f7f9}.up-badge{flex:none;width:42px;height:42px;border-radius:10px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.up-dow{font-family:var(--font-head);font-weight:700;font-size:8.5px;text-transform:uppercase;opacity:.9}.up-day{font-family:var(--font-head);font-weight:800;font-size:15px}.up-main{flex:1;min-width:0}.up-title{display:block;font-family:var(--font-head);font-weight:600;font-size:12.5px;color:#1c2530;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-sub{display:block;font-size:10.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-empty{color:var(--ink-muted);font-size:13px;padding:20px 4px}.dash-empty.small{padding:14px 6px;font-size:12px}.up-item{padding-left:8px}.up-pdot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle}.tab-badge{display:inline-block;margin-left:6px;min-width:16px;height:16px;line-height:16px;text-align:center;font-size:10px;font-weight:700;color:#fff;background:#f86c9d;border-radius:999px;padding:0 5px;vertical-align:middle}.chat{display:grid;grid-template-columns:244px 1fr;height:calc(100vh - 250px);min-height:460px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}@media (max-width: 720px){.chat{grid-template-columns:1fr}.chat-side{display:none}}.chat-side{border-right:1px solid var(--line);overflow-y:auto;padding:12px 10px;background:#fbfcfd}.chat-sec{margin-bottom:14px}.chat-sec-h{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 8px 6px}.chat-conv{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;border-radius:8px;padding:7px 9px;cursor:pointer;text-align:left;font:inherit;color:var(--ink-soft)}.chat-conv:hover{background:#eef1f4}.chat-conv.on{background:var(--gold-light);color:var(--ink);font-weight:600}.chat-conv.is-closed{opacity:.62}.chat-closed-toggle{display:block;width:100%;background:none;border:none;padding:7px 9px;font:inherit;font-size:12px;font-weight:700;color:var(--ink-muted);text-align:left;cursor:pointer;border-radius:8px}.chat-closed-toggle:hover{background:#eef1f4;color:var(--ink-soft)}.chat-hash{color:var(--ink-muted);font-weight:700;width:16px;text-align:center;flex:none}.chat-hash.big{font-size:18px}.chat-dot{width:9px;height:9px;border-radius:50%;flex:none}.chat-ava{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;flex:none}.chat-ava.sm{width:22px;height:22px;font-size:9px}.chat-conv-name{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-badge{min-width:18px;height:18px;line-height:18px;text-align:center;font-size:10px;font-weight:700;color:#fff;background:#f86c9d;border-radius:999px;padding:0 5px;flex:none}.chat-main{display:flex;flex-direction:column;min-width:0}.chat-head{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--line)}.chat-title{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--ink)}.chat-open{margin-left:auto;background:none;border:none;color:var(--teal);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.chat-msgs{flex:1;overflow-y:auto;padding:14px 18px}.chat-empty{color:var(--ink-muted);text-align:center;padding:40px 0;font-size:13px}.chat-day{text-align:center;margin:14px 0 10px;position:relative}.chat-day span{background:#fff;position:relative;z-index:1;padding:0 12px;font-size:11px;font-weight:600;color:var(--ink-muted)}.chat-day:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}.chat-msg{display:flex;gap:10px;padding:2px 0}.chat-msg.grp{padding-top:1px}.chat-msg.grp .chat-bubble-wrap{margin-left:40px}.chat-bubble-wrap{min-width:0;max-width:76%}.chat-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.chat-meta b{font-size:12.5px;font-weight:600;color:var(--ink)}.chat-meta span{font-size:10.5px;color:var(--ink-muted)}.chat-bubble{position:relative;background:#f1f3f5;border-radius:12px;padding:8px 12px;font-size:13.5px;line-height:1.5;color:var(--ink);white-space:pre-wrap;word-break:break-word}.chat-msg.mine{flex-direction:row-reverse}.chat-msg.mine .chat-bubble-wrap{margin-left:0}.chat-msg.mine .chat-meta{flex-direction:row-reverse}.chat-msg.mine .chat-bubble{background:var(--gold-light)}.chat-msg.mine.grp .chat-bubble-wrap{margin-right:40px;margin-left:0}.chat-mention{color:#c14b74;font-weight:600;background:#ffe4ee;border-radius:4px;padding:0 3px}.chat-edited{font-size:10.5px;color:var(--ink-muted)}.chat-actions{display:none;gap:2px;position:absolute;top:-10px;right:6px;background:#fff;border:1px solid var(--line);border-radius:7px}.chat-bubble:hover .chat-actions{display:inline-flex}.chat-actions button{background:none;border:none;cursor:pointer;color:var(--ink-muted);font-size:12px;padding:3px 6px}.chat-actions button:hover{color:var(--blue)}.chat-edit textarea{width:100%;min-height:54px;font:inherit;font-size:13.5px;border:1.5px solid var(--purple);border-radius:8px;padding:8px 10px;outline:none;resize:vertical}.chat-edit-a{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.chat-composer{display:flex;gap:10px;align-items:flex-end;padding:12px 16px;border-top:1px solid var(--line)}.chat-composer textarea{flex:1;min-height:42px;max-height:140px;font:inherit;font-size:13.5px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;resize:vertical}.chat-composer textarea:focus{border-color:var(--gold)}.chat-send{flex:none}.brand-logo{height:26px;width:auto;display:block}.chat-thread{display:flex;flex-direction:column;flex:1;min-height:0}.pv-rail .chat-thread{height:100%}.rail-chat{display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:420px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.rail-chat-h{padding:11px 14px;border-bottom:1px solid var(--line);font-family:var(--font-head);font-weight:700;font-size:13px}.pv-title{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--ink);cursor:pointer}.pv-title:hover .pv-title-ed{color:var(--blue)}.pv-title-ed{color:var(--ink-muted);font-size:12px}.pv-client{color:var(--ink-muted);font-size:13px}.pv-title-edit{display:inline-flex;align-items:center;gap:6px}.pv-title-input{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--ink);border:1.5px solid var(--purple);border-radius:6px;padding:5px 9px;min-width:240px;outline:none}.pv-client-btn{cursor:pointer}.pv-client-btn:hover .pv-title-ed{color:var(--blue)}.pv-client-input{font-size:13px;color:var(--ink);border:1.5px solid var(--purple);border-radius:6px;padding:5px 9px;min-width:180px;outline:none}.pv{max-width:1200px;margin:0 auto}.pv-top{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:16px}.pv-back{background:none;border:none;color:var(--ink-muted);font-size:13px;cursor:pointer;padding:0}.pv-back:hover{color:var(--ink)}.pv-projdot{width:11px;height:11px;border-radius:50%}.pv-title{font-size:20px}.pv-saved{font-size:11px;color:var(--ink-muted);margin-left:auto}.pill{border-radius:999px;font-weight:600;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px}.pill.trackpill.ta{background:var(--blue-light);color:#c14b74}.pill.trackpill.tb,.pill.active{background:var(--teal-light);color:var(--teal)}.pill.closed{background:#eceef1;color:var(--ink-muted)}.btn-timer{border-radius:999px;font-family:var(--font-head);font-weight:600;font-size:12px;padding:7px 14px}.stepper{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;margin-bottom:4px}.step{flex:1 1 0;min-width:118px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;text-align:left;transition:border-color .12s,transform .06s}.step:hover{border-color:#d4d9df;transform:translateY(-1px)}.step.cur{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.sid{font-family:var(--font-head);font-weight:800;font-size:13px;color:var(--ink)}.step.done .sid:after{content:" ✓";color:var(--teal);font-weight:700}.snm{font-size:11px;color:var(--ink-muted);margin:2px 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sbar{height:5px;background:#eceef1;border-radius:3px;overflow:hidden}.sfill{height:100%;background:var(--gold);border-radius:3px}.step.done .sfill{background:var(--teal)}.sprog{font-size:10px;color:var(--ink-muted);margin-top:6px;font-variant-numeric:tabular-nums}.checklist-panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:none}.panel-header{padding:16px 18px;border-bottom:1px solid var(--line)}.panel-phase-tag{border-radius:6px}.panel-phase-tag.tag-a{background:var(--blue-light);color:#c14b74}.panel-phase-tag.tag-b{background:var(--teal-light);color:var(--teal)}.panel-title{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--ink)}.panel-owner-line{font-size:12px;color:var(--ink-muted)}.check-item{border-bottom:1px solid var(--line)}.check-item:last-of-type{border-bottom:none}.check-row{padding:11px 16px;gap:10px}.check-row:hover{background:#f8f9fb}.check-box{width:20px;height:20px;border:2px solid #d4d9df;border-radius:50%;color:transparent;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:none}.check-item.is-checked .check-box{background:var(--teal);border-color:var(--teal);color:#fff}.check-label{font-size:13.5px;color:var(--ink)}.check-item.is-checked .check-label{text-decoration:line-through;color:var(--ink-muted)}.check-detail{font-size:11.5px;color:var(--ink-muted)}.progress-bar-fill{background:var(--teal)}.add-task-input,.input{border-radius:8px}.custom-sep{color:var(--ink-muted)}.check-item.highlight{background:var(--gold-light)}.assignee-select,.due-input{border:1px solid var(--line);border-radius:7px;font-size:12px;padding:4px 7px;color:var(--ink);background:#fff}.task-timer{border-color:var(--line)}.rail-toggle{display:flex;gap:6px;margin-bottom:12px}.rail-toggle button{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 13px;font-family:var(--font-head);font-weight:600;font-size:12px;color:var(--ink-muted);cursor:pointer}.rail-toggle button:hover{color:var(--ink)}.rail-toggle button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.rail-hide{margin-left:auto}.context-card,.pp,.rail-chat{border-radius:14px}.ts-modes,.tv-modes{border:1px solid var(--line);border-radius:9px;overflow:hidden}.ts-modes button,.tv-modes button{font-family:var(--font-head);font-weight:600;font-size:12px;color:var(--ink-muted);padding:7px 15px;border-left:1px solid var(--line);background:#fff}.ts-modes button.on,.tv-modes button.on{background:var(--ink);color:#fff}.ts-title,.tv-title,.rates-title{font-family:var(--font-head);font-weight:800;font-size:20px;color:#1c2530}.ts-splitbar .ts-split{border-radius:8px}.ts-split.bill{background:var(--teal-light);color:var(--teal)}.ts-split.non{background:var(--gold-light);color:#a9761a}.ts-split.tot{background:#fff;border:1px solid var(--line);color:var(--ink)}.ts-row{border:1px solid var(--line);border-radius:10px}.ts-row:hover{border-color:#d4d9df}.ts-sumtable,.ts-add{border:1px solid var(--line);border-radius:14px}.ts-sumhead,.ts-sumrow{padding-left:16px;padding-right:16px}.ts-sumhead{background:#f7f8fa}.ts-bill.yes{background:var(--teal-light);color:var(--teal)}.ts-sumbill,.ts-billed{color:var(--teal)}.in,.ts-in-proj,.ts-in-time,.ts-in-dur,.ts-in-note,.ts-date{border-radius:8px}.tv-row{border:1px solid var(--line);border-radius:10px}.tv-row:hover{border-color:#d4d9df}.tv-ava{background:var(--ink)}.mgr-titlerow h1{font-family:var(--font-head);font-weight:800;color:#1c2530}.mgr-lock{background:var(--gold-light);color:#a9761a;border:none}.mgr-kpi{border:1px solid var(--line);border-radius:12px}.mgr-kpi .num.ok{color:var(--teal)}.mgr-card{background:#fff;border:1px solid var(--line);border-radius:14px}.mgr-cardh{background:#fff;color:#1c2530;border-bottom:1px solid var(--line);font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:normal;text-transform:none}.mgr-hrow{background:#f7f8fa}.mgr-row{border-top-color:var(--line)}.mgr-bar.bill{background:var(--teal)}.mgr-bar.cost{background:var(--gold)}.mgr-legend .sw.bill{background:var(--teal)}.mgr-row .ok{color:var(--teal)}.rates-table{border:1px solid var(--line);border-radius:14px}.rates-note{background:var(--gold-light);border-color:#f0d79a;color:#8a5a00;border-radius:10px}.rates-in input{border-radius:8px}.attn2{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;margin-bottom:22px}.attn2-h{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--ink);padding:6px 10px 4px}.attn2-row{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;border-radius:9px;padding:9px 10px;cursor:pointer;text-align:left;font:inherit}.attn2-row:hover{background:#f6f7f9}.attn2-sev{width:8px;height:8px;border-radius:50%;flex:none}.attn2-sev.over,.attn2-sev.late{background:#d1483b}.attn2-sev.warn{background:var(--gold)}.attn2-txt{flex:1;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attn2-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 9px;border-radius:999px;flex:none;font-variant-numeric:tabular-nums}.attn2-tag.over,.attn2-tag.late{background:#fbe4e1;color:#d1483b}.attn2-tag.warn{background:var(--gold-light);color:#a9761a}.dash-band{position:relative;background:var(--band-bg);border:1px solid var(--band-line);border-radius:16px;padding:13px 15px 17px;display:flex;flex-direction:column;gap:12px;overflow:hidden;margin-bottom:20px;box-shadow:0 1px 2px #2c3a470d}.dash-band:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--pink)}.dash-band-top{display:flex;align-items:center;gap:16px;padding:0 4px}.dash-band-head{display:flex;flex-direction:row;align-items:baseline;gap:13px;flex-wrap:wrap;min-width:0}.dash-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;line-height:1;font-size:29px;color:#1c2530;margin:0}.dash-band-sub{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--ink-soft);font-weight:700;font-size:12.5px;padding:5px 12px;border-radius:9px}.dash-band-sub .spk{color:var(--gold);font-size:13px}.dash-band .dash-new{margin:0 0 0 auto;flex:none;background:var(--ink);color:#fff;box-shadow:none;font-size:13.5px;padding:9px 17px;border-radius:11px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}@media (max-width: 680px){.kpi-row{grid-template-columns:1fr 1fr}}.kpi2{border:none;border-radius:12px;padding:11px 14px 12px;min-height:0;display:flex;flex-direction:column;color:var(--on-bright);box-shadow:0 1px 3px #00000017}.kpi2 .kpi2-rule{display:none}.kpi2.k1{background:var(--m-aqua)}.kpi2.k2{background:var(--m-green)}.kpi2.k3{background:var(--m-yellow)}.kpi2.k4{background:var(--m-pink)}.kpi2-cap{font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:9.5px;color:var(--on-bright);opacity:.72}.kpi2-num{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;font-size:25px;color:var(--on-bright);line-height:1;margin-top:5px}.dzone-h{display:flex;align-items:baseline;gap:11px;margin:0 0 14px}.dzone-h h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;font-size:24px;color:var(--ink);margin:0}.dzone-h.sm h2{font-size:16px}.dzone-count{font-weight:700;color:var(--ink-muted);font-size:13px}.band-attn{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 4px 0}.band-attn-lead{flex:none;display:inline-flex;align-items:center;gap:5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:#a9761a}.band-attn-chip{display:inline-flex;align-items:center;gap:7px;max-width:340px;background:#fff;border:1px solid var(--band-line);border-radius:999px;padding:4px 11px;font:inherit;font-size:11.5px;font-weight:600;color:var(--ink);cursor:pointer}.band-attn-chip:hover{border-color:#d4d9df;box-shadow:0 2px 8px #2c3a4714}.band-attn-chip .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-attn-sev{width:7px;height:7px;border-radius:50%;flex:none}.band-attn-sev.over,.band-attn-sev.late{background:#d1483b}.band-attn-sev.warn{background:#c07f00}.band-attn-chip .tag{flex:none;font-weight:800;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:#8a5a00}.dash2{max-width:1180px}.dash-main{display:grid;grid-template-columns:1fr 292px;gap:20px;align-items:start;margin-top:22px}@media (max-width: 900px){.dash-main{grid-template-columns:1fr}}.pcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:16px}.pcard-grid .pcard2{flex-direction:column;border-radius:16px}.pcard-grid .pcard2:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2c3a4717}.pcard-grid .pcap{width:100%;height:8px}.pcard-grid .pcard2-body{padding:15px 17px 17px}.pcard-grid .pc-title{font-size:16px;font-weight:800}.pcard-grid .pc-code{font-weight:900}.dash-upnext{background:#f6f3ee;border:1px solid rgba(0,0,0,.03);border-radius:16px;padding:14px}.dash-upnext .upnext{background:none;border:none;border-radius:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-upnext .up-item{background:#fff;border:1px solid var(--line);border-left-width:5px;border-radius:12px;padding:9px 12px;gap:12px}.dash-upnext .up-item:hover{box-shadow:0 2px 8px #2c3a470f}.dash-upnext .up-badge{width:42px;height:42px;border-radius:11px}.dash-upnext .up-dow{font-size:8.5px}.dash-upnext .up-day{font-family:var(--font-display);font-weight:400;font-size:18px}.dash-upnext .up-title{font-size:12.5px;font-weight:700}.dash-upnext .up-sub{font-size:10.5px}.dash2-wide{max-width:1180px;margin:0 auto;width:100%}.sband-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-band .ts-modes{display:inline-flex;gap:4px}.dash-band .ts-nav{display:inline-flex;align-items:center;gap:6px}.ts-splitkpis{grid-template-columns:repeat(3,1fr)}.ts-splitkpis .k-bill{background:var(--m-green)}.ts-splitkpis .k-non{background:var(--m-yellow)}.ts-splitkpis .k-trk{background:var(--m-aqua)}.chat{height:calc(100vh - 334px)}.mgr-kpi .num{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}.files-wrap{max-width:1180px;margin:0 auto;width:100%}.app-shell{transition:padding-right .18s ease}@media (min-width: 641px){.asst-docked{padding-right:416px}}.asst-launch{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 10px 6px 11px;cursor:pointer;font:inherit;color:var(--ink-muted)}.asst-launch:hover{border-color:#cfd6dd;color:var(--ink)}.asst-launch-ic{font-size:15px;line-height:1}.asst-launch-lbl{font-size:12.5px;font-weight:600}@media (max-width: 560px){.asst-launch-lbl{display:none}}.asst-kbd{font-family:var(--font-body);font-size:10px;font-weight:700;color:var(--ink-muted);background:var(--canvas);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.asst-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a1f42;z-index:190;animation:asst-fade .15s ease}.asst{position:fixed;top:0;right:0;bottom:0;width:416px;max-width:100vw;background:var(--surface);border-left:1px solid var(--line);box-shadow:-14px 0 40px #141a1f1f;z-index:200;display:flex;flex-direction:column;animation:asst-slide .2s cubic-bezier(.2,.7,.3,1)}.asst.pinned{box-shadow:-8px 0 24px #141a1f12}@media (max-width: 640px){.asst{width:100%}}@keyframes asst-slide{0%{transform:translate(28px);opacity:.4}to{transform:none;opacity:1}}@keyframes asst-fade{0%{opacity:0}to{opacity:1}}.asst-head{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line)}.asst-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:17px;color:var(--ink)}.asst-modes{display:inline-flex;background:var(--canvas);border-radius:9px;padding:2px;margin-left:6px}.asst-modes button{border:none;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--ink-muted);padding:5px 12px;border-radius:7px;cursor:pointer}.asst-modes button.on{background:var(--ink);color:#fff}.asst-icon{background:none;border:none;cursor:pointer;font-size:15px;color:var(--ink-muted);padding:4px 6px;border-radius:7px}.asst-icon:hover{background:var(--canvas);color:var(--ink)}.asst-head .asst-icon:nth-of-type(1){margin-left:auto}.asst-head .asst-icon:last-child{font-size:20px;line-height:1}.asst-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:13px 14px;gap:11px}.asst-input{width:100%;font:inherit;font-size:14px;border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;outline:none}.asst-input:focus{border-color:#b9cde6}.asst-chips{display:flex;gap:7px;flex-wrap:wrap}.asst-chips button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 11px;font:inherit;font-size:11.5px;font-weight:600;color:var(--ink-muted);cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asst-chips button.on{background:var(--band-bg);border-color:var(--band-line);color:var(--ink)}.asst-results{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0 -6px;padding:0 6px}.asst-grp{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);margin:12px 4px 4px}.asst-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:none;border-radius:10px;padding:9px 8px;font:inherit;color:inherit}.asst-row.click{cursor:pointer}.asst-row.click:hover{background:var(--canvas)}.asst-code{flex:none;font-weight:900;font-size:10px;letter-spacing:.03em;color:var(--ink-soft);background:var(--canvas);border:1px solid var(--line);border-radius:6px;padding:3px 7px;min-width:62px;text-align:center}.asst-code.est{min-width:28px;color:#1f8f5e}.asst-badge{flex:none;width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.asst-main{min-width:0;display:flex;flex-direction:column}.asst-t{font-size:13.5px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asst-s{font-size:11.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asst-muted{color:var(--ink-muted);font-size:12.5px;padding:14px 6px}.asst-ask{align-items:center;text-align:center;justify-content:center}.asst-askhero{font-size:40px}.asst-askh{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:20px;color:var(--ink);margin-top:6px}.asst-ask p{font-size:13px;color:var(--ink-muted);line-height:1.6;max-width:320px}.asst-asknote{font-size:12px;font-weight:600;color:#8a5a00;background:var(--gold-light);border:1px solid #f0d79a;border-radius:10px;padding:10px 13px;max-width:320px}.asst-hint{font-size:11.5px;color:var(--ink-muted);margin:0 4px 2px}.asst-subject{gap:10px}.asst-back{align-self:flex-start;background:none;border:none;color:var(--ink-muted);font:inherit;font-size:12px;cursor:pointer;padding:2px}.asst-back:hover{color:var(--ink)}.asst-subj-card{background:var(--band-bg);border:1px solid var(--band-line);border-radius:12px;padding:12px 14px}.asst-subj-eyebrow{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}.asst-subj-name{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;font-size:19px;color:var(--ink);margin-top:3px;line-height:1.05}.asst-open-link{margin-top:9px;background:none;border:none;color:var(--teal);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;padding:0}.asst-open-link:hover{text-decoration:underline}.asst-ask-in{width:100%;font:inherit;font-size:13.5px;border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;outline:none;resize:vertical;min-height:70px}.asst-ask-in:focus{border-color:#b9cde6}.asst-ask-in:disabled{background:var(--canvas);color:var(--ink-muted)}.asst-ask-send{align-self:flex-start;background:var(--ink);color:#fff;border:none;border-radius:10px;font:inherit;font-weight:800;font-size:13px;padding:9px 18px;cursor:pointer}.asst-ask-send:disabled{opacity:.45;cursor:not-allowed}.plist2{max-width:1040px;margin:0 auto;width:100%}.plist-tools{display:flex;align-items:center;gap:10px;margin-bottom:18px}.plist-search{flex:1;font:inherit;font-size:13.5px;border:1.5px solid var(--line);border-radius:11px;padding:10px 13px;outline:none}.plist-search:focus{border-color:#b9cde6}.plist-seg{display:inline-flex;background:var(--canvas);border-radius:9px;padding:2px;flex:none}.plist-seg button{border:none;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--ink-muted);padding:6px 14px;border-radius:7px;cursor:pointer}.plist-seg button.on{background:var(--ink);color:#fff}.pcli{margin-bottom:22px}.pcli-h{display:flex;align-items:baseline;gap:9px;padding:0 2px 9px;border-bottom:1px solid var(--line);margin-bottom:10px}.pcli-dot{width:11px;height:11px;border-radius:50%;flex:none;align-self:center}.pcli-name{font-family:var(--font-head);font-weight:800;font-size:16px;color:var(--ink)}.pcli-count{font-size:12px;font-weight:600;color:var(--ink-muted)}.pcli-rows{display:flex;flex-direction:column;gap:8px}.prow{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:12px;padding:12px 15px;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s,transform .06s,box-shadow .12s}.prow:hover{transform:translateY(-1px);box-shadow:0 3px 12px #2c3a4712}.prow.is-closed{opacity:.62}.prow-code{flex:none;font-family:var(--font-head);font-weight:900;font-size:10.5px;letter-spacing:.03em;padding:3px 9px;border-radius:6px;min-width:76px;text-align:center}.prow-main{flex:1;min-width:0;display:flex;flex-direction:column}.prow-title{font-weight:800;font-size:14.5px;color:#1c2530;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow-meta{font-size:11.5px;color:var(--ink-muted);letter-spacing:.02em;text-transform:uppercase;margin-top:2px}.pipe-wrap,.fc-wrap{max-width:1180px;margin:0 auto;width:100%}.pipe-wrap{max-width:1344px}.pipe-board{display:grid;grid-template-columns:repeat(6,minmax(168px,1fr));gap:10px;overflow-x:auto;padding-bottom:10px;align-items:start}.pipe-col{min-width:0}@media (max-width: 720px){.pipe-board{grid-template-columns:1fr;overflow-x:visible}}.pipe-col-h{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:11px 11px 0 0;padding:9px 12px}.pipe-col-name{font-weight:800;font-size:12.5px}.pipe-col-n{font-size:11px;font-weight:700;color:var(--ink-muted);background:var(--canvas);border-radius:999px;padding:1px 8px}.pipe-col-w{margin-left:auto;font-size:11px;font-weight:700;color:var(--ink-soft)}.pipe-col-body{background:#f4f6f8;border:1px solid var(--line);border-top:none;border-radius:0 0 11px 11px;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:60px}.lead-card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;cursor:pointer;font:inherit;color:inherit}.lead-card:hover{border-color:#cfd6dd;box-shadow:0 2px 8px #2c3a4712}.lead-top{display:flex;align-items:center;gap:8px}.lead-co{font-weight:800;font-size:13.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-ava{flex:none;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.lead-contact{font-size:11.5px;color:var(--ink-muted);margin-top:2px}.lead-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:7px}.lead-val{font-weight:800;font-size:12px;color:var(--ink)}.lead-prob{font-size:11px;font-weight:700;color:#1f8f5e;background:#e7f9f2;border-radius:999px;padding:1px 7px}.lead-next{font-size:11px;color:var(--ink-soft);margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipe-empty{text-align:center;color:#c7ced5;font-size:12px;padding:6px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a18146b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:300}.lead-modal{max-width:640px;width:100%;max-height:90vh;overflow-y:auto}.lead-ai{display:flex;flex-direction:column;gap:7px;background:var(--gold-light);border:1px solid #f0d79a;border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:600;color:#8a5a00;margin-bottom:12px}.lead-ai-top{display:flex;flex-direction:column;gap:2px}.lead-ai-note{font-size:11px;font-weight:600;opacity:.8}.lead-ai-in{font-size:12.5px;color:var(--ink);font-weight:400}.lead-ai-actions{display:flex;justify-content:flex-end}.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 520px){.lead-grid{grid-template-columns:1fr}}.lead-retainer{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;background:var(--mist);border-radius:10px;padding:9px 11px}.lead-retainer-tick{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);cursor:pointer}.lead-retainer-grid{display:grid;grid-template-columns:1fr 1fr 90px;gap:10px}@media (max-width: 520px){.lead-retainer-grid{grid-template-columns:1fr 1fr}}.lead-retainer-total{font-size:12.5px;color:var(--ink)}.lead-vals{display:flex;flex-direction:column;gap:1px;flex:1 1 auto}.lead-vals .lead-val{white-space:nowrap}.kpi2-sub{font-size:11px;font-weight:700;color:var(--on-bright);opacity:.8;margin-top:4px}.fc-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 820px){.fc-cols{grid-template-columns:1fr}}.fc-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px 17px}.fc-h{font-family:var(--font-head);font-weight:800;font-size:14px;color:var(--ink);margin-bottom:12px}.fc-bars{display:flex;flex-direction:column;gap:9px}.fc-barrow{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:10px}.fc-barlbl{font-size:11.5px;color:var(--ink-soft);font-weight:600}.fc-bartrack{height:10px;background:#eef1f4;border-radius:999px;overflow:hidden}.fc-bartrack>i{display:block;height:100%;border-radius:999px;background:var(--teal);min-width:2px}.fc-barval{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.fc-table{display:flex;flex-direction:column}.fc-row{display:grid;grid-template-columns:1.4fr .6fr 1fr 1fr;gap:8px;padding:8px 2px;font-size:13px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.fc-row>span:not(:first-child){text-align:right}.fc-hrow{border-top:none;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.fc-trow{font-weight:800;border-top:2px solid var(--line)}.fc-won{margin-top:10px;font-size:12px;color:var(--ink-muted);font-weight:600}.fc-note{margin-top:16px;font-size:12px;color:var(--ink-muted);text-align:center}.money{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.money-sec{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.money-h{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-head);font-weight:800;font-size:13px;color:var(--ink);margin-bottom:10px}.money-tot{font-size:11.5px;font-weight:700;color:var(--ink-soft)}.money-lock{font-size:10.5px;font-weight:600;color:var(--ink-muted)}.money-empty{font-size:12px;color:var(--ink-muted);padding:4px 2px 8px}.money-add{background:none;border:1px dashed var(--line);border-radius:9px;width:100%;padding:8px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-muted);cursor:pointer;margin-top:6px}.money-add:hover{border-color:#cfd6dd;color:var(--ink)}.exp-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line)}.exp-row:first-of-type{border-top:none}.exp-cat{flex:none;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#55606c;background:var(--canvas);border-radius:5px;padding:2px 6px}.exp-main{flex:1;min-width:0;display:flex;flex-direction:column}.exp-vendor{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-sub{font-size:10.5px;color:var(--ink-muted)}.exp-amt{flex:none;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}.exp-x{flex:none;background:none;border:none;color:#c2c9d0;cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.exp-x:hover{color:#d1483b}.bill-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.bill-sum>div{background:var(--canvas);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column}.bill-sum span{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted)}.bill-sum b{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px}.bill-left{background:var(--band-bg)!important}.inv-row{display:flex;flex-direction:column;gap:5px;padding:8px 0;border-top:1px solid var(--line)}.inv-top{display:flex;align-items:center;gap:8px}.inv-label{flex:1;min-width:0;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-amt{flex:none;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.inv-dates{display:flex;gap:14px;padding-left:1px;flex-wrap:wrap}.inv-dates label{font-size:10px;color:var(--ink-muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:5px}.inv-dates input{font:inherit;font-size:11px;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:2px 5px}.bill-count{font-size:10px;font-weight:800;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.money-mini{background:none;border:none;color:var(--ink-muted);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;margin-top:8px;text-align:left;padding:2px;align-self:flex-start}.money-mini:hover{color:var(--ink)}.inv-status{flex:none;font:inherit;font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:7px;padding:3px 6px;cursor:pointer;background:#fff;text-transform:capitalize}.inv-status.s-planned{color:var(--ink-muted)}.inv-status.s-sent{color:#8a5a00;background:var(--gold-light);border-color:#f0d79a}.inv-status.s-paid{color:#1f8f5e;background:#e7f9f2;border-color:#b7ead5}.money-form{background:var(--canvas);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:7px;margin-top:8px}.money-form .input{font-size:12.5px;padding:7px 9px}.mf-row{display:flex;gap:7px}.mf-row .input{flex:1;min-width:0}.mf-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);white-space:nowrap}.mf-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:2px}.prow-bill{flex:none;font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap}.prow-bill.to-inv{background:var(--gold-light);color:#8a5a00}.prow-bill.unpaid{background:#eef1f4;color:#55606c}.prow-bill.done{background:#e7f9f2;color:#1f8f5e}.dash-bill{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-top:2px}.dash-bill-ic{font-size:15px}.dash-bill-lead{font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:var(--ink)}.dash-bill-chip{font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px}.dash-bill-chip.to-inv{background:var(--gold-light);color:#8a5a00}.dash-bill-chip.unpaid{background:#eef1f4;color:#55606c}.dash-bill-note{margin-left:auto;font-size:10.5px;color:var(--ink-muted);font-weight:600}.cc-actions{margin-left:auto;display:flex;gap:8px;flex:none}.cc-actions .dash-new{margin:0}.cc-btn{background:var(--surface);color:var(--ink);border:1px solid var(--band-line);border-radius:11px;padding:8px 15px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.cc-btn:hover{border-color:var(--ink-muted)}.cc-btn.sm{padding:5px 11px;font-size:12px;border-radius:9px;flex:none}.cc-kpis{grid-template-columns:2fr 1fr 1fr 1fr}@media (max-width: 680px){.cc-kpis{grid-template-columns:1fr 1fr}.cc-kpis .cc-bill{grid-column:1 / -1}}.cc-of{font-size:16px;opacity:.6}.cc-bar{display:block;height:7px;border-radius:4px;background:#1b273024;margin-top:8px;overflow:hidden}.cc-bar-fill{display:block;height:100%;border-radius:4px;background:var(--gold);transition:width .3s ease}.cc-bill.met .cc-bar-fill{background:var(--good-ink)}.cc-foot{font-size:11px;font-weight:600;margin-top:6px;color:var(--on-bright);opacity:.8}.cc-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}@media (max-width: 900px){.cc-main{grid-template-columns:1fr}}.cc-side{display:flex;flex-direction:column;gap:18px;min-width:0}.cc-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;min-width:0}.cc-card .dzone-h{margin-bottom:10px}.cc-capped{border-top:4px solid var(--pink)}.cc-capped.pipe{border-top-color:var(--teal)}.cc-running{display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:12px;padding:9px 12px;margin-bottom:10px}.cc-running .cc-btn{background:transparent;color:#fff;border-color:#ffffff59}.cc-live{width:9px;height:9px;border-radius:50%;background:var(--teal);flex:none;box-shadow:0 0 0 3px #20a99e4d}.cc-run-txt{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-run-time{font-family:var(--font-display);font-size:18px;font-variant-numeric:tabular-nums}.cc-rows{display:flex;flex-direction:column;gap:8px}.cc-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-left-width:5px;border-radius:12px;padding:8px 12px}.cc-badge .up-day{font-family:var(--font-display);font-weight:400;font-size:18px}.cc-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;background:none;border:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.cc-row-title{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-row-sub{font-size:11.5px;color:var(--ink-muted)}.cc-row-sub.late{color:var(--over);font-weight:700}.cc-on{flex:none;font-size:11.5px;font-weight:800;color:var(--teal)}.cc-more{margin-top:10px;background:none;border:none;padding:0;font:inherit;font-size:12px;font-weight:700;color:var(--ink-muted);cursor:pointer}.cc-more:hover{color:var(--ink)}.cc-attn{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.cc-attn .band-attn-chip{max-width:100%}.cc-leads{display:flex;flex-direction:column}.cc-lead{display:flex;align-items:baseline;gap:10px;background:none;border:none;border-bottom:1px solid var(--line);padding:7px 0;font:inherit;font-size:13px;color:inherit;text-align:left;cursor:pointer}.cc-lead:last-child{border-bottom:none}.cc-lead-txt{flex:1;min-width:0}.cc-lead-txt b{font-weight:800}.cc-lead-when{flex:none;font-size:11.5px;font-weight:700;color:var(--ink-muted)}.cc-lead-when.late{color:var(--over)}.cc-stages{margin-top:8px;font-size:12px;color:var(--ink-muted)}.cc-eyebrow{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}.cc-owner{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--paper);border-radius:14px;padding:11px 15px;margin-top:18px}.cc-fc{border:none;font-family:inherit;background:var(--surface);color:var(--ink);cursor:pointer}.cc-pulse{background:var(--mist);border-radius:14px;padding:13px 15px 15px;margin-top:12px}.cc-pulse-h{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.cc-prow{display:grid;grid-template-columns:120px minmax(0,1fr) 150px;gap:12px;align-items:center;padding:4px 0;font-size:13px}@media (max-width: 680px){.cc-prow{grid-template-columns:80px minmax(0,1fr)}.cc-pnum{grid-column:2}}.cc-pname{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-pbar{position:relative;height:9px;border-radius:5px;background:#2c3a471a}.cc-pfill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--m-aqua)}.cc-pfill.met{background:var(--good-ink)}.cc-ptarget{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.45}.cc-pnum{font-variant-numeric:tabular-nums;font-weight:700}.cc-pover{font-weight:500;color:var(--ink-muted);font-size:11.5px}@media (max-width: 680px){.dash2 .dash-band-top{flex-wrap:wrap}.cc-actions{margin-left:0;width:100%}.cc-actions>*{flex:1}}.pill.trackpill.tplan,.tag-plan{background:var(--gold-light);color:#8a5a00}.step.empty{opacity:.55}.money-split{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px}.money-split label{font-weight:700;color:var(--ink-muted);white-space:nowrap}.money-split .input{padding:5px 8px;font-size:12px}.pb{max-width:1180px;margin:0 auto;padding:18px 22px 40px}.pb .spin{border-color:#2c3a4733;border-top-color:var(--ink)}.pb-band{margin-bottom:14px}.pb-band .dash-new:disabled{opacity:.6;cursor:default}.pb-summary{padding:0 4px;font-size:13px;color:var(--ink-soft);line-height:1.5;max-width:820px}.pb-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:80px 20px;color:var(--ink-soft);font-size:14px;background:var(--band-bg);border:1px solid var(--band-line);border-radius:16px}.pb-notice{background:var(--gold-light);color:#6b4a00;border-radius:12px;padding:10px 14px;font-size:13px;margin-bottom:12px}.pb-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}@media (max-width: 900px){.pb-main{grid-template-columns:1fr}}.pb-stages{display:flex;flex-direction:column;gap:12px;min-width:0}.pb-stage{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 14px 10px}.pb-stage-h{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:none;border:none;padding:10px 0 6px;cursor:pointer;font:inherit;color:inherit;text-align:left}.pb-stage-n{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.012em;font-size:17px;color:var(--ink)}.pb-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.pb-step.off .pb-step-label{color:var(--ink-muted)}.pb-box{flex:none;width:18px;height:18px;margin-top:1px;border-radius:5px;border:1.5px solid var(--ink-muted);background:var(--surface);color:#fff;font-size:11px;line-height:1;cursor:pointer;padding:0}.pb-box.on{background:var(--ink);border-color:var(--ink)}.pb-step-txt{flex:1;min-width:0}.pb-step-label{font-size:13.5px;font-weight:700}.pb-doc{font-weight:600;font-size:11.5px;color:var(--purple)}.pb-why{font-size:12px;color:var(--ink-muted);margin-top:2px;line-height:1.45}.pb-tag{flex:none;font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 9px;margin-top:1px}.pb-tag.lib{background:var(--teal-light);color:#0f6e56}.pb-tag.new{background:var(--gold-light);color:#8a5a00}.pb-tools{flex:none;display:flex;align-items:center;gap:2px}.pb-move{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:7px;padding:2px 4px;background:var(--surface);color:var(--ink-soft);max-width:112px}@media (max-width: 680px){.pb-step{flex-wrap:wrap}.pb-tools{width:100%;justify-content:flex-end}}.pb-add{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.pb-add .add-task-input{flex:1;min-width:0}.pb-more{align-self:flex-start;background:none;border:none;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink-muted);cursor:pointer}.pb-more:hover{color:var(--ink)}.pb-side{display:flex;flex-direction:column;gap:12px}.pb-panel{border-radius:14px;padding:12px 14px;font-size:12.5px;line-height:1.5;color:var(--ink-soft);display:flex;flex-direction:column;gap:8px}.pb-panel.paper{background:var(--paper)}.pb-panel.mist{background:var(--mist)}.pb-panel .input{font-size:12.5px;resize:vertical}.pb-full{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:6px}.pb-leg{display:flex;gap:8px;align-items:flex-start}.ptab{max-width:300px}.ptab-lbl{max-width:270px}.ptab-code{font-weight:800;letter-spacing:.02em}.code-pick{display:flex;align-items:center;gap:10px;font-size:12px}.code-pick-in{width:90px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.code-warn{margin-top:6px;font-size:12px;color:#8a5a00;background:var(--gold-light);border-radius:8px;padding:6px 9px}.droptext{position:relative}.droptext.over>textarea{outline:2px dashed var(--teal);outline-offset:2px;background:var(--teal-light)}.droptext-hint{position:absolute;left:0;right:0;top:0;height:calc(100% - 26px);display:flex;align-items:center;justify-content:center;pointer-events:none;font-weight:800;font-size:13px;color:#0f6e56}.droptext-foot{display:flex;align-items:baseline;gap:6px;margin-top:4px;font-size:11.5px;color:var(--ink-muted)}.droptext-pick{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--teal);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.droptext.compact .droptext-types{display:none}.droptext-msg{margin-top:4px;font-size:11.5px;border-radius:7px;padding:5px 8px}.droptext-msg.ok{background:var(--teal-light);color:#0f6e56}.droptext-msg.err{background:var(--over-l);color:var(--over)}.lead-modal.wide{max-width:1060px}.lead-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.lead-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}@media (max-width: 860px){.lead-cols{grid-template-columns:1fr}}.lead-right{display:flex;flex-direction:column;gap:12px}.lead-panel{background:var(--mist);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;font-size:12.5px}.lead-panel.paper{background:var(--paper)}.lead-panel-sub{font-size:12px;color:var(--ink-muted);line-height:1.45}.lead-search{display:flex;gap:8px}.lead-search .input{flex:1;min-width:0}.lead-mails{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.lead-mail{display:flex;gap:8px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:7px 9px;cursor:pointer}.lead-mail.off{opacity:.6}.lead-mail-txt{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:12px;color:var(--ink-muted)}.lead-mail-txt b{color:var(--ink);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-mail-prev{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-contact-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;margin-bottom:10px;align-items:center}.lead-contact-row>:nth-child(3){grid-column:1 / 3}.lead-contact-row>:nth-child(4){grid-column:3;grid-row:2}.lead-contact-row>:nth-child(5){grid-column:3;grid-row:1}.lead-contact-row>:nth-child(6){grid-column:4;grid-row:1}.lead-contact-row .input{padding:6px 8px;font-size:12px}.lead-panel .reveal-inner{padding:0;margin:0;background:none}.input.ai-filled,.lead-contact-row.ai-filled .input{background:var(--gold-light);border-color:#f0d79a}.pb-notice.ok{background:var(--teal-light);color:#0f6e56}.btn-saved{margin-top:3px;font-size:11.5px;font-weight:700;color:#0f6e56}.doc-view-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b273073;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.doc-view{background:var(--surface);border-radius:16px;width:min(900px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.doc-view-h{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line)}.doc-view-title{flex:1;font-weight:800;font-size:15px}.doc-view-body{padding:18px 22px 26px;overflow-y:auto;white-space:pre-wrap;font-size:14px;line-height:1.6;color:var(--ink)}.lead-steps{list-style:decimal outside;margin:0;padding:12px 14px 12px 32px;background:var(--band-bg);border:1px solid var(--band-line);border-radius:14px;font-size:12.5px;line-height:1.5;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px}.lead-steps li::marker{font-weight:800;color:var(--ink)}.lead-steps li.done{color:var(--ink-muted)}.lead-steps li.done b:before{content:"✓ ";color:#0f6e56}.lead-panel-ok{font-size:12px;font-weight:700;color:#0f6e56}.lead-save-state{font-size:12.5px;font-weight:700;color:#0f6e56}.lead-save-state.dirty{color:#8a5a00}.btn.save-hot{background:var(--gold);color:var(--on-bright);box-shadow:0 0 0 3px var(--gold-light)}.eo-card .btn-icon{font-size:10px}.doc-view.eo-editor{width:min(1000px,100%);max-height:92vh}.eo-body{white-space:normal;font-size:13px;display:flex;flex-direction:column;gap:10px}.eo-gen{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;background:var(--paper);border-radius:14px;padding:12px 14px}@media (max-width: 760px){.eo-gen{grid-template-columns:1fr}}.eo-gen-row,.eo-gen-side{display:flex;flex-direction:column;gap:6px}.eo-l{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:var(--ink-soft)}.eo-h{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin:18px 0 6px}.eo-form{display:flex;flex-direction:column;gap:6px}.eo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 760px){.eo-grid{grid-template-columns:1fr}}.eo-note{font-size:11.5px}.eo-phase{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--line)}.eo-row{display:flex;gap:6px;align-items:center}.eo-row .input{flex:1;font-weight:700}.eo-costs{display:flex;flex-direction:column;gap:8px}.eo-cost{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px auto;gap:6px;padding:8px;background:var(--canvas);border-radius:10px}.eo-cost .input{font-size:12.5px}.eo-cost-desc{grid-column:1 / -1}.eo-totals{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;align-items:center;font-size:13px;padding:6px 2px}.eo-gst{width:56px;display:inline-block;padding:3px 6px}.eo-rows{display:flex;flex-direction:column;gap:6px}.eo-rowline{display:grid;gap:6px;align-items:start}.eo-rowline .input{font-size:12.5px}@media (max-width: 760px){.eo-rowline{grid-template-columns:1fr auto!important}}.eo-fee{max-width:180px;font-weight:800}.eo-fee-panel,.eo-internal{border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eo-fee-panel{background:var(--mist)}.eo-internal{background:var(--gold-light);border:1px dashed #f0d79a;font-size:12.5px}.eo-fee-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-end}.eo-fee-big{font-family:var(--font-display);font-size:30px;color:var(--ink);line-height:1.05}.eo-options{display:flex;gap:8px;flex-wrap:wrap}.eo-opt{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:12.5px;display:flex;flex-direction:column}.eo-opt.most{border-color:var(--pink)}.eo-most{color:var(--pink);font-weight:800;font-size:10.5px}.eo-fee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width: 760px){.eo-fee-grid{grid-template-columns:1fr}}.eo-spec{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.eo-check{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--ink-soft)}.eo-math summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--ink-muted)}.eo-math table{font-size:12px;margin-top:6px;border-collapse:collapse}.eo-math td{padding:2px 10px 2px 0}.eo-check-line{font-size:12px;font-weight:700;border-radius:8px;padding:5px 9px}.eo-check-line.ok{background:var(--teal-light);color:#0f6e56}.eo-check-line.warn,.eo-check-line.need,.eo-check-line.info{background:var(--gold-light);color:#8a5a00}.eo-check-line.stop{background:var(--over-l);color:var(--over)}.eo-int-q{background:var(--surface);border-radius:8px;padding:6px 9px}.eo-int-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 760px){.eo-int-cols{grid-template-columns:1fr}}.eo-int-cols ul,.eo-voice ul{margin:4px 0 0;padding-left:18px}.eo-voice{border-radius:12px;padding:8px 12px;font-size:12.5px}.eo-voice.ok{background:var(--teal-light);color:#0f6e56}.eo-voice.warn{background:var(--over-l);color:var(--ink)}.proof-table{display:flex;flex-direction:column;gap:6px}.proof-row{display:grid;grid-template-columns:130px 1.1fr 1.6fr 1.1fr 1fr 130px auto;gap:6px;align-items:start}.proof-row .input{font-size:12px;padding:5px 7px}.proof-row.head{font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.proof-row.never{opacity:.55}.proof-row.ask select:last-of-type{background:var(--gold-light)}@media (max-width: 1000px){.proof-row{grid-template-columns:1fr 1fr}.proof-row.head{display:none}}.pb-addrow{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.hb-seg{margin-bottom:14px;flex-wrap:wrap}.hb-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px;align-items:start}@media (max-width: 720px){.hb-items{grid-template-columns:1fr}}.hb-item{display:flex;flex-direction:column;gap:6px;border:1.5px solid transparent}.hb-item.dirty{border-color:var(--gold)}.hb-item-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.hb-label{font-weight:800;font-size:13.5px;color:var(--ink);display:flex;gap:8px;align-items:center}.hb-pill{background:var(--purple-light);color:var(--purple)}.hb-when,.hb-help{font-size:11.5px}.hb-read{font-size:13px;color:var(--ink-soft);white-space:pre-wrap}.hb-num{font-size:18px;font-weight:800;color:var(--ink)}.hb-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.hb-numedit{display:flex;align-items:center;gap:6px;max-width:200px;font-weight:700;color:var(--ink-muted)}.hb-actions{margin-top:4px}.hb-unsaved{font-size:12px;font-weight:700;color:var(--warn)}.hb-saved{font-size:12px;font-weight:700;color:var(--good-ink)}.hb-rows{display:flex;flex-direction:column;gap:10px}.hb-rowedit{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px;background:var(--canvas);border-radius:var(--radius-sm)}.hb-rowedit .eo-l{grid-column:1}.hb-rowedit .task-del{grid-column:2;grid-row:1;align-self:start}.hb-rows>.btn{align-self:flex-start}.hb-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.hb-person{background:var(--canvas);border-radius:var(--radius-sm);padding:10px 12px}.hb-person-name{font-weight:800}.hb-person-role{font-size:12px;color:var(--purple);font-weight:700;margin-bottom:4px}.hb-person-bio{font-size:12.5px;color:var(--ink-soft)}.hb-hist-row{display:grid;grid-template-columns:150px 120px 1.2fr 1.4fr 1.4fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}.hb-hist-row.head{font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}@media (max-width: 900px){.hb-hist-row{grid-template-columns:1fr 1fr}.hb-hist-row.head{display:none}}.hb-group{display:flex;flex-direction:column;gap:12px}.hb-group-title{font-weight:900;font-size:15px;color:var(--ink)}.hb-sub{padding:8px 10px;border-radius:var(--radius-sm);margin:0 -10px}.hb-sub.dirty{background:var(--gold-light)}.hb-when-row{gap:10px}.hb-remove{background:none;border:none;color:var(--ink-muted);font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;padding:0}.hb-remove:hover{color:var(--over)}.hb-add{margin-top:12px}.hb-addform{margin-top:12px;max-width:640px}.eo-prices-from{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.eo-prices-btn{padding:4px 10px;font-size:11px}.hb-range{gap:14px;align-items:flex-end}.hb-range .eo-l{max-width:160px}.hb-split{max-width:110px}.hb-levels{display:flex;flex-direction:column;gap:6px}.hb-level{display:grid;grid-template-columns:1fr 2fr 70px 70px;gap:6px}.hb-level .input{font-size:12px;padding:6px 8px}.hb-level.head{font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.hb-sec-facts{--sec: var(--pink);--sec-ink: #c7356a;--sec-on: #fff}.hb-sec-pricing{--sec: var(--gold);--sec-ink: var(--warn);--sec-on: var(--ink)}.hb-sec-services{--sec: var(--teal);--sec-ink: var(--teal);--sec-on: #fff}.hb-sec-team{--sec: var(--purple);--sec-ink: var(--purple);--sec-on: #fff}.hb-sec-work{--sec: var(--m-aqua);--sec-ink: #157f78;--sec-on: var(--ink)}.hb-sec-proof{--sec: var(--m-green);--sec-ink: #5f7a1f;--sec-on: var(--ink)}.hb-sec-history{--sec: var(--ink);--sec-ink: var(--ink);--sec-on: #fff}.hb-seg{background:none;gap:6px;padding:0}.hb-seg button{color:var(--sec-ink);background:var(--surface);border:1.5px solid var(--sec);font-size:12.5px}.hb-seg button:hover{background:var(--canvas)}.hb-seg button.on,.hb-seg button.on:hover{background:var(--sec);color:var(--sec-on)}[class*=hb-sec-] .hb-group-title{color:var(--sec-ink)}[class*=hb-sec-] .hb-group,[class*=hb-sec-] .hb-items>.hb-item{border-top:4px solid var(--sec)}[class*=hb-sec-] .hb-items>.hb-item.dirty{border-color:var(--gold);border-top-width:4px}.hb-group{gap:0}.hb-group.open{grid-column:1 / -1;gap:12px}.hb-group.dirty{box-shadow:0 0 0 1.5px var(--gold)}.hb-group-head{display:flex;align-items:baseline;gap:8px;width:100%;background:none;border:none;padding:0;font:inherit;text-align:left;cursor:pointer;flex-wrap:wrap}.hb-caret{color:var(--sec-ink, var(--ink-muted));font-size:12px;width:12px;flex:none}.hb-group-sum{color:var(--ink-soft);font-size:12.5px;flex:1 1 200px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-group-body{display:flex;flex-direction:column;gap:12px;margin-top:12px}.hb-group-body[hidden]{display:none}.hb-group.open .hb-group-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));align-items:start}.hb-foldbar{justify-content:space-between;margin-bottom:8px}.hb-foldall{padding:5px 12px;font-size:11.5px}.pb-line{display:grid;grid-template-columns:12px minmax(0,2fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:baseline;width:100%;background:none;border:none;border-bottom:1px solid var(--line);padding:9px 2px;font:inherit;font-size:13px;text-align:left;cursor:pointer;color:var(--ink)}.pb-line:hover{background:var(--canvas)}.pb-line.open{grid-template-columns:12px 1fr;border-bottom:none}.pb-line b,.pb-line-num{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-line-num{color:var(--ink-soft);font-size:12px}.pb-line.never{opacity:.6}.pb-show.yes{background:var(--teal-light);color:var(--teal)}.pb-show.ask{background:var(--gold-light);color:var(--warn)}.pb-open{padding:4px 0 12px;border-bottom:1px solid var(--line)}@media (max-width: 720px){.pb-line{grid-template-columns:12px 1fr auto}.pb-line .muted,.pb-line-num{display:none}}.pv{--cl-line: color-mix(in srgb, var(--cl-bd, var(--band-line)) 45%, var(--surface))}.pv>.pv-back{display:inline-block;margin:0 0 9px 2px;font-size:12.5px}.pv-band{background:var(--cl-bg, var(--band-bg));border-color:var(--cl-line)}.pv-band:after{background:var(--cl, var(--pink))}.pv-band-top{display:flex;align-items:flex-start;gap:16px;padding:0 4px}.pv-band-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.pv-eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pv-code{background:var(--cl-fg, var(--ink));color:var(--surface);border-radius:7px;padding:3px 9px;font-weight:900;font-size:11.5px;letter-spacing:.03em;cursor:pointer;font-variant-numeric:tabular-nums}.pv-code:hover{filter:brightness(1.12)}.pv-band .pv-projdot{width:12px;height:12px;border-radius:50%;background:var(--cl, var(--ink-muted))}.pv-band .pv-client{color:var(--cl-fg, var(--ink-soft));font-weight:800;font-size:13px}.pv-band .pill.trackpill,.pv-band .pill.tplan{background:var(--surface);color:var(--ink-soft);border:1px solid var(--cl-line)}.pv-band .pv-title{font-family:var(--font-display);font-weight:400;font-size:30px;cursor:pointer;overflow-wrap:anywhere}.pv-band .pv-title .pv-title-ed{font-family:var(--font-body);font-size:13px;vertical-align:middle}.pv-band-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.pv-band-btns{display:flex;align-items:center;gap:7px}.pv-band .pv-saved{margin:0;font-size:11px;color:var(--ink-muted)}.pv-band .btn-timer{background:var(--gold);color:var(--on-bright);border-radius:10px;font-family:var(--font-body);font-weight:800;font-size:12.5px;padding:8px 14px}.pv-band .btn-timer.on{background:var(--over);color:var(--surface)}.pv-more{position:relative}.pv-more-btn{background:var(--surface);border:1px solid var(--cl-line);border-radius:10px;padding:8px 12px;font:inherit;font-weight:800;font-size:12.5px;color:var(--ink-soft);cursor:pointer}.pv-more-btn:hover{color:var(--ink)}.pv-closed-note{background:var(--surface);border:1px dashed var(--cl-line);border-radius:10px;padding:8px 12px;font-weight:800;font-size:12.5px;color:var(--ink-muted)}.pv-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:180px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #2c3a4724;padding:5px;display:flex;flex-direction:column}.pv-more-menu button,.pv-more-menu a{text-align:left;background:none;border:none;border-radius:8px;padding:8px 11px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;text-decoration:none}.pv-more-menu button:hover,.pv-more-menu a:hover{background:var(--canvas)}@media (max-width: 640px){.pv-band-top{flex-direction:column}.pv-band-actions{align-items:flex-start}}.pv-kpis.two{grid-template-columns:repeat(2,1fr)}.pv-k .kpi2-num small{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0}.pvk-bar{height:5px;background:#1b273026;border-radius:3px;margin-top:8px;overflow:hidden}.pvk-bar>div{height:100%;background:var(--on-bright);border-radius:3px}.pv-k.h-over .pvk-bar>div{background:var(--over)}.pvk-foot{font-size:11px;font-weight:700;margin-top:7px;color:var(--on-bright)}.pvk-flag{align-self:flex-start;margin-top:7px;font-size:9.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--over-l);color:var(--over)}.pvk-flag.warn{background:var(--warn-l);color:var(--warn)}.pv .stepper{margin-top:2px}.pv .sid{font-family:var(--font-display);font-weight:400;font-size:16px;letter-spacing:.01em}.pv .step.empty .sid,.pv .step.empty .snm{color:var(--ink-muted)}.pv .step.cur{background:var(--gold-light)}.pv .step.cur .snm{color:var(--ink-soft);font-weight:700}.pv .step.done{background:var(--surface);border-color:var(--line)}.pv .step.done .sid{color:var(--ink)}.pv .step.done .snm{color:var(--ink-muted)}.pv .step .sbar,.pv .step.cur .sbar{background:color-mix(in srgb,var(--cl, var(--gold)) 16%,var(--surface))}.pv .step .sfill,.pv .step.cur .sfill,.pv .step.done .sfill{background:var(--cl, var(--gold))}.pv .checklist-panel{overflow:hidden;box-shadow:inset 0 6px 0 var(--cl, var(--line))}.pv .panel-header{padding-top:20px}.pv .panel-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;font-size:19px}.pv .progress-wrap{background:var(--surface);border-top:1px solid var(--line)}.pv .progress-bar-bg{background:color-mix(in srgb,var(--cl, var(--teal)) 16%,var(--surface))}.pv .progress-bar-fill{background:var(--cl, var(--teal))}.pv .rail-toggle{gap:16px;border-bottom:1px solid var(--line)}.pv .rail-toggle button{background:none;border:none;border-bottom:3px solid transparent;border-radius:0;padding:4px 0 8px;font-family:var(--font-body);font-weight:800;font-size:12.5px;color:var(--ink-muted)}.pv .rail-toggle button:hover{color:var(--ink)}.pv .rail-toggle button.on{background:none;color:var(--ink);border-bottom-color:var(--cl, var(--gold))}.pv .rail-toggle .rail-hide{font-weight:600}.pv .context-card{border:1px solid var(--line);border-left:5px solid var(--cl, var(--line))}.pv .context-card-header{background:var(--cl-bg, var(--band-bg))}.pv .context-card-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.012em;font-size:17px;color:var(--cl-fg, var(--ink))}.pv .context-card-sub{color:var(--ink-muted)}.pv .ctx-section-header{color:var(--cl-fg, var(--ink-muted))}.imp-wrap{max-width:1100px;margin:0 auto;width:100%}.imp-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:16px 0}.imp-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px}.imp-steps li b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cream-dark);color:var(--ink);font-size:11px}.imp-steps li.on{color:var(--ink);border-color:var(--ink);font-weight:600}.imp-steps li.on b{background:var(--gold)}.imp-steps li.done b{background:var(--teal-light);color:var(--teal)}.imp-card{margin-bottom:14px}.imp-card p{margin:0 0 10px;font-size:13.5px;line-height:1.5}.imp-card ul{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.6}.imp-file{display:inline-block;cursor:pointer}.imp-fname{margin-left:10px;font-size:12px}.imp-busy{font-size:13px;color:var(--ink-soft);margin:0 0 12px}.imp-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}.imp-totals div{background:var(--cream);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.imp-totals b{font-size:20px;margin-right:4px}.imp-totals span{display:block;font-size:11.5px;color:var(--ink-muted);margin-top:2px}.imp-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:12px}.imp-problems{border-color:var(--blue)}.imp-table-wrap{overflow-x:auto}.imp-table{width:100%;border-collapse:collapse;font-size:12.5px}.imp-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.imp-table td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.imp-table .num{text-align:right;white-space:nowrap}.imp-new{margin-left:6px;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--teal);background:var(--teal-light);border-radius:999px;padding:1px 7px}.plist-import{margin-left:8px}
