*,:after,:before{--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:rgba(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:rgba(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: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DupletRounded,-apple-system,BlinkMacSystemFont,sans-serif;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,pre,samp{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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:DupletRounded;font-weight:200;font-style:normal;font-display:swap;src:url(/fonts/DupletRounded-Extralight.otf) format("opentype")}@font-face{font-family:DupletRounded;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/DupletRounded-Regular.otf) format("opentype")}@font-face{font-family:DupletRounded;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/DupletRounded-Bold.otf) format("opentype")}:root{--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:56px;--s-12:72px;--r-1:4px;--r-2:6px;--r-3:8px;--r-4:12px;--r-pill:999px;--shadow-1:0 1px 2px rgba(20,30,40,.04);--shadow-2:0 2px 6px rgba(20,30,40,.06),0 1px 2px rgba(20,30,40,.04);--shadow-3:0 6px 16px rgba(20,30,40,.08),0 2px 4px rgba(20,30,40,.04);--shadow-4:0 16px 40px rgba(20,30,40,.14);--t-xs:11px;--t-sm:12px;--t-base:13px;--t-md:14px;--t-lg:16px;--t-xl:20px;--t-2xl:26px;--t-3xl:32px;--w-form:720px;--w-content:1100px;--w-wide:1280px;--bg:#f5f7f9;--panel:#fff;--border:#e6eaf0;--border-strong:#d6dce4;--text:#1a2733;--text-soft:#2f3b48;--muted:#6b7785;--muted-2:#9aa5b1;--accent:#209e9d;--accent-dark:#1a8585;--accent-soft:#e6f4f4;--blue:#5b9bf4;--amber:#e0a23e;--red:#d8554b;--purple:#9b6dd3;--green:#4ca473;--grey:#8a96a4;--blue-soft:#eaf2ff;--amber-soft:#fdf3e2;--red-soft:#fdebe9;--purple-soft:#f3ecfb;--green-soft:#e6f3eb;--grey-soft:#f1f3f6;--ring:0 0 0 3px rgba(32,158,157,.22);--topbar-h:60px;--bp-sm:640px;--bp-md:900px;--bp-lg:1200px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}html{-webkit-text-size-adjust:100%}body{font-family:DupletRounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app{display:flex;flex-direction:column;min-height:100vh}.app-shell{flex:1;width:100%;display:flex;flex-direction:column}.page{max-width:var(--w-content);width:100%;margin:0 auto;padding:var(--s-7) var(--s-6) var(--s-9)}.page-wide{max-width:var(--w-wide)}.page-form{max-width:var(--w-form)}.page-narrow{max-width:640px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap}.page-title{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--text)}.page-sub{margin-top:var(--s-1);font-size:var(--t-base);color:var(--muted);font-weight:500}.section{margin-bottom:var(--s-6)}.section-title{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:var(--s-3)}.topbar{justify-content:space-between;gap:var(--s-4);padding:var(--s-2) var(--s-6);background:var(--panel);border-bottom:1px solid var(--border);height:var(--topbar-h);position:sticky;top:0;z-index:40;backdrop-filter:saturate(180%) blur(6px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:var(--s-2);font-weight:700;font-size:16px;letter-spacing:-.01em;text-decoration:none;color:inherit}.brand-mark{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.brand-mark img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.brand-module{display:inline-flex;align-items:center;font-weight:500;color:var(--muted);font-size:var(--t-md)}.brand-module:before{content:"·";margin:0 var(--s-2);color:var(--text);font-weight:700}.nav-tabs{display:flex;gap:var(--s-1);align-items:center}.nav-tab{padding:var(--s-2) var(--s-3);border-radius:var(--r-2);color:var(--muted);font-weight:500;font-size:var(--t-md);text-decoration:none;line-height:1;height:34px;display:inline-flex;align-items:center;transition:background-color .15s ease,color .15s ease}.nav-tab:hover{background:var(--grey-soft);color:var(--text);text-decoration:none}.nav-tab.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.top-actions{display:flex;gap:var(--s-2);align-items:center}.mobile-menu-btn{display:none;width:40px;height:40px;border-radius:var(--r-2);background:transparent;border:1px solid var(--border);color:var(--text);align-items:center;justify-content:center;cursor:pointer}.mobile-menu-btn:hover{background:var(--grey-soft)}.module-drawer{position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);background:var(--panel);z-index:60;transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--shadow-4);display:flex;flex-direction:column}.module-drawer.open{transform:translateX(0)}.module-drawer-head{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.module-drawer-body{padding:var(--s-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-1)}.module-drawer a{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-2);font-weight:500;color:var(--text);text-decoration:none;min-height:44px}.module-drawer a:hover{background:var(--grey-soft)}.module-drawer a.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.module-drawer-backdrop{position:fixed;inset:0;background:rgba(20,30,40,.4);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s ease}.module-drawer-backdrop.open{opacity:1;pointer-events:auto}.user-badge{display:inline-flex;align-items:center;gap:var(--s-2);padding:3px 12px 3px 3px;background:var(--accent-soft);color:var(--accent-dark);border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;cursor:pointer;border:none;font-family:inherit;line-height:1;height:34px;text-decoration:none;transition:background-color .15s ease}.user-badge:hover{background:#d4ebeb;text-decoration:none}.user-badge .badge-text{white-space:nowrap}.user-badge .badge-role{height:18px;padding:0 7px;background:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--r-pill)}.avatar,.user-badge .badge-role{display:inline-flex;align-items:center;color:#fff;font-weight:700}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));font-size:11px;justify-content:center;flex-shrink:0;overflow:hidden;line-height:1}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.avatar-sm{width:22px;height:22px;font-size:10px}.avatar-md{width:32px;height:32px;font-size:12px}.avatar-lg{width:40px;height:40px;font-size:13px}.avatar-xl{width:64px;height:64px;font-size:18px}.avatar-2xl{width:96px;height:96px;font-size:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:0 var(--s-4);height:36px;border-radius:var(--r-2);background:var(--panel);border:1px solid var(--border);color:var(--text);font-family:inherit;font-weight:600;font-size:var(--t-base);white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;line-height:1}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--grey-soft);border-color:var(--border-strong)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:30px;padding:0 var(--s-3);font-size:var(--t-sm)}.btn-lg{height:44px;padding:0 var(--s-5);font-size:var(--t-md)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--grey-soft);color:var(--text);border-color:transparent}.btn-danger{background:var(--panel);color:var(--red);border-color:#f5c4be}.btn-danger:hover{background:var(--red-soft);border-color:var(--red)}.icon-btn{width:36px;height:36px;border-radius:var(--r-2);background:transparent;border:1px solid transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-btn:hover{background:var(--grey-soft);color:var(--text)}.icon-btn:focus-visible{outline:none;box-shadow:var(--ring)}input,select,textarea{font-family:inherit;font-size:var(--t-base);height:38px;padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--r-2);background:var(--panel);color:var(--text);width:100%;outline:none;transition:border-color .15s ease,box-shadow .15s ease}textarea{height:auto;padding:var(--s-2) var(--s-3);min-height:80px;resize:vertical;line-height:1.5}input[type=checkbox],input[type=radio]{width:auto;height:auto}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{background:var(--grey-soft);color:var(--muted);cursor:not-allowed}.field{margin-bottom:var(--s-4)}.field:last-child{margin-bottom:0}.field-label{display:block;font-size:var(--t-xs);font-weight:700;color:var(--muted);margin-bottom:var(--s-1);text-transform:uppercase;letter-spacing:.05em}.field-help{margin-top:var(--s-1);font-size:var(--t-sm);color:var(--muted);line-height:1.5}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-6)}.form-grid{display:grid;gap:var(--s-4)}.form-grid.cols-2{grid-template-columns:1fr 1fr}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:640px){.form-grid.cols-2,.form-grid.cols-3{grid-template-columns:1fr}}.form-fieldset{border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5);margin-bottom:var(--s-4);background:var(--panel)}.form-fieldset>legend{padding:0 var(--s-2);font-size:var(--t-sm);font-weight:700;letter-spacing:.02em}.form-fieldset>legend,a{color:var(--accent-dark)}a{text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent);text-decoration:underline}a:focus-visible{outline:none;box-shadow:var(--ring);border-radius:2px}.link-quiet{color:var(--muted)}.link-quiet:hover{color:var(--text);text-decoration:none}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding-bottom:var(--s-4);margin-bottom:var(--s-4);border-bottom:1px solid var(--border)}.card-title{font-size:var(--t-lg);font-weight:700;color:var(--text);letter-spacing:-.005em}.card-sub{font-size:var(--t-sm);color:var(--muted);margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);margin-bottom:var(--s-5)}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:4px}.stat-card .stat-label{font-size:var(--t-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-card .stat-value{font-size:var(--t-xl);font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.15}.stat-card.accent .stat-value{color:var(--accent-dark)}.stat-card.warn .stat-value{color:var(--amber)}.stat-card.danger .stat-value{color:var(--red)}.stat-card.info .stat-value{color:var(--blue)}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-pill);background:var(--grey-soft);color:var(--text-soft);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.4;white-space:nowrap}.pill-teal{background:var(--accent-soft);color:var(--accent-dark)}.pill-blue{background:var(--blue-soft);color:#3970bf}.pill-amber{background:var(--amber-soft);color:#a26410}.pill-red{background:var(--red-soft);color:var(--red)}.pill-purple{background:var(--purple-soft);color:#7a4eb3}.pill-green{background:var(--green-soft);color:#2f7d52}.pill-grey{background:var(--grey-soft);color:var(--muted)}.pill-solid-teal{background:var(--accent);color:#fff}.pill-solid-blue{background:var(--blue);color:#fff}.pill-solid-amber{background:var(--amber);color:#fff}.pill-solid-red{background:var(--red);color:#fff}.pill-solid-purple{background:var(--purple);color:#fff}.pill-solid-grey{background:var(--grey);color:#fff}.pill-group{gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);padding:3px}.pill-group,.pill-tab{display:inline-flex;align-items:center}.pill-tab{padding:0 var(--s-4);height:30px;border-radius:var(--r-2);background:transparent;border:none;color:var(--muted);font-family:inherit;font-weight:600;font-size:var(--t-sm);cursor:pointer;line-height:1;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.pill-tab:hover{background:var(--grey-soft);color:var(--text)}.pill-tab.active{color:#fff}.pill-tab.active,.pill-tab.active:hover{background:var(--accent)}.nav-pill{display:inline-flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);padding:3px}.nav-pill>.btn{background:transparent;border:none;height:30px;padding:0 var(--s-3);font-size:var(--t-sm);font-weight:600;color:var(--muted)}.nav-pill>.btn:hover{background:var(--grey-soft);color:var(--text)}.table-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);overflow:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:var(--t-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#fafbfc;white-space:nowrap}.table td,.table th{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.table td{font-size:var(--t-base);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#fafbfc}.table .num{text-align:right;font-variant-numeric:tabular-nums}.empty-state,.table .center{text-align:center}.empty-state{padding:var(--s-9) var(--s-6);background:var(--panel);border:1px dashed var(--border-strong);border-radius:var(--r-3);color:var(--muted)}.empty-state-icon{width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);margin:0 auto var(--s-3);display:inline-flex;align-items:center;justify-content:center}.empty-state-title{color:var(--text);font-weight:700;font-size:var(--t-md);margin-bottom:4px}.empty-state-desc{color:var(--muted);font-size:var(--t-base);max-width:360px;margin:0 auto var(--s-4);line-height:1.5}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-4)}.toolbar .grow{flex:1;min-width:240px}.portal{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.portal-header{justify-content:space-between;padding:var(--s-4) var(--s-7);background:var(--panel);border-bottom:1px solid var(--border)}.portal-brand,.portal-header{display:flex;align-items:center}.portal-brand{gap:var(--s-3)}.portal-brand-name{font-size:var(--t-lg);font-weight:700;letter-spacing:-.01em;color:var(--text)}.portal-brand-sub{font-size:var(--t-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.portal-actions{display:flex;align-items:center;gap:var(--s-2)}.portal-main{flex:1;max-width:var(--w-content);width:100%;margin:0 auto;padding:var(--s-10) var(--s-7) var(--s-12)}.portal-welcome{margin-bottom:var(--s-9);text-align:center}.portal-welcome h1{font-size:var(--t-3xl);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--s-2)}.portal-welcome p{color:var(--muted);font-size:var(--t-lg)}.portal-section-label{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:var(--s-7) 0 var(--s-3)}.portal-section-label:first-child{margin-top:0}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-4)}.portal-card-link{color:inherit;display:block;border-radius:var(--r-4)}.portal-card-link,.portal-card-link:hover{text-decoration:none}.portal-card-link:focus-visible{outline:none;box-shadow:var(--ring)}.portal-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-4);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);min-height:180px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.portal-card-link:hover .portal-card:not(.is-disabled){transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-3)}.portal-card.is-disabled{opacity:.6}.portal-card-link:has(.is-disabled){cursor:default}.portal-card-icon{width:44px;height:44px;border-radius:var(--r-3);background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center}.portal-card-icon svg{width:22px;height:22px}.portal-card-body{display:flex;flex-direction:column;gap:4px;margin-top:auto}.portal-card-name{font-size:var(--t-lg);font-weight:700;color:var(--text);letter-spacing:-.005em}.portal-card-desc{font-size:var(--t-base);color:var(--muted);line-height:1.5}.portal-card-soon{position:absolute;top:var(--s-3);right:var(--s-3);background:var(--grey-soft);color:var(--muted);padding:2px 8px;border-radius:var(--r-pill);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pipeline{flex:1;overflow-x:auto;overflow-y:hidden;padding:var(--s-5) var(--s-6);display:flex;gap:var(--s-4);scroll-snap-type:x proximity;scrollbar-gutter:stable}.stage{width:300px;min-width:300px;border-radius:var(--r-3);flex-direction:column;max-height:100%;scroll-snap-align:start}.stage,.stage-header{background:#eef1f5;display:flex}.stage-header{padding:var(--s-3) var(--s-4) var(--s-2);align-items:center;justify-content:space-between;border-bottom:2px solid transparent;position:sticky;top:0;z-index:2;border-top-left-radius:var(--r-3);border-top-right-radius:var(--r-3)}.stage-name{font-weight:700;font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text)}.stage-meta{display:flex;align-items:center;gap:var(--s-2);margin-top:2px}.stage-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;background:rgba(20,30,40,.08);color:var(--muted);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:700}.stage-value{color:var(--muted);font-size:var(--t-sm);font-weight:600}.stage-value.zero{color:var(--muted-2)}.stage[data-stage=lead] .stage-header{border-bottom-color:var(--grey)}.stage[data-stage=contact] .stage-header{border-bottom-color:var(--blue)}.stage[data-stage=proposal] .stage-header{border-bottom-color:var(--amber)}.stage[data-stage=negotiation] .stage-header{border-bottom-color:var(--purple)}.stage[data-stage=won] .stage-header{border-bottom-color:var(--accent)}.stage[data-stage=lost] .stage-header{border-bottom-color:var(--red)}.stage-body{flex:1;overflow-y:auto;padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2);min-height:80px}.stage-body.drag-over{background:var(--accent-soft);border-radius:0 0 var(--r-3) var(--r-3)}.deal-card{background:var(--panel);border-radius:var(--r-2);border:1px solid var(--border);padding:var(--s-3) var(--s-4);cursor:grab;transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease;position:relative}.deal-card:before{content:"";position:absolute;left:0;top:var(--s-3);bottom:var(--s-3);width:3px;border-radius:var(--r-pill);background:var(--accent)}.deal-card[data-stage=lost]:before{background:var(--red)}.deal-card[data-stage=negotiation]:before{background:var(--purple)}.deal-card[data-stage=proposal]:before{background:var(--amber)}.deal-card[data-stage=contact]:before{background:var(--blue)}.deal-card[data-stage=lead]:before{background:var(--grey)}.deal-card:hover{border-color:var(--accent);box-shadow:var(--shadow-2)}.deal-card.dragging{opacity:.4;cursor:grabbing}.deal-title{font-weight:700;margin-bottom:4px;font-size:var(--t-md);color:var(--text);line-height:1.35}.deal-value{color:var(--accent-dark);font-weight:700;font-size:var(--t-base)}.deal-org{color:var(--muted);font-size:var(--t-sm);margin-top:4px}.deal-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s-2);gap:var(--s-2);flex-wrap:wrap}.deal-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-pill);font-size:10px;font-weight:700;background:var(--grey-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.deal-pill.overdue{background:var(--red-soft);color:var(--red)}.deal-pill.today{background:var(--amber-soft);color:#a26410}.deal-pill.type-revshare{background:var(--blue-soft);color:#3970bf}.deal-pill.type-finance{background:var(--amber-soft);color:#a26410}.deal-pill.type-outright{background:var(--green-soft);color:#2f7d52}.add-deal-btn{padding:var(--s-2) var(--s-3);background:transparent;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--r-2);font-size:var(--t-sm);font-weight:600;margin:var(--s-2) var(--s-3) var(--s-3);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.add-deal-btn:hover{background:var(--panel);color:var(--accent-dark);border-color:var(--accent);border-style:solid}.stage[data-tcol=grey] .stage-header{border-bottom-color:var(--grey)}.stage[data-tcol=blue] .stage-header{border-bottom-color:var(--blue)}.stage[data-tcol=amber] .stage-header{border-bottom-color:var(--amber)}.stage[data-tcol=green] .stage-header{border-bottom-color:var(--accent)}.stage[data-tcol=red] .stage-header{border-bottom-color:var(--red)}.stage[data-tcol=purple] .stage-header{border-bottom-color:var(--purple)}.task-card .deal-title{color:var(--text);font-weight:700;font-size:var(--t-md)}.task-desc{font-size:var(--t-sm);color:var(--muted);line-height:1.45;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-assignee{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--border)}.task-assignee img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.auth-screen{position:fixed;inset:0;background:linear-gradient(180deg,var(--bg) 0,var(--accent-soft) 100%);display:flex;align-items:center;justify-content:center;padding:var(--s-5)}.auth-card{background:var(--panel);border-radius:var(--r-4);box-shadow:var(--shadow-4);padding:var(--s-8) var(--s-7);width:100%;max-width:420px;text-align:center}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--s-4)}.auth-card h1{font-size:var(--t-2xl);font-weight:700;margin-bottom:6px;letter-spacing:-.01em}.auth-card .auth-sub{color:var(--muted);font-size:var(--t-base);margin-bottom:var(--s-5)}.auth-card form{display:flex;flex-direction:column;gap:var(--s-3)}.auth-card .btn,.auth-card input[type=email],.auth-card input[type=password]{height:44px;font-size:var(--t-md)}.auth-card .btn{font-weight:700;width:100%}.auth-error{color:var(--red);font-size:var(--t-base);min-height:18px;margin-top:var(--s-2)}.auth-info{background:var(--amber-soft);color:#8a6d1a;font-size:var(--t-sm);padding:var(--s-3) var(--s-3);border-radius:var(--r-2);margin-top:var(--s-4);text-align:left;line-height:1.5}.auth-divider{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-4) 0;color:var(--muted-2);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--border)}.modal-backdrop{position:fixed;inset:0;background:rgba(20,30,40,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--s-4);animation:fadeIn .14s ease}.modal{border-radius:var(--r-3);width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-4);animation:modalIn .18s cubic-bezier(.16,1,.3,1)}.modal,.modal-head{background:var(--panel)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.modal-title{font-size:var(--t-lg);font-weight:700;letter-spacing:-.005em}.modal-body{padding:var(--s-5)}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--panel)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c7cdd4;border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#a9b1bb;background-clip:padding-box;border:2px solid transparent}@media (max-width:900px){.nav-tabs{display:none}.mobile-menu-btn{display:inline-flex}.topbar{padding:var(--s-2) var(--s-4)}.user-badge .badge-text{display:none}.user-badge{padding:3px}.brand-module,.user-badge .badge-role{display:none}.portal-header{padding:var(--s-3) var(--s-4)}}@media (max-width:640px){.page{padding:var(--s-5) var(--s-4) var(--s-9)}.page-title{font-size:22px}.page-head{gap:var(--s-3)}.portal-main{padding:var(--s-7) var(--s-4) var(--s-9)}.portal-welcome{margin-bottom:var(--s-6)}.portal-welcome h1{font-size:26px}.portal-welcome p{font-size:var(--t-base)}.portal-grid{grid-template-columns:1fr;gap:var(--s-3)}.portal-card{min-height:140px}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:92vh;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:modalUp .22s cubic-bezier(.16,1,.3,1)}@keyframes modalUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.stats-grid{grid-template-columns:1fr 1fr;gap:var(--s-2)}.stat-card{padding:var(--s-3)}.stat-card .stat-value{font-size:var(--t-lg)}.btn{height:40px;padding:0 var(--s-4)}.btn-sm{height:36px}.icon-btn{width:40px;height:40px}.pipeline{padding:var(--s-3) var(--s-3)}.stage{width:88vw;min-width:88vw}.table{min-width:600px}.toolbar{gap:var(--s-2)}.pill-group{width:100%;overflow-x:auto}.pill-tab{flex-shrink:0}}@media print{body{background:#fff}.mobile-menu-btn,.module-drawer,.module-drawer-backdrop,.portal-header,.topbar{display:none!important}}.view{flex:1;overflow:hidden;display:flex;flex-direction:column}.view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-5);background:var(--panel);border-bottom:1px solid var(--border)}.view-title{font-size:var(--t-xl);font-weight:700}.view-stats{display:flex;gap:var(--s-5);color:var(--muted);font-size:var(--t-base)}.view-stats b{color:var(--text);font-size:var(--t-md)}.view-actions{display:flex;gap:var(--s-2);align-items:center}.ts-table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:var(--r-2);overflow:hidden;box-shadow:var(--shadow-1)}.ts-table td,.ts-table th{padding:6px 8px;text-align:center;border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:var(--t-base);vertical-align:middle}.ts-table td:last-child,.ts-table th:last-child{border-right:none}.ts-table thead th{background:#f7f9fb;font-weight:700;color:var(--text)}.ts-table thead tr:nth-child(2) th{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ts-table .ts-user-head{border-left:1px solid var(--border)}.ts-table .ts-date{text-align:left;white-space:nowrap;color:var(--muted);padding-left:12px;min-width:100px}.ts-table .ts-date span{color:var(--text);margin-left:4px}.ts-table tr.ts-weekend td{background:#fafbfc;color:var(--muted-2)}.ts-table tr.ts-weekend .ts-date{color:var(--muted-2)}.ts-table tr.ts-today td{background:#fff8e6!important}.ts-table tfoot td{background:#f7f9fb;font-weight:700;border-top:2px solid var(--border);border-bottom:none;font-size:var(--t-base);color:var(--text)}.ts-table tfoot tr:last-child td{background:var(--panel);border-top:1px solid var(--border);color:var(--text);text-align:left;padding-left:12px}.ts-table input[type=text]:focus{border-color:var(--accent);box-shadow:var(--ring)}.ts-table input[type=text]:disabled{color:var(--muted-2);background:#f7f9fb!important}.ts-table .ts-sub.std{background:var(--blue-soft);color:#3970bf}.ts-table .ts-sub.ot{background:var(--amber-soft);color:#a26410}.ts-table .ts-mini{font-size:9px!important;font-weight:600;color:var(--muted);padding:4px!important}.ts-table .ts-hrs{font-weight:700;color:var(--accent-dark);background:#fafbfc;font-size:var(--t-sm);min-width:44px}.ts-table tr.ts-weekend .ts-hrs{color:var(--muted-2)}.ts-table .ts-total{background:var(--panel);color:var(--text);font-weight:700;font-size:var(--t-base)}.ts-table input[type=time]{padding:4px 6px;font-size:var(--t-sm);width:80px;border:1px solid var(--border);border-radius:var(--r-1);font-family:inherit;height:auto}.ts-table input[type=time]:focus{border-color:var(--accent);box-shadow:var(--ring)}.ts-table input[type=time]:disabled{color:var(--muted-2);background:#f7f9fb}.ts-v9 .ts-cell{vertical-align:top;padding:8px 10px;min-width:230px;text-align:left}.ts-v9 .ts-date{vertical-align:top;min-width:80px;padding:10px 14px}.ts-day{display:flex;flex-direction:column;gap:4px}.ts-dnw{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--muted);cursor:pointer;padding:2px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ts-dnw input{width:auto;margin:0}.ts-dnw.is-active{color:var(--red);font-weight:600}.ts-noworked{font-size:var(--t-base);color:var(--muted-2);text-align:center;padding:8px 0 4px;letter-spacing:.04em}.ts-empty{font-size:var(--t-xs);color:var(--muted-2);font-style:italic;padding:4px 0;text-align:left}.ts-session{display:flex;align-items:center;gap:4px;padding:2px 0}.ts-session input[type=time]{width:74px;padding:3px 5px;font-size:var(--t-xs);border:1px solid var(--border);border-radius:var(--r-1);background:var(--panel);height:auto}.ts-session input[type=time]:disabled{background:#f7f9fb;color:var(--muted-2)}.ts-session-sep{color:var(--muted-2);font-size:var(--t-xs)}.ts-rate-toggle{font-size:10px;font-weight:700;padding:3px 7px;border-radius:8px;border:1px solid transparent;cursor:pointer;letter-spacing:.03em}.ts-rate-toggle.is-std{background:var(--blue-soft);color:#3970bf}.ts-rate-toggle.is-ot{background:var(--amber-soft);color:#a26410}.ts-rate-toggle:hover:not(:disabled){filter:brightness(.96)}.ts-rate-toggle:disabled{cursor:not-allowed;opacity:.7}.ts-session-hrs{font-size:var(--t-xs);color:var(--muted);font-weight:600;min-width:38px;text-align:right}.ts-session-del{width:18px;height:18px;border-radius:50%;font-size:var(--t-xs);color:var(--muted-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}.ts-session-del:hover{background:var(--red-soft);color:var(--red)}.ts-add-session{font-size:var(--t-xs);color:var(--muted);border:1px dashed var(--muted-2);background:transparent;padding:4px 8px;border-radius:var(--r-1);cursor:pointer;margin-top:4px;width:100%;text-align:center}.ts-add-session:hover{background:var(--panel);color:var(--text);border-style:solid;border-color:var(--accent)}.ts-day-total{font-size:var(--t-xs);color:var(--muted);margin-top:4px;padding-top:4px;border-top:1px dashed var(--border);text-align:right}.ts-day-total strong{color:var(--text);font-size:var(--t-sm)}.ts-v9 tfoot .ts-total{font-size:var(--t-base);border-top:2px solid var(--border)}.ts-type-select,.ts-v9 tfoot .ts-total{background:var(--panel);font-weight:600}.ts-type-select{width:100%;padding:3px 6px;font-size:var(--t-xs);border-radius:var(--r-1);border:1px solid var(--border);color:var(--text);cursor:pointer;margin-bottom:6px;height:auto}.ts-type-select:disabled{background:#f7f9fb;cursor:not-allowed}.ts-type-select.is-worked{color:var(--text)}.ts-type-select.is-annual{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent)}.ts-type-select.is-unpaid{background:var(--grey-soft);color:var(--muted);border-color:var(--muted-2)}.ts-type-select.is-sick{background:var(--red-soft);color:var(--red);border-color:#f5c4be}.ts-type-select.is-off{background:#fafbfc;color:var(--muted-2);border-color:var(--border)}.ts-leave-tag{text-align:center;font-size:var(--t-sm);font-weight:600;padding:8px 6px;border-radius:var(--r-1);margin-top:2px}.ts-leave-tag.is-annual{background:var(--accent-soft);color:var(--accent-dark)}.ts-leave-tag.is-unpaid{background:var(--grey-soft);color:var(--muted)}.ts-leave-tag.is-sick{background:var(--red-soft);color:var(--red)}.ts-leave-tag.is-off{background:#fafbfc;color:var(--muted-2)}:root{--radius:6px;--shadow:0 1px 2px rgba(20,30,40,.06),0 1px 3px rgba(20,30,40,.04);--shadow-lg:0 8px 24px rgba(20,30,40,.12)}.page-fluid{width:100%;padding:var(--s-7) 0 var(--s-9);display:flex;flex-direction:column;flex:1;min-height:0}@media (max-width:640px){.page-fluid{padding:var(--s-5) 0 var(--s-9)}}.page-fluid-inner{padding:0 var(--s-6);max-width:var(--w-wide);width:100%;margin:0 auto}@media (max-width:640px){.page-fluid-inner{padding:0 var(--s-4)}}.page-fluid>.pipeline{padding:var(--s-5) var(--s-6);margin:0}@media (max-width:640px){.page-fluid>.pipeline{padding:var(--s-4) var(--s-4)}}.related-section{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--border)}.related-section-title{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;justify-content:space-between}.related-section-title,.related-tabs{margin-bottom:var(--s-3);align-items:center}.related-tabs{display:inline-flex;gap:2px;background:var(--grey-soft);border-radius:var(--r-2);padding:2px;flex-wrap:wrap}.related-tab{padding:4px 10px;font-size:11px;font-weight:700;border-radius:4px;background:transparent;border:none;color:var(--muted);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;transition:background-color .15s ease,color .15s ease}.related-tab:hover{color:var(--text)}.related-tab.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-1)}.related-tab .count{background:var(--accent);color:#fff;padding:0 6px;border-radius:999px;font-size:9px;font-weight:700;min-width:16px;text-align:center}.related-tab:not(.active) .count{background:var(--border-strong);color:var(--muted)}.related-list{display:flex;flex-direction:column;gap:4px}.related-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fafbfc;border:1px solid var(--border);border-radius:var(--r-2);text-decoration:none;color:var(--text);transition:border-color .15s ease,background-color .15s ease}.related-item:hover{border-color:var(--accent);background:var(--panel);text-decoration:none}.related-item-icon{width:28px;height:28px;border-radius:var(--r-2);background:var(--accent-soft);color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.related-item-body{flex:1;min-width:0}.related-item-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-item-sub{font-size:11px;color:var(--muted);margin-top:1px}.related-item-right{font-size:12px;color:var(--muted);flex-shrink:0}.related-empty{padding:18px 12px;text-align:center;font-size:12px;color:var(--muted-2);background:#fafbfc;border:1px dashed var(--border);border-radius:var(--r-2)}.deal-links{gap:6px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);font-size:10px;color:var(--muted-2);font-weight:600}.deal-links,.deal-links span{display:inline-flex;align-items:center}.deal-links span{gap:3px}.deal-links svg{width:11px;height:11px}@supports (padding:env(safe-area-inset-top)){.topbar{padding-top:max(var(--s-2),env(safe-area-inset-top));height:calc(var(--topbar-h) + env(safe-area-inset-top))}.portal-header{padding-top:max(var(--s-4),env(safe-area-inset-top))}.page,.page-fluid-inner,.portal-main{padding-left:max(var(--s-6),env(safe-area-inset-left));padding-right:max(var(--s-6),env(safe-area-inset-right));padding-bottom:max(var(--s-9),calc(env(safe-area-inset-bottom) + var(--s-4)))}}@media (display-mode:standalone){body{-webkit-tap-highlight-color:transparent}[role=button],a,button{touch-action:manipulation}}.ts-view{min-height:100vh}.ts-head,.ts-view{display:flex;flex-direction:column}.ts-head{padding:var(--s-4) var(--s-5) var(--s-3);background:var(--panel);border-bottom:1px solid var(--border);gap:var(--s-3)}.ts-head-title{display:flex;flex-direction:column;gap:2px}.ts-h1{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--text);margin:0}.ts-h1-sub{font-size:var(--t-base);color:var(--muted);font-weight:500}.ts-head-nav{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.ts-head-month{font-weight:700;font-size:var(--t-md);padding:0 var(--s-3);color:var(--text)}.ts-saving{margin-left:auto;font-size:var(--t-sm);font-weight:600;color:var(--muted);opacity:0;transition:opacity .15s ease}.ts-saving.is-on{opacity:1}.ts-head-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:var(--t-sm);color:var(--muted);line-height:1.4}.ts-head-meta strong{color:var(--text);font-weight:700}.ts-view .ts-table{min-width:480px}.ts-view>div[style*=overflow]{padding-left:var(--s-3)!important;padding-right:var(--s-3)!important}@media (max-width:640px){.ts-head{padding:var(--s-4) var(--s-4) var(--s-3)}.ts-h1{font-size:22px}.ts-head-month{font-size:var(--t-base);padding:0 var(--s-2)}.ts-head-meta{font-size:11px;gap:4px 8px}}.leave-view{display:flex;flex-direction:column;min-height:100vh}.leave-head{padding:var(--s-4) var(--s-5);background:var(--panel);border-bottom:1px solid var(--border)}.leave-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.leave-h1{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--text);margin:0}.leave-cta{white-space:nowrap}.leave-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.leave-stat{background:var(--grey-soft);border-radius:var(--r-2);padding:var(--s-3) var(--s-3);display:flex;flex-direction:column;gap:2px;min-width:0}.leave-stat-label{font-size:var(--t-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.leave-stat-value{font-size:var(--t-xl);font-weight:700;color:var(--text);line-height:1.1}.leave-stat-unit{font-size:var(--t-sm);font-weight:500;color:var(--muted)}@media (max-width:640px){.leave-head{padding:var(--s-4) var(--s-4)}.leave-h1{font-size:22px}.leave-cta{padding:0 var(--s-3);font-size:var(--t-sm)}.leave-stat{padding:var(--s-2) var(--s-3)}.leave-stat-value{font-size:var(--t-lg)}}.view table td,.view table th{white-space:nowrap}.view>div[style*=overflow]{-webkit-overflow-scrolling:touch}.view table{min-width:100%}@media (max-width:640px){.view table{font-size:12px}.view table td,.view table th{padding:8px 10px}.view input[type=number]{width:100%;min-width:0}}.cal-card{padding:0;overflow:hidden}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#fafbfc;border-bottom:1px solid var(--border)}.cal-weekday{padding:10px 8px;font-size:var(--t-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-align:center}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,auto);background:var(--border);gap:1px}.cal-cell{background:#fff;padding:6px;display:flex;flex-direction:column;min-height:110px;cursor:default;position:relative;overflow:hidden}.cal-cell.is-out{background:#fafbfc;color:var(--muted-2)}.cal-cell.is-weekend{background:#fbfcfd}.cal-cell.is-out.is-weekend{background:#f7f8fa}.cal-cell-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;min-height:22px}.cal-day-num{font-size:12px;font-weight:500;color:inherit;width:auto;height:auto;display:inline-flex;align-items:center;justify-content:center}.cal-cell.is-today .cal-day-num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}.cal-dot-count{display:none}.cal-cell-items{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-more{font-size:10px;color:var(--muted);margin-top:2px;font-weight:600}@media (max-width:768px){.cal-month-grid{grid-auto-rows:minmax(56px,1fr)}.cal-cell{min-height:56px;padding:3px 4px}.cal-cell-head{min-height:16px;margin-bottom:2px}.cal-day-num{font-size:11px}.cal-cell.is-today .cal-day-num{width:18px;height:18px;font-size:10px}.cal-cell-items{flex-direction:row;flex-wrap:wrap;gap:3px;align-items:center}.cal-cell-items>button{width:6px!important;height:6px!important;border-radius:50%!important;padding:0!important;font-size:0!important;line-height:0!important;overflow:hidden!important;flex-shrink:0}.cal-more{display:none}.cal-dot-count{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 4px;background:var(--accent-soft);color:var(--accent-dark);font-size:9px;font-weight:700;border-radius:999px}.cal-weekday{padding:5px 2px;font-size:9px;letter-spacing:0}}@media (max-width:480px){.cal-month-grid{grid-auto-rows:minmax(48px,1fr)}.cal-cell{min-height:48px;padding:2px 3px}.cal-day-num{font-size:10px}}@media (max-width:768px){.page-wide .toolbar{gap:6px}.page-wide .toolbar .pill-group{padding:2px}.page-wide .toolbar .pill-tab{padding:0 var(--s-2);font-size:11px;height:26px}.page-fluid .pipeline,.pipeline{scroll-snap-type:x mandatory;padding:var(--s-3) var(--s-3) var(--s-8);gap:var(--s-3)}.page-fluid .stage,.pipeline .stage{width:84vw;min-width:84vw;max-width:320px;scroll-snap-align:start}.pipeline .stage-header{position:sticky;top:0;z-index:2}.pipeline .stage-empty{padding:14px 8px;font-size:11px;opacity:.8}.pipeline .stage-body{max-height:60vh}main.view>div[style*=overflow]>table{display:block;width:100%;border-collapse:separate}main.view>div[style*=overflow]>table thead{display:none}main.view>div[style*=overflow]>table tbody{display:block}main.view>div[style*=overflow]>table tr{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3)}main.view>div[style*=overflow]>table tr td{display:flex;align-items:center;justify-content:space-between;padding:var(--s-1) 0;border:0;text-align:left;white-space:normal;word-break:break-word;gap:var(--s-3);font-size:var(--t-base)}main.view>div[style*=overflow]>table tr td:first-child{display:flex;align-items:center;gap:var(--s-2);border-bottom:1px solid var(--border);padding-bottom:var(--s-2);margin-bottom:var(--s-2);justify-content:flex-start}main.view>div[style*=overflow]>table tr td:nth-child(2):before{content:"Email"}main.view>div[style*=overflow]>table tr td:nth-child(3):before{content:"Role"}main.view>div[style*=overflow]>table tr td:nth-child(4):before{content:"Created"}main.view>div[style*=overflow]>table tr td:nth-child(2):before,main.view>div[style*=overflow]>table tr td:nth-child(3):before,main.view>div[style*=overflow]>table tr td:nth-child(4):before{font-size:var(--t-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}main.view>div[style*=overflow]>table tr td:last-child{justify-content:flex-end}main.view>div[style*=overflow]>table tr td select{width:110px!important;max-width:50%}}.tasks-col-tabs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:var(--s-2) 0 var(--s-3);margin-bottom:var(--s-2);scroll-snap-type:x proximity}.tasks-col-tabs::-webkit-scrollbar{display:none}.tasks-col-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-family:inherit;font-weight:600;font-size:var(--t-sm);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;flex-shrink:0;scroll-snap-align:start;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tasks-col-tab:hover{background:var(--grey-soft);color:var(--text)}.tasks-col-tab-name{font-size:var(--t-sm)}.tasks-col-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;background:var(--grey-soft);color:var(--muted);border-radius:var(--r-pill);font-size:10px;font-weight:700}.tasks-col-tab.is-active{background:var(--text);color:#fff;border-color:var(--text)}.tasks-col-tab.is-active .tasks-col-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tasks-col-tab.is-active[data-tcol=grey]{background:var(--grey);border-color:var(--grey)}.tasks-col-tab.is-active[data-tcol=blue]{background:var(--blue);border-color:var(--blue)}.tasks-col-tab.is-active[data-tcol=amber]{background:var(--amber);border-color:var(--amber)}.tasks-col-tab.is-active[data-tcol=green]{background:var(--accent);border-color:var(--accent)}.tasks-col-tab.is-active[data-tcol=red]{background:var(--red);border-color:var(--red)}.tasks-col-tab.is-active[data-tcol=purple]{background:var(--purple);border-color:var(--purple)}@media (max-width:768px){.pipeline.is-mobile{display:block;overflow:visible;padding:0 var(--s-4) var(--s-9);scroll-snap-type:none}.pipeline.is-mobile .stage{width:100%;min-width:0;max-width:100%;max-height:none;background:transparent}.pipeline.is-mobile .stage-header{position:static;background:transparent;padding:0 0 var(--s-3) 0;border-bottom:2px solid var(--border);margin-bottom:var(--s-3)}.pipeline.is-mobile .stage[data-tcol=grey] .stage-header{border-bottom-color:var(--grey)}.pipeline.is-mobile .stage[data-tcol=blue] .stage-header{border-bottom-color:var(--blue)}.pipeline.is-mobile .stage[data-tcol=amber] .stage-header{border-bottom-color:var(--amber)}.pipeline.is-mobile .stage[data-tcol=green] .stage-header{border-bottom-color:var(--accent)}.pipeline.is-mobile .stage[data-tcol=red] .stage-header{border-bottom-color:var(--red)}.pipeline.is-mobile .stage[data-tcol=purple] .stage-header{border-bottom-color:var(--purple)}.pipeline.is-mobile .stage-body{background:transparent;padding:0;max-height:none;gap:var(--s-3)}.pipeline.is-mobile .deal-card{padding:var(--s-3) var(--s-4)}.pipeline.is-mobile .deal-card .deal-title{font-size:15px}.pipeline.is-mobile .stage-empty{padding:var(--s-7) var(--s-4);font-size:13px}.pipeline.is-mobile .add-deal-btn{margin:var(--s-3) 0 0;width:100%;padding:var(--s-3);font-size:13px}main.view>div[style*=overflow]>table.ts-table,main.view>div[style*=overflow]>table.ts-table tbody,main.view>div[style*=overflow]>table.ts-table td,main.view>div[style*=overflow]>table.ts-table th,main.view>div[style*=overflow]>table.ts-table thead,main.view>div[style*=overflow]>table.ts-table tr{display:revert}main.view>div[style*=overflow]>table.ts-table{display:table;border-collapse:collapse}main.view>div[style*=overflow]>table.ts-table thead{display:table-header-group}main.view>div[style*=overflow]>table.ts-table tbody{display:table-row-group}main.view>div[style*=overflow]>table.ts-table tr{display:table-row}main.view>div[style*=overflow]>table.ts-table td,main.view>div[style*=overflow]>table.ts-table th{display:table-cell}main.view>div[style*=overflow]>table.ts-table tr td:before{content:none!important;display:none!important}main.view>div[style*=overflow]>table.ts-table tr td:first-child{border-bottom:1px solid var(--border)!important;margin:0!important;padding:6px 8px!important;display:table-cell!important;justify-content:flex-start!important}main.view>div[style*=overflow]>table.ts-table tr{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important}.ts-table .ts-date{min-width:64px!important;padding:8px 10px!important}.ts-table .ts-date>div:first-child{font-size:12px!important}.ts-table .ts-date>div:last-child{font-size:10px!important}.ts-v9 .ts-cell{min-width:0!important;padding:8px 10px!important;vertical-align:top!important}.ts-day{gap:6px!important}.ts-leave-chip,.ts-type-select{width:100%;box-sizing:border-box}.ts-session{flex-wrap:wrap!important;gap:6px!important}.ts-session input[type=time]{width:72px!important;font-size:12px!important}.ts-rate-toggle{font-size:11px!important;padding:3px 10px!important}.ts-session-hrs{font-size:11px!important;min-width:32px!important}.ts-table tr td:before{content:none!important}.ts-table .ts-user-head{font-size:13px!important;padding:8px 10px!important}.ts-table tfoot td{font-size:12px!important;padding:8px 10px!important}main.view>div[style*=overflow]{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:480px){.ts-table .ts-date{min-width:58px!important;padding:6px!important}.ts-v9 .ts-cell{padding:6px 8px!important}.ts-session input[type=time]{width:64px!important;font-size:11px!important}.ts-rate-toggle{font-size:10px!important;padding:2px 8px!important}.ts-add-session{font-size:11px!important;padding:6px!important}.ts-table .ts-user-head{font-size:12px!important}}@media (max-width:768px){.modal input,.modal select,.modal textarea,input,input[type=date],input[type=time],select,textarea{font-size:16px!important}.ts-table input[type=time]{font-size:13px!important}}.assignee-grid{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border:1px solid var(--border);border-radius:var(--r-2);background:var(--panel);min-height:44px;align-items:center}.assignee-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:var(--r-pill);background:var(--grey-soft);border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:var(--t-sm);font-weight:600;color:var(--muted);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.assignee-chip:hover{background:var(--accent-soft)}.assignee-chip.is-selected{background:var(--accent);color:#fff;border-color:var(--accent)}.assignee-chip .avatar{background:hsla(0,0%,100%,.25);color:inherit}.assignee-chip.is-selected .avatar{background:hsla(0,0%,100%,.25);color:#fff}.assignee-chip-blank{font-size:12px;color:var(--muted-2);padding:4px 10px}.assignee-stack{display:inline-flex;align-items:center}.assignee-stack>.task-assignee{margin-left:-8px;z-index:1}.assignee-stack>.task-assignee:first-child{margin-left:0;z-index:4}.assignee-stack>.task-assignee:nth-child(2){z-index:3}.assignee-stack>.task-assignee:nth-child(3){z-index:2}.assignee-stack-overflow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--grey-soft);color:var(--muted);font-size:9px;font-weight:700;margin-left:-8px;z-index:0;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--border)}.stage[data-stage=prospect] .stage-header{border-bottom-color:#b7c4d4}.deal-card[data-stage=prospect]:before{background:#b7c4d4}