@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/be-vietnam-pro-400-vi.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/be-vietnam-pro-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/be-vietnam-pro-600-vi.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/be-vietnam-pro-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800 900;font-display:swap;src:url(/fonts/be-vietnam-pro-800-vi.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800 900;font-display:swap;src:url(/fonts/be-vietnam-pro-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bricolage-400-800-vi.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bricolage-400-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pb-brand: var(--pb-blue, #1850b0);--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--lh-tight: 1.2;--lh-normal: 1.5;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--dur-fast: .12s;--dur-med: .22s;--dur-slow: .36s;--ease-out: var(--ease, cubic-bezier(.22, 1, .36, 1));--touch-min: 44px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--density-row: 44px;--density-control: 40px;--density-gap: var(--sp-3);--density-pad: var(--sp-4);--blue-50: #eff5ff;--blue-100: #dbe7fe;--blue-200: #bfd3fd;--blue-300: #93b4fb;--blue-400: #6090f6;--blue-500: #3b6ef0;--blue-600: var(--pb-blue);--blue-700: var(--pb-blue-deep, #123e8a);--blue-800: var(--pb-blue-darker, #0d2e6b);--blue-900: #08245e;--neutral-0: #ffffff;--neutral-50: var(--surface-2, #f6f9fd);--neutral-100: var(--surface-3, #edf3fc);--neutral-200: var(--hairline, #e2e9f4);--neutral-300: var(--hairline-strong, #d2dcec);--neutral-400: var(--gray-light, #97a4be);--neutral-500: var(--gray, #6b7a99);--neutral-600: #55617d;--neutral-700: #3f4860;--neutral-800: #2a3143;--neutral-900: #171c28;--color-success: var(--ok);--color-success-soft: var(--ok-bg);--color-success-line: var(--ok-line);--color-warning: var(--warn);--color-warning-soft: var(--warn-bg);--color-warning-line: var(--warn-line);--color-danger: var(--danger);--color-danger-soft: var(--danger-bg);--color-danger-line: var(--danger-line);--color-info: var(--info);--color-info-soft: var(--info-bg);--elev-1: 0 1px 2px rgba(13, 31, 74, .06), 0 1px 3px rgba(13, 31, 74, .1);--elev-2: 0 2px 6px rgba(13, 31, 74, .08), 0 4px 12px rgba(13, 31, 74, .1);--elev-3: 0 8px 24px rgba(13, 31, 74, .12);--elev-4: 0 16px 48px rgba(13, 31, 74, .18);--focus-ring: 0 0 0 3px rgba(24, 80, 176, .4);--focus-ring-width: 2px;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--fs-display: var(--fs-3xl);--fs-h1: var(--fs-2xl);--fs-h2: var(--fs-xl);--fs-title: var(--fs-lg);--fs-body: var(--fs-md);--fs-caption: var(--fs-xs)}:root[data-density=compact]{--density-row: 34px;--density-control: 32px;--density-gap: var(--sp-2);--density-pad: var(--sp-3)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-med: 0ms;--dur-slow: 0ms}}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.order-1{order:1}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--pb-blue: #1850B0;--pb-blue-deep: #123E8A;--pb-blue-darker: #0D2E6B;--ink: #0f1a3d;--ink-2: #3a465f;--gray: #6b7a99;--gray-light: #97a4be;--text-secondary: #556279;--text-tertiary: #616d8a;--hairline: #e2e9f4;--hairline-strong: #d2dcec;--white: #ffffff;--app-bg: #eef3fb;--surface: #ffffff;--surface-2: #f6f9fd;--surface-3: #edf3fc;--tint-blue: #eaf1fd;--tint-blue-2: #dce9fc;--ok: #1f8a4c;--ok-bg: #e7f4ec;--ok-line: #bce3c9;--ok-fg: #137038;--warn: #c87f1f;--warn-bg: #fbf1e1;--warn-line: #efd9b4;--warn-fg: #8a5a12;--danger: #c4453a;--danger-bg: #fbeae8;--danger-line: #efc8c3;--danger-fg: #a5342b;--info: var(--pb-blue);--info-bg: #eaf1fd;--hero-gradient: linear-gradient(135deg, #2870c0, var(--blue-600) 55%, var(--blue-700));--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 9999px;--sh-xs: 0 1px 2px rgba(15, 26, 61, .06);--sh-sm: 0 2px 8px rgba(15, 26, 61, .07);--sh-md: 0 10px 30px rgba(15, 26, 61, .1);--sh-lg: 0 24px 60px rgba(15, 26, 61, .16);--font-body: "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-display: "Bricolage Grotesque", "Be Vietnam Pro", sans-serif;--row: 34px;--ease: cubic-bezier(.22, 1, .36, 1);--z-stage-bar: 20;--z-nav-scrim: 25;--z-sidebar: 30;--z-bell: 40;--z-bottom-nav: 55;--z-modal: 200;--z-popover: 210;--z-prompt: 220;--z-toast: 300}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--app-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.5}button{font-family:inherit}::-moz-selection{background:var(--tint-blue-2)}::selection{background:var(--tint-blue-2)}.shell{display:flex;min-height:100vh}.nav{width:264px;flex:0 0 264px;background:var(--white);border-right:1px solid var(--hairline);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;z-index:var(--z-sidebar)}.nav-head{padding:16px 18px 14px;border-bottom:1px solid var(--hairline);display:flex;align-items:center;gap:11px}.nav-head .mark{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.nav-head .wm{font-weight:800;letter-spacing:.12em;color:var(--pb-blue-deep);font-size:15px}.nav-head .sub{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:11px;color:var(--gray);margin-top:1px}.nav-scroll{overflow-y:auto;flex:1;padding:10px 10px 30px}.nav-group{margin-top:14px}.nav-group:first-child{margin-top:4px}.nav-group-t{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary);padding:6px 10px;display:flex;align-items:center;gap:7px}.nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-md);font-size:12.5px;color:var(--ink-2);cursor:pointer;border:1px solid transparent;line-height:1.25;text-decoration:none;transition:background .12s var(--ease),color .12s}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--tint-blue);color:var(--pb-blue-deep);font-weight:600}.nav-item .code{font-size:9.5px;font-weight:700;letter-spacing:.03em;color:var(--pb-blue);background:var(--tint-blue);border-radius:var(--r-xs);padding:2px 5px;flex:0 0 auto;min-width:30px;text-align:center}.nav-item.active .code{background:var(--white)}.stage{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--app-bg)}.stage-bar{height:56px;flex:0 0 56px;display:flex;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid var(--hairline);background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:var(--z-stage-bar)}.stage-bar .stage-title{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1 1 auto}.stage-bar .scode{font-weight:700;color:var(--pb-blue);font-size:12px;letter-spacing:.04em;flex:0 0 auto}.stage-bar .stitle{font-weight:600;color:var(--ink);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-bar .spacer{margin-left:auto}.user-chip{display:flex;align-items:center;gap:10px;margin-right:4px;cursor:pointer;flex:0 0 auto}.user-chip-text{text-align:right;line-height:1.15;min-width:0}.user-chip-text .name{font-weight:700;font-size:13px;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip-text .role{font-size:11px}.bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--hairline-strong);background:var(--white);border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;flex:0 0 auto}@media(hover:hover){.bell-btn:hover{color:var(--pb-blue);border-color:var(--pb-blue)}}.bell-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.bell-panel{position:absolute;top:44px;right:0;width:320px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-lg, 0 12px 32px rgba(16,32,64,.16));z-index:var(--z-bell);overflow:hidden}.bell-panel-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--hairline)}.bell-act{border:none;background:transparent;color:var(--pb-blue);font-size:11.5px;font-weight:600;cursor:pointer}.bell-act:disabled{color:var(--gray-light);cursor:default}.bell-push-cta{display:block;width:100%;border:none;background:var(--surface-2);color:var(--pb-blue);padding:10px 14px;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer;border-bottom:1px solid var(--hairline)}@media(hover:hover){.bell-push-cta:hover{background:var(--pb-blue);color:#fff}}.offline-banner{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;border-radius:8px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-size:12.5px;font-weight:600}.offline-dot{width:8px;height:8px;border-radius:50%;background:#d97706;flex:0 0 auto}@media(prefers-color-scheme:dark){.offline-banner{background:#3b2f14;color:#fcd34d;border-color:#78561a}}.data-freshness{font-size:var(--fs-xs);color:var(--text-secondary, #4a5670)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.state-block{text-align:center;padding:var(--sp-8) var(--sp-4)}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.update-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:var(--z-prompt);display:flex;align-items:center;gap:14px;max-width:min(440px,calc(100vw - 24px));padding:12px 14px;border-radius:12px;background:var(--surface-1);color:var(--text-1);border:1px solid var(--hairline);box-shadow:0 8px 30px #0000002e}.update-toast-text{display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.35}.update-toast-text span{color:var(--text-2)}@media(min-width:900px){.update-toast{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}.bell-list{max-height:360px;overflow-y:auto}.bell-empty{padding:22px 14px;color:var(--text-secondary);font-size:13px;text-align:center}.bell-item{display:block;width:100%;text-align:left;border:none;background:transparent;padding:11px 14px;border-bottom:1px solid var(--hairline);cursor:pointer}@media(hover:hover){.bell-item:hover{background:var(--surface-2)}}.bell-item.unread{background:var(--tint-blue-2, rgba(24,80,176,.06))}.bell-item.unread .bell-item-title{font-weight:700}.bell-item-title{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bell-item-body{font-size:12px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bell-item-time{font-size:11px;color:var(--text-tertiary);margin-top:3px}.bell-viewall{display:block;width:100%;border:none;background:transparent;padding:10px;color:var(--pb-blue);font-size:12.5px;font-weight:600;cursor:pointer;border-top:1px solid var(--hairline)}@media(hover:hover){.bell-viewall:hover{background:var(--surface-2)}}.stage-body{flex:1;overflow:auto;padding:18px 28px 28px}.stage-inner{max-width:1180px;margin:0 auto}.hamburger{display:none;border:1px solid var(--hairline-strong);background:var(--white);border-radius:var(--r-md);width:36px;height:36px;cursor:pointer;color:var(--ink-2);flex:0 0 auto;align-items:center;justify-content:center}.nav-scrim{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;height:38px;border-radius:var(--r-pill);font-family:var(--font-body);font-size:13px;font-weight:600;line-height:1;color:var(--white);background:var(--pb-blue);border:none;cursor:pointer;transition:background .13s,transform .13s,box-shadow .13s;white-space:nowrap}@media(hover:hover){.btn:hover{background:var(--pb-blue-deep);transform:translateY(-1px);box-shadow:var(--sh-sm)}}.btn:active{transform:translateY(0)}.btn:disabled{background:var(--hairline-strong);color:var(--white);cursor:not-allowed;transform:none;box-shadow:none}.btn-lg{height:52px;font-size:15px;padding:0 26px;border-radius:var(--r-lg)}.btn-block{width:100%}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--hairline-strong)}@media(hover:hover){.btn-ghost:hover{background:var(--white);color:var(--pb-blue);border-color:var(--pb-blue)}}.btn-soft{background:var(--tint-blue);color:var(--pb-blue-deep)}.btn-soft:hover{background:var(--tint-blue-2);box-shadow:none}.btn-ok{background:var(--ok)}.btn-ok:hover{background:#176e3c}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#a83a30}.btn-sm{height:30px;font-size:12px;padding:0 12px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg)}.card-pad{padding:18px}.well{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md)}.field-l{display:block;font-size:11.5px;font-weight:600;color:var(--ink-2);margin:0 0 5px}.input{width:100%;height:40px;padding:0 13px;font-family:var(--font-body);font-size:14px;color:var(--ink);background:var(--white);border:1px solid var(--hairline-strong);border-radius:var(--r-md);outline:none;transition:border-color .12s,box-shadow .12s}.input::-moz-placeholder{color:var(--text-tertiary)}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--pb-blue);box-shadow:0 0 0 3px #1850b021}.input-lg{height:56px;font-size:22px;font-weight:600;text-align:center;letter-spacing:.02em}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--ink-2);border:1px solid var(--hairline)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-ok{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-line)}.badge-warn{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-line)}.badge-danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-line)}.badge-blue{background:var(--tint-blue);color:var(--pb-blue-deep);border-color:var(--tint-blue-2)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;cursor:pointer;border-radius:var(--r-pill);border:1px solid var(--hairline-strong);background:var(--white);font-size:12.5px;font-weight:500;color:var(--ink-2);transition:all .12s}@media(hover:hover){.chip:hover{border-color:var(--pb-blue);color:var(--pb-blue)}}.chip.on{background:var(--tint-blue);border-color:var(--pb-blue);color:var(--pb-blue-deep);font-weight:600}.av{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;font-weight:700;color:var(--white);font-size:12px;background:linear-gradient(135deg,var(--pb-blue),var(--pb-blue-deep));line-height:1;overflow:hidden}.eyebrow{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:13px;color:var(--pb-blue);margin:0 0 2px}.anchor{font-family:var(--font-display);font-style:italic;font-weight:800;color:var(--pb-blue-deep);letter-spacing:-.02em;line-height:1;margin:0}.numeral{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.stat-v{font-weight:700;color:var(--pb-blue-deep);letter-spacing:-.02em;line-height:1}.stat-l{font-size:11px;color:var(--gray);letter-spacing:.02em}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:11px;font-weight:600;color:var(--gray);padding:7px 14px;border-bottom:1px solid var(--hairline);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--pb-blue)}.tbl td{padding:0 14px;height:var(--row);border-bottom:1px solid var(--hairline);font-size:12.5px;color:var(--ink-2);vertical-align:middle;white-space:nowrap}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--surface-2)}:root[data-density=compact] .stage-body{padding:var(--sp-3) var(--sp-5) var(--sp-6)}:root[data-density=compact] .tbl td{height:30px;padding:0 var(--sp-3);font-size:var(--fs-xs)}:root[data-density=compact] .tbl th{padding:var(--sp-1) var(--sp-3)}:root[data-density=compact] .input{height:34px}:root[data-density=compact] .btn{height:34px}:root[data-density=compact] .btn-sm{height:28px}:root[data-density=compact] .card-pad{padding:var(--sp-3)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.seg{display:inline-flex;background:var(--surface-3);border-radius:var(--r-pill);padding:3px;gap:2px}.seg button{border:none;background:transparent;padding:0 14px;height:30px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;color:var(--gray);cursor:pointer;transition:all .12s}.seg button.on{background:var(--white);color:var(--pb-blue-deep);box-shadow:var(--sh-xs)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1a3d6b;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;overflow:auto;padding-top:max(60px,var(--safe-t));padding-bottom:max(60px,var(--safe-b))}.modal-card{width:460px;max-width:100%}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--hairline)}.modal-x{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-12px -10px -12px 0;border:none;background:none;cursor:pointer;color:var(--gray);font-size:20px;line-height:1}.modal-body{padding:18px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--hairline)}body.modal-open .bottom-nav,body.modal-open .nav{pointer-events:none}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7A99' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.sx-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;padding-right:11px}.sx-trigger[data-disabled]{cursor:not-allowed;opacity:.55;background:var(--surface-2)}.sx-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx-trigger[data-placeholder]>span:first-child{color:var(--text-tertiary)}.sx-trigger-ic{flex:0 0 auto;color:var(--gray);font-size:11px;transition:transform .14s var(--ease)}.sx-trigger[data-state=open] .sx-trigger-ic{transform:rotate(180deg)}.sx-content{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-md);box-shadow:var(--sh-md);padding:4px;z-index:var(--z-popover);overflow:hidden;min-width:var(--radix-select-trigger-width, var(--radix-popover-trigger-width, 160px));max-height:var(--radix-select-content-available-height, 320px);animation:sxIn .12s var(--ease)}@keyframes sxIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.sx-viewport{max-height:300px;overflow-y:auto}.sx-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;background:transparent;text-align:left;cursor:pointer;outline:none;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.sx-item[data-highlighted],.sx-item.is-active{background:var(--tint-blue)}@media(hover:hover){.sx-item:hover{background:var(--tint-blue)}}.sx-item[data-state=checked],.sx-item[aria-selected=true]{font-weight:600}.sx-item[data-disabled]{color:var(--gray-light);cursor:not-allowed}.sx-item-main{display:flex;flex-direction:column;gap:1px;min-width:0}.sx-item-main>.nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx-item-sub{color:var(--gray);font-size:11px;flex:0 0 auto}.sx-item-ind{color:var(--pb-blue);font-size:12px;flex:0 0 auto}.sx-item-new{color:var(--pb-blue);font-weight:600}.sx-empty{padding:8px 10px;font-size:12.5px;color:var(--gray)}.sx-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;color:var(--gray);font-size:14px;line-height:1;padding:4px}.toast-wrap{position:fixed;top:16px;right:16px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;max-width:360px}.toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;cursor:pointer;border-radius:var(--r-md);background:var(--white);border:1px solid var(--hairline);box-shadow:var(--sh-md);animation:toastIn .24s var(--ease)}.toast.ok{border-left:3px solid var(--ok)}.toast.danger{border-left:3px solid var(--danger)}.toast.info{border-left:3px solid var(--pb-blue)}.toast .ic{flex:0 0 auto;margin-top:1px}.toast .ttl{font-weight:600;font-size:12.5px;color:var(--ink)}.toast .msg{font-size:12.5px;color:var(--ink-2);margin-top:1px}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.between{display:flex;align-items:center;justify-content:space-between}.sec-head{gap:12px;margin-bottom:12px}.muted{color:var(--text-secondary)}.fade-up{animation:fadeUp .32s var(--ease) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.kpi-bar{transition:border-color .12s var(--ease),box-shadow .12s var(--ease),transform .12s var(--ease)}.kpi-bar:hover{border-color:var(--pb-blue);box-shadow:var(--sh-sm);transform:translateY(-1px)}.kpi-bar:active{transform:translateY(0)}.kpi-bar:focus-visible{outline:2px solid var(--pb-blue);outline-offset:2px}.tree-row{display:flex;align-items:center;gap:10px;padding:10px;flex-wrap:wrap;margin-left:calc(var(--depth, 0) * 22px)}.tree-row .who{flex:1 1 150px;min-width:0}.tree-row .who .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-row .tree-actions{display:flex;gap:6px;flex:0 0 auto;margin-left:auto}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:420px;overflow:hidden}.form-card{max-width:460px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);height:30px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--pb-blue);font-size:12px;font-weight:600}@media(max-width:480px){.auth-shell{padding:0;align-items:flex-start}.auth-card{max-width:100%;border-radius:0;min-height:100vh}.auth-card .input,.form-card .input,.auth-card .sx-trigger,.form-card .sx-trigger{height:44px;font-size:16px}.auth-card .btn,.form-card .btn{height:44px;font-size:15px}.auth-card .seg{width:100%}.auth-card .seg button{flex:1;height:44px;font-size:13.5px}.auth-card .pw-toggle,.form-card .pw-toggle{min-width:44px;min-height:44px;padding:0 12px}.modal-scrim{align-items:flex-end;padding:0;padding-top:max(24px,var(--safe-t))}.modal-card{width:100%;max-width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:92vh;display:flex;flex-direction:column}.modal-body{overflow-y:auto}.modal-foot{position:sticky;bottom:0;background:var(--surface);padding-bottom:max(var(--sp-4),var(--safe-b))}}@media(max-width:480px){.account-area .input{height:44px;font-size:16px}.account-area .btn{min-height:44px}}@media(max-width:900px){.nav{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s var(--ease);box-shadow:var(--sh-lg)}.nav.open{transform:translate(0)}.hamburger{display:inline-flex}.nav-scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1a3d59;z-index:var(--z-nav-scrim)}.stage-bar{padding:0 14px;gap:10px}.stage-bar .scode,.stage-bar .stage-title{display:none}.stage-bar .hamburger{margin-right:auto}.user-chip-text{display:none}.sec-head{flex-direction:column;align-items:stretch;gap:10px}.sec-head-actions>*{flex-wrap:wrap}.stage-body{padding:14px 16px 24px}.cust-detail-grid{grid-template-columns:1fr!important}.tree-row{margin-left:calc(var(--depth, 0) * 12px);gap:8px;padding:8px}.tree-row .tree-actions{margin-left:0;width:100%}.bell-panel{position:fixed;top:calc(58px + env(safe-area-inset-top));left:8px;right:8px;width:auto;max-width:none}.bell-list{max-height:calc(100vh - 140px)}.bell-item-title,.bell-item-body{white-space:normal}}.bottom-nav{display:none}@media(max-width:900px){:root{--bottomnav-h: 64px}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bottom-nav);background:var(--surface);border-top:1px solid var(--hairline-strong);box-shadow:0 -6px 20px #0f1a3d0f;padding-bottom:var(--safe-b)}.bn-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--touch-min);padding:8px 2px;color:var(--text-secondary);text-decoration:none;font-family:inherit;transition:color var(--dur-fast) var(--ease-out)}.bn-item.active{color:var(--pb-blue)}.bn-item.active .bn-icon{transform:translateY(-1px)}.bn-label{font-size:12px;font-weight:600;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-body{padding-bottom:calc(var(--bottomnav-h) + var(--safe-b) + var(--sp-2))}}@media(max-width:900px){.btn,.input{min-height:var(--touch-min)}.field-l{font-size:var(--fs-sm)}}html[data-surface=app],html[data-surface=app] body{overscroll-behavior:none;-webkit-text-size-adjust:100%;background:#eaf0fa}.mobile-shell{width:min(100%,480px);min-height:100vh;height:100dvh;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fafbfc;box-shadow:0 0 44px #0c2a5c24;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-app-header{min-height:58px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--pb-blue);color:#fff}.mobile-app-header>img{width:auto;height:28px;max-width:145px;-o-object-fit:contain;object-fit:contain}.mobile-back-button{min-width:44px;min-height:44px;margin-right:4px;border:0;border-radius:50%;background:#ffffff24;color:#fff;font-size:32px;line-height:1}.mobile-app-header-lead{display:flex;align-items:center;justify-self:start}.mobile-app-header-actions{display:flex;align-items:center;gap:8px;justify-self:end}.mobile-shell .bell-btn{width:44px;height:44px}.app-avatar-button,.app-icon-button{min-width:44px;min-height:44px;border:0;background:transparent;display:grid;place-items:center;border-radius:50%;color:inherit}.mobile-stage-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 16px 24px;scroll-behavior:smooth}.mobile-route-outlet{animation:mobile-route-in .19s var(--ease-out)}.app-tab-bar{min-height:66px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-around;gap:2px;background:#fff;border-top:1px solid var(--hairline);box-shadow:0 -8px 24px #14345e14;z-index:50}.app-tab-item{min-width:50px;min-height:44px;flex:1 1 0;border:0;background:transparent;color:var(--text-tertiary);text-decoration:none;font:inherit;font-size:10px;font-weight:var(--fw-semibold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-tab-item.active{color:var(--pb-blue);background:var(--tint-blue)}.app-tab-icon{font-size:22px;line-height:1}.app-tab-create{align-self:flex-start;transform:translateY(-18px);color:#fff}.app-tab-create .app-tab-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--pb-blue);box-shadow:0 8px 20px #1850b052;font-size:30px}.app-tab-item:active,.app-icon-button:active,.app-avatar-button:active{transform:scale(.96)}html[data-keyboard-open=true] .app-tab-bar{display:none}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:#0414307a}.mobile-menu{width:min(100%,480px);max-height:min(88dvh,760px);overflow-y:auto;padding:8px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -16px 48px #04143038}.mobile-menu-handle{width:42px;height:4px;margin:2px auto 14px;border-radius:4px;background:var(--hairline-strong)}.mobile-menu-profile{display:flex;align-items:center;gap:12px;margin-bottom:14px}.mobile-menu-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:inherit;text-decoration:none}.mobile-menu-identity>div{flex:1;min-width:0}.mobile-menu-profile strong{display:block}.mobile-menu-profile .muted{font-size:var(--fs-xs)}.mobile-menu-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.mobile-menu-quick a{min-height:48px;display:grid;place-items:center;text-align:center;border-radius:14px;background:var(--tint-blue);color:var(--pb-blue-deep);font-weight:var(--fw-bold);text-decoration:none}.mobile-menu-group{padding:12px 0;border-top:1px solid var(--hairline)}.mobile-menu-title{font-size:11px;text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--fw-bold);margin-bottom:6px}.mobile-menu-group a{min-height:44px;display:flex;align-items:center;color:var(--ink);text-decoration:none;border-radius:10px;padding:0 10px}.mobile-menu-group a:active{background:var(--surface-2)}.mobile-menu-logout{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:14px;background:var(--danger-bg);color:var(--danger);font:inherit;font-weight:var(--fw-bold)}.mobile-fallback-frame{min-width:0;overflow-x:auto}html[data-surface=app] .btn,html[data-surface=app] .input,html[data-surface=app] .sx-trigger{min-height:44px}html[data-surface=app] .input,html[data-surface=app] .sx-trigger{font-size:16px}html[data-surface=app] .auth-shell{padding:0;align-items:flex-start}html[data-surface=app] .auth-card{max-width:100%;border-radius:0;min-height:100dvh}html[data-surface=app] .auth-card .pw-toggle,html[data-surface=app] .form-card .pw-toggle{min-width:44px;min-height:44px}html[data-surface=app] .modal-scrim{align-items:flex-end;padding:0;padding-top:max(24px,var(--safe-t))}html[data-surface=app] .modal-card{width:min(100%,480px);max-width:100%;max-height:92dvh;border-radius:var(--r-xl) var(--r-xl) 0 0;display:flex;flex-direction:column}html[data-surface=app] .modal-body{overflow-y:auto}html[data-surface=app] .modal-foot{position:sticky;bottom:0;background:var(--surface);padding-bottom:max(var(--sp-4),var(--safe-b))}.route-skeleton{min-height:240px;border-radius:20px;background:linear-gradient(90deg,#edf2f8 25%,#f8fafd,#edf2f8 75%);background-size:200% 100%;animation:app-shimmer 1.2s infinite}.app-home-loading{display:flex;flex-direction:column;gap:14px}.app-home-loading-hero,.app-home-loading-actions>span,.app-home-loading-card{background:linear-gradient(90deg,#edf2f8 25%,#f8fafd,#edf2f8 75%);background-size:200% 100%;animation:app-shimmer 1.2s infinite}.app-home-loading-hero{height:88px;border-radius:22px}.app-home-loading-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.app-home-loading-actions>span{height:78px;border-radius:18px}.app-home-loading-card{height:110px;border-radius:18px}.app-home-loading-card.short{height:70px}.app-home-loading-card.tall{height:150px}.app-home{display:flex;flex-direction:column;gap:14px}.app-home-hero{display:flex;align-items:center;gap:12px;padding:20px;border-radius:22px;background:#fff;color:var(--ink);border:1px solid var(--hairline);box-shadow:var(--sh-sm)}.app-home-hero span,.app-home-hero strong{display:block}.app-home-hero span{font-size:var(--fs-xs);color:var(--text-secondary)}.app-home-hero strong{font-size:var(--fs-lg)}.app-home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.app-quick{min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;border:1px solid var(--hairline);border-radius:18px;background:#fff;color:var(--ink);text-align:center;text-decoration:none;font-size:var(--fs-xs);font-weight:var(--fw-semibold);box-shadow:var(--sh-sm)}.app-quick b{font-size:24px;color:var(--pb-blue)}.app-quick.primary{background:var(--pb-blue);color:#fff;border-color:transparent}.app-quick.primary b{color:#fff}.app-quick:active{transform:scale(.97)}.app-home-card{display:flex;flex-direction:column;gap:10px}.app-card-title{font-weight:var(--fw-bold);font-size:var(--fs-md)}.app-home-card>a{min-height:44px;display:flex;align-items:center;justify-content:space-between;color:var(--pb-blue-deep);font-weight:var(--fw-semibold);text-decoration:none}.app-money{font-size:var(--fs-2xl);color:var(--pb-blue-deep)}.app-money-pair,.app-period-revenue{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.app-money-pair span,.app-period-revenue span{font-size:var(--fs-xs);color:var(--ink-2)}.app-money-pair strong:not(.app-money),.app-period-revenue strong{font-size:var(--fs-md);color:var(--pb-blue-deep)}.app-kpi-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-xs)}.app-card-error{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--danger);font-size:var(--fs-xs)}.app-card-error button{min-height:44px;border:0;background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:0 12px}.app-card-skeleton{height:44px;border-radius:12px;background:var(--surface-2)}.app-card-skeleton.lg{height:96px}.app-card-skeleton.xl{height:116px}@keyframes app-shimmer{to{background-position:-200% 0}}@keyframes mobile-route-in{0%{opacity:.55;transform:translate(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.route-skeleton,.app-home-loading-hero,.app-home-loading-actions>span,.app-home-loading-card,.mobile-route-outlet{animation:none}.app-tab-item,.app-quick{transition:none!important}}.mobile-wizard-progress{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.mobile-wizard-progress>span{flex:1;height:4px;border-radius:2px;background:var(--hairline-strong)}.mobile-wizard-progress>span[data-active=true]{background:var(--pb-blue)}.mobile-wizard-footer{width:100%;display:grid;gap:var(--sp-3)}.mobile-wizard-total{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.mobile-wizard-total>span{color:var(--text-secondary);font-size:var(--fs-xs)}.mobile-wizard-total>b{color:var(--pb-blue-deep);font-size:var(--fs-lg)}.mobile-wizard-buttons{display:flex;gap:var(--sp-3)}.mobile-wizard-action{min-height:44px}.mobile-wizard-pricing,.mobile-wizard-error{margin:var(--sp-3) 0 0;font-size:var(--fs-sm)}.mobile-wizard-pricing{color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.mobile-wizard-error{color:var(--danger)}.orders-page-mobile .sec-head{align-items:center}.orders-page-mobile .sec-head .btn{min-height:44px}html[data-surface=app] .orders-page-mobile .card:not(.card-pad)>.between:first-child{flex-direction:column;align-items:stretch;gap:var(--sp-2)}html[data-surface=app] .orders-page-mobile .card:not(.card-pad)>.between:first-child>*{flex:0 0 auto!important;min-width:0!important;width:100%!important;max-width:none!important}html[data-surface=app] .orders-page-mobile .card:not(.card-pad)>.between:last-child{flex-wrap:wrap;gap:var(--sp-2)}html[data-surface=app] .orders-page-mobile .card:not(.card-pad)>.between:last-child>*{min-width:0}.app-quick small{font-size:10px;font-weight:var(--fw-semibold);opacity:.78}.mobile-menu-quick a{display:flex;flex-direction:column;gap:2px}.mobile-menu-quick a small{font-size:10px;color:var(--text-secondary)}.placement-inbox-mobile>div>div:not(.sec-head) .card>button{min-height:64px;touch-action:manipulation}.placement-inbox-mobile .btn,.placement-inbox-mobile .input{min-height:44px}.account-page-mobile,.notifications-page-mobile{min-width:0}.account-page-mobile .account-area{padding:0}html[data-surface=app] .account-page-mobile .account-area>div{max-width:none!important;padding-left:var(--sp-4);padding-right:var(--sp-4)}.notifications-page-mobile .cust-detail-grid{grid-template-columns:1fr!important;gap:var(--sp-4)!important}.notifications-page-mobile .chip,.notifications-page-mobile li button{min-height:44px;touch-action:manipulation}html[data-surface=app] .sx-item,html[data-surface=app] .bell-item,html[data-surface=app] .bell-act,html[data-surface=app] .bell-viewall,html[data-surface=app] .bell-push-cta,html[data-surface=app] .chip{min-height:44px}html[data-surface=app] .notifications-page-mobile li>button{min-height:44px}html[data-surface=app] a:active,html[data-surface=app] button:active,html[data-surface=app] .sx-item:active,html[data-surface=app] [role=button]:active{transform:scale(.97)}html[data-surface=app] a:focus-visible,html[data-surface=app] button:focus-visible,html[data-surface=app] .sx-item:focus-visible,html[data-surface=app] .sx-trigger:focus-visible,html[data-surface=app] [role=button]:focus-visible{outline:2px solid var(--pb-blue);outline-offset:2px}.app-money,.app-money-pair strong,.app-period-revenue strong,.app-kpi-row b{font-variant-numeric:tabular-nums lining-nums}
