:root{--ink:#080604;--red:#d7351f;--red-dark:#a92718;--gold:#f7b51b;--orange:#e98422;--brown:#2b1a10;--green:#2e7d32;--cream:#fff3d8;--paper:#fffaf0;--white:#fff;--line:#e8d8bb;--muted:#6f6257;--shadow:0 14px 35px #2b1a1017}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}.test-environment-banner{z-index:20;color:#2b1a10;text-align:center;background:#ffd85a;border-bottom:2px solid #a92718;padding:9px 16px;font-size:.84rem;font-weight:800;position:sticky;top:0}button,input,select{font:inherit}a{color:inherit}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2}h2{font-size:1.2rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.83rem}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;color:var(--white);background:var(--brown);border-right:5px solid var(--red);flex-direction:column;padding:22px 18px;display:flex;position:sticky;top:0}body:has(.test-environment-banner) .sidebar{height:calc(100vh - 38px);top:38px}.sidebar-brand{border-bottom:1px solid #ffffff29;align-items:center;gap:12px;padding-bottom:22px;display:flex}.sidebar-brand img{object-fit:contain;background:var(--cream);width:68px;height:68px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{color:var(--gold);font-size:1.18rem}.sidebar-brand span{color:#e8d8bb;margin-top:4px;font-size:.85rem}.nav{flex-direction:column;gap:5px;margin-top:22px;display:flex}.nav a{color:#fff8e9;border-radius:10px;align-items:center;min-height:44px;padding:11px 13px;text-decoration:none;display:flex}.nav a:hover{background:var(--red)}.nav a:focus-visible{background:var(--red);outline:3px solid var(--gold);outline-offset:2px}.nav-label{color:var(--gold);letter-spacing:.15em;margin:15px 12px 4px;font-size:.76rem}.sidebar-foot{color:#e8d8bb;border-top:1px solid #ffffff29;gap:9px;margin-top:auto;padding:16px 10px 0;font-size:.84rem;display:grid}.app-main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fffaf0f0;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:14px clamp(20px,4vw,50px);display:flex}.topbar strong,.topbar span{display:block}.topbar span{color:var(--muted);margin-top:3px;font-size:.82rem}.context-switcher{align-items:end;gap:8px;margin-left:auto;display:flex}.context-switcher label{min-width:min(310px,32vw)}.context-choice{width:100%}.content{max-width:1440px;padding:clamp(24px,4vw,50px)}.page-header{justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px;display:flex}.page-header .muted{max-width:780px}.eyebrow{color:var(--red);letter-spacing:.17em;text-transform:uppercase;margin-bottom:7px;font-family:system-ui,sans-serif;font-size:.76rem;font-weight:800}.muted{color:var(--muted);line-height:1.65}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:9px 15px;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--red);box-shadow:0 5px 14px #d7351f33}.button-primary:hover{background:var(--red-dark)}.button-ghost{color:var(--brown);border-color:var(--line);background:0 0}.sidebar .button-ghost{color:var(--cream)}.button-danger{color:var(--red-dark);background:#fff3f0;border-color:#f2c7be;padding:5px 9px;font-size:.78rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric{border:1px solid var(--line);border-top:4px solid var(--red);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:23px}.metric span,.metric strong,.metric a{display:block}.metric span{color:var(--muted);font-size:.88rem}.metric strong{color:var(--brown);margin:9px 0;font-family:system-ui,sans-serif;font-size:2.1rem}.metric a{min-height:44px;color:var(--red);align-items:center;font-size:.85rem;display:flex}.notice-card{background:var(--cream);border:1px solid #efcf8a;border-radius:14px;align-items:center;gap:20px;margin-top:24px;padding:25px;display:flex}.notice-mark{color:#fff;background:var(--red);border-radius:50%;padding:13px 10px;font:800 .75rem system-ui,sans-serif}.notice-card h2{margin-bottom:5px}.notice-card p{color:var(--muted);margin:0}.create-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;margin-bottom:22px}.create-panel>summary{color:var(--red-dark);cursor:pointer;padding:17px 20px;font-weight:700}.create-panel[open]>summary{border-bottom:1px solid var(--line)}.filter-bar{grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:12px;margin-bottom:18px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:22px;display:grid}.form-stack{gap:16px;display:grid}.form-stack.compact{border:1px solid var(--line);min-width:min(330px,75vw);box-shadow:var(--shadow);background:#fff;border-radius:10px;margin-top:10px;padding:15px}label{color:var(--brown);gap:7px;font-size:.88rem;display:grid}input,select{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #cdbfa9;border-radius:8px;padding:9px 11px;font-size:16px}input:focus,select:focus{border-color:var(--orange);outline:3px solid #f7b51b59}fieldset{border:1px solid #cdbfa9;border-radius:8px;margin:0;padding:10px 13px}legend{padding:0 5px;font-size:.88rem}.check{grid-auto-flow:column;justify-content:start;align-items:center;gap:8px;display:flex}.check input{width:18px;min-height:18px}.span-2{grid-column:span 2}.form-help{color:var(--muted);padding:0 22px 20px;font-size:.84rem}.form-help.compact-help{padding:0}.form-grid.compact{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;margin-top:10px;padding:18px}.wide-form{width:min(920px,78vw)}.table-wrap{border:1px solid var(--line);width:100%;box-shadow:var(--shadow);background:#fff;border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #eee3d1;padding:14px 13px}th{color:var(--cream);background:var(--brown);white-space:nowrap;font-size:.82rem}tbody tr:hover{background:#fffaf1}.unknown{color:var(--orange)}.badge{border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font:700 .74rem system-ui,sans-serif;display:inline-flex}.badge-active{color:#1d5f23;background:#e4f2e4}.badge-draft{color:#71530d;background:#fff0bd}.badge-archived{color:#655e58;background:#ece8e3}.badge-role{color:var(--brown);background:var(--gold)}.row-actions{flex-wrap:wrap;align-items:start;gap:7px;display:flex}.row-actions form{margin:0}.edit-popover{position:relative}.edit-popover>summary{min-height:44px;color:var(--red-dark);cursor:pointer;background:#fff;border:1px solid #e0b4aa;border-radius:8px;align-items:center;padding:8px 12px;list-style:none;display:inline-flex}.edit-popover[open] form{z-index:4;position:absolute;right:0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.entity-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:22px}.entity-card-head{justify-content:space-between;gap:15px;display:flex}.entity-card h2{margin:6px 0 15px;font-size:1.2rem}.entity-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.entity-card dl div{background:#fffaf2;border-radius:8px;min-width:0;padding:9px 11px}.entity-card dt{color:var(--muted);font-size:.76rem}.entity-card dd{overflow-wrap:anywhere;margin:4px 0 0}.cell-note{color:var(--muted);margin-top:6px;font-size:.78rem;line-height:1.5}.impact-note{color:#782416;border-left:4px solid var(--red);background:#fff3f0;margin:0;padding:10px 12px;font-size:.84rem;line-height:1.5}.mode-tag{border-left:4px solid var(--orange);background:var(--cream);margin-bottom:10px;padding:5px 9px;font-size:.8rem;display:inline-flex}.mode-founder_vehicle{border-color:var(--red)}.mode-test{color:var(--red-dark);border-color:var(--red);background:#fff1ed}.section-title{border-left:5px solid var(--red);margin-top:32px;padding-left:11px}.empty-state{color:var(--muted);text-align:center;background:#fff;border:1px dashed #cdbfa9;border-radius:12px;padding:25px}.alert{border-radius:9px;margin-bottom:18px;padding:12px 15px}.alert-error{color:#782416;background:#fde6e1;border:1px solid #efb5aa}.alert-success{color:#1d5f23;background:#e5f3e6;border:1px solid #acd0ae}.login-shell{background:var(--cream);grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:var(--red);justify-content:center;align-items:center;gap:clamp(25px,5vw,65px);padding:55px;display:flex}.login-brand-panel img{width:min(310px,38vw);height:auto}.login-brand-panel h1{max-width:480px;font-size:clamp(2.2rem,5vw,4.7rem)}.login-brand-panel .eyebrow{color:var(--gold)}.login-card{background:#fff;border:1px solid #ecd8af;border-radius:18px;align-self:center;width:min(470px,100% - 40px);margin:40px auto;padding:38px;box-shadow:0 24px 70px #2b1a102e}.login-card .button{width:100%}.test-accounts{color:var(--muted);margin-top:20px;font-size:.82rem}.test-accounts summary{cursor:pointer;min-height:44px;color:var(--red-dark);align-items:center;display:flex}.test-accounts p{margin:8px 0;font-family:system-ui,sans-serif}.standalone-card{border:1px solid var(--line);width:min(620px,100% - 32px);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:12vh auto;padding:32px}.nested-panel{border-top:1px solid var(--line);margin-top:18px}.nested-panel>summary{min-height:44px;color:var(--red-dark);cursor:pointer;align-items:center;font-weight:700;display:flex}.inline-form{background:var(--cream);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.supplier-items{gap:9px;margin-top:12px;display:grid}.supplier-item{border:1px solid var(--line);background:#fffaf2;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.supplier-item strong,.supplier-item span{display:block}.supplier-item span{color:var(--muted);margin-top:4px;font-size:.8rem}@media (max-width:1050px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar-brand img{width:54px;height:54px}.metric-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.login-brand-panel{text-align:center;flex-direction:column}}@media (max-width:760px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:4px solid var(--red);width:100%;height:auto;padding:13px 14px;position:static}.sidebar-brand{padding-bottom:10px}.sidebar-brand img{width:44px;height:44px}.nav{flex-direction:row;margin-top:10px;padding-bottom:4px;overflow-x:auto}.nav a{flex:none;padding:9px 10px}.nav-label,.sidebar-foot{display:none}.topbar{flex-wrap:wrap;min-height:62px;padding:10px 16px}.topbar span{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.context-switcher{order:3;width:100%;margin-left:0}.context-switcher label{flex:1;min-width:0}.content{padding:22px 14px 45px}.page-header{flex-direction:column;align-items:start}.metric-grid,.card-grid,.form-grid,.filter-bar{grid-template-columns:1fr}.span-2{grid-column:span 1}.entity-card dl{grid-template-columns:1fr}.table-wrap{box-shadow:none;background:0 0;border:0;overflow:visible}table,thead,tbody,tr,th,td{min-width:0;display:block}thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}tbody{gap:13px;display:grid}tr{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:11px 14px}td{overflow-wrap:anywhere;border-bottom:1px solid #f0e6d5;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:9px 0;display:grid}td:before{content:attr(data-label);color:var(--muted);font-size:.8rem}td:last-child{border-bottom:0}.edit-popover[open] form{max-height:78vh;position:fixed;inset:auto 12px 12px;overflow-y:auto}.wide-form{width:auto}.inline-form{grid-template-columns:1fr}.supplier-item{flex-direction:column;align-items:start}.login-shell{padding-bottom:30px;display:block}.login-brand-panel{gap:13px;padding:30px 20px 45px}.login-brand-panel img{width:170px}.login-brand-panel h1{font-size:2rem}.login-card{margin-top:-22px;padding:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
