/*! tailwindcss v4.3.2 | 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)))){*,::backdrop,:after,:before{--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-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{:host,:root{--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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.underline{text-decoration-line:underline}.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,)}}.route-loading{min-height:60vh;color:var(--muted,#8a857c);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.route-loading__spinner{border:3px solid var(--line,#e6e3dd);border-top-color:var(--accent,#4a5fc1);border-radius:50%;width:38px;height:38px;animation:route-spin .8s linear infinite}.route-loading__text{letter-spacing:.02em;font-size:13px}@keyframes route-spin{to{transform:rotate(1turn)}}.acct-menu{position:relative}.acct-pop{border:1px solid var(--line,#e6e3dd);z-index:50;background:#fff;border-radius:10px;min-width:220px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 28px #00000024}.acct-pop .ap-head{border-bottom:1px solid var(--line,#e6e3dd);align-items:center;gap:10px;padding:10px 10px 12px;display:flex}.acct-pop .apn{color:var(--ink,#1e2530);font-size:13px;font-weight:600}.acct-pop .ape{color:var(--muted,#8a857c);font-size:11px}.acct-item{width:100%;color:var(--ink,#1e2530);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:9px 10px;font-size:13px;display:flex}.acct-item:hover{background:var(--bg,#f7f6f3)}.acct-item:disabled{opacity:.6;cursor:default}:root{--ink:#1e2530;--ink2:#2a3342;--accent:#4a5fc1;--accent-d:#3c4fa6;--teal:#5dbdb5;--orange:#f6a63a;--red:#e2645a;--red-d:#c94f46;--bg:#f7f6f3;--line:#e6e3dd;--muted:#8a857c;--muted2:#a39e94;--ok:var(--teal);--warn:var(--orange);--crit:var(--red);--gray:#9aa0a6}.login-wrap{background:var(--ink);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:28px}.login-ribbon{color:var(--red-d);background:#e2645a1f;border:1px solid #e2645a59;border-radius:8px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.login-dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:login-pulse 1.6s infinite}@keyframes login-pulse{0%,to{opacity:1}50%{opacity:.35}}.login-chip{background:var(--red);color:#fff;letter-spacing:.08em;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.login-brand{gap:12px;margin-bottom:24px}.login-brand,.login-logo{align-items:center;display:flex}.login-logo{background:var(--ink);color:#fff;border-radius:10px;justify-content:center;width:40px;height:40px;font-weight:700}.login-title{font-size:16px;font-weight:700}.login-sub{color:var(--muted);font-size:12px}.login-form{gap:14px}.login-form,.login-label{flex-direction:column;display:flex}.login-label{color:var(--muted);gap:6px;font-size:12px;font-weight:600}.login-input{border:1px solid var(--line);color:var(--dark);background:#fff;border-radius:8px;padding:10px 12px;font-size:14px}.login-input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.login-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:11px;font-size:14px;font-weight:700}.login-btn:hover{background:var(--ink2)}.login-btn:disabled{opacity:.6;cursor:default}.login-error{color:var(--red);font-size:12px}.login-note{color:var(--muted2);margin-top:18px;font-size:11.5px;line-height:1.6}.login-pw{position:relative}.login-pw .login-input{width:100%;padding-right:42px}.login-pw-toggle{width:32px;height:32px;color:var(--muted,#6b7385);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-pw-toggle:hover{color:var(--ink,#1e2433);background:#f0f1f5}@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-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}:root{--ink:#1E2530;--ink2:#2A3342;--accent:#4A5FC1;--accent-d:#3C4FA6;--teal:#5DBDB5;--orange:#F6A63A;--red:#E2645A;--red-d:#C94F46;--bg:#F7F6F3;--line:#E6E3DD;--muted:#8A857C;--muted2:#A39E94;--dark:#333;--ok:#5DBDB5;--warn:#F6A63A;--crit:#E2645A;--gray:#9AA0A6}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,system-ui,-apple-system,sans-serif;color:var(--dark);background:var(--bg);font-size:14px}button{font-family:inherit}@keyframes fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes slidein{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.app{height:100vh;overflow:hidden;position:relative}.app,.nav{display:flex}.nav{width:236px;background:var(--ink);color:#fff;flex-shrink:0;flex-direction:column}.nav-brand{padding:18px 18px 12px;display:flex;align-items:center;gap:10px}.nav-logo{width:32px;height:32px;border-radius:9px;background:var(--accent);display:grid;place-items:center;font-weight:700;color:#fff;font-size:15px}.nav-brand .bt{font-weight:700;font-size:14px;line-height:1.3}.nav-brand .bs{font-size:10.5px;color:rgba(255,255,255,.5)}.env-ribbon{margin:0 12px 10px;padding:6px 10px;border-radius:8px;background:rgba(226,100,90,.16);border:1px solid rgba(226,100,90,.45);color:#F1A19A;font-size:10.5px;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;gap:7px}.env-ribbon .dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 2.4s infinite}.nav-sec{padding:4px 12px}.nav-sec-t{font-size:10px;color:rgba(255,255,255,.4);font-weight:700;letter-spacing:.04em;padding:10px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.78);border-radius:8px;padding:9px 11px;font-size:13px;font-weight:500;margin-bottom:2px;position:relative}.nav-item:hover{background:var(--ink2);color:#fff}.nav-item.on{background:var(--accent);color:#fff;font-weight:600}.nav-item svg{flex-shrink:0}.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:1px 7px}.nav-badge.warn{background:var(--orange)}.nav-foot{margin-top:auto;padding:12px;font-size:10.5px;color:rgba(255,255,255,.42);line-height:1.6;border-top:1px solid rgba(255,255,255,.08)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 20px;flex-shrink:0}.topbar h1{font-size:15.5px;font-weight:700;margin:0;flex:1}.topbar .env-chip{font-size:10.5px;font-weight:700;color:var(--red-d);background:#FBE8E6;border:1px solid #f3c4bf;border-radius:7px;padding:3px 9px;letter-spacing:.04em}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.content{flex:1;overflow-y:auto;padding:22px}.page{max-width:1200px;margin:0 auto;animation:fadein .18s ease}.page.wide{max-width:none}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px 20px;margin-bottom:16px}.card h3{margin:0 0 4px;font-size:14px;font-weight:700}.card .subt{font-size:12px;color:var(--muted);margin-bottom:12px;line-height:1.6}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px}.kpi .kl{font-size:11.5px;color:var(--muted);margin-bottom:5px;display:flex;align-items:center;gap:6px}.kpi .kv{font-size:24px;font-weight:700;letter-spacing:-.01em}.kpi .kv .u{font-size:12px;font-weight:600;color:var(--muted);margin-left:2px}.kpi .kd{font-size:11px;color:var(--muted2);margin-top:3px}.kpi.crit{border-color:#F3C4BF;background:#FEF7F6}.kpi.crit .kv{color:var(--red-d)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px;white-space:nowrap}.pill .pd{width:6px;height:6px;border-radius:50%;background:currentColor}.st-active{color:#3E8F88;background:#E7F4F2}.st-past_due{color:#C77F1A;background:#FBEFD9}.st-suspended{color:#C94F46;background:#FBE8E6}.st-cancelled{color:#777;background:#EEE}.ch-self{color:#4A5FC1;background:#E9ECF9}.ch-sales{color:#8A6FB8;background:#F0EBF8}.pl-chip{font-size:11px;font-weight:600;color:#555;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 7px}.alert-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:13px 15px;margin-bottom:10px;background:#fff}.alert-row.crit{border-color:#F3C4BF;background:#FEF7F6}.alert-row.warn{border-color:#F2DDBB;background:#FEFAF2}.alert-row .ai-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.alert-row.crit .ai-ic{background:#FBE8E6;color:var(--red-d)}.alert-row.warn .ai-ic{background:#FBEFD9;color:#C77F1A}.alert-row.info .ai-ic{background:#E9ECF9;color:var(--accent)}.alert-row .at{font-size:13px;font-weight:700;margin-bottom:2px}.alert-row .ab{font-size:12px;color:var(--muted);line-height:1.65}.alert-row .am{font-size:10.5px;color:var(--muted2);margin-top:4px}.alert-row .aact{margin-left:auto;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl .muted{color:var(--muted2);font-size:11px;margin-left:4px}.tbl th{text-align:left;font-size:10.5px;font-weight:700;color:var(--muted2);letter-spacing:.04em;padding:8px 10px;white-space:nowrap}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:11px 10px;vertical-align:middle}.tbl tr.rowlink{cursor:pointer}.tbl tr.rowlink:hover td{background:#FCFBF9}.tbl td .tn-name{font-weight:700;font-size:13px}.tbl td .tn-slug{font-size:10.5px;color:var(--muted2)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.num{font-variant-numeric:tabular-nums}.num,th.num{text-align:right}.ann-hist-bar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.ann-hist-bar .search{margin-left:0;max-width:none}.ann-hist-sel{border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:12.5px;font-family:inherit;background:#fff;cursor:pointer;color:var(--ink)}.tbl th.th-sort{cursor:pointer;user-select:none}.tbl th.th-sort:hover{color:var(--ink)}.sort-caret{margin-left:4px;font-size:9px}.ann-body-view{font-size:12.5px;line-height:1.8;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px;white-space:normal}.ob{display:flex;align-items:center;gap:8px;min-width:110px}.ob .obar{flex:1;height:6px;border-radius:4px;background:#EFEDE8;overflow:hidden}.ob .obar i{display:block;height:100%;border-radius:4px;background:var(--teal)}.ob .opct{font-size:11px;font-weight:700;color:var(--muted);min-width:34px;text-align:right;font-variant-numeric:tabular-nums}.usage{min-width:130px}.usage .ut{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin-bottom:3px;font-variant-numeric:tabular-nums}.usage .ubar{height:6px;border-radius:4px;background:#EFEDE8;overflow:hidden}.usage .ubar i{display:block;height:100%;border-radius:4px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.fbtn{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 13px;font-size:12px;font-weight:600;color:#555;cursor:pointer}.fbtn:hover{background:var(--bg)}.fbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}.fbtn .cnt{font-size:10.5px;opacity:.65;margin-left:4px}.search{flex:1;min-width:180px;max-width:280px;margin-left:auto}.search input{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:12.5px;font-family:inherit;background:#fff}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:9px 16px;font-size:12.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn-primary:hover{background:var(--accent-d)}.btn-ghost{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 13px;font-size:12px;font-weight:600;color:#444;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-ghost:hover{background:var(--bg)}.btn-danger{background:#fff;border:1px solid #f3c4bf;color:var(--red-d);border-radius:9px;padding:8px 13px;font-size:12px;font-weight:700;cursor:pointer}.btn-danger:hover{background:#FEF7F6}.btn-teal{background:var(--teal);color:#fff;border:none;border-radius:9px;padding:9px 16px;font-size:12.5px;font-weight:700;cursor:pointer}.drawer-bg{position:fixed;inset:0;background:rgba(20,25,35,.45);z-index:50}.drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:94vw;background:var(--bg);z-index:51;box-shadow:-12px 0 40px rgba(0,0,0,.25);display:flex;flex-direction:column;animation:slidein .2s ease}.drawer-head{background:#fff;border-bottom:1px solid var(--line);padding:16px 20px;display:flex;align-items:center;gap:12px}.drawer-head .dh-logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.drawer-head .dh-t{font-size:15px;font-weight:700}.drawer-head .dh-s{font-size:11px;color:var(--muted);margin-top:2px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.drawer-head .close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;border-radius:8px}.drawer-head .close:hover{background:var(--bg)}.drawer-body{flex:1;overflow-y:auto;padding:16px}.dsec{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px;margin-bottom:12px}.dsec h4{margin:0 0 10px;font-weight:700;align-items:center;gap:7px}.dsec h4,.kv-row{font-size:12.5px;display:flex}.kv-row{justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed #efede8}.kv-row:last-child{border-bottom:none}.kv-row .k{color:var(--muted);flex-shrink:0}.kv-row .v{font-weight:600;text-align:right}.set-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed #efede8}.set-row:last-child{border-bottom:none}.set-row .rl{flex:1}.set-row .rt{font-size:12.5px;font-weight:600}.set-row .rd{font-size:11px;color:var(--muted);margin-top:1px;line-height:1.5}.sw{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}.sw input{opacity:0;width:0;height:0}.sw .track{inset:0;background:#D8D4CC;border-radius:20px;cursor:pointer}.sw .track,.sw .track:after{position:absolute;transition:.15s}.sw .track:after{content:"";top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}.sw input:checked+.track{background:var(--teal)}.sw input:checked+.track:after{left:19px}.note{font-size:11px;color:var(--muted);background:var(--bg);border-radius:9px;padding:9px 12px;line-height:1.65;margin-top:10px}.note.warn{background:#FEFAF2;border:1px solid #f2ddbb;color:#8a6a2f}.note.crit{background:#FEF7F6;border:1px solid #f3c4bf;color:#9c4a43}.note b{color:inherit}.obs{display:flex;gap:6px;margin-top:8px}.obs .os{flex:1;text-align:center;font-size:10px;color:var(--muted2)}.obs .os .osb{height:7px;border-radius:4px;background:#EFEDE8;margin-bottom:4px}.obs .os.done .osb{background:var(--teal)}.obs .os.done{color:#3E8F88;font-weight:700}.form-field{margin-bottom:13px}.form-field label{display:block;font-size:11.5px;font-weight:700;color:#555;margin-bottom:5px}.form-field input[type=date],.form-field input[type=email],.form-field input[type=number],.form-field input[type=text],.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13px;font-family:inherit;background:#fff}.form-field textarea{min-height:90px;resize:vertical;line-height:1.7}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.seg button{border:none;background:none;padding:8px 15px;font-size:12px;font-weight:600;color:#666;cursor:pointer}.seg button.on{background:var(--ink);color:#fff}.cat-chips{display:flex;gap:7px;flex-wrap:wrap}.cat-chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 13px;font-size:12px;font-weight:600;cursor:pointer;color:#555}.cat-chip.on{border-color:transparent;color:#fff}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}.kpis>*,.two-col>*{min-width:0}@media(max-width:980px){.two-col{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}.chain{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.chain .cnode{flex:1;min-width:170px;border:1px solid var(--line);border-radius:11px;padding:13px 15px;background:#fff;position:relative}.chain .cnode .cl{font-size:10.5px;font-weight:700;color:var(--muted2);letter-spacing:.04em;margin-bottom:4px}.chain .cnode .cn{font-size:13px;font-weight:700;margin-bottom:3px}.chain .cnode .cd{font-size:11px;color:var(--muted);line-height:1.55}.chain .arrow{align-self:center;color:var(--muted2);flex-shrink:0}.hstat{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;margin-top:8px}.hstat .hd{width:8px;height:8px;border-radius:50%}.hs-ok{color:#3E8F88}.hs-ok .hd{background:var(--ok)}.hs-idle{color:#999}.hs-idle .hd{background:#C9C5BD}.hs-warn{color:#C77F1A}.hs-warn .hd{background:var(--warn);animation:pulse 1.8s infinite}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:11px;padding:11px 18px;font-size:13px;font-weight:600;z-index:99;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;gap:8px;align-items:center;animation:fadein .15s}.toast.warn{background:#8a5a13}.dist{display:flex;height:14px;border-radius:8px;overflow:hidden;margin:10px 0 8px}.dist i{display:block;height:100%}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}.legend .lg{display:flex;align-items:center;gap:6px}.legend .lg .ld{width:9px;height:9px;border-radius:3px}.feed{list-style:none;margin:0;padding:0}.feed li{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed #efede8;font-size:12.5px;align-items:baseline}.feed li:last-child{border-bottom:none}.feed .ft{color:var(--muted2);font-size:10.5px;flex-shrink:0;width:78px;font-variant-numeric:tabular-nums}.feed .fb a{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:none}.demo-note{font-size:11px;color:var(--muted);background:#FBEFD9;border:1px solid #f2ddbb;border-radius:9px;padding:9px 13px;line-height:1.7;margin-bottom:16px}.modal-bg{position:fixed;inset:0;background:rgba(20,25,35,.5);z-index:70;display:grid;place-items:center;padding:20px}.modal{width:560px;max-width:96vw;max-height:92vh;overflow-y:auto;background:var(--bg);border-radius:15px;box-shadow:0 20px 60px rgba(0,0,0,.35);animation:fadein .18s ease}.modal-head{background:#fff;border-bottom:1px solid var(--line);border-radius:15px 15px 0 0;padding:16px 20px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:2}.modal-head .mt{font-size:15px;font-weight:700;flex:1}.modal-body{padding:18px 20px}.modal-foot{padding:12px 20px 18px;display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--bg)}.card.purge-due{border-color:#F3C4BF;background:#FEF7F6}.card.purge-due h3{color:var(--red-d)}.purge-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px dashed #f0d5d2}.purge-row:first-of-type{border-top:1px solid #f0d5d2}.purge-row button{margin-left:auto;flex-shrink:0}.mailprev{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.mailprev-head{padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg);font-size:11.5px;line-height:1.9}.mailprev-head span{display:inline-block;width:48px;color:var(--muted)}.mailprev-body{margin:0;padding:12px;max-height:168px;overflow-y:auto;font-size:12px;line-height:1.85;white-space:pre-wrap;word-break:break-word;font-family:inherit;color:var(--ink)}.aud-check{display:flex;gap:10px}.aud-check label{flex:1;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#fff;cursor:pointer;font-size:12.5px;font-weight:600}.aud-check label.on{border-color:var(--teal);background:#F2FAF9}.aud-check input{accent-color:var(--teal);width:15px;height:15px}.prov-steps{list-style:none;margin:0;padding:0}.prov-steps li{display:flex;align-items:center;gap:11px;padding:9px 0;font-size:13px;border-bottom:1px dashed #efede8;color:var(--muted2)}.prov-steps li:last-child{border-bottom:none}.prov-steps li .ps{width:22px;height:22px;border-radius:50%;background:#EFEDE8;display:grid;place-items:center;flex-shrink:0;color:#fff;font-size:11px}.prov-steps li.doing{color:var(--dark);font-weight:600}.prov-steps li.doing .ps{background:var(--accent);animation:pulse 1s infinite}.prov-steps li.done{color:var(--dark)}.prov-steps li.done .ps{background:var(--teal)}.support-overlay{position:fixed;inset:0;z-index:80;background:var(--bg);display:flex;flex-direction:column;animation:fadein .18s}.support-bar{background:var(--orange);color:#fff;padding:10px 18px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;flex-shrink:0;box-shadow:0 2px 10px rgba(0,0,0,.15)}.support-bar .sb-mode{font-size:10.5px;font-weight:700;background:rgba(255,255,255,.22);border-radius:6px;padding:2px 8px;letter-spacing:.03em}.support-bar .sb-end{margin-left:auto;background:#fff;color:#B4700E;border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer}.support-fake{flex:1;display:grid;place-items:center;padding:24px}.support-fake .sf-card{max-width:560px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 28px;text-align:center}.acc-log{font-size:11.5px;color:var(--muted);line-height:1.7}.acc-log .al-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed #efede8}.acc-log .al-row:last-child{border-bottom:none}.acc-log .al-d{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--muted2);width:96px}.mem-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px dashed #efede8}.mem-row:last-child{border-bottom:none}.mem-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.mem-main{flex:1;min-width:0}.mem-name{font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px}.mem-mail{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mem-mail a{color:var(--accent);text-decoration:none}.mem-mail a:hover{text-decoration:underline}.mem-last{font-size:10.5px;color:var(--muted2);flex-shrink:0;text-align:right}.role-chip{color:#fff}.owner-chip,.role-chip{font-size:10px;font-weight:700;border-radius:6px;padding:1px 7px;white-space:nowrap;flex-shrink:0}.owner-chip{color:#7A5A1E;background:#FBEFD6;border:1px solid #ebd9ae;margin-right:5px}.mem-name{flex-wrap:wrap}:root{--trial:#7B6FE0;--trial-d:#665AC7;--trial-bg:#EEEBFB}.pill-trial{background:var(--trial-bg);color:var(--trial-d)}.pill-trial .pd{background:var(--trial)}.pill-test{background:#EEE;color:#666}.pill-test .pd{background:#999}.days-pill{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;background:var(--trial-bg);color:var(--trial-d);display:inline-block}.days-pill.warn{background:#FDF0DC;color:#C77F1A}.pill.ok{background:#E2F2F0;color:#3F8F87}.pill.warn{background:#FDF0DC;color:#C77F1A}.pill.crit{background:#FBE8E6;color:var(--red-d)}pre.code{margin:8px 0 0;padding:10px 12px;background:#2C2A26;color:#EDEAE3;border-radius:9px;font-size:11.5px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.trow{margin:10px 0 2px}.trow .th{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.trow .th b{font-variant-numeric:tabular-nums}.ext-chips{display:flex;gap:7px;margin-top:10px;align-items:center;flex-wrap:wrap}.ext-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}.ext-chip:hover{border-color:var(--trial);color:var(--trial-d)}.cat-chip.chip-trial-on,.seg .seg-trial.on{background:var(--trial);border-color:var(--trial)}.cat-chip.chip-trial-on{color:#fff}.note.trial-note{background:var(--trial-bg);color:var(--trial-d)}.ck-line{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer}.ck-line input{accent-color:var(--accent);width:15px;height:15px}.ai-usage{width:100%;border-collapse:collapse;font-size:12px;margin:4px 0 2px}.ai-usage th{text-align:left;font-size:10.5px;font-weight:700;color:var(--muted2);letter-spacing:.03em;padding:6px 10px;white-space:nowrap}.ai-usage td,.ai-usage th{border-bottom:1px solid var(--line)}.ai-usage td{padding:7px 10px;vertical-align:middle}.ai-usage tr:last-child td{border-bottom:none}.ai-usage .dim{color:var(--muted)}.ai-usage .fixed-tag{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:0 5px;cursor:help}.card h4.sec{margin:18px 0 4px;font-size:13px;font-weight:700}.faqgen-models{display:flex;flex-direction:column;gap:10px;margin:4px 0 10px}.faqgen-models .fm-row{border:1px solid var(--line);border-radius:10px;padding:10px 13px;background:#fff}.faqgen-models .fm-p{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:7px}.faqgen-models .fm-in{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.faqgen-models .fm-in input{flex:1;min-width:220px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.faqgen-models .fm-now{margin-top:7px;font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.faqgen-models .fm-now .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.ai-pick{display:flex;gap:9px;flex-wrap:wrap;margin:4px 0 10px}.ai-pick .pick{display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-width:130px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer;font-family:inherit}.ai-pick .pick b{font-size:13px}.ai-pick .pick .st{font-size:10.5px;color:var(--muted);font-weight:600}.ai-pick .pick.on,.ai-pick .pick:hover:not(:disabled){border-color:var(--accent)}.ai-pick .pick.on{background:var(--accent-soft,#EEF1FB)}.ai-pick .pick.on .st{color:var(--accent)}.ai-pick .pick:disabled{cursor:default;opacity:.75}.ai-pick .pick.on:disabled{opacity:1}.ai-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px}.ai-state .badge-on{color:var(--accent);background:var(--accent-soft,#EEF1FB);border-radius:6px}.ai-state .badge-off,.ai-state .badge-on{font-size:10.5px;font-weight:700;padding:2px 8px}.ai-state .badge-off{color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:6px}.ai-state .dim{color:var(--muted)}.ai-err{margin-top:8px;font-size:11.5px;color:#9c4a43;background:#FEF7F6;border:1px solid #f3c4bf;border-radius:9px;padding:8px 12px}.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tblwrap>table{min-width:max-content}.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;width:36px;height:36px;align-items:center;justify-content:center;color:#444;cursor:pointer;flex-shrink:0}.menu-btn:hover{background:var(--bg)}.nav-backdrop{display:none}@media(max-width:820px){.nav{position:fixed;top:0;left:0;bottom:0;z-index:60;width:250px;transform:translateX(-100%);box-shadow:2px 0 16px rgba(0,0,0,.25);overflow-y:auto;visibility:hidden;transition:transform .18s ease,visibility 0s linear .18s}.app.nav-open .nav{transform:translateX(0);visibility:visible;transition:transform .18s ease,visibility 0s}.nav-backdrop{position:fixed;inset:0;background:rgba(20,25,35,.45);z-index:59}.app.nav-open .nav-backdrop{display:block}.menu-btn{display:inline-flex}.topbar{padding:0 12px;gap:8px}.topbar h1{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:14px 12px 28px}.card{padding:14px;border-radius:11px}.kpis{grid-template-columns:repeat(2,1fr);gap:10px}.two-col{grid-template-columns:1fr}.filters{gap:7px}.search{margin-left:0;max-width:none;flex-basis:100%}.purge-row{flex-wrap:wrap}.purge-row button{margin-left:0}.drawer-foot,.modal-foot{flex-wrap:wrap}.drawer-foot>*,.modal-foot>*{flex:1 1 auto;justify-content:center}.drawer{width:100%;max-width:none}.drawer-body{padding:12px}.dsec{padding:13px 14px}.modal-bg{padding:10px}.modal{max-width:100%}.modal-body{padding:14px 15px}.modal-foot{padding:10px 15px 14px}.kv-row{flex-wrap:wrap}.kv-row .v{text-align:left;min-width:0;word-break:break-word}.mem-row{flex-wrap:wrap}.mem-main{flex:1 1 160px}.mem-last{flex:1 1 100%;text-align:left}.alert-row{flex-wrap:wrap}.alert-row .ai-tx{flex:1 1 200px}.alert-row .aact{margin-left:0;width:100%;flex-direction:row;flex-wrap:wrap}.alert-row .aact>*{flex:1 1 auto;justify-content:center;text-align:center}.chain{flex-direction:column}.chain .cnode{min-width:0}.chain .arrow{transform:rotate(90deg);align-self:center}}@media(max-width:520px){.kpi{padding:12px 13px}.kpi .kv{font-size:20px}.content{padding:12px 10px 28px}.fbtn{padding:7px 12px}}.mailtest{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mailtest input{flex:1;min-width:240px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:12.5px;font-family:inherit}.mailtest input:disabled{background:var(--bg);color:var(--muted,#888)}.mailtest .btn-primary:disabled{opacity:.5;cursor:default}.mailstate{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:9px;padding:9px 13px;margin-bottom:10px;font-size:12.5px;color:var(--muted,#666);background:var(--bg)}.mailstate>b{color:var(--ink,#282A2D);font-size:11px;letter-spacing:.04em;flex:none}.mailstate b{font-weight:700}.mailstate .why{display:block;font-size:11.5px;color:var(--muted,#888);margin-top:2px}.mailstate.on{border-color:#C6A96B;background:#FBF6EC}.mailstate.on>b{color:#8A6A18}@media(min-width:1180px){.drawer.wide{width:1040px}.drawer.wide .drawer-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;align-items:start}.drawer.wide .drawer-body .dsec{margin-bottom:0}}