:root{color-scheme:light;--bg: #f3f4f6;--panel: rgba(255, 255, 255, .95);--panel-border: rgba(179, 0, 0, .1);--ink: #18181b;--muted: #5f6673;--line: #e5e7eb;--primary: #b30000;--primary-deep: #7a0000;--primary-soft: #fee2e2;--accent: #2f3640;--accent-soft: #eceff3;--success: #1f7a4d;--shadow: 0 20px 48px rgba(24, 24, 27, .08);--radius-lg: 24px;--radius-md: 18px;--radius-sm: 12px;font-family:Fira Sans,Segoe UI,sans-serif;background:linear-gradient(180deg,rgba(179,0,0,.035),transparent 24%),repeating-linear-gradient(90deg,rgba(24,24,27,.025) 0,rgba(24,24,27,.025) 1px,transparent 1px,transparent 72px),linear-gradient(180deg,#fafafa,#f3f4f6);color:var(--ink)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input,select,textarea{font:inherit}.app-shell{max-width:1560px;margin:0 auto;padding:24px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,480px);padding:28px;border:1px solid var(--panel-border);border-radius:28px;background:#fffffff5;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:16px}.login-copy{margin:24px 0 18px}.login-copy h2{margin:0 0 8px}.login-copy p{margin:0;color:var(--muted);line-height:1.6}.login-form{display:grid;gap:16px}.login-field{display:grid;gap:8px;color:var(--ink);font-weight:600}.login-error{margin:0;color:var(--primary);font-size:13px}.login-submit,.logout-button{min-height:42px;padding:0 16px;border:1px solid rgba(122,0,0,.3);border-radius:14px;background:linear-gradient(135deg,var(--primary),#cf1b1b);color:#fff;font-weight:700;cursor:pointer}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.brand-lockup{display:flex;align-items:center;gap:16px}.brand-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:linear-gradient(160deg,var(--primary) 0%,var(--primary-deep) 100%);color:#fff;font-family:Fira Code,SFMono-Regular,monospace;font-size:22px;font-weight:700;letter-spacing:.08em;box-shadow:0 18px 32px #b3000038}.brand-overline{margin:0 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.brand-title{margin:0;font-size:clamp(28px,4vw,38px);line-height:1;letter-spacing:-.02em;white-space:nowrap}.brand-status{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--panel-border);border-radius:999px;background:#ffffffc7;color:var(--muted);font-size:13px}.logout-button{background:#fff;color:var(--primary)}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px #b300001f}.hero{margin-bottom:24px;padding:10px 12px;border:1px solid var(--panel-border);border-radius:22px;background:linear-gradient(135deg,#b30000fa,#7a0000f5),linear-gradient(90deg,rgba(255,255,255,.08) 0,transparent 50%);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.06) 48%,transparent 100%),linear-gradient(0deg,rgba(255,255,255,.05),transparent);pointer-events:none}.tool-tabs{display:inline-flex;gap:10px;align-items:center}.tool-tab{min-height:40px;padding:0 18px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#ffffff14;color:#ffffffd1;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.tool-tab:hover{transform:translateY(-1px);background:#ffffff24}.tool-tab.is-active{background:#fff;color:var(--primary);border-color:#ffffff85;font-weight:700}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.panel{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel--nav,.panel--form{padding:20px}.panel-heading h2,.summary-block h3{margin:0;font-size:18px;letter-spacing:-.01em}.panel-heading p,.field-copy p,.summary-list span{margin:6px 0 0;color:var(--muted);font-size:13px}.section-nav{display:flex;flex-direction:column;gap:10px;margin-top:18px}.section-link{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fafafa);color:var(--ink);text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.section-link:hover,.section-link.is-active{transform:translateY(-1px);background:var(--primary-soft);border-color:#b300002e}.section-link small{display:block;margin-top:6px;color:var(--muted)}.field-grid{display:grid;gap:16px;margin-top:18px}.legacy-desktop-form,.legacy-grid{display:grid;gap:16px}.legacy-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.legacy-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-group-card,.printing-preview-card{overflow:hidden}.field-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffffffa,#fafafaf2),linear-gradient(90deg,rgba(179,0,0,.02),transparent)}.legacy-top-bar,.legacy-bottom-checks,.legacy-group-box{background:linear-gradient(180deg,#9a8c4629,#9a8c4614),linear-gradient(180deg,#fffffffa,#fafafaf2);border-color:#9a8c4652}.legacy-group-title{margin-bottom:12px;padding:0 6px;color:#6b5d1f;font-weight:700}.legacy-inline-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.legacy-standalone-check{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border-radius:10px}.manual-lines{display:grid;gap:10px}.manual-line{display:grid;grid-template-columns:minmax(120px,auto) 110px minmax(140px,auto);gap:14px;align-items:center}.legacy-number-input{min-height:40px;padding:0 12px;border:1px solid rgba(154,140,70,.32);border-radius:10px;background:#fff}.legacy-option-list{display:grid;gap:10px}.legacy-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.legacy-option.is-selected{border-color:#b3000038;background:#fff7f7}.legacy-option strong{display:block}.legacy-option span{display:block;margin-top:6px;color:var(--muted);font-size:13px}.legacy-option--classic{background:#ffffffdb;border-color:#9a8c463d}.legacy-export-card{background:linear-gradient(180deg,#b300000f,#b3000005),linear-gradient(180deg,#fffffffa,#fafafaf2);border-color:#b300002e}.legacy-export-actions{display:grid;gap:12px;justify-items:start}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.database-form-grid,.rule-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.database-form-grid__wide,.rule-form-grid__wide{grid-column:span 2}.database-form-grid__full,.rule-form-grid__full{grid-column:1 / -1}.table-action-stack{display:grid;gap:8px}.table-action-button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}.table-action-button--danger{border-color:#b300002e;color:var(--primary)}.field-copy{margin-bottom:12px}.field-copy label{display:flex;align-items:center;gap:10px;font-weight:700}.required-mark{display:inline-flex;padding:4px 8px;border-radius:999px;background:#b300001f;color:var(--primary);font-size:11px;font-weight:700;text-transform:uppercase}.field-control{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:none}.field-control:focus,.field-control--textarea:focus{border-color:#b300006b;box-shadow:0 0 0 4px #b3000014}.field-control--textarea{width:100%;min-height:132px;padding:14px;resize:vertical}.checkbox-control{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.summary-block{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.summary-list{display:grid;gap:10px;padding-left:18px}.summary-list li{color:var(--ink)}.summary-ok{color:var(--success);font-weight:600}.export-button{min-height:42px;width:auto;padding:0 18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.export-button:hover{transform:translateY(-1px);background:#fff5f5;border-color:#b3000033}.export-button--primary{background:linear-gradient(135deg,var(--primary),#cf1b1b);border-color:#7a000052;color:#fff}.export-button--primary:hover{transform:translateY(-1px);background:linear-gradient(135deg,#9f0000,#b30000);border-color:#7a00006b;color:#fff}.printing-preview-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.printing-preview-meta span{padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--muted);font-size:12px}.printing-sheet-intro{display:grid;gap:8px;margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fafafa,#fff);text-align:center}.printing-sheet-intro p{margin:0;line-height:1.6}.printing-sheet-intro__title{font-weight:700;font-size:16px}.printing-sheet-intro__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:6px;text-align:left}.printing-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.printing-table{width:100%;border-collapse:collapse;min-width:980px}.printing-table th,.printing-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px;white-space:pre-wrap}.printing-table th{position:sticky;top:0;background:#fafafa;z-index:1;color:var(--muted);font-weight:700}.shipping-container-block{display:grid;gap:12px;margin-top:18px}.shipping-container-heading{font-size:14px;font-weight:700;color:var(--ink)}.shipping-container-note{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.shipping-signoff-grid{display:grid;gap:12px;padding-top:8px}.shipping-signoff-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;color:var(--ink);font-size:13px}.rule-graphic-board,.rule-sheet-layout{display:grid;gap:16px}.rule-engine-tabs{display:flex;flex-wrap:wrap;gap:10px}.rule-engine-tab{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.rule-engine-tab:hover{transform:translateY(-1px);background:#fff5f5;border-color:#b3000029}.rule-engine-tab.is-active{background:linear-gradient(135deg,var(--primary),#cf1b1b);border-color:#7a000052;color:#fff;font-weight:700}.rule-highlight-group{display:grid;gap:14px;border-color:#b300002e;background:linear-gradient(180deg,#b300000a,#b3000004),linear-gradient(180deg,#fffffffa,#fafafaf2)}.rule-guide-hero{border-style:dashed}.rule-guide-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rule-guide-step{display:grid;gap:8px;padding:16px;border:1px solid rgba(179,0,0,.14);border-radius:14px;background:linear-gradient(180deg,#fff9f9,#fff)}.rule-guide-step strong{font-size:15px}.rule-guide-step span{color:var(--muted);line-height:1.6}.rule-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-guide-card{display:grid;gap:14px}.rule-guide-points{display:grid;gap:10px}.rule-guide-point{padding:12px 14px;border:1px solid rgba(47,54,64,.1);border-radius:14px;background:#fff;color:var(--ink);line-height:1.6}.rule-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rule-summary-card{display:grid;gap:8px;padding:14px 16px;border:1px solid rgba(47,54,64,.12);border-radius:14px;background:#fff}.rule-summary-card span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.rule-summary-card strong{font-size:24px;line-height:1;color:var(--ink)}.rule-summary-card small{color:var(--muted);line-height:1.5}.rule-change-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-change-card{display:grid;gap:8px;padding:14px 16px;border:1px solid rgba(179,0,0,.14);border-radius:14px;background:linear-gradient(180deg,#fff9f9,#fff)}.rule-change-card strong{font-size:14px}.rule-change-card span,.rule-change-card small{color:var(--muted);line-height:1.5}.rule-highlight-list{display:grid;gap:12px}.rule-highlight-card{display:grid;gap:6px;padding:14px 16px;border:1px solid rgba(179,0,0,.12);border-radius:14px;background:#ffffffeb}.rule-highlight-card strong{font-size:14px}.rule-highlight-card span{color:var(--ink);line-height:1.55}.rule-highlight-card small{color:var(--muted)}.rule-graphic-intro{border-style:dashed}.rule-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rule-focus-panel{display:grid;gap:14px;border-color:#b300002e}.rule-graphic-group{display:grid;gap:14px}.rule-graphic-group-title{font-size:15px;font-weight:700;color:var(--primary)}.rule-graphic-flow-list{display:grid;gap:14px}.rule-graphic-flow{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);gap:10px;align-items:center}.rule-node{min-height:112px;display:grid;gap:8px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.rule-node--control{border-color:#b3000033;background:linear-gradient(180deg,#fff8f8,#fff)}.rule-node--database{border-color:#2f364029;background:linear-gradient(180deg,#f8fafc,#fff)}.rule-node--output{border-color:#1f7a4d33;background:linear-gradient(180deg,#f5fbf8,#fff)}.rule-node-label{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.rule-node strong{font-size:14px;line-height:1.45}.rule-node small{color:var(--muted);line-height:1.5}.rule-chip-row{display:flex;flex-wrap:wrap;gap:8px}.rule-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#f4f4f5;color:var(--muted);font-size:11px;font-weight:700}.rule-chip--selection{background:#fff1f2;color:var(--primary)}.rule-chip--derived{background:#eff6ff;color:#1d4ed8}.rule-chip--container{background:#f0fdf4;color:var(--success)}.rule-arrow{display:grid;place-items:center;color:var(--primary);font-size:20px;font-weight:700}.rule-focus-panel .rule-graphic-flow{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.debug-disclosure{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:#f8fafccc}.debug-disclosure summary{cursor:pointer;padding:14px 16px;font-weight:700;color:var(--ink)}.debug-disclosure-body{padding:0 16px 16px}.payload-preview{overflow:auto;padding:14px;border-radius:16px;background:#171717;color:#ffe4e6;font-family:Fira Code,SFMono-Regular,monospace;font-size:12px}.page-footer{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:18px;color:var(--muted);font-size:12px}@media(max-width:1180px){.workspace{grid-template-columns:1fr}.brand-bar,.hero{flex-direction:column}.legacy-grid--three,.legacy-grid--two,.rule-guide-flow,.rule-guide-grid,.rule-focus-grid,.rule-summary-grid,.rule-change-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-shell{padding:14px}.hero{padding:10px;border-radius:24px}.brand-title{font-size:28px}.panel,.field-card{border-radius:18px}.manual-line,.database-form-grid,.rule-form-grid{grid-template-columns:1fr}.database-form-grid__wide,.rule-form-grid__wide,.database-form-grid__full,.rule-form-grid__full{grid-column:auto}.shipping-signoff-row{grid-template-columns:1fr;gap:10px}.rule-graphic-flow{grid-template-columns:1fr}.rule-arrow{min-height:24px;transform:rotate(90deg)}}
