:root{--fg:#14181d;--fg-muted:#59636e;--bg:#f6f7f9;--panel:#ffffff;--line:#d7dce2;--accent:#1f4e79;--accent-fg:#ffffff;--danger:#a3271f;--warn-bg:#fff6e5;--warn-line:#e0b56a;--ok-bg:#eaf4ec;--ok-line:#7aab86}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;font-size:15px;line-height:1.7;display:flex;flex-direction:column;min-height:100vh}main{flex:1 1 auto;width:100%;max-width:960px;margin:0 auto;padding:24px 16px 48px}main.wide{max-width:1200px}h1{font-size:22px;margin:0 0 4px}h2{font-size:18px;margin:32px 0 8px}h3{font-size:15px;margin:20px 0 6px}p{margin:0 0 12px}a{color:var(--accent)}.muted{color:var(--fg-muted)}.small{font-size:13px}.app-header{background:var(--panel);border-bottom:1px solid var(--line)}.app-header-inner{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.app-brand{font-weight:700;text-decoration:none;color:var(--fg)}.app-nav{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto;font-size:14px}.app-nav a{text-decoration:none}.app-user{font-size:13px;color:var(--fg-muted)}.app-footer{border-top:1px solid var(--line);padding:16px;text-align:center;font-size:12px;color:var(--fg-muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px;margin:0 0 16px}.panel>:last-child{margin-bottom:0}.notice{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:6px;padding:12px 14px;margin:0 0 16px;font-size:14px}.notice.ok{border-color:var(--ok-line);background:var(--ok-bg)}.error{border:1px solid var(--danger);background:#fdeeed;color:var(--danger);border-radius:6px;padding:12px 14px;margin:0 0 16px;font-size:14px}.field{margin:0 0 14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.field .help{font-size:12px;color:var(--fg-muted);margin:2px 0 4px}.field .legal{font-size:11px;color:var(--fg-muted)}.required{color:var(--danger);font-weight:700;margin-left:4px}input[type=date],input[type=datetime-local],input[type=email],input[type=password],input[type=text],select,textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:4px;font:inherit;background:#fff;color:inherit}textarea{min-height:5.5em;resize:vertical}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;font-size:14px}.checkbox-row input{margin:3px 0 0;width:auto;flex:0 0 auto}.radio-group{display:flex;gap:16px;flex-wrap:wrap}button{font:inherit;padding:8px 16px;border-radius:4px;border:1px solid var(--line);background:#fff;color:var(--fg);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}button.danger{border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}table.data{width:100%;border-collapse:collapse;font-size:14px;background:var(--panel)}table.data td,table.data th{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}table.data th{background:#eef1f4;font-weight:600;white-space:nowrap}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.upload-gate{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:6px;padding:14px;margin:0 0 16px}.upload-gate h3{margin-top:0}.doc-list{list-style:none;padding:0;margin:12px 0 0}.doc-list li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:4px;padding:6px 10px;margin-bottom:6px;font-size:14px;background:#fff}.doc-list li .name{flex:1 1 auto;word-break:break-all}.ai-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;border:1px solid var(--accent);color:var(--accent);background:#eef3f8;font-size:11px;font-weight:600;vertical-align:middle}.ai-badge.review{border-color:var(--danger);color:var(--danger);background:#fdeeed}.doc-badge{flex:0 0 auto;padding:1px 8px;border-radius:3px;border:1px solid var(--line);background:#eef1f4;font-size:12px;white-space:nowrap}.doc-badge.low{border-color:var(--warn-line);background:var(--warn-bg)}.print-view{align-items:center;gap:8mm;padding:8mm 0;background:#8f979f}.print-view,.sheet{display:flex;flex-direction:column}.sheet{background:#fff;color:#000;box-shadow:0 1px 5px rgba(0,0,0,.4);width:186mm;height:272mm;padding:0;font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif}.sheet-head{border-bottom:1pt solid #000;padding-bottom:1.5mm;margin-bottom:2mm}.sheet-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:4mm}.sheet-title{font-size:13pt;font-weight:700;letter-spacing:.08em}.sheet-number{font-size:10pt;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em}.sheet-meta{display:flex;flex-wrap:wrap;gap:0 4mm;font-size:8pt;line-height:3.6mm}.sheet-body{flex:1 1 auto;min-height:0}.sheet-block{margin-bottom:3mm}.sheet-block h2{font-size:9.5pt;margin:0 0 .6mm;padding:.6mm 1.2mm;background:#e8e8e8;border-left:2pt solid #000}.sheet-block .block-desc{font-size:7pt;color:#333;margin:0 0 1mm}table.record-rows{width:100%;border-collapse:collapse;table-layout:fixed}table.record-rows td,table.record-rows th{border:.4pt solid #000;padding:1mm 1.4mm;font-size:8.5pt;line-height:1.5;vertical-align:top;text-align:left;word-break:break-all}table.record-rows th{width:58mm;background:#f4f4f4;font-weight:600}table.record-rows .legal{display:block;font-size:6.5pt;color:#444;font-weight:400}.sheet-notice{margin-top:1.5mm;padding:1mm 1.5mm;border:.5pt solid #000;font-size:7pt;line-height:1.4}.sheet-foot{margin-top:1.5mm;padding-top:1mm;border-top:.5pt solid #000;display:flex;justify-content:space-between;gap:4mm;font-size:7.5pt}.sheet-foot .sheet-page{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sheet-inner{display:flex;flex-direction:column;height:100%;width:100%}@media print{.print-view{display:block;background:#fff;padding:0;gap:0}.sheet{box-shadow:none;margin:0;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}.app-footer,.app-header,.no-print,.toolbar{display:none!important}body{background:#fff;display:block;min-height:0}main{padding:0;max-width:none}@page{size:A4 portrait;margin:12mm}}