@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--blue-electric:#0000fe;--blue-700:#0000c4;--blue-600:#1a1aff;--blue-300:#66f;--blue-200:#99f;--blue-100:#d9d9ff;--blue-050:#e6e6ff;--accent-sky:#00a4de;--accent-coral:#ff6d58;--ink:#2e343f;--slate:#9aa7bc;--slate-light:#c2cad8;--grey-000:#000;--grey-900:#191919;--grey-800:#333;--grey-700:#4c4c4c;--grey-600:#666;--grey-500:#7f7f7f;--grey-400:#999;--grey-300:#b2b2b2;--grey-200:#ccc;--grey-150:#e5e5e5;--grey-100:#f7f7f7;--grey-050:#e6e8ed;--white:#fff;--violet:#6300ff;--amber:#ff9100;--pink:#ff00b7;--cyan:#00e7ff;--pastel-green:#9eefb7;--pastel-blue:#b6d0ff;--pastel-yellow:#fdff99;--pastel-grey:#e6e8ed;--pastel-violet:#ccc0ff;--pastel-pink:#ffc0c0;--pastel-green-soft:#d9ffe4;--pastel-blue-soft:#e3eeff;--pastel-amber-soft:#fff3e6;--pastel-grey-soft:#f7f7f7;--pastel-violet-soft:#eeebff;--pastel-pink-soft:#ffe6f0;--lavender:#eeebff;--lavender-200:#ddd6ff;--color-brand:var(--blue-electric);--color-brand-hover:var(--blue-600);--color-brand-active:var(--blue-700);--text-primary:var(--ink);--text-secondary:var(--slate);--text-muted:var(--grey-400);--text-on-brand:var(--white);--text-link:var(--blue-electric);--surface-page:var(--white);--surface-subtle:var(--grey-100);--surface-card:var(--white);--surface-raised:var(--white);--surface-inverse:var(--ink);--surface-icon:var(--lavender);--border-subtle:var(--grey-150);--border-default:#dfe3ea;--border-strong:var(--slate-light);--border-focus:var(--blue-electric);--status-success:#1f9d57;--status-success-bg:var(--pastel-green-soft);--status-warning:var(--amber);--status-warning-bg:var(--pastel-amber-soft);--status-danger:#e23636;--status-danger-bg:#ffe6e6;--status-info:var(--accent-sky);--status-info-bg:var(--pastel-blue-soft);--font-sans:"DM Sans","Google Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"DM Sans","Google Sans",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--weight-thin:100;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--text-2xs:10px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:20px;--text-xl:24px;--text-2xl:30px;--text-3xl:36px;--text-4xl:48px;--text-5xl:60px;--text-6xl:72px;--text-hero:96px;--leading-tight:1.05;--leading-snug:1.18;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-0.02em;--tracking-snug:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-caps:0.12em;--role-display-size:var(--text-6xl);--role-display-weight:var(--weight-black);--role-display-leading:var(--leading-tight);--role-display-tracking:var(--tracking-tight);--role-h1-size:var(--text-5xl);--role-h1-weight:var(--weight-extrabold);--role-h2-size:var(--text-4xl);--role-h2-weight:var(--weight-bold);--role-h3-size:var(--text-3xl);--role-h3-weight:var(--weight-bold);--role-h4-size:var(--text-xl);--role-h4-weight:var(--weight-semibold);--role-body-size:var(--text-base);--role-body-weight:var(--weight-regular);--role-body-leading:var(--leading-relaxed);--role-label-size:var(--text-sm);--role-label-weight:var(--weight-medium);--role-eyebrow-size:var(--text-xs);--role-eyebrow-weight:var(--weight-bold);--role-eyebrow-tracking:var(--tracking-caps);--role-caption-size:var(--text-xs);--role-micro-size:var(--text-2xs);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-pill:999px;--border-thin:1px;--border-medium:1.5px;--border-thick:2px;--shadow-xs:0 1px 2px rgba(46,52,63,.06);--shadow-sm:0 2px 6px rgba(46,52,63,.07);--shadow-md:0 6px 20px rgba(46,52,63,.08);--shadow-lg:0 16px 40px rgba(46,52,63,.1);--shadow-xl:0 28px 70px rgba(46,52,63,.14);--shadow-focus:0 0 0 4px rgba(0,0,254,.14);--shadow-bar:0 12px 36px rgba(0,0,254,.1),0 2px 8px rgba(46,52,63,.06);--ease-standard:cubic-bezier(0.2,0,0,1);--ease-emphasized:cubic-bezier(0.3,0,0,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--container-sm:640px;--container-md:880px;--container-lg:1120px;--container-xl:1320px;--gradient-soft-blue:linear-gradient(135deg,#e6e6ff,#f2f4ff 60%,#fff);--gradient-soft-violet:linear-gradient(135deg,#eeebff,#f6f3ff 55%,#fff);--gradient-soft-warm:linear-gradient(135deg,#fff3e6,#fff9f2 60%,#fff);--gradient-spectrum:linear-gradient(90deg,#0000fe,#6300ff 35%,#ff00b7 65%,#ff9100);--gradient-cool:linear-gradient(120deg,#0000fe,#00e7ff)}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);color:var(--text-primary);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}p{margin:0}a{text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--blue-100);color:var(--ink)}.ns-eyebrow{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-tracking);text-transform:uppercase;color:var(--text-secondary)}.ns-display{font-size:var(--role-display-size);font-weight:var(--role-display-weight);line-height:var(--role-display-leading);letter-spacing:var(--role-display-tracking)}.ns-hive-bg{background-color:var(--surface-subtle);background-image:radial-gradient(circle at 50% 0,transparent 0,transparent 9px,rgba(0,0,254,.05) 0,rgba(0,0,254,.05) 10px,transparent 0);background-size:28px 32px}.ns-focus-ring:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;line-height:1;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}body,html{height:100%}body{background:var(--surface-page);color:var(--text-primary)}a{color:var(--text-link)}button{font-family:var(--font-sans)}.icon-box{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-icon);color:var(--color-brand);flex:none}.icon-box.sm{width:32px;height:32px;border-radius:var(--radius-sm)}.icon-box.lg{width:52px;height:52px;border-radius:var(--radius-lg)}.icon-box .material-symbols-rounded{font-size:22px}.icon-box.sm .material-symbols-rounded{font-size:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border:none;cursor:pointer;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--text-on-brand);font-size:var(--text-sm);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.btn:hover{background:var(--color-brand-hover);box-shadow:var(--shadow-md)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn .material-symbols-rounded{font-size:18px}.btn.lg{padding:14px 26px;font-size:var(--text-base)}.btn.ghost{background:transparent;color:var(--grey-700);box-shadow:none}.btn.ghost:hover{background:var(--grey-100)}.btn.outline{background:var(--white);color:var(--color-brand);box-shadow:var(--shadow-xs);border:1px solid var(--border-default)}.btn.outline:hover{background:var(--blue-050)}.btn.block{width:100%}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.card.flat{box-shadow:none}.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--grey-100);color:var(--grey-700);font-size:var(--text-xs);font-weight:var(--weight-medium)}.tag.brand{background:var(--blue-050);color:var(--color-brand)}.tag .material-symbols-rounded{font-size:15px}.eyebrow{font-size:var(--role-eyebrow-size);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-secondary)}.shell{display:flex;width:100%;height:100vh;overflow:hidden}.sidebar{width:260px;flex:none;height:100%;box-sizing:border-box;background:var(--white);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:20px 16px}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.sidebar .brand img{height:22px}.nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;cursor:pointer;text-align:left;border-radius:var(--radius-md);background:transparent;color:var(--grey-700);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--duration-fast) var(--ease-standard)}.nav-item:hover{background:var(--grey-100)}.nav-item.active{background:var(--blue-050);color:var(--color-brand);font-weight:var(--weight-semibold)}.nav-item .material-symbols-rounded{font-size:20px}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{height:64px;flex:none;box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:0 28px;background:var(--white);border-bottom:1px solid var(--border-subtle)}.topbar h1{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--ink)}.content{flex:1 1;overflow-y:auto;background:var(--surface-subtle)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:16px;gap:16px}.metric{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:18px 20px}.metric .label{font-size:var(--text-xs);color:var(--slate);font-weight:var(--weight-medium);margin-bottom:10px}.metric .value{font-size:26px;font-weight:var(--weight-extrabold);color:var(--ink);letter-spacing:-.02em}.metric .sub{font-size:var(--text-xs);color:var(--slate);margin-top:6px}.metric .value.brand{color:var(--color-brand)}.metric .value.success{color:var(--status-success)}.metric .value.danger{color:var(--status-danger)}.sheet-window{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}.sheet-head{padding:20px 24px 12px;border-bottom:1px solid var(--border-subtle)}.sheet-head h2{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--ink)}.sheet-head .meta{font-size:var(--text-xs);color:var(--slate);margin-top:4px}.sheet-scroll{overflow:visible;padding:8px 0}.stmt{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.stmt td{padding:9px 24px;color:var(--ink)}.stmt td.amt{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stmt tr.line td{border-bottom:1px solid var(--grey-100)}.stmt tr.line td:first-child{padding-left:40px;color:var(--grey-700)}.stmt tr.section td{font-weight:var(--weight-bold);color:var(--ink);padding-top:16px;text-transform:none}.stmt tr.subtotal td{font-weight:var(--weight-semibold);border-top:1px solid var(--border-default)}.stmt tr.total td{font-weight:var(--weight-extrabold);color:var(--color-brand);border-top:2px solid var(--border-default);border-bottom:2px solid var(--border-default)}.stmt thead td{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--slate);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-default)}.tabbar{display:inline-flex;gap:4px;padding:4px;background:var(--grey-100);border-radius:var(--radius-pill)}.tab{padding:8px 18px;border:none;cursor:pointer;border-radius:var(--radius-pill);background:transparent;color:var(--grey-600);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:all var(--duration-fast) var(--ease-standard)}.tab:hover{color:var(--ink)}.tab.active{background:var(--white);color:var(--color-brand);box-shadow:var(--shadow-xs)}.upload-zone{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--gradient-soft-blue);padding:36px;text-align:center;cursor:pointer;transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}.upload-zone.drag,.upload-zone:hover{border-color:var(--color-brand)}.upload-zone .hint{color:var(--slate);font-size:var(--text-sm);margin-top:8px}.choice-row{flex-wrap:wrap}.choice,.choice-row{display:flex;gap:12px}.choice{align-items:center;padding:14px 18px;cursor:pointer;background:var(--white);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.choice:hover{box-shadow:var(--shadow-sm)}.choice.active{border-color:var(--color-brand);background:var(--blue-050)}.statusline{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--text-sm)}.statusline.posted{background:var(--status-success-bg);color:var(--status-success)}.statusline.duplicate{background:var(--pastel-amber-soft);color:var(--amber)}.statusline.error,.statusline.exception{background:var(--status-danger-bg);color:var(--status-danger)}.statusline.working{background:var(--blue-050);color:var(--color-brand)}.empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:48px}.empty h2{font-size:28px;font-weight:var(--weight-extrabold);color:var(--ink);letter-spacing:-.02em}.empty p{font-size:var(--text-md);color:var(--slate);max-width:440px}.cooking-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-brand);animation:ns-pulse 1.2s var(--ease-standard) infinite}@keyframes ns-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.spin{animation:ns-spin .9s linear infinite}@keyframes ns-spin{to{transform:rotate(1turn)}}.hive{position:relative;overflow:hidden;background:var(--gradient-soft-blue)}.hive:before{content:"";position:absolute;inset:0;opacity:.55;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(60deg,transparent 0 26px,rgba(0,0,254,.05) 26px 27px),repeating-linear-gradient(-60deg,transparent 0 26px,rgba(0,0,254,.05) 26px 27px),repeating-linear-gradient(0deg,transparent 0 26px,rgba(0,0,254,.05) 26px 27px)}.muted{color:var(--slate)}.center{display:flex;align-items:center;justify-content:center}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.grow{flex:1 1}.hidden{display:none!important}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.logitem{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.loghead{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--white);border:none;cursor:pointer;text-align:left;font-size:14px}.loghead:hover{background:var(--grey-100)}.loghead .chev{transition:transform var(--duration-fast) var(--ease-standard);color:var(--slate)}.logitem.open .loghead .chev{transform:rotate(180deg)}.logsteps{padding:6px 14px 12px;background:var(--grey-100)}.logitem:not(.open) .logsteps{display:none}.tstep{display:flex;gap:10px;padding:8px 0;align-items:flex-start;font-size:13px}.tstep+.tstep{border-top:1px dashed var(--border-default)}.ticon{flex:none;width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;margin-top:1px}.ticon .material-symbols-rounded{font-size:16px}.tstep .tbody{min-width:0}.tstep .tlabel{font-weight:600;color:var(--ink)}.tstep .tdetail{color:var(--grey-700)}.tmono{font-family:var(--font-mono);font-size:12px;background:var(--white);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 10px;margin-top:6px;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.kind-info{background:var(--grey-150);color:var(--grey-600)}.kind-decision{background:var(--blue-050);color:var(--color-brand)}.kind-ai{background:var(--lavender);color:var(--violet)}.kind-code{background:var(--grey-150);color:var(--grey-700)}.kind-ok{background:var(--status-success-bg);color:var(--status-success)}.kind-warn{background:var(--pastel-amber-soft);color:var(--amber)}.kind-error{background:var(--status-danger-bg);color:var(--status-danger)}.qrow{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--grey-100);border-radius:var(--radius-md);font-size:14px}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);grid-gap:24px;gap:24px;max-width:1480px;margin:0 auto;padding:28px;align-items:start}@media (max-width:1100px){.admin-grid{grid-template-columns:1fr}}.fld{font-family:var(--font-sans);font-size:var(--text-sm);padding:9px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--white);color:var(--ink)}.fld:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--shadow-focus)}