:root{--bg: #eef1f5;--surface: #ffffff;--surface-2: #f7f9fb;--ink: #16202b;--muted: #64748b;--line: #e2e8f0;--line-2: #cbd5e1;--accent: #2563eb;--accent-ink:#ffffff;--accent-sf: #eaf1ff;--ok: #15803d;--ok-bg: #e7f6ec;--warn: #b45309;--warn-bg: #fdf1e3;--danger: #dc2626;--th-bg: #eef2f7;--na-bg: #f1f3f6;--radius: 12px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(16,32,43,.06), 0 1px 3px rgba(16,32,43,.05);--shadow-lg: 0 6px 24px rgba(16,32,43,.12);--tap: 44px;font-synthesis:none}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}h1{font-size:1.35rem;margin:0;letter-spacing:-.01em}h2{font-size:1rem;margin:0}.muted{color:var(--muted)}.error{color:var(--danger)}.small{font-size:.85rem}.pad{padding:18px 4px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;min-height:var(--tap);padding:0 16px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:background .12s,border-color .12s,transform .04s}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:#1d55d0}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:#10202b0d}.btn.danger{color:var(--danger);border-color:transparent;background:transparent}.btn.sm{min-height:36px;padding:0 12px;font-size:.9rem}.btn.wide{width:100%}.linkbtn{border:0;background:none;font:inherit;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px}.linkbtn.danger{color:var(--danger)}.linkbtn.danger:hover{background:#fdeaea}.txt,.search{width:100%;font:inherit;font-size:16px;color:var(--ink);min-height:var(--tap);padding:10px 12px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm)}.txt:focus,.search:focus,.cell-in:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-sf)}.txt.code{letter-spacing:.35em;text-align:center;font-size:20px}.screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.notice-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px;max-width:420px;width:100%}.notice-card h2{margin:14px 0 8px}.notice-card .wide{margin-top:18px}.app{min-height:100dvh;display:flex;flex-direction:column}.appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.01em}.brand.as-button{border:0;background:none;font:inherit;font-weight:800;cursor:pointer;padding:4px;color:var(--ink)}.brand-mark{color:var(--accent);font-size:1.05em}.appbar-right{display:flex;align-items:center;gap:8px;min-width:0}.who{color:var(--muted);font-size:.85rem;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:16px 14px 40px}.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:28px 24px;width:100%;max-width:400px}.login-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem}.login-sub{color:var(--muted);margin:8px 0 20px;font-size:.92rem}.lbl-sm{display:block;font-weight:600;font-size:.85rem;margin:0 0 6px}.login-card form>*+*{margin-top:12px}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.dash-sub{font-size:.85rem;margin:2px 0 0}.dash-tools{display:flex;gap:10px;align-items:center;margin-bottom:16px}.search{flex:1}.toggle{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer}.toggle input{width:18px;height:18px;accent-color:var(--accent)}.empty{text-align:center;padding:48px 16px;color:var(--muted)}.empty-mark{font-size:2rem;color:var(--line-2);margin-bottom:8px}.empty .btn{margin-top:14px}.cardlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .04s}.card:hover{border-color:var(--line-2);box-shadow:var(--shadow-lg)}.card:active{transform:translateY(1px)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-main{flex:1;min-width:0}.card-top{display:flex;align-items:center;gap:8px}.card-title{font-weight:700;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-sub{color:var(--muted);font-size:.85rem;margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-sub .dot{opacity:.5}.card-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.creator{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted)}.avatar{width:24px;height:24px;border-radius:50%;background:var(--accent-sf);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem}.badge{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.02em}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.draft{background:var(--warn-bg);color:var(--warn)}.editor{position:relative}.toolbar{position:sticky;top:56px;z-index:20;display:flex;align-items:center;gap:10px;padding:8px 4px;margin-bottom:8px;background:linear-gradient(var(--bg),var(--bg) 70%,transparent)}.toolbar-meta{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.save-dot{font-size:.8rem;color:var(--ok);font-weight:600}.save-dot.is-saving{color:var(--muted)}.by{font-size:.8rem}.toolbar-actions{display:flex;align-items:center;gap:8px}.chk{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.chk input{width:18px;height:18px;accent-color:var(--ok)}.actionbar{position:sticky;bottom:0;z-index:25;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));margin:12px -14px 0;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line)}.actionbar .chk{margin-right:auto}.actionbar .btn{flex:0 0 auto;padding:0 18px}.on-mobile{display:none}.on-desktop{display:flex}.sheets{display:flex;flex-direction:column;gap:16px}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 14px}.sheet-break{height:0}.form-title{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}.form-ref{color:var(--muted);font-size:.82rem;margin-top:2px}.instr{color:var(--muted);font-size:.85rem;margin:12px 0}.fieldgrid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:.78rem;font-weight:600;color:var(--muted)}.field .cell-in,.field .txt{width:100%}.field .cell-in,.maxcert .cell-in{border:1px solid var(--line-2);background:var(--surface);border-radius:var(--radius-sm);text-align:left;min-height:var(--tap);padding:10px 12px}.field.spacer{visibility:hidden}.field.eq{margin-top:12px}.section-h{display:flex;align-items:baseline;gap:10px;margin:20px 0 8px;padding-top:14px;border-top:1px solid var(--line)}.section-h h2{font-size:.98rem;font-weight:800}.section-h .tol{color:var(--muted);font-size:.8rem}.subhead{font-size:.82rem;font-weight:700;color:var(--muted);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.03em}.maxcert{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.maxcert label{font-weight:700;font-size:.9rem}.maxcert .cell-in{max-width:160px}.maxcert .hint{color:var(--muted);font-size:.8rem;flex-basis:100%}.instrlist{margin:10px 0 4px;padding-left:20px;color:var(--muted);font-size:.85rem}.instrlist li{margin-bottom:4px}.formstamp{color:var(--muted);font-size:.78rem;margin-top:16px}.twrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius-sm);margin:6px 0 4px;background:var(--surface)}.twrap table{border-collapse:separate;border-spacing:0;width:100%}.twrap th,.twrap td{padding:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.twrap th:last-child,.twrap td:last-child{border-right:0}.twrap tbody tr:last-child td{border-bottom:0}.twrap thead th{background:var(--th-bg);font-size:.72rem;font-weight:700;color:#38465a;padding:7px 6px;line-height:1.15;white-space:nowrap;position:sticky;top:0}.twrap td.ref{background:var(--surface-2);color:var(--ink);font-size:.82rem;padding:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.twrap td.ref.lbl{text-align:left;padding-left:10px}.twrap td.num{background:var(--surface-2);color:var(--muted);font-weight:700;width:34px}.twrap td.lbl{text-align:left;padding:8px 10px;font-size:.88rem;line-height:1.25}.twrap td.lbl .sub{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}.twrap td.unit{background:var(--surface-2);color:var(--muted);font-size:.74rem;padding:6px;white-space:nowrap}.twrap td.note{text-align:left;padding:8px 10px;font-size:.8rem;font-weight:600;color:var(--warn);background:var(--warn-bg)}.twrap td.multi{display:flex;flex-direction:column}.twrap td.multi .cell-in{border-bottom:1px solid var(--line)}.twrap td.multi .cell-in:last-child{border-bottom:0}.twrap th:first-child,.twrap td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--line)}.twrap thead th:first-child{z-index:3}.cell-in{width:100%;min-width:64px;border:0;background:transparent;font:inherit;font-size:16px;text-align:center;padding:11px 6px;color:var(--ink);font-variant-numeric:tabular-nums}.cell-in::placeholder{color:#aab4c0;font-size:.82rem}select.cell-in{min-width:92px;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center}tr.na td.ref,tr.na td:first-child{color:var(--muted);background:var(--na-bg)}tr.na td{background:var(--na-bg);position:relative}tr.na td:not(.ref):not(:first-child):after{content:"N/A";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#9aa6b4;letter-spacing:.08em;pointer-events:none}tr.na .cell-in{visibility:hidden}@media (min-width: 720px){body{font-size:15px}.content{padding:22px 24px 48px}.appbar{padding:12px 22px}.who{max-width:320px;font-size:.9rem}h1{font-size:1.6rem}.fieldgrid{grid-template-columns:repeat(3,1fr);gap:12px 16px}.footgrid .fieldgrid{grid-template-columns:repeat(3,1fr)}.sheet{padding:26px 28px}.sheets{gap:22px}.cardlist{grid-template-columns:repeat(2,1fr);gap:12px}.toolbar{top:60px;padding:10px 0}.actionbar,.on-mobile{display:none}.on-desktop{display:flex}}@media (max-width: 719px){.on-desktop{display:none}.on-mobile{display:flex}.dash-head h1{font-size:1.25rem}.toolbar{top:54px}.twrap{margin-left:-2px;margin-right:-2px}}@media print{.no-print{display:none!important}}:root{--accent: #4f46e5;--accent-2: #2563eb;--accent-sf: #eef0ff;--grad: linear-gradient(135deg, #6366f1, #2563eb);--shadow: 0 1px 2px rgba(30,41,59,.05), 0 2px 8px rgba(30,41,59,.06);--shadow-lg: 0 10px 30px rgba(37,55,99,.14)}body{background:radial-gradient(1200px 500px at 100% -10%,#eef1fb 0%,transparent 60%),linear-gradient(180deg,#eff2f7,#e9edf5)}.btn.primary{background-image:var(--grad);border-color:transparent;box-shadow:0 2px 10px #4f46e547}.btn.primary:hover{filter:brightness(1.06);background-image:var(--grad)}.brand-mark{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.appbar{background:#ffffffd1;border-bottom:1px solid #e6eaf1}.section-h{border-top:0;padding-top:0;align-items:center;gap:9px;margin:22px 0 10px}.section-h:before{content:"";width:4px;height:17px;border-radius:3px;background:var(--grad)}.section-h h2{font-size:1rem;font-weight:800;letter-spacing:-.01em}.subhead{color:#475569}.sheet-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.form-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.chip-ref{font-size:.72rem;font-weight:700;color:var(--accent-2);background:var(--accent-sf);padding:4px 10px;border-radius:999px;white-space:nowrap}.instr-details{margin:14px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);overflow:hidden}.instr-details>summary{cursor:pointer;padding:12px 14px;font-weight:700;font-size:.85rem;color:#475569;list-style:none}.instr-details>summary::-webkit-details-marker{display:none}.instr-details>summary:after{content:"＋";float:right;color:var(--muted);font-weight:700}.instr-details[open]>summary:after{content:"－"}.instr-details .instrlist{margin:0;padding:0 18px 12px 34px}.maxcert{border:1px solid #dfe3ec;background:linear-gradient(var(--surface),var(--surface-2));border-radius:14px}.maxcert label{font-size:.92rem}.only-mobile{display:none}@media (max-width: 719px){.only-desktop{display:none!important}.only-mobile{display:block}}.rowcards{display:flex;flex-direction:column;gap:10px}.rowcard{background:var(--surface);border:1px solid #e7ebf2;border-radius:14px;padding:13px 14px;box-shadow:var(--shadow)}.rowcard-head{display:flex;align-items:center;gap:10px}.rowcard-title{font-weight:800;font-size:1.04rem;letter-spacing:-.01em;white-space:nowrap}.rowcard-sub{color:var(--muted);font-size:.8rem}.rowcard-sub.under{margin:3px 0 0}.rowcard-head>.rowcard-sub{margin-left:auto;text-align:right}.rowcard-sub.indent{margin:6px 0 0 36px}.numchip{flex:0 0 auto;width:27px;height:27px;border-radius:9px;background:var(--accent-sf);color:var(--accent);font-weight:800;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center}.rowcard-inputs{display:flex;flex-direction:column;gap:11px;margin-top:12px}.pairrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0}.rc-field{display:flex;flex-direction:column;gap:6px}.rc-label{font-size:.74rem;font-weight:700;color:#64748b}.rc-field .cell-in,.field .cell-in,.maxcert .cell-in{border:1px solid #d7dce6;background:var(--surface-2);border-radius:11px;text-align:left;min-height:48px;padding:12px 14px;font-size:16px;width:100%;transition:border-color .12s,background .12s,box-shadow .12s}.rc-field .cell-in:focus,.field .cell-in:focus,.maxcert .cell-in:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-sf)}.rc-field select.cell-in,.field select.cell-in{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}.callout{background:var(--warn-bg);color:#92400e;border:1px solid #f3ddb8;border-radius:12px;padding:11px 14px;font-size:.84rem}.na-note{color:var(--muted);font-size:.82rem;padding:11px 14px;text-align:center;background:var(--surface-2);border:1px dashed #cfd6e2;border-radius:12px}.card{border-color:#e7ebf2}.card:hover{border-color:#d4dbe8}.badge.ok{background:#e6f7ec}.avatar{background:var(--accent-sf);color:var(--accent)}@media (min-width: 720px){.rowcard-sub.indent{margin-left:36px}}.card.static{cursor:default}.card.static:hover{border-color:#e7ebf2;box-shadow:var(--shadow)}.card.static:active{transform:none}.card-side.row{flex-direction:row;align-items:center;gap:6px}.btn.is-active{background:var(--accent-sf);color:var(--accent)}
