:root{--paper:#f4f6f5;--panel:#fff;--ink:#20303b;--ink2:#5c6e7a;--line:#dce3e2;--blue:#12608f;--blue-d:#0c4a70;--blue-bg:#eaf2f8;--blue-line:#bcd4e4;--verm:#c2452f;--verm-bg:#fbefec;--edit:#fff7de;--edit-line:#ead9a0;--ok:#1e7a4c;--ok-bg:#e9f4ee;--mono:"SF Mono", SFMono-Regular, Consolas, "Roboto Mono", monospace;--sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", Meiryo, sans-serif;--rad:10px;--sh:0 1px 3px #20303b12, 0 8px 24px #20303b0d}*{box-sizing:border-box}body{font-family:var(--sans);background:var(--paper);color:var(--ink);margin:0;font-size:14px;line-height:1.55}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--ink);font-family:inherit;font-size:14px}a{color:var(--blue)}.appbar{z-index:40;background:var(--ink);color:#fff;align-items:center;gap:18px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.appbar .brand b{letter-spacing:.35em;font-size:17px;font-weight:800}.appbar .brand span{color:#9fb4c0;letter-spacing:.08em;margin-left:10px;font-size:11px}.appbar nav{gap:4px;height:100%;display:flex}.appbar nav:not(.drawer) a{color:#b9c7d0;letter-spacing:.04em;border-bottom:3px solid #0000;align-items:center;padding:0 15px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.appbar nav:not(.drawer) a.on{color:#fff;border-bottom-color:var(--blue)}.appbar .spacer{margin-left:auto}.appbar .who{color:#8fa5b2;font-size:11px}.wrap{max-width:1600px;margin:0 auto;padding:18px}.panes{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr) minmax(300px,380px);align-items:start;gap:16px;display:grid}@media (max-width:1200px){.panes{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);margin-bottom:16px}.card h2{letter-spacing:.14em;color:var(--ink2);margin:0;padding:13px 18px 0;font-size:12.5px;font-weight:700}.card .body{padding:12px 18px 16px}.grid2{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:10px 12px;display:grid}.f label{color:var(--ink2);letter-spacing:.03em;margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.f label em{color:var(--verm);margin-left:2px;font-style:normal}.f input,.f select,.f textarea{border:1px solid var(--line);background:var(--edit);border-color:var(--edit-line);border-radius:7px;width:100%;padding:8px 10px;transition:border-color .12s}.f input:focus,.f select:focus{border-color:var(--blue);outline:none}.f input.err,.f select.err{border-color:var(--verm);background:var(--verm-bg)}.f input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums}.f .hint{color:#93a3ad;margin-top:3px;font-size:11px}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.page-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-main-action{min-height:48px;margin-left:auto;padding:12px 22px;font-size:15px;box-shadow:0 2px 6px #c1442b47}.page-main-action:hover{filter:brightness(1.05)}@media (max-width:760px){.page-main-action{width:100%;margin-left:0}}.seg button{color:var(--ink2);background:#fff;border:none;padding:8px 22px;font-size:13.5px;font-weight:700}.seg button.on{background:var(--blue);color:#fff}.chk{border:1px solid var(--line);-webkit-user-select:none;user-select:none;cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.chk.on{background:var(--blue-bg);border-color:var(--blue-line)}.chk input{width:auto}.total-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);margin-bottom:14px;overflow:hidden}.total-head{justify-content:space-between;align-items:baseline;padding:14px 18px 0;display:flex}.total-head .cap{letter-spacing:.18em;color:var(--ink2);font-size:11px;font-weight:700}.total-num{font-family:var(--mono);font-variant-numeric:tabular-nums;padding:0 18px 4px;font-size:34px;font-weight:700}.total-num small{color:var(--ink2);margin-left:2px;font-size:15px;font-weight:600}.trows{padding:6px 18px 16px}.trow{justify-content:space-between;padding:3.5px 0;font-size:13px;display:flex}.trow .v{font-family:var(--mono);font-variant-numeric:tabular-nums}.trow.sum{border-top:1.5px solid var(--ink);margin-top:6px;padding-top:8px;font-weight:700}.stamps{align-items:center;gap:12px;padding:4px 0 10px;display:flex}.stamp{letter-spacing:.1em;background:#ffffffbf;border:2.5px solid;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;font-size:15px;font-weight:800;display:flex;transform:rotate(-9deg)}.stamp.ok{color:var(--ok);border-color:var(--ok)}.stamp.warn{color:var(--verm);border-color:var(--verm)}.stamp.na{color:#b7c2c9;border-color:#c9d3d9;font-size:12px}.btn{letter-spacing:.05em;border:none;border-radius:8px;padding:12px 14px;font-size:14px;font-weight:700}.btn.pri{background:var(--verm);color:#fff;min-height:44px}.btn.pri.sm{min-height:36px;padding:8px 16px;font-size:13.5px}.btn.pri:disabled{cursor:not-allowed;background:#d8b3ab}.btn.sec{color:var(--blue);border:1.5px solid var(--blue);background:#fff}.btn.ghost{color:var(--ink2);border:1px solid var(--line);background:#fff;font-weight:600}.btn.sm{border-radius:7px;padding:7px 12px;font-size:12.5px}.mini{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);margin-bottom:14px}.mini h3{letter-spacing:.14em;color:var(--ink2);justify-content:space-between;margin:0;padding:11px 16px 8px;font-size:11.5px;font-weight:700;display:flex}.mini .body{padding:0 16px 14px}.kv{justify-content:space-between;padding:3px 0;font-size:12.5px;display:flex}.kv .v{font-family:var(--mono);font-variant-numeric:tabular-nums}.kv .v.warn{color:var(--verm);font-weight:700}.kv .v.good{color:var(--ok);font-weight:700}table.det{border-collapse:collapse;width:100%;font-size:12.5px}table.det td{border-bottom:1px dotted var(--line);padding:4px 0}table.det td.n{font-family:var(--mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}table.det td.b{color:#93a3ad;text-align:right;padding-left:8px;font-size:11px}table.det tr.sum td{border-top:1.5px solid var(--ink);border-bottom:none;font-size:13px;font-weight:700}table.list{border-collapse:collapse;background:var(--panel);width:100%;font-size:13px}table.list th{text-align:left;letter-spacing:.1em;color:var(--ink2);border-bottom:1.5px solid var(--line);padding:10px 12px;font-size:11.5px}table.list td{border-bottom:1px solid var(--line);padding:10px 12px}table.list td.n{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}table.list tr:hover td{background:var(--blue-bg)}.badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.pending{background:var(--verm-bg);color:var(--verm)}.badge.won{background:var(--ok-bg);color:var(--ok)}.badge.lost{color:var(--ink2);background:#eef1f3}.alert{background:var(--verm-bg);color:var(--verm);border:1px solid #eccfc8;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:12.5px}.note{color:var(--ink2);font-size:12px}.section-title{letter-spacing:.14em;color:var(--ink2);margin:14px 0 6px;font-size:11.5px;font-weight:700}@media print{.appbar,.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:none}}.ok-alert{background:var(--ok-bg);color:var(--ok);border-color:#cfe5d8}.todo{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:900px){.todo{grid-template-columns:repeat(2,1fr)}}.todo-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);text-align:left;padding:12px 16px 14px;font-family:inherit}.todo-card .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.todo-card .t{margin-top:2px;font-size:13px;font-weight:700}.todo-card .h{color:#93a3ad;font-size:11px}.todo-card.late{border-left-color:var(--verm)}.todo-card.late .num{color:var(--verm)}.todo-card.soon{border-left-color:var(--blue)}.todo-card.soon .num{color:var(--blue)}.todo-card.wait{border-left-color:#d9a520}.todo-card.wait .num{color:#b8860b}.todo-card.done{border-left-color:var(--ok)}.todo-card.done .num{color:var(--ok)}.todo-card.zero{border-left-color:var(--line)}.todo-card.zero .num{color:#c3ccd2}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 12px;display:flex}.chips{gap:6px;display:inline-flex}.chips button{border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600}.chips button.on{background:var(--blue);border-color:var(--blue);color:#fff}table.list td .sub{color:#93a3ad;margin-top:1px;font-size:11px}table.list td .sub.warn{color:var(--verm)}table.list td.empty{text-align:center;color:var(--ink2);padding:28px 12px}table.list .mono{font-family:var(--mono);font-size:12px}table.list td.n.neg{color:var(--verm);font-weight:700}td.due{white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}td.due.late{color:var(--verm);font-weight:700}td.due.soon{color:var(--blue);font-weight:700}tr.row-late td{background:#fdf6f4}tr.row-late:hover td{background:var(--verm-bg)}.kind{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.kind.purchase{background:var(--blue-bg);color:var(--blue-d)}.kind.supplied{color:#6b4ea0;background:#f3eefa}.kind.stock{color:#4f6b3a;background:#f0f4ec}.stage{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.stage.ordered{background:var(--verm-bg);color:var(--verm)}.stage.arrived{color:#8a6400;background:#fdf3dc}.stage.confirmed{background:var(--ok-bg);color:var(--ok)}.stage.closed{color:var(--ink2);background:#eef1f3}.pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.row-btns{flex-wrap:wrap;gap:8px;display:flex}.steps{margin:6px 0 0;padding-left:20px;font-size:13px}.steps li{margin-bottom:3px}.note .warn{color:var(--verm)}.stock-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.stock-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--ok);border-radius:var(--rad);box-shadow:var(--sh);padding:13px 16px 14px}.stock-card.low{border-top-color:#d9a520}.stock-card.neg{border-top-color:var(--verm)}.stock-card .head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.stock-card .head b{font-size:14.5px}.stock-card .sub{color:#93a3ad;font-size:11.5px}.stock-card .onhand{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:28px;font-weight:700;line-height:1}.stock-card .onhand small{color:var(--ink2);margin-left:3px;font-size:12px;font-weight:600}.stock-card.low .onhand{color:#b8860b}.stock-card.neg .onhand{color:var(--verm)}.stock-card .warn-line{color:var(--verm);margin-top:6px;font-size:11.5px;font-weight:600}.stock-card .meta{color:#93a3ad;flex-wrap:wrap;gap:12px;margin:8px 0 10px;font-size:11px;display:flex}.stock-card .inline-form{gap:8px;margin-top:10px;display:grid}.overlay{z-index:60;background:#20303b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);border-radius:var(--rad);width:100%;max-width:760px;max-height:84vh;padding:18px 20px 20px;overflow:auto;box-shadow:0 20px 60px #00000040}.sheet h2{margin:0 0 12px;font-size:14px}.receipt{align-items:center;gap:12px;padding:4px 0 12px;display:flex}.receipt .mark{letter-spacing:.08em;background:#ffffffbf;border:2.5px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:54px;height:54px;font-size:15px;font-weight:800;display:flex;transform:rotate(-9deg)}.receipt.won .mark{color:var(--ok);border-color:var(--ok)}.receipt.lost .mark{color:var(--ink2);border-color:#b7c2c9}.receipt .text b{font-size:14.5px;display:block}.receipt.won .text b{color:var(--ok)}.receipt .when{font-family:var(--mono);color:#93a3ad;font-size:11.5px}.receipt-rows{border-top:1px solid var(--line);padding-top:8px}.receipt-rows .kv{padding:4px 0;font-size:13px}.receipt-rows .kv .v small{color:var(--ink2);margin-left:4px;font-weight:400}.f .hint.new{color:var(--ok);font-weight:600}table.mat{min-width:1180px}table.mat td.memo{color:var(--ink2);max-width:190px;font-size:12px}table.mat td.owner{white-space:nowrap;font-weight:700}table.mat td.confirm-cell{white-space:nowrap;text-align:center;border-left:2px solid var(--line)}table.mat td .row-btns{flex-wrap:nowrap}.sheet .grid3{grid-template-columns:1fr 1fr 1fr}@media (max-width:700px){.sheet .grid3{grid-template-columns:1fr}}.planner .step{border-top:1px solid var(--line);padding:16px 0 4px}.planner .step:first-child{border-top:none;padding-top:4px}.planner .step-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.planner .step-head .no{background:var(--ink);color:#fff;width:22px;height:22px;font-family:var(--mono);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.planner .step-head b{font-size:14.5px}.planner .step-head .step-note{color:#93a3ad;font-size:12px}.pick2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:620px){.pick2{grid-template-columns:1fr}}.pick2 button{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:9px;padding:14px 16px;font-family:inherit}.pick2 button b{color:var(--ink);font-size:15px;display:block}.pick2 button small{color:#93a3ad;margin-top:3px;font-size:12px;display:block}.pick2 button.on{border-color:var(--blue);background:var(--blue-bg)}.pick2 button.on b{color:var(--blue-d)}.stock-pick{gap:6px;display:grid}.stock-pick .stock-row{border:1px solid var(--line);text-align:left;background:#fff;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:9px 14px;font-family:inherit;font-size:13.5px;display:grid}.stock-pick .stock-row.hit{border-color:var(--blue-line)}.stock-pick .stock-row.on{border-color:var(--blue);background:var(--blue-bg)}.stock-pick .stock-row .nm{font-weight:600}.stock-pick .stock-row .bal{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ok);white-space:nowrap;font-weight:700}.stock-pick .stock-row .bal.zero{color:#b7c2c9}.stock-pick .stock-row .mk{color:var(--blue);white-space:nowrap;font-size:11.5px}.stock-pick .stock-row.on .mk{font-weight:700}.planner .take{background:var(--blue-bg);border:1px solid var(--blue-line);border-radius:8px;grid-template-columns:220px 1fr;align-items:end;gap:16px;margin-top:12px;padding:12px 14px;display:grid}@media (max-width:620px){.planner .take{grid-template-columns:1fr}}.planner .take .calc{padding-bottom:8px;font-size:13.5px}.planner .take .calc b.short{color:var(--verm)}.planner .take .calc b.enough{color:var(--ok)}.planner .hint b.short{color:var(--verm)}.planner .order-block{margin-top:14px}.planner .order-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.planner .order-head b{font-size:13.5px}.planner-foot{border-top:1.5px solid var(--ink);flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px;padding-top:14px;display:flex}.planner-foot .summary{font-size:14px}.planner-foot .summary b{font-family:var(--mono);font-variant-numeric:tabular-nums}.planner-foot .summary .sub{color:#93a3ad;margin-left:6px;font-size:12px}.planner-foot .btn{margin-left:auto}.view-bar{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}.view-bar .fld{align-items:center;gap:8px;display:flex}.view-bar .fld .lb{color:var(--ink2);letter-spacing:.04em;font-size:11.5px;font-weight:700}.view-bar select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 10px;font-size:13px}.view-bar .count{font-family:var(--mono);color:var(--ink2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.btn.danger{color:var(--verm)}.btn.danger:hover{background:var(--verm-bg)}.btn.danger-pri{background:var(--verm);color:#fff;border:none}.btn.danger-pri:disabled{cursor:not-allowed;background:#d8b3ab}.sheet.confirm{max-width:520px}.sheet.confirm .target{background:var(--paper);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;display:flex}.sheet.confirm .target b{font-size:15px}.sheet.confirm .target .sub{color:var(--ink2);font-size:12px}.sheet.confirm .target .q{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700}.sheet.confirm .effects{border-left:3px solid var(--verm);background:var(--verm-bg);border-radius:0 8px 8px 0;padding:12px 16px}.sheet.confirm .effects .cap{letter-spacing:.1em;color:var(--verm);margin-bottom:6px;font-size:11.5px;font-weight:700}.sheet.confirm .effects ul{margin:0;padding-left:18px;font-size:13.5px}.sheet.confirm .effects li{margin-bottom:3px}.stage.cancelled{color:var(--verm);background:#eef1f3;text-decoration:line-through}@media (max-width:760px){.wrap{padding:12px}table.mat{width:100%;min-width:0;display:block}table.mat thead{display:none}table.mat tbody{display:block}table.mat tr{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);margin-bottom:12px;padding:4px 2px;display:block}table.mat tr.row-late{border-left:3px solid var(--verm)}table.mat td{border-bottom:1px dotted var(--line);text-align:left;grid-template-columns:88px 1fr;align-items:baseline;gap:12px;padding:7px 14px;display:grid}table.mat td:last-child{border-bottom:none}table.mat td:before{content:attr(data-label);color:var(--ink2);letter-spacing:.04em;font-size:11px;font-weight:700}table.mat td.n{text-align:left}table.mat td.memo{max-width:none}table.mat td .row-btns{flex-wrap:wrap}table.mat td[data-label=操作]{grid-template-columns:1fr}table.mat td[data-label=操作]:before{display:none}table.mat td[data-label=操作] .btn{flex:1;min-width:120px}table.mat td:empty{display:none}table.mat tr:hover td{background:0 0}.todo{grid-template-columns:repeat(2,1fr)}.filters{gap:8px}.view-bar .count{margin-left:0}.planner-foot{flex-direction:column;align-items:stretch}.planner-foot .btn{margin-left:0}.sheet{max-height:92vh;padding:14px 16px 18px}.overlay{padding:8px}.grid3,.grid2{grid-template-columns:1fr}.stock-pick .stock-row{grid-template-columns:1fr auto;row-gap:4px}.stock-pick .stock-row .mk{grid-column:1/-1}}@media (min-width:761px) and (max-width:1100px){.grid3{grid-template-columns:1fr 1fr}.todo{grid-template-columns:repeat(4,1fr)}.todo-card .num{font-size:24px}}@media (pointer:coarse){.btn{min-height:44px}.btn.sm{min-height:40px;padding:10px 14px;font-size:13.5px}.chips button{min-height:40px;padding:9px 16px}.stock-pick .stock-row{padding:12px 14px}input[type=text],input[type=search],input[type=number],input[type=date],input[type=email],input[type=password],select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.chk{min-height:40px}table.list td a{padding:6px 0;display:inline-block}.more-pop .btn{min-height:44px}}.search{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;min-width:260px;max-width:420px;padding:8px 12px;font-size:13.5px}.search:focus{border-color:var(--blue);outline:none}@media (max-width:760px){.search{width:100%;min-width:0;max-width:none}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll.tall{max-height:calc(100vh - 170px);overflow:auto}.table-scroll.tall table.list thead th{background:var(--panel);z-index:3;box-shadow:0 1.5px 0 var(--line);position:sticky;top:0}@media (max-width:760px){.table-scroll{overflow-x:visible}.table-scroll.tall{max-height:none;overflow:visible}}table.mat .row-btns .btn{white-space:nowrap}table.mat td[data-label=操作]{width:260px}@media (max-width:760px){table.mat td{padding:4px 14px;font-size:13px}table.mat td .sub{font-size:10.5px}table.mat td[data-label=材質]{border-bottom:1px solid var(--line);grid-template-columns:1fr;padding:10px 14px 8px}table.mat td[data-label=材質]:before{display:none}table.mat td[data-label=材質] b{font-size:15px}table.mat td[data-label=納期]{font-size:13.5px;font-weight:700}table.mat td[data-label=操作]{padding:10px 14px}table.mat td[data-label=操作] .btn{flex:44%;min-width:0}}.draft-note{color:var(--ok);font-size:11.5px;font-weight:600}table.mat .done-line{justify-content:space-between;align-items:baseline;gap:6px;display:flex}table.mat .undo{border:1px solid var(--line);color:var(--ink2);white-space:nowrap;background:#fff;border-radius:5px;flex:none;padding:1px 7px;font-family:inherit;font-size:10.5px}table.mat .undo:hover{border-color:var(--verm);color:var(--verm)}table.mat .undo:disabled{opacity:.4;cursor:not-allowed}.btn-sep{background:var(--line);align-self:stretch;width:1px;margin:2px}@media (max-width:760px){.btn-sep{display:none}table.mat .undo{padding:6px 12px;font-size:12px}}.appbar .who{color:#b9c7d0;margin-right:10px;font-size:12px}.appbar .signout{color:#b9c7d0;background:0 0;border:1px solid #46596a;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px}.appbar .signout:hover{color:#fff;border-color:#8fa5b2}.appbar .signout:disabled{opacity:.5;cursor:not-allowed}@media (max-width:760px){.appbar{flex-wrap:wrap;gap:8px 12px;height:auto;padding:8px 12px}.appbar nav{order:3;width:100%;overflow-x:auto}.appbar .who{margin-right:4px}}.sheet.builder{max-width:820px}.sheet.builder .step{border-top:1px solid var(--line);padding:16px 0 4px}.sheet.builder .step:first-of-type{border-top:none}.tmpl-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (max-width:700px){.tmpl-list{grid-template-columns:1fr}}.tmpl{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:9px;gap:2px;padding:11px 14px;font-family:inherit;display:grid}.tmpl b{color:var(--ink);font-size:14px}.tmpl .shape{font-family:var(--mono);color:var(--blue-d);background:var(--blue-bg);border-radius:4px;justify-self:start;padding:2px 6px;font-size:11.5px}.tmpl .when{color:#93a3ad;font-size:11.5px}.tmpl.on{border-color:var(--blue);background:var(--blue-bg)}.tmpl.on .shape{background:#fff}.calc-preview{background:var(--ok-bg);border-left:3px solid var(--ok);border-radius:0 8px 8px 0;padding:14px 16px}.calc-preview .reading{color:var(--ok);font-size:15px;font-weight:700}.calc-preview .example{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12.5px}.calc-preview .caveat{color:var(--ink2);margin-top:6px;font-size:11.5px}.seg.small button{padding:6px 12px;font-size:12px}.mode-pick{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}@media (max-width:700px){.mode-pick{grid-template-columns:1fr}}.mode-pick button{text-align:left;background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--sh);border-radius:9px;padding:12px 16px;font-family:inherit}.mode-pick button b{color:var(--ink);font-size:14.5px;display:block}.mode-pick button small{color:#93a3ad;margin-top:2px;font-size:11.5px;display:block}.mode-pick button.on{border-color:var(--blue);background:var(--blue-bg)}.mode-pick button.on b{color:var(--blue-d)}.gauge-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:10px;display:grid}@media (max-width:640px){.gauge-row{grid-template-columns:repeat(2,1fr)}}.gauge-row>div{border-left:1px solid var(--line);padding:14px 16px}.gauge-row>div:first-child{border-left:none;padding-left:0}.gauge-row .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.gauge-row .k{color:var(--ink2);margin-top:2px;font-size:12px}.gauge-row .bad .n{color:var(--verm)}.record h1{margin:0 0 4px;font-size:19px}.job-pick{gap:8px;margin-top:12px;display:grid}.job-row{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);padding:12px 14px;font-family:inherit}.job-row .head{justify-content:space-between;align-items:baseline;display:flex}.job-row .no{font-family:var(--mono);color:var(--blue-d);font-size:12px;font-weight:700}.job-row .st{background:var(--blue-bg);color:var(--blue-d);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.job-row .nm{margin-top:3px;font-size:15px;font-weight:700}.job-row .sub{color:#93a3ad;font-size:11.5px}.job-row .sub.done{color:var(--ok);font-weight:600}.picked{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.picked .no{font-family:var(--mono);color:var(--blue-d);font-size:12px;font-weight:700}.picked b{font-size:16px}.picked .sub{color:#93a3ad;font-size:12px}.quick{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.quick button{border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:13.5px;font-weight:600}.quick button.on{background:var(--blue);border-color:var(--blue);color:#fff}@media (max-width:760px){.record h1{font-size:17px}.job-row{padding:14px}.quick button{padding:10px 18px;font-size:14px}}.invite-steps{background:var(--blue-bg);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;margin-top:14px;padding:12px 16px;font-size:13px}.invite-steps ol{margin:6px 0;padding-left:20px}.invite-steps li{margin-bottom:3px}.offcut-tag{color:#7a6420;vertical-align:2px;background:#f0ead9;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.calc-how{margin-top:4px;font-size:12px}.calc-how>summary{cursor:pointer;color:var(--ao,#1e4d78);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;list-style:none;display:inline-flex}.calc-how>summary::-webkit-details-marker{display:none}.calc-how>summary:before{content:"▸"}.calc-how[open]>summary:before{content:"▾"}.calc-how .formula{border-left:3px solid var(--ao,#1e4d78);font-variant-numeric:tabular-nums;background:#f4f6f8;border-radius:0 3px 3px 0;margin-top:4px;padding:6px 8px;font-family:ui-monospace,Roboto Mono,monospace;line-height:1.7;overflow-x:auto}.calc-how .desc{color:#55636f;white-space:pre-wrap;margin-top:4px;line-height:1.8}.unit-row{background:var(--blue-bg);border:1px solid var(--blue-line);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:10px;margin:4px 18px 0;padding:9px 12px;display:flex}.unit-row .cap{letter-spacing:.14em;color:var(--blue-d);white-space:nowrap;font-size:11px;font-weight:700}.unit-row .u{font-family:var(--mono);color:var(--blue-d);font-variant-numeric:tabular-nums;font-size:23px;font-weight:700;line-height:1.1}.unit-row .calc{font-family:var(--mono);color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:11.5px}@media (max-width:700px){.unit-row .calc{flex-basis:100%;margin-left:0}}.key-num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:17px;font-weight:700;line-height:1.35}.proposal h2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proposal .st{letter-spacing:.06em;white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700}.st-pending{background:var(--edit);border:1px solid var(--edit-line);color:#7a621a}.st-applied{background:var(--ok-bg);color:var(--ok)}.st-rejected{color:var(--ink2);background:#eef1f3}.st-rolled{background:var(--verm-bg);color:var(--verm)}.proposal .src{color:var(--ink2);margin-left:auto;font-size:11px;font-weight:400}.proposal .reason{border-left:3px solid var(--line);white-space:pre-wrap;background:#fbfaf8;border-radius:0 4px 4px 0;padding:6px 10px;font-size:13px}.proposal .reason .lb{color:var(--ink2);letter-spacing:.08em;font-size:10.5px;display:block}.proposal .diff{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.proposal .diff .k{font-family:var(--mono);color:var(--ink2);font-size:12px}.proposal .diff .old{color:var(--ink2);text-decoration:line-through}.proposal .diff .new{color:var(--blue-d);font-weight:700;font-family:var(--mono)}.proposal .impact{background:var(--blue-bg);border:1px solid var(--blue-line);border-radius:6px;margin-top:10px;padding:8px 10px}.proposal .impact .lb{color:var(--blue-d);margin-bottom:4px;font-size:11.5px;font-weight:700}.proposal .impact .up{color:var(--verm)}.proposal .impact .down{color:var(--ok)}.proc{border-top:1px solid var(--line);padding:10px 0}.proc:first-child{border-top:none;padding-top:0}.proc-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.proc-head h3{color:var(--ink);letter-spacing:.04em;margin:0;font-size:12.5px;font-weight:700}.proc-head .calc-how{margin:0}.proc .grid3{grid-template-columns:1fr 1fr 1fr;gap:8px 12px;display:grid}@media (max-width:900px){.proc .grid3{grid-template-columns:1fr 1fr}}@media (max-width:560px){.proc .grid3{grid-template-columns:1fr}}.add-slot{color:var(--blue);border:1px dashed var(--blue);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:5px 12px;font-size:11.5px;font-weight:600}.add-slot:hover{background:var(--blue-bg,#00529b0f)}.att-list{margin:0;padding:0;list-style:none}.att-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:6px 0;display:flex}.att-list li:last-child{border-bottom:none}.att-list a{color:var(--blue);font-weight:600}.att-list .meta{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:11px}.list tr.voided td{opacity:.55;text-decoration:line-through}.list tr.voided td:last-child{text-decoration:none}.reason.digest{border-left:3px solid var(--blue);background:var(--blue-bg);white-space:pre-wrap;font-family:var(--mono);font-size:12px}.viewer{z-index:5;position:sticky;top:8px}.viewer.spot-wide{margin-bottom:12px;position:static}.viewer.spot-float{z-index:30;margin:0;position:fixed;box-shadow:0 10px 30px #0000002e}.viewer.spot-float h2{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.viewer.spot-float.size-s{width:min(380px,94vw)}.viewer.spot-float.size-m{width:min(560px,94vw)}.viewer.spot-float.size-l{width:min(760px,94vw)}.viewer.spot-float .viewer-frame{height:46vh;min-height:200px}.viewer.spot-float.size-l .viewer-frame{height:62vh}.viewer-frame{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%}.viewer.size-s .viewer-frame{height:34vh;min-height:220px}.viewer.size-m .viewer-frame{height:52vh;min-height:320px}.viewer.size-l .viewer-frame{height:76vh;min-height:420px}@media (max-width:1200px){.viewer:not(.spot-float){position:static}.viewer.size-l .viewer-frame{height:60vh}}.viewer-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-buttons{flex-wrap:wrap;gap:6px;display:inline-flex}.viewer-buttons .btn{touch-action:auto}.viewer-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--blue) 50%, var(--blue) 62%, transparent 62%, transparent 74%, var(--blue) 74%);opacity:.7;border-bottom-right-radius:8px;width:26px;height:26px;position:absolute;bottom:0;right:0}.viewer.spot-float{position:fixed}.zoom-pane{position:relative}.zoom-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.zoom-tools .zoom-hint{margin-left:auto}.zoom-box{touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--line);cursor:grab;background:#f4f5f6;border-radius:6px;position:relative;overflow:hidden}.zoom-box:active{cursor:grabbing}.zoom-content{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.zoom-content img,.zoom-content canvas{pointer-events:none;background:#fff;display:block;box-shadow:0 2px 10px #00000026}.zoom-status{background:#ffffffe6;border-radius:6px;padding:4px 8px;position:absolute;top:10px;left:10px}@media (max-width:760px){.zoom-tools .zoom-hint{display:none}}.more{display:inline-block;position:relative}.more.ml6{margin-left:6px}.more-btn{letter-spacing:0;min-width:40px;font-weight:800}.more-btn.on{background:var(--blue-bg);color:var(--blue-d);border-color:var(--blue)}.more-pop{z-index:25;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:4px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);box-shadow:0 8px 24px #00000024}.more-pop.right{right:0}.more-pop.left{left:0}.more-pop .btn,.more-pop a.btn,.more-pop label.btn{text-align:left;background:#fff;border:none;border-radius:6px;justify-content:flex-start;width:100%;padding:10px 12px;font-size:13.5px}.more-pop .btn:hover,.more-pop a.btn:hover,.more-pop label.btn:hover{background:var(--blue-bg)}.more-pop .note{padding:4px 12px}.viewer-settings{border:1px dashed var(--blue-line);background:var(--blue-bg);border-radius:6px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px;display:flex}.viewer-settings>div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.viewer-settings .cap{color:var(--ink2);letter-spacing:.04em;min-width:5.5em;font-size:11.5px;font-weight:700}.filters .btn.on,.viewer-settings .btn.on{border-color:var(--blue);color:var(--blue);background:#fff;font-weight:700}.prefill-box{border:1px dashed var(--blue-line);background:var(--blue-bg);border-radius:6px;margin-top:8px;padding:12px}.appbar .settings{position:relative}.appbar .gear{color:#b9c7d0;background:0 0;border:1px solid #3a4c58;border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:600}.appbar .gear:hover,.appbar .gear[aria-expanded=true]{color:#fff;border-color:#6b8090}.settings-pop{z-index:60;background:var(--panel);width:280px;color:var(--ink);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);padding:12px 14px;position:absolute;top:calc(100% + 8px);right:0}.settings-title{color:var(--ink2);letter-spacing:.1em;margin-bottom:8px;font-size:11.5px;font-weight:700}.settings-opt{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:8px;margin-bottom:6px;padding:7px 8px;font-size:13px;display:flex}.settings-opt.on{background:var(--blue-bg);border-color:var(--blue-line);font-weight:700}.settings-opt input{margin:0}.settings-note{color:var(--ink2);margin-top:6px;font-size:11px;line-height:1.5}html[data-ui=simple]{--rad:0px;--sh:none;--paper:#eef0ee;--line:#9aa7a8;--blue-line:#7f9db4;--edit-line:#c9b26a}html[data-ui=simple] body{font-size:13px;line-height:1.4}html[data-ui=simple] input,html[data-ui=simple] select,html[data-ui=simple] textarea{font-size:13px}html[data-ui=simple] .card,html[data-ui=simple] .mini,html[data-ui=simple] .total-card{border-color:var(--line);margin-bottom:8px}html[data-ui=simple] .card h2,html[data-ui=simple] .mini h3{letter-spacing:.06em;border-bottom:1px solid var(--line);color:var(--ink);background:#e6eaea;padding:6px 10px;font-size:12px}html[data-ui=simple] .card .body,html[data-ui=simple] .mini .body{padding:8px 10px 10px}html[data-ui=simple] .grid2,html[data-ui=simple] .grid3,html[data-ui=simple] .proc .grid3{gap:6px 8px}html[data-ui=simple] .f label{letter-spacing:0;margin-bottom:2px;font-size:11px}html[data-ui=simple] .f input,html[data-ui=simple] .f select,html[data-ui=simple] .f textarea{border-radius:0;padding:5px 7px}html[data-ui=simple] .f .hint{margin-top:2px;font-size:10.5px}html[data-ui=simple] .proc{padding:6px 0}html[data-ui=simple] .proc-head h3{font-size:12px}html[data-ui=simple] .btn,html[data-ui=simple] .btn.sm,html[data-ui=simple] .seg,html[data-ui=simple] .chk,html[data-ui=simple] .chips button,html[data-ui=simple] .alert,html[data-ui=simple] .settings-opt,html[data-ui=simple] .add-slot,html[data-ui=simple] .viewer-frame,html[data-ui=simple] .prefill-box,html[data-ui=simple] .viewer-settings{border-radius:0}html[data-ui=simple] .btn{letter-spacing:.02em;padding:8px 12px;font-size:13px}html[data-ui=simple] .btn.sm{padding:5px 10px;font-size:12px}html[data-ui=simple] .badge,html[data-ui=simple] .stage{border-radius:2px}html[data-ui=simple] .chk{padding:5px 8px;font-size:12.5px}html[data-ui=simple] table.list th,html[data-ui=simple] table.list td{border:1px solid var(--line);padding:4px 8px}html[data-ui=simple] table.list th{background:#e6eaea;font-weight:700}html[data-ui=simple] table.list{border-collapse:collapse}html[data-ui=simple] .total-num{padding:0 10px 2px;font-size:26px}html[data-ui=simple] .unit-row .u{font-size:18px}html[data-ui=simple] .appbar{background:#2b3a45;gap:10px;height:40px;padding:0 12px}html[data-ui=simple] .appbar .brand b{letter-spacing:.2em;font-size:14px}html[data-ui=simple] .appbar .brand span{display:none}html[data-ui=simple] .appbar nav:not(.drawer) a{border-bottom-width:2px;padding:0 9px;font-size:12.5px}.proc-table{border-collapse:collapse;width:100%;font-size:12.5px}.proc-table th,.proc-table td{border:1px solid var(--line);vertical-align:middle;padding:2px 4px}.proc-table thead th{white-space:nowrap;text-align:center;background:#e6eaea;font-size:11.5px;font-weight:700}.proc-table th.name{text-align:left;white-space:nowrap;cursor:help;background:#f1f3f3;min-width:9em;padding-left:8px;font-weight:700}.proc-table td.na{background:#f6f7f7}.proc-table td input[type=text]{background:var(--edit);border:none;border-radius:0;outline:none;width:100%;min-width:5.5em;padding:4px 6px;font-size:12.5px}.proc-table td input.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.proc-table td input:focus{box-shadow:inset 0 0 0 2px var(--blue)}.proc-table td .cell{align-items:center;gap:4px;display:flex}.proc-table td .cell+.cell{margin-top:2px}.proc-table td .cell .lb{color:var(--ink2);white-space:nowrap;flex:none;font-size:10.5px}.proc-table td .chk{background:0 0;border:none;padding:2px 6px;font-size:12px;display:inline-flex}.proc-table th[data-slot="1"],.proc-table td[data-slot="1"]{width:6.5em}.proc-table td[data-slot="1"] input[type=text]{min-width:0}.proc-table thead th:not(.name):not([data-slot="1"]){width:22%}.proc-table tr.slot-more td{background:#fafbfb;padding:2px 8px}.proc-table tr.slot-more .add-slot{margin:0;padding:2px 10px;font-size:11px}html[data-ui=simple] .card .body{padding:6px 8px 8px}html[data-ui=simple] .card h2{padding:4px 8px;font-size:11.5px}html[data-ui=simple] .card{margin-bottom:6px}html[data-ui=simple] .grid2,html[data-ui=simple] .grid3{gap:4px 8px}html[data-ui=simple] .f input,html[data-ui=simple] .f select,html[data-ui=simple] .f textarea{padding:3px 6px;font-size:12.5px}html[data-ui=simple] .f label{margin-bottom:1px;font-size:10.5px}html[data-ui=simple] .card .body.grid2{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1400px){html[data-ui=simple] .card .body.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){html[data-ui=simple] .card .body.grid2{grid-template-columns:1fr}}html[data-ui=simple] .wrap{padding:6px 8px}html[data-ui=simple] .panes{gap:8px}.appbar nav .nav-badge{background:var(--verm);color:#fff;text-align:center;vertical-align:1px;border-radius:999px;min-width:16px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;line-height:16px;display:inline-block}.settings-version{color:var(--ink2);padding:4px 0 8px;font-size:12px}.settings-version b{font-family:var(--mono,monospace);color:var(--ink)}.chat{flex-direction:column;gap:8px;padding:4px 0;display:flex}.bubble-row{display:flex}.bubble-row.me{justify-content:flex-end}.bubble-row.them{justify-content:flex-start}.bubble{white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);background:#fff;border-radius:14px;max-width:78%;padding:8px 12px;font-size:14px;line-height:1.55}.bubble.me{background:var(--blue-bg);border-color:var(--blue-line);border-bottom-right-radius:4px}.bubble.ai{background:#fff;border-bottom-left-radius:4px}.bubble.admin{background:var(--edit);border-color:var(--edit-line);border-bottom-left-radius:4px}.bubble.digest{background:var(--blue-bg);font-family:var(--mono);max-width:100%;font-size:12px}.bubble.result{border-color:var(--ok);background:var(--ok-bg)}.bubble-lb{color:var(--ink2);margin-bottom:3px;font-size:11px;font-weight:700}.bubble.thinking{color:var(--ink2)}.thinking .dot{background:var(--ink2);border-radius:50%;width:6px;height:6px;margin-right:3px;animation:1.2s infinite blink;display:inline-block}.thinking .dot:nth-child(2){animation-delay:.2s}.thinking .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.summary-box{border:1px dashed var(--blue-line);background:#fff;border-radius:8px;margin-top:10px;padding:10px 12px}.summary-box .lb{color:var(--blue);margin-bottom:4px;font-size:11px;font-weight:700}.composer{margin-top:10px}@media (max-width:640px){.bubble{max-width:92%}}.doc-previews{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.doc-previews .lb{color:var(--ink2);margin-bottom:4px;font-size:11px;font-weight:700}.doc-frame{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:560px}.doc-frame.changed{border-color:var(--verm)}.appbar nav:not(.drawer){display:none}.menu-btn{color:#e6eef3;cursor:pointer;background:0 0;border:1px solid #5d7280;border-radius:8px;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.menu-btn:hover,.menu-btn[aria-expanded=true]{background:#ffffff0f;border-color:#9fb4c0}.menu-icon{flex-direction:column;gap:3px;display:inline-flex}.menu-icon i{background:#fff;border-radius:2px;width:18px;height:2px;display:block}.appbar .page-name{color:#fff;white-space:nowrap;font-size:13.5px;font-weight:700}.drawer-backdrop{z-index:50;background:#141e2673;position:fixed;inset:0}.appbar .drawer{width:360px;max-width:92vw;height:auto;color:var(--ink);z-index:51;background:#fff;flex-direction:column;order:0;gap:0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto;box-shadow:4px 0 24px #00000040}.drawer-head{background:var(--ink);color:#fff;letter-spacing:.3em;justify-content:space-between;align-items:center;padding:16px 20px;font-size:18px;font-weight:800;display:flex}.drawer-close{color:#fff;cursor:pointer;letter-spacing:0;background:0 0;border:none;font-size:20px;line-height:1}.appbar .drawer a{height:auto;color:var(--ink);font-size:var(--menu-font,20px);border-left:4px solid #0000;border-bottom:1px solid var(--line);letter-spacing:.02em;align-items:center;gap:10px;padding:18px 22px;font-weight:700;line-height:1.3;text-decoration:none;display:flex}.appbar .drawer a:hover{background:var(--blue-bg)}.appbar .drawer a.on{border-left-color:var(--blue);border-bottom-color:var(--line);background:var(--blue-bg);color:var(--blue-d)}.drawer-foot{color:var(--ink2);font-size:11px;font-family:var(--mono,monospace);margin-top:auto;padding:12px 18px}@media (max-width:640px){.menu-word,.appbar .brand span{display:none}}.drawer-group{border-bottom:1px solid var(--line)}.drawer-group-head,.appbar .drawer a.drawer-group-head{text-align:left;box-sizing:border-box;width:100%;color:var(--ink);font-size:var(--menu-font,20px);letter-spacing:.06em;cursor:pointer;background:#fff;border:none;border-left:4px solid #0000;align-items:center;gap:12px;padding:18px 22px;font-weight:700;line-height:1.3;text-decoration:none;display:flex}.drawer-group-head:hover,.appbar .drawer a.drawer-group-head:hover{background:var(--blue-bg);color:var(--blue-d)}.appbar .drawer a.drawer-group-head.on{border-left-color:var(--blue);background:var(--blue-bg);color:var(--blue-d)}.drawer-group-head .chev{width:1em;color:var(--ink2);display:inline-block}.appbar .drawer a.sub{font-size:calc(var(--menu-font,20px) - 2px);border-bottom-color:#eef1f3;padding-left:44px;font-weight:600}.drawer-group.open,.drawer-group.open .drawer-group-head{background:#f6f8f8}.drawer-group{position:relative}.drawer-fly{display:none}@media (hover:hover) and (min-width:900px){.appbar .drawer{overflow:visible}.drawer-inline{display:none}.drawer-fly{border:1px solid var(--line);border-left:4px solid var(--blue);z-index:52;background:#fff;min-width:300px;position:absolute;top:0;left:100%;box-shadow:10px 10px 28px #00000038}.drawer-group:hover>.drawer-fly{display:block}.drawer-group:has(:focus-visible)>.drawer-fly{display:block}.drawer-group:nth-last-child(-n+5)>.drawer-fly{top:auto;bottom:0}.drawer-fly{max-height:100vh;overflow-y:auto}.drawer-group:hover>.drawer-group-head{background:var(--blue-bg);color:var(--blue-d)}.appbar .drawer .drawer-fly a.sub{border-bottom-color:var(--line);padding-left:22px}.appbar .drawer .drawer-fly a.sub:last-child{border-bottom:none}}.home-actions{flex-wrap:wrap;gap:10px;margin:6px 0 16px;display:flex}.home-actions .btn{padding:10px 18px;font-size:15px}.home-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.home-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:10px;padding:7px 0;font-size:14px;display:flex}.home-row:last-of-type{border-bottom:none}.home-row.link{color:inherit;text-decoration:none}.home-row.link:hover{background:var(--blue-bg)}.home-when{font-family:var(--mono,monospace);color:var(--ink2);min-width:40px;font-size:12px}.drawer-tiles{border-bottom:1px solid var(--line);background:#f6f8f8;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px;display:grid}.appbar .drawer a.tile{background:var(--blue);color:#fff;letter-spacing:.06em;border:none;border-radius:10px;justify-content:center;align-items:center;height:92px;padding:0;font-size:22px;font-weight:800;display:flex}.appbar .drawer a.tile:hover{background:var(--blue-d)}.appbar .drawer a.tile.on{outline:3px solid var(--edit-line)}.thread-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.thread-head .chev{width:1em;color:var(--ink2);display:inline-block}.thread-collapsed{cursor:pointer}.thread-collapsed .bubble{opacity:.9}.sort-select{border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:4px;padding:4px 6px;font-size:13px}html[data-sheet="1"] body{font-size:12.5px;line-height:1.35}html[data-sheet="1"] .wrap{max-width:none;padding:6px 8px}html[data-sheet="1"] h1{margin:4px 0 8px;font-size:15px}html[data-sheet="1"] .card,html[data-sheet="1"] .mini{box-shadow:none;border-radius:0;margin-bottom:6px}html[data-sheet="1"] .card h2{letter-spacing:.06em;padding:5px 8px 0;font-size:11.5px}html[data-sheet="1"] .card .body,html[data-sheet="1"] .mini .body{padding:6px 8px 8px}html[data-sheet="1"] .grid2,html[data-sheet="1"] .grid3{border:1px solid var(--line);border-bottom:none;gap:0}html[data-sheet="1"] .f{border-bottom:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:104px 1fr;align-items:stretch;min-height:28px;display:grid}html[data-sheet="1"] .grid2>.f:nth-child(2n),html[data-sheet="1"] .grid3>.f:nth-child(3n){border-right:none}html[data-sheet="1"] .f label{border-right:1px solid var(--line);letter-spacing:0;white-space:nowrap;background:#eef1f3;align-items:center;margin:0;padding:0 6px;font-size:11px;display:flex;overflow:hidden}html[data-sheet="1"] .f input,html[data-sheet="1"] .f select,html[data-sheet="1"] .f textarea{background:var(--edit);border:none;border-radius:0;min-height:28px;padding:3px 6px;font-size:12.5px}html[data-sheet="1"] .f textarea{min-height:52px}html[data-sheet="1"] .f input:focus,html[data-sheet="1"] .f select:focus,html[data-sheet="1"] .f textarea:focus{outline:2px solid var(--blue);outline-offset:-2px}html[data-sheet="1"] .f .hint{display:none}html[data-sheet="1"] .note{font-size:11px}html[data-sheet="1"] table.list th,html[data-sheet="1"] table.list td{padding:2px 6px;font-size:12px}html[data-sheet="1"] .proc-table td,html[data-sheet="1"] .proc-table th{padding:2px 4px}html[data-sheet="1"] .btn{border-radius:0;padding:5px 10px;font-size:12px}html[data-sheet="1"] .btn.sm{padding:3px 8px;font-size:11.5px}html[data-sheet="1"] .bubble{border-radius:4px;padding:6px 10px;font-size:13px}html[data-sheet="1"] .total-num{font-size:22px}@media (max-width:640px){input,select,textarea{font-size:16px}.f input,.f select,.f textarea{min-height:42px;padding:8px 10px}.btn{min-height:42px;padding:9px 14px;font-size:15px}.btn.sm{min-height:36px;font-size:14px}.grid2,.grid3,.proc .grid3{grid-template-columns:1fr}.composer textarea{min-height:72px}.bubble{max-width:94%;font-size:15px}.chips button{min-height:36px}html[data-sheet="1"] .f{grid-template-columns:1fr}html[data-sheet="1"] .f label{border-right:none;border-bottom:1px solid var(--line);min-height:22px}html[data-sheet="1"] .f input,html[data-sheet="1"] .f select{min-height:40px;font-size:16px}}.cut-table td,.cut-table th{vertical-align:middle}.cut-length,html[data-sheet="1"] table.list td .cut-length,html[data-ui=simple] table.list td .cut-length{font-family:var(--mono);color:var(--ink);letter-spacing:.02em;font-size:32px;font-weight:700;line-height:1.1}.cut-qty,html[data-sheet="1"] table.list td .cut-qty,html[data-ui=simple] table.list td .cut-qty{font-family:var(--mono);color:var(--ink);font-size:32px;font-weight:700;line-height:1.1}.cut-due,html[data-sheet="1"] table.list th .cut-due,html[data-ui=simple] table.list th .cut-due{font-family:var(--mono);color:var(--ink);letter-spacing:0;font-size:26px;font-weight:700;line-height:1.1}.cut-who{color:var(--muted,#666);white-space:nowrap;font-size:12px;font-weight:400}.cut-fix{min-height:22px;padding:0 6px;font-size:11px;line-height:20px}@media print{.cut-table{font-size:14px}.cut-length,html[data-sheet="1"] table.list td .cut-length,.cut-qty,html[data-sheet="1"] table.list td .cut-qty{font-size:36px}.cut-due,html[data-sheet="1"] table.list th .cut-due{font-size:28px}.cut-table input[type=checkbox]{width:18px;height:18px}@page{size:A4 landscape;margin:12mm}}.staff-grid th:first-child,.staff-grid td:first-child{background:var(--panel);z-index:1;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.staff-grid thead th{background:var(--panel);z-index:2;position:sticky;top:0}.staff-grid thead th:first-child{z-index:3}html[data-ui=modern]{--paper:#eef1f6;--panel:#fff;--ink:#0d1b2a;--ink2:#5b6b7f;--line:#e2e8f0;--line2:#eef2f7;--blue:#0f4c81;--blue-d:#0d4473;--blue-bg:#e8f1fa;--blue-line:#bcd4e4;--brand2:#1a6fb0;--accent:#f97316;--accent-d:#ea6a08;--accent-bg:#fff1e6;--verm:#b91c1c;--verm-bg:#fdeaea;--ok:#15803d;--ok-bg:#e7f6ec;--warn:#b45309;--warn-bg:#fdf3e2;--edit:#fff;--edit-line:#e2e8f0;--sans:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, "Roboto Mono", monospace;--rad:14px;--sh:0 1px 2px #0f172a0d, 0 8px 24px -12px #0f172a29;--side-w:248px;--side:#0b1a2b;--side2:#08121f;--ui-font:15px}html[data-ui=modern] body{font-size:var(--ui-font);-webkit-font-smoothing:antialiased;padding-left:var(--side-w);line-height:1.6}html[data-ui=modern] input,html[data-ui=modern] select,html[data-ui=modern] textarea,html[data-ui=modern] button{font-size:inherit}html[data-ui=modern] ::selection{background:#fde2cc}html[data-ui=modern] .wrap{max-width:1560px;padding:22px}html[data-ui=modern] .m-side{width:var(--side-w);z-index:60;background:linear-gradient(178deg, var(--side) 0%, #0a1626 60%, var(--side2) 100%);color:#c9d7e6;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0}html[data-ui=modern] .m-brand{border-bottom:1px solid #ffffff12;align-items:baseline;gap:10px;padding:18px 18px 14px;display:flex}html[data-ui=modern] .m-brand b{color:#fff;letter-spacing:.3em;font-size:16px;font-weight:800}html[data-ui=modern] .m-brand span{color:#7f96ad;letter-spacing:.08em;font-size:10.5px;font-family:var(--mono)}html[data-ui=modern] .m-nav{flex:1;padding:10px 12px 8px;overflow-y:auto}html[data-ui=modern] .m-nav::-webkit-scrollbar{width:8px}html[data-ui=modern] .m-nav::-webkit-scrollbar-thumb{background:#28405c;border-radius:8px}html[data-ui=modern] .m-sec-title{letter-spacing:.16em;color:#5d7793;padding:14px 10px 6px;font-size:10.5px;font-weight:700}html[data-ui=modern] .m-item{color:#b8c9dc;font-size:calc(var(--ui-font) - 1px);border-radius:9px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 11px;font-weight:500;text-decoration:none;transition:background .16s,color .16s;display:flex;position:relative}html[data-ui=modern] .m-item:hover{color:#fff;background:#ffffff0f}html[data-ui=modern] .m-item.on{color:#fff;background:linear-gradient(90deg,#1a6fb059,#1a6fb014)}html[data-ui=modern] .m-item.on:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}html[data-ui=modern] .m-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}html[data-ui=modern] .m-cnt{background:var(--accent);color:#fff;border-radius:20px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:700}html[data-ui=modern] .m-foot{border-top:1px solid #ffffff12;align-items:center;gap:10px;padding:12px 14px;display:flex}html[data-ui=modern] .m-who{color:#e8eef5;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}html[data-ui=modern] .m-signout{color:#c9d7e6;background:0 0;border:1px solid #ffffff2e;border-radius:8px;padding:5px 10px;font-size:12px}html[data-ui=modern] .m-signout:hover{color:#fff;border-color:#8fa5b2}html[data-ui=modern] .m-backdrop{display:none}html[data-ui=modern] .m-top{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffe6;align-items:center;gap:12px;min-height:56px;padding:10px 22px;display:flex;position:sticky;top:0}html[data-ui=modern] .m-title{color:var(--ink);letter-spacing:.02em;margin:0;font-size:17px;font-weight:700}html[data-ui=modern] .m-top .spacer{margin-left:auto}html[data-ui=modern] .m-badge{color:var(--accent-d);background:var(--accent-bg);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;text-decoration:none}html[data-ui=modern] .m-search{color:var(--ink2);border:1px solid var(--line);background:#f8fafc;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600;text-decoration:none}html[data-ui=modern] .m-search:hover{color:var(--ink);border-color:#c3cede}html[data-ui=modern] .m-burger{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;padding:8px;display:none}html[data-ui=modern] .m-burger .menu-icon i{background:var(--ink)}html[data-ui=modern] .m-top .gear{color:var(--ink2);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600}html[data-ui=modern] .m-top .gear:hover,html[data-ui=modern] .m-top .gear[aria-expanded=true]{color:var(--ink);background:#f8fafc;border-color:#c3cede}html[data-ui=modern] .settings-pop{color:var(--ink);border-radius:12px;box-shadow:0 24px 60px -20px #0b1a2b59}html[data-ui=modern] .card{border-radius:var(--rad);border:1px solid var(--line);box-shadow:var(--sh);margin-bottom:16px}html[data-ui=modern] .card>h2{font-size:calc(var(--ui-font) - 1px);letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--line2);padding:13px 18px;font-weight:700}html[data-ui=modern] .card .body{padding:18px}html[data-ui=modern] .btn{font-size:calc(var(--ui-font) - 1px);letter-spacing:0;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;min-height:38px;padding:8px 14px;font-weight:600;transition:background .16s,border-color .16s,transform .16s}html[data-ui=modern] .btn:hover{background:#f8fafc;border-color:#c3cede;transform:translateY(-1px)}html[data-ui=modern] .btn:active{transform:none}html[data-ui=modern] .btn:focus-visible{outline-offset:1px;outline:3px solid #1a6fb059}html[data-ui=modern] .btn.pri{background:linear-gradient(180deg, var(--brand2), var(--blue));border-color:var(--blue-d);color:#fff;min-height:42px;box-shadow:0 6px 16px -8px #1a6fb0}html[data-ui=modern] .btn.pri:hover{background:linear-gradient(#2080c9,#12557f)}html[data-ui=modern] .btn.pri:disabled{box-shadow:none;background:#9fb4c9;border-color:#9fb4c9;transform:none}html[data-ui=modern] .btn.pri.sm{min-height:34px;font-size:calc(var(--ui-font) - 2px);padding:6px 12px}html[data-ui=modern] .btn.sec{color:var(--blue);border:1px solid var(--blue-line);background:#fff}html[data-ui=modern] .btn.sec:hover{background:var(--blue-bg)}html[data-ui=modern] .btn.ghost{color:var(--ink2);background:0 0;border-color:#0000}html[data-ui=modern] .btn.ghost:hover{background:#f1f5f9;border-color:#0000}html[data-ui=modern] .btn.sm{font-size:calc(var(--ui-font) - 2px);border-radius:8px;min-height:32px;padding:5px 10px}html[data-ui=modern] .btn.danger{color:var(--verm);background:#fff;border-color:#f3caca}html[data-ui=modern] .btn.danger:hover{background:var(--verm-bg);border-color:#e7a9a9}html[data-ui=modern] .btn.danger-pri{background:var(--verm);color:#fff;border-color:#991b1b}html[data-ui=modern] .f label{font-size:calc(var(--ui-font) - 3px);color:var(--ink2);letter-spacing:0}html[data-ui=modern] .f input,html[data-ui=modern] .f select,html[data-ui=modern] .f textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;transition:border-color .16s,box-shadow .16s}html[data-ui=modern] .f input:hover,html[data-ui=modern] .f select:hover{border-color:#c9d5e3}html[data-ui=modern] .f input:focus,html[data-ui=modern] .f select:focus,html[data-ui=modern] .f textarea:focus{border-color:var(--brand2);outline:none;box-shadow:0 0 0 3px #1a6fb024}html[data-ui=modern] .f input.err,html[data-ui=modern] .f select.err{border-color:var(--verm);background:var(--verm-bg)}html[data-ui=modern] .card input:not([type=checkbox]):not([type=radio]):not([type=file]),html[data-ui=modern] .card select,html[data-ui=modern] .card textarea{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:38px;padding:8px 11px}html[data-ui=modern] .card input:focus,html[data-ui=modern] .card select:focus,html[data-ui=modern] .card textarea:focus{border-color:var(--brand2);outline:none;box-shadow:0 0 0 3px #1a6fb024}html[data-ui=modern] .card label{color:var(--ink2);font-size:calc(var(--ui-font) - 2px)}html[data-ui=modern] table.list{font-size:calc(var(--ui-font) - 1px)}html[data-ui=modern] table.list th{font-size:calc(var(--ui-font) - 4px);letter-spacing:.06em;color:#6b7a90;border-bottom:1px solid var(--line);background:#f8fafc;padding:9px 12px;font-weight:700}html[data-ui=modern] table.list td{border-bottom:1px solid var(--line2);padding:10px 12px}html[data-ui=modern] table.list tr:hover td{background:#f8fafc}html[data-ui=modern] table.list td .sub{color:#6b7a90}html[data-ui=modern] .alert{background:var(--verm-bg);color:var(--verm);font-size:calc(var(--ui-font) - 2px);border:1px solid #f3caca;border-radius:10px}html[data-ui=modern] .alert.ok-alert{background:var(--ok-bg);color:var(--ok);border-color:#bfe3cc}html[data-ui=modern] .note{color:#6b7a90;font-size:calc(var(--ui-font) - 2px)}html[data-ui=modern] a{color:var(--brand2)}html[data-ui=modern] [class*=st-]{font-size:calc(var(--ui-font) - 4px);letter-spacing:.02em;border:none;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}html[data-ui=modern] [class*=st-]:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}html[data-ui=modern] .st-pending{background:var(--warn-bg);color:var(--warn)}html[data-ui=modern] .st-applied{background:var(--ok-bg);color:var(--ok)}html[data-ui=modern] .st-rejected{background:var(--verm-bg);color:var(--verm)}html[data-ui=modern] .st-rolled{color:#5b6b7f;background:#eef2f7}@media (max-width:1023px){html[data-ui=modern] body{padding-left:0}html[data-ui=modern] .m-side{transform:translate(-100%);box-shadow:0 24px 60px -20px #0b1a2b99}html[data-ui=modern] .m-side.open{transform:none}html[data-ui=modern] .m-backdrop{z-index:55;background:#0b1a2b73;display:block;position:fixed;inset:0}html[data-ui=modern] .m-burger{display:inline-flex}html[data-ui=modern] .m-top{padding:8px 14px}html[data-ui=modern] .wrap{padding:14px}}@media (pointer:coarse){html[data-ui=modern] .m-item{padding:11px}html[data-ui=modern] .btn{min-height:42px}}@media print{html[data-ui=modern] body{padding-left:0}html[data-ui=modern] .m-side,html[data-ui=modern] .m-top,html[data-ui=modern] .m-backdrop{display:none!important}}.appbar .brand{color:#fff;--logo-paper:var(--ink);align-items:center;display:flex}.appbar .drawer-head{color:#fff;--logo-paper:var(--ink);padding:12px 16px 12px 20px}html[data-ui=modern] .m-brand{color:#fff;--logo-paper:var(--side);align-items:center}html[data-ui=simple] .appbar .brand svg{width:auto;height:26px}.login-logo{color:var(--ink);--logo-paper:#fff;justify-content:center;padding:26px 18px 4px;display:flex}@media print{.login-logo{display:none}}.file-drop-overlay{z-index:1000;pointer-events:none;background:#1e508c1f;border:3px dashed #1e508c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.file-drop-overlay-text{color:#1e508c;background:#fff;border-radius:6px;padding:12px 20px;font-weight:700;box-shadow:0 2px 8px #00000026}.file-drop-toast{z-index:1001;background:#fff;border:1px solid #c8d3dd;border-left:4px solid #1e508c;border-radius:4px;align-items:flex-start;gap:8px;max-width:min(420px,100vw - 32px);padding:8px 10px;font-size:14px;display:flex;position:fixed;top:52px;right:16px;box-shadow:0 2px 8px #0000001f}.file-drop-toast button{cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.files-toolbar{align-items:center;gap:14px;margin-bottom:12px;display:flex}.files-filter{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.files-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.file-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);color:inherit;flex-direction:column;min-width:0;text-decoration:none;display:flex;overflow:hidden}.file-card:hover{border-color:#1e508c}.file-thumb{aspect-ratio:4/3;background:#f3f5f8;justify-content:center;align-items:center;display:flex;overflow:hidden}.file-thumb img{object-fit:contain;width:100%;height:100%}.file-fmt{letter-spacing:.12em;color:var(--ink2);border:1px solid var(--line);background:#fff;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:700}.file-meta{gap:3px;min-width:0;padding:8px 10px 10px;display:grid}.file-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.file-sub{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.badge.file-state{color:var(--ink2);background:#eef1f3}.badge.file-state.unreviewed{background:var(--verm-bg);color:var(--verm)}.badge.file-state.approved,.badge.file-state.quote{background:var(--ok-bg);color:var(--ok)}.badge.file-state.request{color:#1e508c;background:#e8eef7}.file-detail{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;display:grid}.file-fields{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh);padding:12px 16px 16px;position:sticky;top:56px}.file-fields h2{letter-spacing:.14em;color:var(--ink2);margin:0 0 8px;font-size:12.5px}.file-fields dl{gap:0;margin:0;display:grid}.file-field{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:8px;padding:7px 0;display:grid}.file-field dt{color:var(--ink2);font-size:12px}.file-field dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:15px}.file-field.low dd{background:#fff7e6;border-radius:3px;padding:0 4px}.file-src{color:var(--ink2);font-size:11px;display:block}.file-src.low{color:#a1620b}.file-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.file-view{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);min-width:0;min-height:60vh;box-shadow:var(--sh);flex-direction:column;display:flex;overflow:hidden}.file-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding:6px 8px;font-size:13px;display:flex}.file-tabs a,.file-tabs span{color:var(--ink2);border-radius:4px;padding:4px 10px;text-decoration:none}.file-tabs .on{color:#1e508c;background:#e8eef7;font-weight:700}.file-frame{background:#666;border:0;flex:1;width:100%;min-height:70vh}.file-image{object-fit:contain;background:#f3f5f8;width:100%;height:auto;max-height:85vh}.file-placeholder{text-align:center;color:var(--ink2);gap:8px;padding:40px 20px;display:grid}@media (max-width:900px){.file-detail{grid-template-columns:1fr}.file-fields{position:static}.file-frame{min-height:60vh}}.file-view .zoom-pane{flex-direction:column;flex:1;display:flex}.file-view .zoom-box{background:#e9edf1}.file-sheet{max-height:80vh;overflow:auto}.file-sheet table{border-collapse:collapse;white-space:nowrap;font-size:13px}.file-sheet td,.file-sheet th{border:1px solid var(--line);font-variant-numeric:tabular-nums;padding:3px 8px}.file-sheet th{text-align:left;background:#f3f5f8;position:sticky;top:0}.files-view-toggle{border:1px solid var(--line);border-radius:4px;display:inline-flex;overflow:hidden}.files-view-toggle button{background:var(--panel);cursor:pointer;color:var(--ink2);border:0;padding:4px 10px;font-size:13px}.files-view-toggle button.on{color:#1e508c;background:#e8eef7;font-weight:700}.files-list table{border-collapse:collapse;width:100%;font-size:13.5px}.files-list th,.files-list td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 8px}.files-list th{color:var(--ink2);background:var(--panel);font-size:12px;font-weight:700;position:sticky;top:0}.files-list td.num{text-align:right;font-variant-numeric:tabular-nums}.files-list tr:hover td{background:#f6f8fb}.files-list .mini{object-fit:contain;border:1px solid var(--line);vertical-align:middle;background:#f3f5f8;width:44px;height:33px}
