/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);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,)}.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{--red:#c8102e;--red-strong:#a90d26;--red-soft:#fff1f3;--ink:#17191f;--navy:#111827;--slate:#475467;--muted:#737b8c;--line:#e4e7ec;--line-strong:#d0d5dd;--surface:#fff;--canvas:#f2f4f7;--soft:#f8f9fb;--green:#12805c;--green-soft:#eaf8f2;--amber:#a15c00;--amber-soft:#fff6e8;--shadow:0 12px 35px #1018280f}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{color:var(--ink);background:var(--canvas);font-family:var(--font-geist-sans), Arial, "PingFang SC", "Microsoft YaHei", sans-serif;margin:0;overflow-x:clip}button,input,textarea{font:inherit}button,label,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible){outline-offset:2px;outline:3px solid #c8102e2e}.app-shell{min-height:100vh;padding-bottom:24px}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #e4e7ece6;grid-template-columns:1fr auto 1fr;align-items:center;height:70px;padding:0 max(24px,50vw - 670px);display:grid;position:sticky;top:0}.brand{color:var(--ink);justify-self:start;align-items:center;gap:11px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid;overflow:hidden;box-shadow:0 6px 16px #c8102e24}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand>span:last-child{flex-direction:column;gap:1px;display:flex}.brand b{letter-spacing:-.02em;font-size:14px}.brand small{letter-spacing:.24em;color:var(--muted);font-size:7px}.topnav{border:1px solid var(--line);background:var(--soft);border-radius:10px;align-items:center;gap:5px;padding:5px;display:flex}.topnav a{color:var(--slate);border-radius:7px;padding:7px 12px;font-size:11px;font-weight:650;text-decoration:none}.topnav a:hover{color:var(--ink);background:#fff;box-shadow:0 2px 8px #1018280f}.topnav .crm-nav-link{color:var(--red);background:var(--red-soft)}.topnav .crm-nav-link:hover{color:#fff;background:var(--red)}.top-actions{justify-self:end;align-items:center;gap:15px;display:flex}.roster-entry-link,.crm-entry-link{color:var(--red);background:var(--red-soft);white-space:nowrap;border:1px solid #f1c6ce;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:750;text-decoration:none}.roster-entry-link:hover,.crm-entry-link:hover{color:#fff;border-color:var(--red);background:var(--red)}.crm-entry-link{display:none}.top-status{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.top-status i{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #12805c1a}.logout-link{color:var(--muted);border-left:1px solid var(--line);padding-left:15px;font-size:10px;text-decoration:none}.logout-link:hover{color:var(--red)}.hero{border:1px solid var(--line);background:var(--surface);max-width:1340px;min-height:470px;box-shadow:var(--shadow);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(410px,.73fr);align-items:center;gap:clamp(50px,7vw,105px);margin:20px auto 0;padding:52px 58px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";border:70px solid var(--red-soft);border-radius:50%;width:340px;height:340px;position:absolute;top:-190px;left:-190px}.hero-copy{z-index:1;position:relative}.hero-label{border:1px solid var(--line);border-radius:8px;align-items:center;width:fit-content;margin-bottom:28px;display:flex;overflow:hidden}.hero-label span,.hero-label b{letter-spacing:.12em;padding:7px 11px;font-size:9px}.hero-label span{color:#fff;background:var(--navy)}.hero-label b{color:var(--red);background:#fff}.eyebrow,.section-heading p,.export-copy p,.history-head p{color:var(--red);letter-spacing:.19em;margin:0;font-size:9px;font-weight:800}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(48px,5.2vw,68px);font-weight:620;line-height:.98}.hero h1 span{color:var(--red)}.subtitle{max-width:610px;color:var(--slate);margin:22px 0 0;font-size:14px;line-height:1.75}.hero-actions{align-items:center;gap:10px;margin-top:30px;display:flex}.primary-link,.secondary-link{border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.primary-link{color:#fff;background:var(--red);border:1px solid var(--red);justify-content:space-between;gap:28px;min-width:172px;box-shadow:0 8px 18px #c8102e2e}.primary-link:hover{background:var(--red-strong);transform:translateY(-1px)}.secondary-link{color:var(--ink);border:1px solid var(--line-strong);background:#fff}.secondary-link:hover{border-color:var(--ink);transform:translateY(-1px)}.process-rail{border-top:1px solid var(--line);align-items:center;gap:8px;max-width:680px;margin-top:30px;padding-top:19px;display:flex}.process-rail span{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:flex}.process-rail i{color:var(--red);font-style:normal;font-family:var(--font-geist-mono), monospace;font-size:9px}.process-rail em{background:var(--line);flex:1;min-width:18px;height:1px}.hero-card{color:#fff;background:radial-gradient(circle at 100% 0,#263043 0,#141a25 38%,#0e1118 100%);border:1px solid #2d3442;border-radius:20px;min-width:0;padding:27px;box-shadow:0 20px 45px #11182738}.hero-card-head{border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:flex-start;padding-bottom:20px;display:flex}.hero-card-head>div{align-items:baseline;gap:9px;display:flex}.hero-card-head small{color:#8f98a9;letter-spacing:.13em;font-size:8px}.hero-card-head span{color:#ff4f6a;font:italic 25px Georgia,serif}.hero-card-head time{color:#9aa3b1;text-align:right;font:9px/1.6 var(--font-geist-mono), monospace}.hero-total{grid-template-columns:1fr auto;align-items:end;padding:24px 0 22px;display:grid}.hero-total small{color:#98a2b3;letter-spacing:.16em;grid-column:1/-1;font-size:8px}.hero-total strong{letter-spacing:-.055em;min-width:0;margin-top:8px;font-size:clamp(38px,4vw,52px);line-height:1}.hero-total em{color:#74d7b5;padding-bottom:5px;font-size:11px;font-style:normal;font-weight:750}.hero-total em.down{color:#ff7a8e}.hero-total em span{color:#7f8999;font-size:8px;font-weight:500}.hero-grid{background:#ffffff06;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.hero-grid div{border-right:1px solid #ffffff1a;min-width:0;padding:13px 10px}.hero-grid div:last-child{border:0}.hero-grid small{color:#7f8998;letter-spacing:.08em;margin-bottom:5px;font-size:7px;display:block}.hero-grid b{font-size:13px}.achievement-row{color:#8f98a8;justify-content:space-between;align-items:center;margin-top:19px;font-size:9px;display:flex}.achievement-row b{color:#fff;font-size:10px}.signal-line{background:#303745;border-radius:20px;height:5px;margin-top:8px;overflow:hidden}.signal-line span{background:linear-gradient(90deg, var(--red), #ff4965);border-radius:inherit;height:100%;display:block}.privacy-note{color:#c5cad3;background:#ffffff0b;border-radius:10px;align-items:center;gap:10px;margin-top:19px;padding:12px 13px;font-size:9px;line-height:1.45;display:flex}.privacy-note i{color:#75dfbb;background:#75dfbb1a;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.privacy-note small{color:#7f8998}.section{border:1px solid var(--line);background:var(--surface);max-width:1340px;box-shadow:var(--shadow);border-radius:20px;margin:18px auto 0;padding:38px}.workspace{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 340px;gap:18px;padding:0;scroll-margin-top:85px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:20px}.workflow-panel{padding:30px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.section-heading>div:first-child{align-items:flex-start;gap:14px;display:flex}.section-index{min-width:35px;height:35px;color:var(--red);background:var(--red-soft);border-radius:9px;place-items:center;font:italic 14px Georgia,serif;display:grid}.section-heading h2,.export-copy h2{letter-spacing:-.04em;margin:4px 0 0;font-size:25px;font-weight:620;line-height:1.15}.heading-note{color:var(--muted);margin-top:6px;font-size:10px;display:block}.template-button,.save-button{min-height:38px;color:var(--slate);border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:0 13px;font-size:10px;font-weight:650}.template-button:hover,.save-button:hover{color:var(--red);border-color:var(--red);background:var(--red-soft)}.upload-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.upload-card{min-width:0;min-height:170px;color:var(--ink);border:1px solid var(--line);background:var(--soft);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:space-between;padding:17px;transition:all .2s;display:flex}.upload-card:hover{background:snow;border-color:#d79aa6;transform:translateY(-2px);box-shadow:0 10px 22px #1018280f}.upload-card.complete{background:#f4fbf8;border-color:#9cd7c2}.upload-card input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.upload-top{justify-content:space-between;align-items:flex-start;display:flex}.upload-top span{color:#98a2b3;font:10px var(--font-geist-mono), monospace}.upload-top i{width:32px;height:32px;color:var(--red);background:#fff;border:1px solid #f2c9d0;border-radius:9px;place-items:center;font-size:9px;font-style:normal;font-weight:800;display:grid}.upload-card.complete .upload-top i{color:#fff;background:var(--green);border-color:var(--green);font-size:12px}.upload-copy{margin-top:14px}.upload-card h3{margin:0 0 6px;font-size:14px}.upload-card p{min-height:34px;color:var(--muted);word-break:break-all;margin:0;font-size:10px;line-height:1.55;overflow:hidden}.upload-card>small{color:var(--red);font-size:9px;font-weight:700}.run-bar{background:var(--navy);color:#fff;border:1px solid #293141;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:13px 14px 13px 16px;display:flex}.run-message{align-items:center;gap:12px;min-width:0;display:flex}.state-dot{background:#57d4a6;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 5px #57d4a61c}.state-dot.error{background:#ff6b82;box-shadow:0 0 0 5px #ff6b821f}.run-message b{white-space:nowrap;text-overflow:ellipsis;max-width:660px;font-size:10px;display:block;overflow:hidden}.run-message small{color:#7f8998;margin-top:3px;font-size:8px;display:block}.run-button{color:#fff;background:var(--red);border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:24px;min-width:132px;height:40px;padding:0 14px;font-size:10px;font-weight:750;display:flex}.run-button:hover:not(:disabled){background:#e21b3c}.run-button:disabled{color:#8a93a2;cursor:not-allowed;background:#303746}.history-panel{flex-direction:column;padding:26px;display:flex}.history-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-head h3{letter-spacing:-.04em;margin:5px 0 0;font-size:21px}.storage-badge{color:var(--green);background:var(--green-soft);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 8px;font-size:8px;font-weight:750;display:flex}.storage-badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.storage-badge.loading,.storage-badge.saving{color:var(--amber);background:var(--amber-soft)}.storage-badge.offline{color:var(--muted);background:var(--soft)}.history-list{flex:1;align-content:start;gap:7px;margin-top:20px;display:grid}.history-list>button{width:100%;color:var(--ink);text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.history-list>button:hover{background:#fffafb;border-color:#d8a0aa}.history-list>button:disabled{cursor:wait;opacity:.6}.history-week{width:40px;height:38px;color:var(--red);background:var(--red-soft);border-radius:8px;place-items:center;font:italic 13px Georgia,serif;display:grid}.history-list button b{font-size:11px;display:block}.history-list button small{color:var(--muted);margin-top:3px;font-size:7px;display:block}.history-list button>i{color:#98a2b3;font-style:normal}.history-empty{text-align:center;border:1px dashed var(--line-strong);background:var(--soft);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:24px;display:flex}.history-empty>span{width:38px;height:38px;color:var(--red);background:#fff;border-radius:50%;place-items:center;font-size:19px;display:grid}.history-empty b{margin-top:12px;font-size:11px}.history-empty p{max-width:220px;color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.55}.history-foot{color:#98a2b3;border-top:1px solid var(--line);justify-content:space-between;margin-top:16px;padding-top:14px;font-size:7px;display:flex}.results{scroll-margin-top:85px}.result-actions{align-items:center;gap:9px;display:flex}.check-summary{gap:6px;display:flex}.check-summary span,.draft-badge{color:var(--green);background:var(--green-soft);letter-spacing:.08em;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800}.check-summary .review{color:var(--amber);background:var(--amber-soft)}.metric-strip{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.metric{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fafbfc);border-radius:13px;min-width:0;padding:18px}.metric small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px;display:block}.metric strong{letter-spacing:-.045em;margin:10px 0 5px;font-size:clamp(21px,2.1vw,30px);display:block}.metric span{font-size:9px;font-weight:750}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.neutral{color:var(--muted)!important}.data-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;gap:14px;margin-top:14px;display:grid}.table-card,.validation-card,.chart-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.card-head{border-bottom:1px solid var(--line);background:#fbfcfd;justify-content:space-between;align-items:center;min-height:50px;padding:0 16px;display:flex}.card-head h3{margin:0;font-size:11px}.card-head>span{color:var(--red);font:italic 12px Georgia,serif}.table-scroll,.store-inputs-scroll,.report-slide-scroller{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:9px}th{color:#d7dce5;background:var(--navy);text-align:right;padding:11px 8px;font-size:8px;font-weight:650}th:first-child,td:first-child{text-align:left}td{text-align:right;border-bottom:1px solid #edf0f3;padding:11px 8px}tbody tr:hover td{background:#fafbfc}tbody tr:last-child td{border:0}tr.total td{color:var(--ink);font-weight:800;background:#fdf0f2!important}tr.subtotal td{color:var(--ink);font-weight:800;background:#eef6fc!important}.check-list{padding:5px 16px}.check-item{border-bottom:1px solid var(--line);grid-template-columns:25px 1fr;gap:9px;padding:11px 0;display:grid}.check-item:last-child{border:0}.check-icon{border-radius:7px;place-items:center;width:22px;height:22px;font-size:9px;font-weight:800;display:grid}.check-icon.pass{color:var(--green);background:var(--green-soft)}.check-icon.review{color:var(--amber);background:var(--amber-soft)}.check-icon.fail{color:var(--red);background:var(--red-soft)}.check-item b{font-size:9px}.check-item p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.45}.visual-grid{grid-template-columns:1.55fr repeat(3,.85fr);gap:10px;margin-top:14px;display:grid}.chart-card{min-height:225px}.legend{color:var(--muted);gap:10px;font-size:8px;display:flex}.legend span{align-items:center;gap:4px;display:flex}.legend i{border-radius:2px;width:7px;height:7px}.legend .ty{background:var(--red)}.legend .ly{background:#c9ced8}.trend-plot{background:repeating-linear-gradient(#0000 0 42px,#edf0f3 43px);justify-content:space-around;align-items:stretch;gap:9px;height:174px;padding:26px 16px 15px;display:flex}.trend-group{flex-direction:column;flex:1;justify-content:end;align-items:center;min-width:30px;display:flex}.bar-pair{justify-content:center;align-items:end;gap:5px;width:100%;height:120px;display:flex}.bar{border-radius:3px 3px 0 0;width:24%;min-width:8px;display:block;position:relative}.bar.ty{background:linear-gradient(#df3650, var(--red))}.bar.ly{background:#c9ced8}.bar b{color:var(--muted);font-size:6px;font-weight:550;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.trend-group>small{color:var(--muted);margin-top:8px;font-size:7px}.category-bars{gap:18px;padding:25px 16px 16px;display:grid}.category-bars div>span{justify-content:space-between;margin-bottom:7px;font-size:8px;display:flex}.category-bars div>span i{color:var(--muted);font-style:normal}.category-bars em{background:#edf0f3;border-radius:10px;height:6px;display:block;overflow:hidden}.category-bars em i{background:linear-gradient(90deg, var(--red), #f05870);border-radius:inherit;height:100%;display:block}.narrative{scroll-margin-top:85px}.draft-badge{color:var(--red);background:var(--red-soft)}.narrative-grid{grid-template-columns:minmax(0,1fr) minmax(410px,.86fr);align-items:start;gap:24px;display:grid}.note-editor{gap:10px;display:grid}.note-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.note-field{display:block}.note-field span{color:var(--slate);text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.note-field textarea{resize:vertical;width:100%;min-height:72px;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;outline:none;padding:11px 12px;font-size:10px;line-height:1.55}.note-field textarea:focus{background:#fff;border-color:#d88b99;box-shadow:0 0 0 3px #c8102e0f}.note-row .note-field textarea{min-height:82px}.slide-preview{aspect-ratio:16/9;border:1px solid var(--line-strong);background:#fff;border-radius:12px;padding:4.5% 4% 3.5%;font-size:clamp(5px,.58vw,9px);position:sticky;top:88px;overflow:hidden;box-shadow:0 18px 45px #1018281f}.slide-title{letter-spacing:-.06em;font-size:2.3em}.slide-charts{grid-template-columns:2fr repeat(3,1fr);align-items:center;gap:4%;height:34%;margin-top:2%;display:grid}.mini-bars{border-bottom:1px solid #aaa;justify-content:center;align-items:end;gap:5%;height:76%;display:flex}.mini-bars>span{background:var(--red);width:12%;display:block;position:relative}.mini-bars i{color:#666;font-size:.65em;font-style:normal;position:absolute;bottom:-1.6em;left:50%;transform:translate(-50%)}.mini-donut{aspect-ratio:1;border-radius:50%;place-items:center;width:76%;margin:auto;display:grid;position:relative}.mini-donut:after{content:"";background:#fff;border-radius:50%;width:54%;height:54%;position:absolute}.mini-donut span{z-index:1;color:#666;font-size:.65em}.slide-table-lines{background:linear-gradient(var(--red) 0 19%, transparent 19%);border:1px solid #bbb;flex-direction:column;height:21%;margin-top:4%;padding-top:4%;display:flex}.slide-table-lines span{border-top:1px solid #ddd;flex:1}.slide-notes{grid-template-columns:1fr 1fr;gap:5%;height:27%;padding-top:3%;display:grid}.slide-notes p{color:#444;white-space:pre-line;margin:0;font-size:.72em;line-height:1.35;overflow:hidden}.slide-rail{background:var(--red);color:#fff;writing-mode:vertical-rl;text-align:center;width:1.5%;height:100%;padding:4% .1%;font-size:.7em;position:absolute;top:0;right:0}.showcase{scroll-margin-top:85px}.showcase-heading{align-items:flex-start}.showcase-actions{justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.report-picker{gap:6px;min-width:278px;display:grid}.report-picker>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.report-picker select{width:100%;height:40px;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:9px;padding:0 34px 0 12px;font-size:10px;font-weight:650}.report-picker select:focus{border-color:#d88b99;outline:3px solid #c8102e14}.showcase-button{min-height:40px;color:var(--slate);border:1px solid var(--line-strong);white-space:nowrap;background:#fff;border-radius:9px;padding:0 13px;font-size:9px;font-weight:750}.showcase-button:hover{color:var(--red);border-color:var(--red);background:var(--red-soft)}.showcase-button.primary{color:#fff;background:var(--red);border-color:var(--red)}.showcase-button.primary:hover{color:#fff;background:var(--red-strong)}.showcase-button:disabled{opacity:.55;cursor:wait}.showcase-status{min-height:40px;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:12px;padding:0 13px;font-size:9px;display:grid}.showcase-status>span{color:var(--green);letter-spacing:.08em;align-items:center;gap:7px;font-size:8px;font-weight:850;display:flex}.showcase-status>span i{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #12805c14}.showcase-status.loading>span{color:var(--amber)}.showcase-status.error>span{color:var(--red)}.showcase-status p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.showcase-status b{color:var(--ink);font-size:9px}.report-slide-scroller{overscroll-behavior-inline:contain;background:#e9ebef;border:1px solid #d8dce3;border-radius:15px;padding:20px;overflow-x:auto;box-shadow:inset 0 1px #ffffffa6}.report-slide{aspect-ratio:16/9;color:#111;background:#fff;border:1px solid #cfd3da;width:100%;min-width:960px;font-family:Arial,PingFang SC,sans-serif;font-size:clamp(4px,.69vw,10px);position:relative;overflow:hidden;box-shadow:0 16px 42px #10182829}.report-slide:-webkit-full-screen{border:0;width:min(100vw,177.78vh);min-width:0;height:min(56.25vw,100vh);margin:auto;font-size:min(.78vw,1.38vh)}.report-slide:fullscreen{border:0;width:min(100vw,177.78vh);min-width:0;height:min(56.25vw,100vh);margin:auto;font-size:min(.78vw,1.38vh)}.report-slide-body{padding:2.2% 3.6% 1.8% 4.45%;position:absolute;inset:0 4.45% 0 0}.report-slide-title{letter-spacing:-.045em;align-items:flex-start;height:7%;margin:0;font-size:3.55em;font-weight:430;line-height:1;display:flex}.report-slide-charts{grid-template-columns:1.75fr repeat(3,1fr);align-items:stretch;gap:3%;height:36%;display:grid}.ppt-trend-chart,.ppt-category-chart{min-width:0;position:relative}.ppt-trend-chart h4,.ppt-category-chart h4{color:#555;justify-content:center;align-items:center;height:13%;margin:0;font-size:1.65em;font-weight:450;line-height:1;display:flex}.ppt-trend-plot{border-bottom:.1em solid #777;height:72%;position:relative;overflow:visible}.ppt-grid-lines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.ppt-grid-lines i{background:#dedede;height:.1em;display:block}.ppt-trend-columns{z-index:2;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;inset:0}.ppt-trend-column{flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;display:flex}.ppt-bar-pair{justify-content:center;align-items:flex-end;gap:7%;width:68%;height:91%;display:flex}.ppt-bar{width:35%;min-height:2%;display:block;position:relative}.ppt-bar.ty{background:#c90000}.ppt-bar.ly{background:#bfc0c2}.ppt-bar b{color:#555;font-size:.95em;font-weight:500;line-height:1;position:absolute;top:-1.45em;left:50%;transform:translate(-50%)}.ppt-trend-column small{color:#666;height:9%;padding-top:.55em;font-size:.92em;line-height:1}.ppt-line-series{z-index:4;pointer-events:none;position:absolute;inset:0}.ppt-line-segment{transform-origin:0;background:currentColor;height:.22em;display:block;position:absolute}.ppt-line-point{width:.64em;height:.64em;color:inherit;background:currentColor;border-radius:50%;display:block;position:absolute;transform:translate(-50%,-50%)}.ppt-line-point b{color:inherit;white-space:nowrap;font-size:1.05em;font-weight:500;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.ppt-line-series.traffic{color:#858585}.ppt-line-series.traffic .ppt-line-point b{top:.9em}.ppt-line-series.conversion{color:#f00000}.ppt-line-series.conversion .ppt-line-point b{bottom:1em}.ppt-chart-legend{color:#777;white-space:nowrap;justify-content:center;align-items:end;gap:4.5%;height:15%;font-size:.86em;display:flex}.ppt-chart-legend span{align-items:center;gap:.45em;display:flex}.ppt-chart-legend .legend-sales{color:#c90000}.ppt-chart-legend .legend-sales-ly{color:#bfc0c2}.ppt-chart-legend .legend-traffic{color:#858585}.ppt-chart-legend .legend-conversion{color:#f00000}.ppt-chart-legend i{border-radius:.15em;width:.85em;height:.85em;display:inline-block}.ppt-chart-legend .sales{background:#c90000}.ppt-chart-legend .sales-ly{background:#bfc0c2}.ppt-chart-legend .traffic,.ppt-chart-legend .conversion{background:#858585;border-radius:0;width:2.7em;height:.2em}.ppt-chart-legend .conversion{background:#f00000}.ppt-category-pie{aspect-ratio:1;border-radius:50%;width:74%;margin:1% auto 0;box-shadow:inset 0 0 0 .14em #fff}.ppt-category-legend{color:#666;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.55em 1em;min-height:18%;margin-top:3%;font-size:.83em;line-height:1;display:flex}.ppt-category-legend span{white-space:nowrap;align-items:center;gap:.35em;display:flex}.ppt-category-legend span>i{width:.8em;height:.8em;display:inline-block}.ppt-category-legend b{color:#444;font-weight:600}.ppt-kpi-table-wrap{height:25%;margin-top:.7%;overflow:hidden}.ppt-kpi-table{table-layout:fixed;border-collapse:collapse;color:#050505;white-space:nowrap;width:100%;height:100%;font-size:.87em;line-height:1}.ppt-kpi-table th,.ppt-kpi-table td{text-align:center;text-overflow:clip;border:.1em solid #999;height:auto;padding:.26em .28em;overflow:hidden}.ppt-kpi-table .ppt-group-head th{color:#050505;background:#fff;border:0;font-size:1.24em;font-weight:700}.ppt-kpi-table .ppt-group-head th:first-child{color:#050505;text-align:center}.ppt-kpi-table thead tr:last-child th{color:#fff;background:#c80000;border-color:#fff;font-size:.95em;font-weight:750}.ppt-kpi-table th:first-child,.ppt-kpi-table td:first-child{text-align:left}.ppt-kpi-table thead tr:last-child th:first-child{text-align:center}.ppt-kpi-table tbody td{color:#030303;background:#fff;font-weight:650}.ppt-kpi-table tbody tr.beijing td{background:#ddebf7;font-style:italic;font-weight:800}.ppt-kpi-table tbody tr.subtotal td,.ppt-kpi-table tbody tr.total td{background:#ededed;font-style:italic;font-weight:800}.ppt-kpi-table .ppt-negative{color:#f00000;font-style:italic}.report-slide-narratives{grid-template-columns:1fr 1.04fr;gap:5.7%;height:28%;margin-top:2.2%;display:grid;overflow:hidden}.ppt-narrative{color:#1e1e1e;min-width:0;font-size:1.13em;line-height:1.4;overflow:hidden}.ppt-narrative p{grid-template-columns:1.1em 1fr;gap:.15em;margin:0 0 .2em;display:grid}.ppt-narrative p.heading{font-weight:500;display:block}.ppt-narrative p.bullet span{text-align:left}.report-slide-rail{color:#3f3f3f;background:#fafafa;border-left:.1em solid #e0e0e0;border-right:.65em solid #c8102e;flex-direction:column;align-items:center;width:4.45%;display:flex;position:absolute;inset:0 0 0 auto}.report-slide-logo{aspect-ratio:73/76;background:#fff;border:.06em solid #e2e2e2;border-radius:.16em;width:72%;margin-top:7%;display:block;overflow:hidden}.report-slide-logo img{object-fit:contain;width:100%;height:100%;display:block}.report-slide-rail>span{writing-mode:vertical-rl;margin-top:22%;font-size:.75em}.report-slide-rail i{color:#999;writing-mode:vertical-rl;margin-top:auto;margin-bottom:15%;font-size:.73em;font-style:normal}.report-slide-rail b{margin-bottom:9%;font-size:1.05em}.report-slide-loading{z-index:8;color:#404756;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffe0;justify-content:center;align-items:center;gap:1em;font-size:1.35em;font-weight:700;display:flex;position:absolute;inset:0}.report-slide-loading span{border:.2em solid #f0b2bc;border-top-color:var(--red);border-radius:50%;width:1.25em;height:1.25em;animation:.8s linear infinite report-spin}.showcase-mobile-hint{color:var(--muted);margin:10px 0 0;font-size:9px;display:none}@keyframes report-spin{to{transform:rotate(360deg)}}.export{background:radial-gradient(circle at 95% 10%, #30394a, var(--navy) 52%);color:#fff;border-color:#293141;grid-template-columns:minmax(245px,.72fr) minmax(560px,1.28fr);align-items:center;gap:14px 30px;padding:32px 36px;display:grid;position:relative;overflow:hidden}.export:after{content:"EXPORT";color:#ffffff06;letter-spacing:-.08em;font-size:104px;font-weight:900;position:absolute;bottom:-34px;right:-16px}.export-copy{z-index:1;grid-row:1/3;align-items:center;gap:14px;display:flex;position:relative}.export .section-index{color:#ff8094;background:#ffffff12}.export-copy h2{color:#fff}.export-copy>div>span{color:#8f98a8;margin-top:7px;font-size:9px;display:block}.export-actions{z-index:1;gap:7px;display:flex;position:relative}.export-actions button{color:#d5dae2;background:#ffffff06;border:1px solid #3f4858;border-radius:9px;min-height:44px;padding:0 15px;font-size:9px;font-weight:700}.export-actions button:hover{color:#fff;background:#ffffff0d;border-color:#788294}.export-actions .export-main{color:#fff;background:var(--red);border-color:var(--red);justify-content:space-between;gap:20px;min-width:142px;display:flex}.export-actions .export-main:hover{background:#e01a3b;border-color:#e01a3b}.export-actions button:disabled{opacity:.55;cursor:wait}.delivery-pipeline{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:relative}.delivery-pipeline>div,.delivery-pipeline>button{color:#fff;text-align:left;background:#ffffff0b;border:1px solid #424b5c;border-radius:11px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:70px;padding:11px 12px;display:grid}.delivery-pipeline>button{cursor:pointer}.delivery-pipeline>button:hover{background:#ffffff13;border-color:#727d90}.delivery-pipeline>.export-main{background:var(--red);border-color:var(--red)}.delivery-pipeline>.export-main:hover{background:#df193a;border-color:#df193a}.delivery-pipeline>button:disabled{opacity:.55;cursor:wait}.delivery-pipeline i{color:#f4a5b2;background:#ffffff14;border-radius:8px;place-items:center;width:25px;height:25px;font-size:9px;font-style:normal;font-weight:850;display:grid}.delivery-pipeline span{gap:4px;min-width:0;display:grid}.delivery-pipeline b{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.delivery-pipeline small{color:#aeb6c4;font-size:7px;line-height:1.4}.delivery-pipeline em{color:#f4a5b2;font-size:13px;font-style:normal}.export-actions.secondary{justify-content:flex-end}footer{max-width:1340px;min-height:76px;color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:0 12px;font-size:8px;display:grid}footer>div{color:var(--ink);align-items:center;gap:9px;display:flex}.brand-mark.small{border-radius:7px;width:26px;height:26px;font-size:13px}.footer-cloud{color:#98a2b3;justify-self:end}.history-ready-badge{letter-spacing:.05em;border-radius:999px;padding:7px 10px;font-size:8px;font-weight:800}.history-ready-badge.ready{color:var(--green);background:var(--green-soft)}.history-ready-badge.empty{color:var(--amber);background:var(--amber-soft)}.single-upload{grid-template-columns:minmax(250px,.74fr) minmax(0,1.26fr)}.single-upload .upload-card{min-height:146px}.upload-assurance{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7f9fb);border-radius:14px;grid-template-columns:auto 1fr;align-content:center;gap:11px 16px;min-width:0;padding:16px 18px;display:grid}.upload-assurance>span{min-width:72px;color:var(--green);background:var(--green-soft);writing-mode:vertical-rl;letter-spacing:.08em;border-radius:10px;grid-row:1/3;align-self:stretch;place-items:center;font-size:9px;font-weight:800;display:grid}.upload-assurance>div{border-bottom:1px solid var(--line);min-width:0;padding:3px 0 10px}.upload-assurance>div:last-child{border-bottom:0;padding:2px 0 0}.upload-assurance b,.upload-assurance small{display:block}.upload-assurance b{font-size:11px}.upload-assurance small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.store-inputs-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:12px;overflow:hidden}.store-inputs-head{border-bottom:1px solid var(--line);background:#fbfcfd;justify-content:space-between;align-items:center;gap:18px;min-height:60px;padding:13px 16px;display:flex}.store-inputs-head p,.analytics-card-head p,.definition-card>p,.deposit-key-card>p{color:var(--red);letter-spacing:.16em;margin:0;font-size:8px;font-weight:800}.store-inputs-head h3,.analytics-card-head h3,.definition-card h3,.deposit-key-card h3{letter-spacing:-.025em;margin:4px 0 0;font-size:13px}.store-inputs-head>span{max-width:300px;color:var(--muted);text-align:right;font-size:8px;line-height:1.45}.store-inputs-scroll{overflow-x:auto}.store-inputs-table{table-layout:fixed;min-width:820px}.store-inputs-table th:first-child{width:175px}.store-inputs-table th{text-align:center;padding:9px 7px}.store-inputs-table th small{color:#778090;margin-top:3px;font-size:6px;font-weight:500;display:block}.store-inputs-table td{text-align:center;padding:7px}.store-inputs-table td:first-child b,.store-inputs-table td:first-child small{display:block}.store-inputs-table td:first-child b{color:var(--red);font-size:10px}.store-inputs-table td:first-child small{max-width:160px;color:var(--muted);text-overflow:ellipsis;margin-top:3px;font-size:7px;overflow:hidden}.store-inputs-table input{width:100%;min-width:82px;height:34px;color:var(--ink);text-align:right;background:var(--soft);border:1px solid var(--line);border-radius:7px;outline:0;padding:0 7px;font-size:9px}.store-inputs-table input:focus{background:#fff;border-color:#d88b99;box-shadow:0 0 0 3px #c8102e0f}.store-inputs-note{color:var(--muted);border-top:1px solid var(--line);background:#fbfcfd;margin:0;padding:9px 14px;font-size:8px}.history-library{border-top:1px solid var(--line);margin-top:17px;padding-top:16px}.history-library-summary{grid-template-columns:34px 1fr auto;align-items:center;gap:9px;display:grid}.history-library-icon{color:#fff;background:var(--navy);width:34px;height:34px;font:8px var(--font-geist-mono), monospace;border-radius:9px;place-items:center;display:grid}.history-library-summary b,.history-library-summary small{display:block}.history-library-summary b{font-size:10px}.history-library-summary small{max-width:190px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;overflow:hidden}.history-library-summary>strong{color:var(--red);letter-spacing:-.04em;font-size:19px}.history-library-summary>strong small{color:var(--muted);font-size:7px;display:inline}.history-library-stats{gap:7px;margin:10px 0;display:flex}.history-library-stats span{color:var(--slate);text-align:center;background:var(--soft);border-radius:7px;flex:1;padding:7px;font-size:7px}.history-library details{border:1px solid var(--line);background:#fbfcfd;border-radius:10px}.history-library summary{color:var(--slate);cursor:pointer;padding:10px 11px;font-size:8px;font-weight:750}.history-library details[open] summary{color:var(--red);border-bottom:1px solid var(--line)}.history-library details>p{color:var(--muted);margin:10px 11px 8px;font-size:8px;line-height:1.5}.history-file-picker{min-height:36px;color:var(--slate);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0 10px;padding:6px 7px 6px 10px;font-size:8px;display:flex;overflow:hidden}.history-file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.history-file-picker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-file-picker b{color:var(--red);background:var(--red-soft);border-radius:6px;padding:6px 8px;font-size:7px}.history-import-button{color:#fff;background:var(--navy);border:0;border-radius:8px;width:calc(100% - 20px);min-height:35px;margin:7px 10px 0;font-size:8px;font-weight:750}.history-import-button:hover:not(:disabled){background:var(--red)}.history-import-button:disabled{opacity:.48;cursor:not-allowed}.history-import-status{background:#eef1f4;border-radius:7px;align-items:center;min-height:32px;margin:8px 10px 10px;display:flex;position:relative;overflow:hidden}.history-import-status i{background:#d8f0e7;height:100%;transition:width .25s;display:block;position:absolute;inset:0 auto 0 0}.history-import-status.error i{background:#fbdde2}.history-import-status span{z-index:1;color:var(--muted);padding:0 9px;font-size:7px;line-height:1.4}.analytics{scroll-margin-top:85px}.analytics-heading{align-items:flex-start}.analytics-filters{align-items:flex-end!important;gap:8px!important;display:flex!important}.analytics-filters label{gap:5px;min-width:132px;display:grid}.analytics-filters label:last-child{min-width:210px}.analytics-filters label>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:800}.analytics-filters select{height:39px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:0 30px 0 10px;font-size:9px;font-weight:650}.analytics-toolbar{background:var(--soft);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-bottom:14px;padding:6px;display:flex}.analytics-tabs{gap:4px;display:flex}.analytics-tabs button{min-height:38px;color:var(--slate);background:0 0;border:0;border-radius:8px;padding:0 17px;font-size:9px;font-weight:750}.analytics-tabs button:hover{color:var(--red);background:#fff}.analytics-tabs button.active{color:#fff;background:var(--navy);box-shadow:0 6px 14px #11182724}.analytics-freshness{color:var(--muted);align-items:center;gap:7px;padding-right:9px;font-size:8px;display:flex}.analytics-freshness i{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #12805c14}.analytics-freshness.loading i{background:var(--amber)}.analytics-freshness.error i{background:var(--red)}.analytics-freshness span{color:#98a2b3;border-left:1px solid var(--line);padding-left:8px}.analytics-view{gap:14px;display:grid}.analytics-metric-strip{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.analytics-metric{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fafbfc);border-radius:13px;min-width:0;padding:16px 17px;position:relative;overflow:hidden}.analytics-metric:after{content:"";background:var(--navy);border-radius:0 0 3px 3px;width:42px;height:3px;position:absolute;top:0;left:17px}.analytics-metric.positive:after{background:var(--green)}.analytics-metric.negative:after{background:var(--red)}.analytics-metric small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:750;display:block}.analytics-metric strong{color:var(--ink);letter-spacing:-.05em;margin:8px 0 5px;font-size:clamp(23px,2.2vw,31px);display:block}.analytics-metric span{color:var(--muted);font-size:8px}.analytics-split{grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);gap:14px;display:grid}.leaderboard-card,.definition-card,.analytics-table-card,.product-ranking-card,.deposit-key-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.analytics-card-head{border-bottom:1px solid var(--line);background:#fbfcfd;justify-content:space-between;align-items:center;gap:16px;min-height:55px;padding:12px 15px;display:flex}.analytics-card-head>span{color:var(--muted);font-size:8px}.leaderboard-list{padding:7px 15px 10px}.leaderboard-row{border-bottom:1px solid #edf0f3;grid-template-columns:30px 1fr 90px;align-items:center;gap:10px;padding:9px 0;display:grid}.leaderboard-row:last-child{border:0}.leaderboard-row>b{color:#98a2b3;font:italic 11px Georgia,serif}.leaderboard-row>span{min-width:0}.leaderboard-row>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.leaderboard-store{color:var(--muted);margin-top:3px;font-size:7px;display:block}.leaderboard-row>span i,.product-rank-item i{background:#edf0f3;border-radius:9px;height:4px;margin-top:6px;display:block;overflow:hidden}.leaderboard-row>span em,.product-rank-item em{background:linear-gradient(90deg, var(--red), #f46379);border-radius:inherit;height:100%;display:block}.leaderboard-row>div{text-align:right}.leaderboard-row>div strong,.leaderboard-row>div small{display:block}.leaderboard-row>div strong{font-size:9px}.leaderboard-row>div small{margin-top:4px;font-size:7px}.definition-card,.deposit-key-card{background:radial-gradient(circle at 100% 0, #283145, var(--navy) 55%);color:#fff;border-color:#30394a;padding:18px}.definition-card>p,.deposit-key-card>p{color:#ff7087}.definition-card h3,.deposit-key-card h3{font-size:18px}.definition-card dl,.deposit-key-card dl{gap:11px;margin:18px 0 0;display:grid}.definition-card dl>div,.deposit-key-card dl>div{border-bottom:1px solid #ffffff1a;padding-bottom:10px}.definition-card dl>div:last-child,.deposit-key-card dl>div:last-child{border:0;padding-bottom:0}.definition-card dt,.deposit-key-card dt{color:#ff8094;font-size:8px;font-weight:800}.definition-card dd,.deposit-key-card dd{color:#a8b0bd;margin:4px 0 0;font-size:8px;line-height:1.5}.analytics-table-card{overflow:hidden}.analytics-table{min-width:830px}.analytics-table th{text-align:right}.analytics-table th:nth-child(2),.analytics-table td:nth-child(2){text-align:left}.analytics-table td b{color:var(--ink)}.analytics-table td small{color:var(--muted);margin-top:3px;font-size:7px;display:block}.filterable-head{align-items:flex-end}.analytics-local-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.analytics-local-filters input,.analytics-local-filters select,.analytics-local-filters button{height:34px;color:var(--slate);border:1px solid var(--line-strong);background:#fff;border-radius:8px;outline:0;padding:0 9px;font-size:8px}.analytics-local-filters input{width:150px}.analytics-local-filters input:focus,.analytics-local-filters select:focus{border-color:#d88b99;box-shadow:0 0 0 3px #c8102e0f}.analytics-local-filters button{color:var(--red);background:var(--red-soft);border-color:#f1c7cf;font-weight:750}.analytics-local-filters>span{min-width:48px;color:var(--muted);text-align:right;font-size:8px}.employee-table{min-width:1420px}.employee-table th:nth-child(3),.employee-table td:nth-child(3){text-align:left;width:230px}.product-ranking-grid{grid-template-columns:1fr 1fr;column-gap:24px;padding:8px 15px;display:grid}.product-rank-item{border-bottom:1px solid #edf0f3;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;min-width:0;padding:10px 0;display:grid}.product-rank-item>span{color:#98a2b3;font:italic 11px Georgia,serif}.product-rank-item>div{min-width:0}.product-rank-item b{font-size:8px;display:block}.product-rank-item p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:7px;overflow:hidden}.product-rank-item>strong{text-align:right;min-width:72px;font-size:8px}.product-rank-item>strong small{color:var(--muted);margin-top:4px;font-size:7px;font-weight:500;display:block}.product-table td:nth-child(3){text-align:left;text-overflow:ellipsis;max-width:360px;overflow:hidden}.product-insight-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:14px;display:grid}.hot-size-card,.season-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.hot-size-columns{grid-template-columns:1fr 1fr;gap:20px;padding:15px;display:grid}.hot-size-list h4{color:var(--ink);margin:0 0 10px;font-size:10px}.hot-size-list>div{border-bottom:1px solid #edf0f3;grid-template-columns:34px 1fr 55px;align-items:center;gap:8px;min-height:31px;display:grid}.hot-size-list>div:last-child{border:0}.hot-size-list>div b{color:var(--red);font-size:9px}.hot-size-list>div i{background:#edf0f3;border-radius:999px;height:5px;overflow:hidden}.hot-size-list>div em{background:linear-gradient(90deg, var(--navy), #68748a);border-radius:inherit;height:100%;display:block}.hot-size-list>div span{color:var(--muted);text-align:right;font-size:7px}.hot-size-list>p{color:var(--muted);margin:22px 0;font-size:8px}.season-content{grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr);align-items:center;gap:22px;min-height:285px;padding:18px;display:grid}.season-pie{aspect-ratio:1;border-radius:50%;place-items:center;width:min(100%,220px);margin:auto;display:grid;position:relative}.season-pie:after{content:"";background:#fff;border-radius:50%;width:56%;height:56%;position:absolute;box-shadow:0 0 0 1px #e4e7ecb3}.season-pie>span{z-index:1;text-align:center;display:grid}.season-pie b{font-size:12px}.season-pie small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:7px}.season-legend{gap:9px;display:grid}.season-legend>div{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;display:grid}.season-legend>div>i{border-radius:3px;width:8px;height:8px}.season-legend span b,.season-legend span small{display:block}.season-legend span b{font-size:8px}.season-legend span small{color:var(--muted);margin-top:2px;font-size:7px}.season-legend strong{font-size:8px}.deposit-explainer{color:var(--slate);border:1px solid var(--line);background:#f6f8fa;border-radius:11px;align-items:center;gap:10px;padding:12px 14px;display:flex}.deposit-explainer>span{width:25px;height:25px;color:var(--red);background:var(--red-soft);border-radius:50%;flex:none;place-items:center;font:italic 13px Georgia,serif;display:grid}.deposit-explainer p{margin:0;font-size:8px;line-height:1.55}.deposits-split{grid-template-columns:minmax(0,1fr) 250px}.deposit-type{color:var(--green);background:var(--green-soft);border-radius:999px;padding:5px 7px;font-size:7px;font-weight:750}.deposit-type.refund{color:var(--red);background:var(--red-soft)}.deposit-store-table{min-width:780px}.deposit-store-table th:first-child,.deposit-store-table td:first-child{text-align:left;width:190px}.vaso-mark{color:#7a3f00;background:#fff2cf;border-radius:999px;margin-right:5px;padding:3px 5px;font-size:6px;font-weight:850}.deposit-table{min-width:1100px}.deposit-table th:nth-child(2),.deposit-table td:nth-child(2),.deposit-table th:nth-child(3),.deposit-table td:nth-child(3),.deposit-table th:nth-child(4),.deposit-table td:nth-child(4){text-align:left}.deposit-kind{min-width:42px;color:var(--slate);text-align:center;background:#edf0f3;border-radius:8px;padding:5px 7px;font-size:7px;font-weight:850;display:inline-grid}.deposit-kind.vaso{color:#7a3f00;background:#fff2cf}.deposit-kind small{white-space:nowrap;color:inherit!important;margin-top:2px!important;font-size:5px!important}.analytics-loading{grid-template-columns:repeat(3,1fr);align-content:center;gap:12px;min-height:330px;display:grid}.analytics-loading span{background:linear-gradient(100deg,#f2f4f7 20%,#fafbfc 38%,#f2f4f7 58%) 0 0/200% 100%;border-radius:13px;height:110px;animation:1.3s linear infinite analytics-shimmer;display:block}.analytics-loading p{color:var(--muted);text-align:center;grid-column:1/-1;margin:4px 0 0;font-size:9px}.analytics-empty{text-align:center;border:1px dashed var(--line-strong);background:var(--soft);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;display:flex}.analytics-empty>span{color:#fff;background:var(--navy);width:48px;height:48px;font:10px var(--font-geist-mono), monospace;border-radius:13px;place-items:center;display:grid}.analytics-empty h3{margin:15px 0 6px;font-size:16px}.analytics-empty p{max-width:480px;color:var(--muted);margin:0;font-size:9px;line-height:1.6}.analytics-empty a{color:var(--red);margin-top:14px;font-size:9px;font-weight:750;text-decoration:none}@keyframes analytics-shimmer{to{background-position-x:-200%}}@media (max-width:1120px){.topbar{grid-template-columns:1fr auto}.topnav{display:none}.top-actions{gap:8px}.crm-entry-link{align-items:center;gap:4px;display:inline-flex}.hero{grid-template-columns:1fr 400px;gap:40px;padding:45px}.workspace{grid-template-columns:1fr}.history-panel{min-height:310px}.history-list{grid-template-columns:repeat(3,1fr)}.history-empty{grid-column:1/-1;min-height:150px}.analytics-split{grid-template-columns:1fr}.definition-card,.deposit-key-card{min-height:220px}.product-insight-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(3,1fr)}.data-layout{grid-template-columns:1fr}.visual-grid{grid-template-columns:1.45fr 1fr 1fr}.visual-grid>:last-child{grid-column:2/3}.narrative-grid{grid-template-columns:1fr}.slide-preview{max-width:780px;position:static}.showcase-heading{flex-direction:column;align-items:stretch}.showcase-actions{justify-content:flex-start}.export{grid-template-columns:1fr;align-items:flex-start}.export-copy{grid-row:auto}.delivery-pipeline{width:100%}}@media (max-width:820px){.topbar{height:64px;padding:0 18px}.top-status{display:none}.hero{border-radius:18px;grid-template-columns:1fr;min-height:auto;margin:12px 12px 0;padding:34px 28px}.hero h1{font-size:52px}.hero-card{width:100%}.section,.workspace{margin:12px 12px 0}.section{padding:28px}.workflow-panel,.history-panel{padding:24px}.upload-grid,.single-upload{grid-template-columns:1fr}.upload-card{min-height:145px}.history-list,.visual-grid{grid-template-columns:1fr 1fr}.trend-card{grid-column:1/-1}.visual-grid>:last-child{grid-column:auto}.showcase-actions{flex-wrap:wrap;align-items:stretch}.report-picker{flex:1;min-width:min(100%,310px)}.report-slide-scroller{padding:12px}.showcase-mobile-hint{display:block}.analytics-heading{flex-direction:column;align-items:stretch}.analytics-filters{justify-content:flex-start}.analytics-freshness,.analytics-freshness span{overflow-wrap:anywhere;min-width:0}.analytics-metric-strip{grid-template-columns:1fr 1fr}.product-ranking-grid{grid-template-columns:1fr}.filterable-head{flex-direction:column;align-items:stretch}.analytics-local-filters{justify-content:flex-start}.export-actions{flex-wrap:wrap;width:100%}.export-actions button{flex:1}footer{grid-template-columns:1fr auto;margin:0 14px}footer>p{display:none}}@media (max-width:560px){.topbar{height:auto;min-height:60px;padding:0 12px}.brand{gap:7px}.brand-mark{width:32px;height:32px}.brand b{font-size:12px}.brand small{letter-spacing:.18em;font-size:6px}.top-actions{gap:5px}.crm-entry-link{padding:7px 8px;font-size:9px}.logout-link{border:0;padding-left:0}.hero{padding:28px 22px}.hero-label{margin-bottom:23px}.hero h1{font-size:43px}.subtitle{font-size:12px}.hero-actions{flex-direction:column;align-items:stretch}.primary-link,.secondary-link{width:100%}.process-rail{gap:7px}.process-rail span{font-size:8px}.process-rail span:last-child,.process-rail em:last-of-type{display:none}.hero-card{padding:21px}.hero-grid{grid-template-columns:1fr 1fr}.hero-grid div:nth-child(2){border-right:0}.hero-grid div:nth-child(n+3){border-top:1px solid #ffffff1a}.section{padding:22px}.workflow-panel,.history-panel{padding:20px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading h2{font-size:22px}.template-button{width:100%}.history-ready-badge{text-align:center;width:100%}.upload-assurance>span{writing-mode:horizontal-tb;grid-area:auto/1/auto/-1;min-height:34px}.upload-assurance{grid-template-columns:1fr}.run-bar{flex-direction:column;align-items:stretch}.run-message b{white-space:normal}.run-button{width:100%}.history-list{grid-template-columns:1fr}.result-actions{justify-content:space-between;width:100%}.metric-strip{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1}.visual-grid{grid-template-columns:1fr}.trend-card,.visual-grid>:last-child{grid-column:auto}.note-row{grid-template-columns:1fr}.slide-preview{font-size:4px}.showcase-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.report-picker{grid-column:1/-1;width:100%;min-width:0}.showcase-button{width:100%}.showcase-status{grid-template-columns:1fr auto;padding:9px 11px}.showcase-status p{white-space:normal;grid-area:2/1/auto/-1}.report-slide-scroller{margin:0 -8px}.analytics-toolbar{flex-direction:column;align-items:stretch}.analytics-tabs{grid-template-columns:repeat(3,1fr);display:grid}.analytics-tabs button{padding:0 8px}.analytics-freshness{flex-wrap:wrap;padding:4px 7px 7px}.analytics-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid!important}.analytics-filters label,.analytics-filters label:last-child{min-width:0}.analytics-filters select{text-overflow:ellipsis;width:100%;min-width:0}.analytics-metric-strip{grid-template-columns:1fr}.leaderboard-row{grid-template-columns:24px 1fr 74px}.analytics-local-filters{grid-template-columns:1fr 1fr;display:grid}.analytics-local-filters input{width:100%}.analytics-local-filters>span{text-align:left;min-width:0}.hot-size-columns,.season-content{grid-template-columns:1fr}.season-pie{max-width:190px}.export{padding:26px 22px}.delivery-pipeline{grid-template-columns:1fr}.export-actions{flex-direction:column}.export-actions button{width:100%}footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:82px;display:flex}.footer-cloud{align-self:flex-start}}@media (max-width:360px){.roster-entry-link,.brand small{display:none}}.roster-shell{color:#171a22;background:radial-gradient(circle at 12% -8%,#c8102e0e,#0000 28rem),linear-gradient(#f5f6f8 0,#eef0f3 100%);min-height:100vh}.roster-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.roster-shell button,.roster-shell a,.roster-shell select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.roster-mobile-status,.roster-mobile-tools,.roster-mobile-dock,.roster-mobile-weekday{display:none}.roster-topbar{z-index:30;-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);background:#ffffffe0;border-bottom:1px solid #d2d6dde6;grid-template-columns:1fr auto 1fr;align-items:center;height:58px;padding:0 max(18px,50vw - 740px);display:grid;position:sticky;top:0;box-shadow:0 1px #ffffffbf}.roster-brand{color:#171a22;justify-self:start;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.roster-brand-mark{background:#fff;border:1px solid #e1e3e8;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;overflow:hidden;box-shadow:0 6px 16px #c8102e1f}.roster-brand-mark img{object-fit:contain;width:100%;height:100%}.roster-brand>span:last-child{flex-direction:column;gap:1px;display:flex}.roster-brand b{letter-spacing:-.02em;font-size:14px}.roster-brand small{color:#777f8f;letter-spacing:.2em;font-size:7px}.roster-site-switch{background:#f5f6f8;border:1px solid #e1e3e8;border-radius:10px;gap:3px;padding:3px;display:flex}.roster-site-switch a{color:#626a79;border-radius:7px;padding:7px 13px;font-size:11px;font-weight:700;text-decoration:none}.roster-site-switch a[aria-current=page]{color:#fff;background:#171a22;box-shadow:0 4px 12px #11182726}.roster-logout{color:#737b8c;justify-self:end;font-size:10px;text-decoration:none}.roster-top-actions{justify-self:end;align-items:center;gap:14px;min-width:0;display:flex}.roster-top-actions>span{color:#737b8c;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;max-width:230px;font-size:9px;display:flex;overflow:hidden}.roster-top-actions>span i{background:#12805c;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 4px #12805c17}.roster-top-actions>span.error{color:#a30020}.roster-top-actions>span.error i{background:#c8102e;box-shadow:0 0 0 4px #c8102e17}.roster-top-actions .roster-logout{border-left:1px solid #e1e3e8;padding-left:14px}.roster-workspace{max-width:1480px;margin:0 auto;padding:16px 18px 26px}.roster-intro{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.roster-intro p{color:#c8102e;letter-spacing:.2em;margin:0 0 4px;font-size:7px;font-weight:850}.roster-intro h1{letter-spacing:-.055em;margin:0;font-size:clamp(30px,3vw,38px);font-weight:630;line-height:.96}.roster-intro div>span{color:#6c7483;margin-top:4px;font-size:10px;display:block}.roster-create{color:#fff;background:#c8102e;border:1px solid #b70d29;border-radius:10px;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:11px;font-weight:750;display:inline-flex;box-shadow:0 9px 20px #c8102e2e}.roster-create span{font-size:18px;font-weight:400}.roster-create:disabled,.roster-export:disabled,.roster-save:disabled,.roster-add-type:disabled,.roster-type-save:disabled,.roster-type-toggle:disabled{opacity:.48;cursor:not-allowed}.roster-board{grid-template-columns:188px minmax(0,1fr);align-items:start;gap:10px;display:grid}.roster-sidebar,.roster-calendar-card{background:#fffffff5;border:1px solid #d6dae1f2;border-radius:16px;box-shadow:0 18px 48px #141b280e,0 2px 8px #141b2806}.roster-sidebar{padding:12px}.roster-sidebar-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.roster-sidebar-head>span{font-size:11px;font-weight:800}.roster-sidebar-head button{color:#c8102e;background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.roster-shift-list{gap:4px;display:grid}.roster-shift-list button{color:#343946;text-align:left;background:#f7f8fa;border:1px solid #0000;border-radius:8px;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;width:100%;padding:7px 8px;font-size:9.5px;font-weight:720;display:grid}.roster-shift-list i{border-radius:3px;width:8px;height:8px}.roster-shift-list span{color:#9ba1ac;font-size:15px}.roster-empty-types{color:#7d8492;margin:5px 0 0;font-size:9px;line-height:1.55}.roster-fiscal-note{color:#fff;background:linear-gradient(145deg,#252c39,#141923);border-radius:10px;margin-top:12px;padding:10px}.roster-fiscal-note small{color:#a8afbb;letter-spacing:.12em;font-size:8px;display:block}.roster-fiscal-note b{margin-top:5px;font-size:12px;display:block}.roster-fiscal-note p{color:#8f98a8;margin:7px 0 0;font-size:8px;line-height:1.5}.roster-calendar-card{min-width:0;overflow:hidden}.roster-calendar-toolbar{border-bottom:1px solid #e3e5ea;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:flex}.roster-period-nav,.roster-view-actions{align-items:center;gap:7px;display:flex}.roster-period-nav h2{letter-spacing:-.035em;min-width:160px;margin:0 4px;font-size:16px}.roster-period-nav>button{color:#4b5361;background:#fff;border:1px solid #dfe2e7;border-radius:8px;width:32px;height:32px}.roster-period-nav .roster-today{width:auto;padding:0 11px;font-size:10px;font-weight:700}.roster-segment{background:#f5f6f8;border:1px solid #dfe2e7;border-radius:8px;gap:2px;padding:3px;display:flex}.roster-segment button{color:#717989;background:0 0;border:0;border-radius:6px;min-width:36px;height:27px;font-size:10px;font-weight:750}.roster-segment button.active{color:#171a22;background:#fff;box-shadow:0 2px 7px #10182814}.roster-count{color:#858c98;white-space:nowrap;margin-right:2px;font-size:9px}.roster-pay-legend{color:#8c2437;white-space:nowrap;background:#fff6f7;border:1px solid #f0ccd2;border-radius:8px;align-items:center;gap:5px;height:27px;padding:0 8px 0 4px;display:inline-flex}.roster-pay-legend i{color:#fff;background:linear-gradient(135deg,#d21738,#a80725);border-radius:5px;padding:3px 5px;font-size:7px;font-style:normal;font-weight:900;line-height:1;box-shadow:0 3px 8px #be0f2e33}.roster-pay-legend small{font-size:7px;font-weight:800}.roster-export{color:#fff;background:#171a22;border:1px solid #171a22;border-radius:8px;height:34px;padding:0 12px;font-size:10px;font-weight:750}.roster-export-icon{color:#ff5871;margin-left:9px}.roster-weekdays{background:linear-gradient(#fafbfc,#f5f6f8);border-bottom:1px solid #e3e5ea;grid-template-columns:repeat(7,minmax(110px,1fr));align-items:center;height:27px;display:grid}.roster-weekdays span{color:#777f8d;padding-left:9px;font-size:8px;font-weight:800}.roster-weekdays span:first-child,.roster-weekdays span:last-child{color:#b00d28}.roster-month-grid{background:#e4e7ec;grid-template-columns:repeat(7,minmax(110px,1fr));gap:1px;min-width:770px;display:grid}.roster-week-grid{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px;min-height:340px;display:grid}.roster-week-grid .roster-day{min-height:340px}.roster-day{text-align:left;background:#fff;border:1px solid #e4e6ea;border-top:0;border-left:0;flex-direction:column;gap:3px;min-height:86px;padding:5px 6px;transition:background .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.roster-month-grid .roster-day{border:0}.roster-month-grid .roster-day:nth-child(7n+1),.roster-month-grid .roster-day:nth-child(7n){background-color:#fcfcfd}.roster-day:nth-child(7n){border-right:0}.roster-day:hover{background:#fafbfc}.roster-day.has-shift{background:linear-gradient(180deg, var(--shift-color), white 72%)}@supports (color:color-mix(in lab, red, red)){.roster-day.has-shift{background:linear-gradient(180deg, color-mix(in srgb, var(--shift-color) 9%, white), white 72%)}}.roster-day.has-shift:before{content:"";z-index:1;background:var(--shift-color);pointer-events:none;width:2px;position:absolute;inset:0 auto 0 0}.roster-day.has-shift:hover{background:linear-gradient(180deg, var(--shift-color), white 78%)}@supports (color:color-mix(in lab, red, red)){.roster-day.has-shift:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--shift-color) 14%, white), white 78%)}}.roster-date-line{justify-content:space-between;align-items:flex-start;gap:4px;min-height:14px;display:flex}.roster-day time{color:#2e3440;font-size:10.5px;font-weight:780;line-height:1.2}.roster-date-meta{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.roster-date-line em{color:#ad0d28;background:#fff0f2;border-radius:8px;padding:2px 5px;font-size:7px;font-style:normal;font-weight:800;line-height:1.2}.roster-holiday-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:70px;padding:2px 5px;font-size:7px;font-weight:850;line-height:1.2;overflow:hidden}.roster-holiday-badge.holiday{color:#ad0d28;background:#fff0f2}.roster-holiday-badge.makeup-workday{color:#8a5a00;background:#fff5d9}.roster-triple-pay-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#d7193f,#a40724);border-radius:6px;padding:2px 5px;font-size:7px;font-weight:900;line-height:1.2;box-shadow:0 3px 8px #be0f2e2e}.roster-day.is-holiday:not(.has-shift){background:#fffbfc}.roster-day.is-makeup-workday:not(.has-shift){background:#fffdf7}.roster-day.is-triple-pay{box-shadow:inset 0 0 0 1px #c8102e1f}.roster-day.muted time{color:#b8bdc5}.roster-day.today{z-index:3;box-shadow:inset 0 0 0 2px #c8102e,inset 0 12px 24px #c8102e0e,0 8px 18px #770c201f}.roster-shift{min-width:0;min-height:0;color:var(--shift-color);border:1px solid var(--shift-color);flex-direction:column;flex:auto;gap:3px;padding:4px 5px;display:flex}@supports (color:color-mix(in lab, red, red)){.roster-shift{border:1px solid color-mix(in srgb, var(--shift-color) 27%, #e3e6ea)}}.roster-shift{border-left:3px solid var(--shift-color);background:var(--shift-color);border-radius:7px}@supports (color:color-mix(in lab, red, red)){.roster-shift{background:color-mix(in srgb, var(--shift-color) 16%, white)}}.roster-shift{box-shadow:0 2px 8px var(--shift-color)}@supports (color:color-mix(in lab, red, red)){.roster-shift{box-shadow:0 2px 8px color-mix(in srgb, var(--shift-color) 7%, transparent)}}.roster-shift-head{align-items:center;gap:5px;min-width:0;display:flex}.roster-shift-head>i{background:var(--shift-color);border-radius:50%;flex:none;width:5px;height:5px}.roster-shift b{color:#202530;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9.5px;line-height:1.2;overflow:hidden}.roster-note-preview{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px;min-width:0;display:grid;overflow:hidden}.roster-note-preview>span{color:var(--shift-color);margin-top:1px;padding:2px 3px}@supports (color:color-mix(in lab, red, red)){.roster-note-preview>span{color:color-mix(in srgb, var(--shift-color) 84%, #303846)}}.roster-note-preview>span{background:var(--shift-color);border-radius:4px}@supports (color:color-mix(in lab, red, red)){.roster-note-preview>span{background:color-mix(in srgb, var(--shift-color) 10%, white)}}.roster-note-preview>span{font-size:6px;font-weight:900;line-height:1}.roster-shift small{color:#555f6d;white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:8px;line-height:1.28;display:-webkit-box;overflow:hidden}.roster-week-grid .roster-shift small{-webkit-line-clamp:10}.roster-add-hint{opacity:0;color:#a4aab4;margin:auto 0;font-size:8px;transition:opacity .16s}:is(.roster-day:hover .roster-add-hint,.roster-day:focus-visible .roster-add-hint){opacity:1}.roster-calendar-card.is-loading .roster-month-grid,.roster-calendar-card.is-loading .roster-week-grid{opacity:.58}.roster-shell select:focus-visible{outline-offset:2px;outline:3px solid #c8102e2e}.tone-red{color:#bd1731;background-color:#fff0f2}.tone-navy{color:#324a75;background-color:#eef2f8}.tone-amber{color:#a55c0a;background-color:#fff4e5}.tone-gray{color:#687180;background-color:#f0f2f4}.tone-teal{color:#117465;background-color:#e8f6f2}.roster-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c10188f;place-items:center;padding:24px;animation:.16s ease-out roster-fade;display:grid;position:fixed;inset:0;overflow-y:auto}.roster-modal{background:#fff;border:1px solid #ffffff59;border-radius:18px;width:min(100%,520px);animation:.2s ease-out roster-rise;overflow:hidden;box-shadow:0 30px 90px #080c144d}.roster-modal-head{color:#fff;background:radial-gradient(circle at 100% 0,#30394a,#171c27 56%);justify-content:space-between;align-items:flex-start;min-height:92px;padding:22px 24px;display:flex}.roster-modal-head p{color:#ff748a;letter-spacing:.13em;margin:0 0 7px;font-size:8px;font-weight:850}.roster-modal-head h2{letter-spacing:-.045em;margin:0;font-size:25px;font-weight:600}.roster-modal-head>button{color:#c6cbd4;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;width:32px;height:32px;font-size:20px;line-height:1}.roster-form-field{padding:21px 24px 0}.roster-form-field>label,.roster-label-row label,.roster-new-type>label{color:#4f5765;letter-spacing:.08em;margin-bottom:8px;font-size:9px;font-weight:850;display:block}.roster-label-row{justify-content:space-between;align-items:center;display:flex}.roster-label-row label span{color:#969ca7;letter-spacing:0;margin-left:5px;font-weight:600}.roster-label-row small{color:#999faa;font-size:8px}.roster-form-field select,.roster-form-field textarea{color:#252a34;background:#fff;border:1px solid #d8dce3;border-radius:10px;width:100%}.roster-form-field select{border-left:4px solid var(--shift-color,#d8dce3);height:46px;padding:0 13px;font-size:12px;font-weight:750}.roster-form-field textarea{resize:vertical;min-height:150px;padding:13px;font-size:12px;line-height:1.65}.roster-editor-hint{color:#8a919d;margin:10px 24px 0;font-size:9px}.roster-modal-actions{grid-template-columns:1fr auto auto;gap:8px;padding:22px 24px 24px;display:grid}.roster-modal-actions button{border-radius:9px;min-height:40px;padding:0 14px;font-size:10px;font-weight:800}.roster-danger{color:#aa1430;background:#fff1f3;border:1px solid #f0c7cf;justify-self:start}.roster-cancel{color:#4f5764;background:#fff;border:1px solid #d8dce3}.roster-save{color:#fff;background:#c8102e;border:1px solid #b70d29;box-shadow:0 7px 16px #c8102e29}.roster-manager{width:min(100%,880px)}.roster-new-type{background:#f8f9fa;border-bottom:1px solid #e5e7eb;padding:20px 24px}.roster-new-type-row{grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:10px;display:grid}.roster-new-type-row>input,.roster-type-row>input{color:#292f39;background:#fff;border:1px solid #d8dce3;border-radius:8px;height:40px;padding:0 11px;font-size:11px}.roster-color-picker,.roster-mini-colors{align-items:center;gap:5px;display:flex}.roster-color-picker button,.roster-mini-colors button{border:2px solid #fff;border-radius:6px;width:19px;height:19px;padding:0;box-shadow:0 0 0 1px #d4d7dd}.roster-color-picker button.selected,.roster-mini-colors button.selected{box-shadow:0 0 0 2px #171c27}.roster-add-type,.roster-type-save,.roster-type-toggle{border-radius:8px;height:36px;padding:0 12px;font-size:9px;font-weight:800}.roster-add-type,.roster-type-save{color:#fff;background:#171c27;border:1px solid #171c27}.roster-type-toggle{color:#6b7280;background:#fff;border:1px solid #d9dce2}.roster-manager-list{max-height:min(48vh,430px);padding:8px 24px;overflow-y:auto}.roster-type-row{border-bottom:1px solid #eceef1;grid-template-columns:12px minmax(120px,1fr) auto 58px 52px;align-items:center;gap:10px;min-height:57px;display:grid}.roster-type-row.inactive{opacity:.56}.roster-type-swatch{border-radius:4px;width:10px;height:30px}.roster-mini-colors button{border-radius:5px;width:15px;height:15px}.roster-manager-note{color:#858c98;background:#fafbfc;border-top:1px solid #e6e8ec;margin:0;padding:15px 24px 19px;font-size:9px}.roster-intro-actions{align-items:center;gap:8px;display:flex}.roster-context-switch{background:#fffc;border:1px solid #dfe2e7;border-radius:11px;gap:2px;padding:3px;display:flex;box-shadow:0 5px 16px #141b2809}.roster-context-switch button{color:#697180;background:0 0;border:0;border-radius:8px;min-height:34px;padding:0 13px;font-size:9.5px;font-weight:780}.roster-context-switch button.active{color:#fff;background:linear-gradient(145deg,#252b37,#151922);box-shadow:0 5px 13px #1419222e}.roster-upload-cta{background:linear-gradient(145deg,#252c39,#161b24);border-color:#252c39;box-shadow:0 9px 20px #181e292b}.roster-month-grid.personal-mode .roster-day{min-height:78px}.roster-day.personal-day{isolation:isolate;background:linear-gradient(155deg,#fff 0 68%,#fafbfc 100%);padding:5px 7px 6px}.roster-day.personal-day.has-shift{background:radial-gradient(circle at 100% 0, var(--shift-color), transparent 48%), linear-gradient(155deg, #fff 0 72%, var(--shift-color) 100%)}@supports (color:color-mix(in lab, red, red)){.roster-day.personal-day.has-shift{background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--shift-color) 11%, transparent), transparent 48%), linear-gradient(155deg, #fff 0 72%, color-mix(in srgb, var(--shift-color) 4%, white) 100%)}}.roster-day.personal-day.has-shift:before{width:3px;box-shadow:0 3px 10px var(--shift-color);border-radius:0 4px 4px 0;inset:6px auto 6px 0}@supports (color:color-mix(in lab, red, red)){.roster-day.personal-day.has-shift:before{box-shadow:0 3px 10px color-mix(in srgb, var(--shift-color) 24%, transparent)}}.roster-day.personal-day.has-shift:after{content:"";z-index:2;background:var(--shift-color);width:28px;height:3px;box-shadow:0 -3px 9px var(--shift-color);border-radius:3px 3px 0 0;position:absolute;bottom:0;left:8px}@supports (color:color-mix(in lab, red, red)){.roster-day.personal-day.has-shift:after{box-shadow:0 -3px 9px color-mix(in srgb, var(--shift-color) 16%, transparent)}}.roster-day.personal-day:hover{z-index:2;background:radial-gradient(circle at 100% 0, var(--shift-color,#687180), transparent 50%), #fff}@supports (color:color-mix(in lab, red, red)){.roster-day.personal-day:hover{background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--shift-color,#687180) 14%, transparent), transparent 50%), #fff}}.roster-day.personal-day:hover{box-shadow:inset 0 0 0 1px var(--shift-color,#687180), 0 10px 24px #141b2812}@supports (color:color-mix(in lab, red, red)){.roster-day.personal-day:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--shift-color,#687180) 23%, #dfe3e8), 0 10px 24px #141b2812}}.roster-day.personal-day.today{z-index:3;background:radial-gradient(circle at 100% 0, #c8102e24, transparent 52%), linear-gradient(155deg, #fff 0 68%, var(--shift-color,#c8102e) 100%)}@supports (color:color-mix(in lab, red, red)){.roster-day.personal-day.today{background:radial-gradient(circle at 100% 0, #c8102e24, transparent 52%), linear-gradient(155deg, #fff 0 68%, color-mix(in srgb, var(--shift-color,#c8102e) 5%, white) 100%)}}.roster-day.personal-day.today{box-shadow:inset 0 0 0 2px #c8102e,inset 0 12px 24px #c8102e0b,0 8px 18px #770c2021}.personal-day .roster-date-line{z-index:2;align-items:center;position:relative}.personal-day .roster-date-line>time{background:#ffffffe0;border:1px solid #e3e6ea;border-radius:7px;place-items:center;min-width:21px;height:21px;font-size:9px;display:grid;box-shadow:0 2px 7px #141b2809}.personal-day.today .roster-date-line>time{color:#fff;background:#c8102e;border-color:#c8102e;box-shadow:0 4px 11px #c8102e33}.roster-personal-body{z-index:1;border:1px solid var(--shift-color);align-content:start;gap:4px;min-width:0;min-height:34px;padding:5px 6px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.roster-personal-body{border:1px solid color-mix(in srgb, var(--shift-color) 17%, #e7e9ed)}}.roster-personal-body{background:var(--shift-color);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.roster-personal-body{background:color-mix(in srgb, var(--shift-color) 6%, #fffffff5)}}.roster-personal-body{box-shadow:inset 0 1px 0 #ffffffd9, 0 4px 12px var(--shift-color)}@supports (color:color-mix(in lab, red, red)){.roster-personal-body{box-shadow:inset 0 1px 0 #ffffffd9, 0 4px 12px color-mix(in srgb, var(--shift-color) 5%, transparent)}}.roster-personal-shift-line{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.roster-personal-shift-line>span{color:var(--shift-color);align-items:center;gap:3px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.roster-personal-shift-line>span{color:color-mix(in srgb, var(--shift-color) 75%, #707887)}}.roster-personal-shift-line>span{letter-spacing:.12em;font-size:5.5px;font-weight:900;line-height:1}.roster-personal-shift-line>span i{background:var(--shift-color);width:5px;height:5px;box-shadow:0 0 0 3px var(--shift-color);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.roster-personal-shift-line>span i{box-shadow:0 0 0 3px color-mix(in srgb, var(--shift-color) 10%, transparent)}}.roster-personal-shift-line b{color:#232934;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:820;line-height:1.1;overflow:hidden}.roster-personal-note{border-top:1px solid var(--shift-color);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:5px;min-width:0;padding-top:4px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.roster-personal-note{border-top:1px solid color-mix(in srgb, var(--shift-color) 12%, #e5e8ec)}}.roster-personal-note>span{color:var(--shift-color);margin-top:1px}@supports (color:color-mix(in lab, red, red)){.roster-personal-note>span{color:color-mix(in srgb, var(--shift-color) 74%, #6a7280)}}.roster-personal-note>span{letter-spacing:.08em;font-size:5.5px;font-weight:900;line-height:1.1}.roster-personal-note small{color:#596271;white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:7.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.roster-add-hint{opacity:.62;color:#868e9b;background:#f8f9fbb8;border:1px dashed #d9dde3;border-radius:8px;justify-content:center;align-self:stretch;align-items:center;gap:5px;min-height:30px;margin:auto 0;padding:0 7px;font-size:7px;font-weight:760;display:inline-flex}.roster-add-hint i{color:#b31631;font-size:12px;font-style:normal;font-weight:400;line-height:1}.roster-add-hint small{font-size:inherit}:is(.roster-day:hover .roster-add-hint,.roster-day:focus-visible .roster-add-hint){opacity:1;background:#fff;border-color:#cdd2d9}.roster-team-sources{gap:5px;display:grid}.roster-team-sources article{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:9px;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:42px;padding:6px 7px;display:grid}.roster-team-sources article>span{color:#757d8b;background:#fff;border:1px solid #dfe2e7;border-radius:8px;place-items:center;width:27px;height:27px;font-size:9px;font-weight:850;display:grid}.roster-team-sources article>div{gap:2px;min-width:0;display:grid}.roster-team-sources article b{color:#2c323d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.roster-team-sources article small{color:#8a919e;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.roster-team-sources article>i{color:#aab0ba;font-size:9px;font-style:normal;font-weight:900}.roster-team-sources article.ready{background:#f3f9f7;border-color:#d8e7e2}.roster-team-sources article.ready>span{color:#116e51;background:#e9f5f1;border-color:#cfe2dc}.roster-team-sources article.ready>i{color:#16805f}.roster-team-legend{border-top:1px solid #eceef1;margin-top:12px;padding-top:10px}.roster-team-legend>small{color:#858c98;letter-spacing:.12em;font-size:7px;font-weight:850}.roster-team-legend>div{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.roster-team-legend span{color:#535b69;background:#fafbfc;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:4px;padding:3px 5px;font-size:7px;font-weight:760;display:inline-flex}.roster-team-legend span i{background:var(--shift-color);border-radius:2px;width:5px;height:5px}.roster-team-sources+.roster-team-legend+.roster-fiscal-note,.roster-team-sources+.roster-fiscal-note{margin-top:12px}.roster-team-upload{background:linear-gradient(145deg,#242b37,#171b24);border-color:#242b37}.roster-team-color-mode{background:linear-gradient(#fcfcfd,#f7f8fa);border-top:1px solid #eceef2;border-bottom:1px solid #e2e5ea;align-items:center;gap:10px;min-height:38px;padding:5px 10px;display:flex}.roster-team-color-mode>span{gap:0;display:grid}.roster-team-color-mode>span small{color:#a1263d;letter-spacing:.13em;font-size:5.5px;font-weight:900}.roster-team-color-mode>span b{color:#353c48;white-space:nowrap;font-size:8px}.roster-team-color-mode>div{background:#eef1f4;border:1px solid #dfe3e8;border-radius:9px;gap:2px;padding:2px;display:inline-flex}.roster-team-color-mode button{color:#6e7683;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;min-height:25px;padding:0 9px;font-size:7.5px;font-weight:800;display:inline-flex}.roster-team-color-mode button.selected{color:#242b36;background:#fff;box-shadow:0 3px 8px #181f2b17}.roster-team-color-mode button i{border-radius:3px;flex:none;width:7px;height:7px}.roster-team-color-mode button i.time-spectrum{background:linear-gradient(135deg,#dc2445 0 33%,#d99000 33% 66%,#7047c7 66%)}.roster-team-color-mode>p{color:#858d99;margin:0 0 0 auto;font-size:7px;font-weight:700}.roster-team-filter{background:linear-gradient(#f5f7f9,#fafbfc);border-top:1px solid #dfe3e8;grid-template-columns:minmax(270px,.86fr) minmax(380px,1.14fr);gap:7px;padding:8px 10px;display:grid}.roster-team-filter-group{background:#ffffffe6;border:1px solid #e1e4e9;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:48px;padding:5px 6px;display:grid;box-shadow:0 4px 12px #141b2806}.roster-team-filter-group.people-group{grid-template-columns:auto minmax(0,1fr) auto}.roster-team-filter-label{align-items:center;gap:7px;min-width:74px;display:flex}.roster-team-filter-label>i{color:#fff;background:#202631;border-radius:7px;place-items:center;width:23px;height:23px;font-size:8px;font-style:normal;font-weight:850;display:grid;box-shadow:0 4px 9px #141b2821}.roster-team-filter-label>span{gap:1px;display:grid}.roster-team-filter-label small{color:#a1263d;letter-spacing:.12em;font-size:5.5px;font-weight:900}.roster-team-filter-label b{color:#333a46;white-space:nowrap;font-size:8px}.roster-team-filter-options{align-items:center;gap:4px;min-width:0;display:flex}.roster-team-filter-options button{color:#606977;background:#fafbfc;border:1px solid #dfe2e7;border-radius:8px;flex:none;min-height:30px;padding:0 8px;font-size:7.5px;font-weight:790;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.roster-team-filter-options button:hover{background:#fff;border-color:#cbd0d7}.roster-team-filter-options.store-options button.selected{color:#fff;background:linear-gradient(145deg,#2a313e,#171c25);border-color:#222934;box-shadow:0 5px 12px #161c2626}.roster-team-filter-options.people-options button{align-items:center;gap:4px;padding-inline:6px;display:inline-flex}.roster-team-filter-options.people-options button>i{color:#9299a4;background:#fff;border:1px solid #d9dde3;border-radius:5px;place-items:center;width:15px;height:15px;font-size:7px;font-style:normal;display:grid}.roster-team-filter-options.people-options button>small{color:#959ca7;font-size:5.5px;font-weight:700}.roster-team-filter-options.people-options button.selected{color:#8f1730;background:#fff4f6;border-color:#e4bdc5;box-shadow:inset 0 0 0 1px #c8102e09}.roster-team-filter-options.people-options button.selected>i{color:#fff;background:#c8102e;border-color:#c8102e}.roster-team-filter-count{color:#737b88;grid-template-columns:auto 1fr;align-items:baseline;gap:2px;min-width:55px;display:grid}.roster-team-filter-count>b{color:#202631;font-size:12px}.roster-team-filter-count>span{white-space:nowrap;font-size:6px}.roster-team-filter-count>button{color:#9d1e36;background:#fff0f3;border:0;border-radius:6px;grid-column:1/-1;min-height:22px;font-size:6.5px;font-weight:800}.roster-handover-note,.roster-team-filter-empty{border-radius:7px;grid-column:1/-1;align-items:center;gap:7px;margin:0;padding:5px 8px;font-size:7px;display:flex}.roster-handover-note{color:#6c5220;background:#fff9e9;border:1px solid #ead8ae}.roster-handover-note b{color:#8f6411;white-space:nowrap}.roster-team-filter-empty{color:#8c2338;background:#fff6f7;border:1px dashed #e5bcc5}.roster-month-grid.team-mode .roster-day{min-height:max(78px, var(--team-card-height,119px))}.roster-week-grid.team-mode .roster-day{min-height:340px}.roster-day.team-day{background:linear-gradient(#f8f9fbf2,#fff 42%);border:0;padding-top:6px;padding-bottom:6px;position:relative}.roster-day.team-day:before,.roster-day.team-day:after{content:"";z-index:2;background:var(--team-accent);height:2px;position:absolute;left:0;right:0}.roster-day.team-day:before{top:0}.roster-day.team-day:after{bottom:0}.roster-day.team-day.muted{opacity:.5}.roster-day.team-day.today{z-index:3;background:radial-gradient(circle at 100% 0,#c8102e21,#0000 50%),linear-gradient(#fff7f8,#fff 45%);box-shadow:inset 0 0 0 2px #c8102e,inset 0 12px 24px #c8102e0a,0 8px 18px #770c2021}.roster-team-day-list{gap:2px;min-width:0;display:grid}.roster-team-day-list>span,.roster-team-day-list>button{color:#7f8793;text-align:left;background:#fafbfc;border:1px solid #e7e9ed;border-left:2px solid #c9cdd4;border-radius:5px;min-width:0;min-height:17px;padding:0;display:block;position:relative;overflow:hidden}.roster-team-day-list>button{width:100%;font:inherit}.roster-team-day-list>.has-shift{color:#343a46;border-color:var(--shift-color)}@supports (color:color-mix(in lab, red, red)){.roster-team-day-list>.has-shift{border-color:color-mix(in srgb, var(--shift-color) 34%, #e6e8ec)}}.roster-team-day-list>.has-shift{border-left-color:var(--shift-color);background:linear-gradient(145deg, var(--shift-color), var(--shift-color))}@supports (color:color-mix(in lab, red, red)){.roster-team-day-list>.has-shift{background:linear-gradient(145deg, color-mix(in srgb, var(--shift-color) 14%, white), color-mix(in srgb, var(--shift-color) 7%, white))}}.roster-team-day-list>button:hover{background:var(--shift-color)}@supports (color:color-mix(in lab, red, red)){.roster-team-day-list>button:hover{background:color-mix(in srgb, var(--shift-color) 16%, white)}}.roster-team-person{max-width:calc(100% - 10px);color:var(--shift-color);position:absolute;top:1.5px;left:4px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.roster-team-person{color:color-mix(in srgb, var(--shift-color) 68%, #27303d)}}.roster-team-person{text-overflow:ellipsis;white-space:nowrap;font-size:6.7px;font-weight:850;line-height:.95}.roster-team-day-list b{max-width:calc(100% - 8px);color:inherit;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:.95;position:absolute;bottom:1.5px;right:4px;overflow:hidden}.roster-team-day-list b.is-time{font-variant-numeric:tabular-nums;letter-spacing:-.035em;justify-content:flex-end;align-items:center;gap:1px;display:flex}.roster-team-day-list b.is-time em{opacity:.62;font-size:6.5px;font-style:normal;font-weight:600}.roster-team-day-list>*>i{color:var(--shift-color);font-size:8px;font-style:normal;line-height:.6;position:absolute;top:0;right:2px}.roster-upload-modal{width:min(100%,720px)}.roster-upload-body{padding:20px 22px 0}.roster-upload-drop{background:linear-gradient(145deg,#fafbfc,#f4f6f8);border:1px dashed #cbd0d8;border-radius:13px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:102px;padding:14px;transition:border-color .16s,background .16s;display:grid}.roster-upload-drop.dragging{background:#fff5f6;border-color:#c8102e}.roster-upload-drop>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.roster-upload-drop>span{color:#fff;background:linear-gradient(145deg,#292f3b,#161a22);border-radius:10px;place-items:center;width:36px;height:36px;font-size:17px;display:grid;box-shadow:0 7px 16px #14192229}.roster-upload-drop>div{gap:4px;min-width:0;display:grid}.roster-upload-drop b{color:#2a303b;font-size:11px}.roster-upload-drop small{color:#808896;font-size:8px;line-height:1.45}.roster-upload-drop button{color:#313743;background:#fff;border:1px solid #d7dbe1;border-radius:9px;min-height:38px;padding:0 13px;font-size:9px;font-weight:800}.roster-upload-preview{gap:5px;margin-top:13px;display:grid}.roster-upload-preview-head{justify-content:space-between;align-items:center;min-height:24px;display:flex}.roster-upload-preview-head span{color:#444b57;font-size:9px;font-weight:850}.roster-upload-preview-head small{color:#8b929f;font-size:8px}.roster-upload-preview article{background:#fff;border:1px solid #e4e7eb;border-radius:10px;grid-template-columns:minmax(150px,.8fr) minmax(160px,1fr) 42px;align-items:center;gap:10px;min-width:0;min-height:52px;padding:7px 9px;display:grid;box-shadow:0 4px 13px #141b2806}.roster-upload-person{align-items:center;gap:8px;min-width:0;display:flex}.roster-upload-person>span{color:#9a1230;background:#fff0f2;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:10px;font-weight:900;display:grid}.roster-upload-person>div{gap:2px;min-width:0;display:grid}.roster-upload-person b,.roster-upload-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-upload-person b{color:#303640;font-size:9px}.roster-upload-person small{color:#858c98;font-size:7px}.roster-upload-shifts{flex-wrap:wrap;gap:4px;display:flex}.roster-upload-shifts i{min-width:24px;color:var(--shift-color);padding:3px 5px}@supports (color:color-mix(in lab, red, red)){.roster-upload-shifts i{color:color-mix(in srgb, var(--shift-color) 88%, #202630)}}.roster-upload-shifts i{border:1px solid var(--shift-color)}@supports (color:color-mix(in lab, red, red)){.roster-upload-shifts i{border:1px solid color-mix(in srgb, var(--shift-color) 25%, #e5e7eb)}}.roster-upload-shifts i{background:var(--shift-color);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.roster-upload-shifts i{background:color-mix(in srgb, var(--shift-color) 10%, white)}}.roster-upload-shifts i{text-align:center;font-size:7px;font-style:normal;font-weight:850}.roster-upload-count{justify-content:flex-end;align-items:baseline;gap:3px;display:flex}.roster-upload-count b{color:#242a34;font-size:16px}.roster-upload-count small{color:#8b929e;font-size:8px}.roster-upload-errors{color:#9d1731;background:#fff5f6;border:1px solid #f0ccd3;border-radius:9px;margin-top:11px;padding:9px 11px}.roster-upload-errors p{margin:0;font-size:8px;line-height:1.5}.roster-upload-privacy{color:#858c98;margin:12px 0 0;font-size:8px;line-height:1.55}.roster-upload-actions{justify-content:flex-end;gap:8px;padding:18px 22px 22px;display:flex}.roster-upload-actions button{border-radius:9px;min-height:40px;padding:0 16px;font-size:9px;font-weight:800}@keyframes roster-fade{0%{opacity:0}}@keyframes roster-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}}@media (max-width:900px){.roster-topbar{grid-template-columns:1fr auto 1fr;padding-inline:20px}.roster-top-actions>span{display:none}.roster-calendar-card{overflow:hidden}.roster-calendar-toolbar{flex-wrap:wrap;gap:12px;min-width:0}.roster-period-nav h2{min-width:148px}.roster-weekdays,.roster-month-grid,.roster-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.roster-day{min-width:0;min-height:82px}.roster-week-grid,.roster-week-grid .roster-day{min-height:320px}}@media (max-width:700px){.roster-shell{min-height:100dvh;padding-bottom:calc(65px + env(safe-area-inset-bottom));overscroll-behavior-y:none}.roster-topbar{min-height:calc(90px + env(safe-area-inset-top));height:auto;padding:calc(4px + env(safe-area-inset-top)) 10px 4px;grid-template-columns:1fr auto;row-gap:3px}.roster-brand-mark{width:31px;height:31px}.roster-brand{min-height:34px}.roster-brand b{font-size:13px}.roster-brand small{font-size:6px}.roster-site-switch{order:3;grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;padding:2px;display:grid}.roster-site-switch a{text-align:center;place-items:center;min-height:44px;padding:0 9px;font-size:10px;display:grid}.roster-top-actions{gap:0}.roster-top-actions .roster-logout{border-left:0;align-items:center;min-height:44px;padding:0 2px;font-size:11px;display:inline-flex}.roster-workspace{padding:9px 6px 16px}.roster-intro{align-items:center;gap:10px;margin:0 3px 7px}.roster-intro p{letter-spacing:.15em;margin-bottom:3px;font-size:6.5px}.roster-intro h1{font-size:clamp(27px,8vw,32px)}.roster-intro div>span{max-width:210px;margin-top:3px;font-size:9px;line-height:1.3}.roster-create{flex:none;justify-content:center;min-width:94px;min-height:44px;padding:0 10px;font-size:9.5px}.roster-mobile-status{color:#48675d;background:#f5faf8;border:1px solid #dce8e4;border-radius:8px;align-items:center;gap:7px;min-height:29px;margin:0 3px 6px;padding:4px 9px;font-size:8.5px;line-height:1.25;display:flex}.roster-mobile-status i{background:#12805c;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #12805c14}.roster-mobile-status span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.roster-mobile-status.error{color:#a30020;background:#fff4f5;border-color:#f2ccd3}.roster-mobile-status.error i{background:#c8102e;box-shadow:0 0 0 4px #c8102e14}.roster-mobile-tools{background:#fffffff5;border:1px solid #dde0e6;border-radius:11px;margin-bottom:6px;padding:7px 8px;display:block;box-shadow:0 10px 28px #1018280a}.roster-mobile-tools-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.roster-mobile-tools-head div{gap:2px;display:grid}.roster-mobile-tools-head small{color:#c8102e;letter-spacing:.15em;font-size:7px;font-weight:850}.roster-mobile-tools-head b{font-size:10.5px}.roster-mobile-tools-head>button{color:#505866;background:#f8f9fa;border:1px solid #dce0e6;border-radius:8px;min-height:44px;padding:0 10px;font-size:9px;font-weight:750}.roster-mobile-shifts{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;display:flex;overflow-x:auto}.roster-mobile-shifts::-webkit-scrollbar{display:none}.roster-mobile-shifts>button{scroll-snap-align:start;color:#353b47;border:1px solid var(--shift-color);flex:none;align-items:center;gap:7px;min-height:44px;padding:0 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.roster-mobile-shifts>button{border:1px solid color-mix(in srgb, var(--shift-color) 28%, #e1e4e8)}}.roster-mobile-shifts>button{background:var(--shift-color);border-radius:22px}@supports (color:color-mix(in lab, red, red)){.roster-mobile-shifts>button{background:color-mix(in srgb, var(--shift-color) 8%, white)}}.roster-mobile-shifts>button{font-size:9.5px;font-weight:750}.roster-mobile-shifts>button i{background:var(--shift-color);border-radius:3px;width:8px;height:8px}.roster-board{grid-template-columns:1fr}.roster-sidebar{display:none}.roster-calendar-card{border-radius:12px}.roster-calendar-toolbar{gap:5px;min-height:0;padding:6px;display:grid}.roster-period-nav{grid-template-columns:44px minmax(0,1fr) 44px 52px;gap:4px;width:100%;display:grid}.roster-period-nav h2{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;min-width:0;margin:0;font-size:15px;display:flex;overflow:hidden}.roster-period-nav>button{width:44px;height:44px;font-size:17px}.roster-period-nav .roster-today{width:52px;padding:0;font-size:9px}.roster-view-actions{justify-content:space-between;gap:6px;width:100%}.roster-count{text-align:center;min-width:64px;margin:0;font-size:8px}.roster-pay-legend{gap:4px;height:44px;padding-right:6px}.roster-pay-legend small{display:none}.roster-pay-legend i{font-size:7px}.roster-segment{padding:2px}.roster-segment button{min-width:44px;height:44px;font-size:10px}.roster-export{height:44px;min-height:44px;padding:0 10px;font-size:9px}.roster-export-icon{margin-left:7px}.roster-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));height:24px}.roster-weekdays span{text-align:center;padding:0;font-size:7px}.roster-weekdays.week-mode{display:none}.roster-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-width:0}.roster-month-grid .roster-day{gap:1.5px;min-height:72px;padding:2px 2.5px}.roster-month-grid.personal-mode .roster-day{min-height:78px;padding:2px 2.5px 3px}.roster-day{min-width:0}.roster-day time{font-size:9px}.roster-month-grid .roster-day.today time{color:#fff;background:#c8102e;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.roster-date-line{gap:1px;min-height:22px}.roster-month-grid .roster-date-meta{flex-direction:column;align-items:flex-end;gap:1px}.roster-date-line em{display:none}.roster-month-grid .roster-holiday-badge{background:0 0;border-radius:4px;max-width:34px;padding:1px 2px;font-size:6.5px;line-height:1.1}.roster-month-grid .roster-triple-pay-badge{box-shadow:none;border-radius:4px;padding:1px 3px;font-size:6px;line-height:1.1}.roster-month-grid .roster-day.has-shift{background:radial-gradient(circle at 100% 0, var(--shift-color), transparent 55%), linear-gradient(180deg, #fff, var(--shift-color))}@supports (color:color-mix(in lab, red, red)){.roster-month-grid .roster-day.has-shift{background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--shift-color) 14%, transparent), transparent 55%), linear-gradient(180deg, #fff, color-mix(in srgb, var(--shift-color) 5%, white))}}.roster-month-grid .roster-shift{border:1px solid var(--shift-color);gap:1px;min-height:0;padding:2px 2px 2px 3px;position:relative}@supports (color:color-mix(in lab, red, red)){.roster-month-grid .roster-shift{border:1px solid color-mix(in srgb, var(--shift-color) 32%, #e3e6ea)}}.roster-month-grid .roster-shift{border-top:2px solid var(--shift-color);background:var(--shift-color);border-left-width:1px;border-radius:4px}@supports (color:color-mix(in lab, red, red)){.roster-month-grid .roster-shift{background:color-mix(in srgb, var(--shift-color) 22%, white)}}.roster-month-grid .roster-shift{box-shadow:none}.roster-month-grid .roster-shift-head{gap:2px}.roster-month-grid .roster-shift-head>i{width:3px;height:3px}.roster-month-grid .roster-shift b{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:7.8px;line-height:1.15;overflow:hidden}.roster-month-grid .roster-note-preview{display:block}.roster-month-grid .roster-note-preview>span{display:none}.roster-month-grid .roster-shift small{color:#4f5866;text-align:left;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:7px;line-height:1.18;display:-webkit-box}.roster-month-grid .roster-shift.has-note:after{display:none}.roster-month-grid .personal-day.has-shift:before{width:2px;inset-block:5px}.roster-month-grid .personal-day.has-shift:after{width:17px;height:2px;left:4px}.roster-month-grid .personal-day .roster-date-line>time{border-radius:6px;width:18px;min-width:18px;height:18px;font-size:8px}.roster-month-grid .roster-personal-body{border-radius:5px;gap:2px;min-height:33px;padding:3px;box-shadow:inset 0 1px #ffffffbf}.roster-month-grid .roster-personal-shift-line{align-items:center;gap:2px;display:flex}.roster-month-grid .roster-personal-shift-line>span{letter-spacing:0;flex:none;font-size:0}.roster-month-grid .roster-personal-shift-line>span i{width:4px;height:4px;box-shadow:none}.roster-month-grid .roster-personal-shift-line b{text-align:left;flex:auto;font-size:7.6px;line-height:1.15}.roster-month-grid .roster-personal-note{border-top-color:var(--shift-color);padding-top:2px;display:block}@supports (color:color-mix(in lab, red, red)){.roster-month-grid .roster-personal-note{border-top-color:color-mix(in srgb, var(--shift-color) 10%, #e4e7eb)}}.roster-month-grid .roster-personal-note>span{display:none}.roster-month-grid .roster-personal-note small{color:#535c69;-webkit-line-clamp:2;font-size:6.7px;line-height:1.14}.roster-month-grid .roster-add-hint{opacity:.68;background:#ffffffb8;border-radius:7px;align-self:auto;width:21px;height:21px;min-height:21px;margin:auto;padding:0}.roster-month-grid .roster-add-hint i{font-size:12px}.roster-month-grid .roster-add-hint small{display:none}.roster-day.muted{opacity:.58;background:#fafbfc}.roster-day.muted.has-shift{background:var(--shift-color)}@supports (color:color-mix(in lab, red, red)){.roster-day.muted.has-shift{background:color-mix(in srgb, var(--shift-color) 10%, white)}}.roster-week-grid{grid-template-columns:1fr;min-width:0;min-height:0}.roster-week-grid .roster-day{border-right:0;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:9px;min-height:76px;padding:8px 10px;display:grid}.roster-week-grid .roster-date-line{grid-template-columns:auto 1fr;justify-content:start;gap:7px;display:grid}.roster-week-grid .roster-date-meta{grid-column:1/-1;justify-content:flex-start}.roster-week-grid .roster-holiday-badge{max-width:none}.roster-week-grid .roster-day.today time{color:#c8102e;font-weight:850}.roster-week-grid .roster-mobile-weekday{color:#737b89;font-size:10px;font-weight:750;display:inline}.roster-week-grid .roster-day.has-shift{background:linear-gradient(90deg, var(--shift-color), white 72%)}@supports (color:color-mix(in lab, red, red)){.roster-week-grid .roster-day.has-shift{background:linear-gradient(90deg, color-mix(in srgb, var(--shift-color) 11%, white), white 72%)}}.roster-week-grid .roster-shift{background:var(--shift-color);justify-content:center;min-height:50px;padding:7px 9px}@supports (color:color-mix(in lab, red, red)){.roster-week-grid .roster-shift{background:color-mix(in srgb, var(--shift-color) 20%, white)}}.roster-week-grid .roster-shift b{font-size:11px}.roster-week-grid .roster-shift small{-webkit-line-clamp:2;font-size:8px}.roster-week-grid .roster-add-hint{opacity:1;border:1px dashed #d8dce2;border-radius:9px;align-items:center;min-height:46px;padding:0 12px;font-size:10px;display:flex}.roster-week-grid .roster-personal-body{justify-content:center;min-height:50px;padding:7px 9px}.roster-week-grid .roster-personal-shift-line b{font-size:11px}.roster-week-grid .roster-personal-note small{-webkit-line-clamp:2;font-size:8px}.roster-mobile-dock{min-height:calc(57px + env(safe-area-inset-bottom));padding:4px max(8px, env(safe-area-inset-left)) calc(4px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));z-index:60;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-top:1px solid #d7dbe1f2;gap:5px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 34px #10182817}.roster-mobile-dock.personal-dock{grid-template-columns:repeat(4,minmax(0,1fr))}.roster-mobile-dock.team-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-mobile-dock button{color:#545c6a;background:0 0;border:0;border-radius:9px;align-content:center;place-items:center;gap:2px;min-height:48px;padding:3px 6px;display:grid}.roster-mobile-dock button:first-child{color:#fff;background:#c8102e;box-shadow:0 7px 16px #c8102e2e}.roster-mobile-dock button:disabled{opacity:.45}.roster-mobile-dock span{font-size:17px;line-height:1}.roster-mobile-dock small{font-size:9px;font-weight:800}.roster-modal-backdrop{padding:max(12px, env(safe-area-inset-top)) 0 0;overscroll-behavior:contain;place-items:end center}.roster-modal{max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));overscroll-behavior:contain;border-radius:20px 20px 0 0;overflow-y:auto}.roster-modal-head{z-index:3;min-height:84px;padding:19px 18px;position:sticky;top:0}.roster-modal-head h2{font-size:23px}.roster-modal-head>button{width:44px;height:44px;margin-top:-3px}.roster-form-field{padding:18px 18px 0}.roster-form-field>label,.roster-label-row label,.roster-new-type>label{font-size:10px}.roster-form-field select{height:52px;font-size:16px}.roster-form-field textarea{min-height:150px;font-size:16px}.roster-editor-hint{margin:10px 18px 0;font-size:10px;line-height:1.5}.roster-modal-actions{padding:16px 18px calc(16px + env(safe-area-inset-bottom));z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #eceef1;grid-template-columns:1fr 1fr;position:sticky;bottom:0}.roster-modal-actions>span:empty{display:none}.roster-modal-actions button{min-height:48px;font-size:11px}.roster-modal-actions .roster-danger{grid-column:1/-1;justify-self:stretch;width:100%}.roster-new-type{padding:17px 18px}.roster-new-type-row{grid-template-columns:1fr auto}.roster-new-type-row>input{grid-column:1/-1;height:50px;font-size:16px}.roster-color-picker{scrollbar-width:none;gap:10px;padding:3px;overflow-x:auto}.roster-color-picker::-webkit-scrollbar{display:none}.roster-color-picker button{border-radius:9px;flex:none;width:34px;height:34px}.roster-add-type{min-width:64px;height:44px;font-size:10px}.roster-manager-list{max-height:none;padding:7px 18px}.roster-type-row{grid-template-columns:10px 1fr auto auto;row-gap:10px;padding:12px 0}.roster-type-row>input{grid-column:2/-1;height:48px;font-size:16px}.roster-type-row .roster-mini-colors{scrollbar-width:none;grid-area:2/2/auto/-1;gap:9px;overflow-x:auto}.roster-type-row .roster-mini-colors::-webkit-scrollbar{display:none}.roster-mini-colors button{border-radius:8px;flex:none;width:30px;height:30px}.roster-type-save,.roster-type-toggle{height:44px;font-size:10px}.roster-type-save{grid-column:3}.roster-type-toggle{grid-column:4}.roster-manager-note{padding:15px 18px calc(18px + env(safe-area-inset-bottom));font-size:10px;line-height:1.5}.roster-intro{align-items:center}.roster-intro-actions{flex-direction:row;align-items:center;gap:5px}.roster-context-switch{padding:2px}.roster-context-switch button{min-height:44px;padding:0 9px;font-size:8.5px}.roster-upload-cta,.team-calendar .roster-team-upload{display:none}.team-calendar .roster-segment{margin-left:auto}.roster-mobile-tools.team-tools{padding:8px 9px}.roster-mobile-team-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.roster-mobile-team-summary>div{gap:2px;min-width:0;display:grid}.roster-mobile-team-summary small{color:#c8102e;letter-spacing:.14em;font-size:6.5px;font-weight:850}.roster-mobile-team-summary b{font-size:10px}.roster-mobile-team-summary span{color:#7b8390;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;overflow:hidden}.roster-mobile-team-summary button{color:#fff;background:linear-gradient(145deg,#252c39,#171b24);border:0;border-radius:9px;min-height:44px;padding:0 11px;font-size:9px;font-weight:800}.roster-team-color-mode{grid-template-columns:auto minmax(0,1fr);gap:4px 7px;min-height:0;padding:6px;display:grid}.roster-team-color-mode>span{padding-left:2px}.roster-team-color-mode>div{width:100%}.roster-team-color-mode button{flex:1;justify-content:center;min-height:44px;padding:0 7px;font-size:8px}.roster-team-color-mode>p{text-align:right;grid-column:1/-1;margin:0;font-size:6.5px}.roster-team-filter{grid-template-columns:1fr;gap:5px;padding:6px}.roster-team-filter-group{border-radius:8px;grid-template-columns:62px minmax(0,1fr);gap:5px;min-height:54px;padding:5px}.roster-team-filter-group.people-group{grid-template-columns:62px minmax(0,1fr) 41px}.roster-team-filter-label{gap:4px;min-width:0}.roster-team-filter-label>i{border-radius:6px;width:20px;height:20px;font-size:7px}.roster-team-filter-label small{font-size:5px}.roster-team-filter-label b{font-size:7px}.roster-team-filter-options{overscroll-behavior-inline:contain;scrollbar-width:none;padding:1px;overflow-x:auto}.roster-team-filter-options::-webkit-scrollbar{display:none}.roster-team-filter-options button{border-radius:9px;min-height:44px;padding-inline:9px;font-size:8px}.roster-team-filter-options.people-options button{gap:3px;padding-inline:6px}.roster-team-filter-options.people-options button>i{width:18px;height:18px;font-size:8px}.roster-team-filter-options.people-options button>small{font-size:5.5px}.roster-team-filter-count{grid-template-columns:auto;justify-items:center;gap:0;min-width:0}.roster-team-filter-count>b{font-size:11px}.roster-team-filter-count>span{font-size:5.5px}.roster-team-filter-count>button{grid-column:1;width:41px;min-height:24px;font-size:6px}.roster-handover-note,.roster-team-filter-empty{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 7px;font-size:7px;line-height:1.35}.roster-month-grid.team-mode .roster-day{min-height:max(78px, var(--team-card-mobile-height,136px));gap:2px;padding:3px 2px}.roster-month-grid.team-mode .roster-date-line{min-height:20px}.roster-team-day-list{gap:1.5px}.roster-team-day-list>span,.roster-team-day-list>button{border-left-width:2px;border-radius:4px;min-height:25px;padding:0}.roster-team-person{max-width:calc(100% - 6px);font-size:6.4px;top:3px;left:3px}.roster-team-day-list b{max-width:calc(100% - 6px);font-size:6.5px;bottom:3px;right:3px}.roster-month-grid.team-mode .roster-team-day-list b.is-time{letter-spacing:-.035em;justify-content:flex-end;gap:1px;line-height:.95;display:flex;overflow:hidden}.roster-month-grid.team-mode .roster-team-day-list b.is-time span{font-size:6.2px;line-height:1}.roster-month-grid.team-mode .roster-team-day-list b.is-time em{font-size:5.8px;display:inline}.roster-month-grid.team-mode .roster-team-day-list>*>i{display:none}.roster-week-grid.team-mode .roster-day{grid-template-columns:82px minmax(0,1fr);min-height:112px;padding:8px 10px;display:grid}.roster-week-grid.team-mode .roster-team-day-list{gap:3px}.roster-week-grid.team-mode .roster-team-day-list>span,.roster-week-grid.team-mode .roster-team-day-list>button{min-height:21px;padding:0}.roster-week-grid.team-mode .roster-team-person{font-size:7px;top:2px;left:5px}.roster-week-grid.team-mode .roster-team-day-list b{font-size:8px}.roster-week-grid.team-mode .roster-team-day-list b.is-time{justify-content:flex-end;gap:1px;display:flex}.roster-week-grid.team-mode .roster-team-day-list b.is-time em{display:inline}.roster-upload-modal{max-height:calc(100dvh - max(12px, env(safe-area-inset-top)))}.roster-upload-body{padding:14px 14px 0}.roster-upload-drop{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:120px;padding:12px}.roster-upload-drop>span{width:34px;height:34px}.roster-upload-drop button{grid-column:1/-1;min-height:44px}.roster-upload-preview article{grid-template-columns:minmax(105px,.8fr) minmax(0,1fr) 34px;gap:6px;min-height:66px;padding:8px}.roster-upload-person>span{width:28px;height:28px}.roster-upload-shifts{gap:3px}.roster-upload-shifts i{min-width:21px;padding:2px 3px;font-size:6.5px}.roster-upload-privacy{font-size:8.5px}.roster-upload-actions{padding:14px 14px calc(14px + env(safe-area-inset-bottom));z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #eceef1;position:sticky;bottom:0}.roster-upload-actions button{flex:1 1 0;min-height:48px;font-size:10px}}@media (max-width:360px){.roster-workspace{padding-inline:5px}.roster-topbar{padding-inline:10px}.roster-intro{margin-inline:5px}.roster-intro h1{font-size:27px}.roster-intro div>span{max-width:175px}.roster-create{min-width:92px;padding-inline:10px}.roster-period-nav{grid-template-columns:44px minmax(0,1fr) 44px 50px;gap:3px}.roster-period-nav>button{width:44px}.roster-period-nav .roster-today{width:50px}.roster-period-nav h2{font-size:14px}.roster-count{display:none}.roster-view-actions{justify-content:space-between}.roster-export-label{font-size:0}.roster-export-label:after{content:"Excel";font-size:10px}.roster-month-grid .roster-day{min-height:70px;padding-inline:2px}.roster-month-grid .roster-shift b{font-size:7.5px}.roster-month-grid .roster-shift small{font-size:6.8px}.roster-month-grid .roster-holiday-badge{max-width:30px;font-size:6.5px}.roster-intro-actions{gap:4px}.roster-context-switch button{padding-inline:7px;font-size:8px}.roster-month-grid.team-mode .roster-day{min-height:max(76px, var(--team-card-mobile-height,134px));padding-inline:1.5px}.roster-team-person{font-size:5.9px;left:2px}.roster-team-day-list b{font-size:6.1px;right:2px}.roster-month-grid.team-mode .roster-team-day-list b.is-time span{font-size:5.8px}}@media (hover:none){.roster-day .roster-add-hint{opacity:1}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
