:root{--color-navy-900: #101b3d;--color-navy-700: #1a2b5e;--color-navy-500: #34477f;--color-navy-100: #e8ebf4;--color-gold-600: #b3923a;--color-gold-500: #c9a84c;--color-gold-100: #f7f1e0;--color-white: #ffffff;--color-gray-900: #1f2430;--color-gray-600: #5a6270;--color-gray-300: #d4d8e0;--color-gray-100: #f5f6fa;--color-success: #2e7d4f;--color-success-100: #e7f2ec;--color-warning: #c77700;--color-warning-100: #fdf3e3;--color-danger: #c0392b;--color-danger-100: #f9e9e7;--color-info: #2c6e9e;--color-primary: var(--color-navy-700);--color-accent: var(--color-gold-500);--color-bg: var(--color-white);--color-text: #333333;--color-surface: var(--color-gray-100);--font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", sans-serif;--font-size-display: 28px;--font-size-h1: 24px;--font-size-h2: 20px;--font-size-h3: 16px;--font-size-body: 15px;--font-size-caption: 13px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 14px;--radius-full: 999px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--shadow-hover: 0 4px 12px rgba(16, 27, 61, .12);--shadow-modal: 0 8px 32px rgba(16, 27, 61, .24);--layout-min-width: 1280px;--layout-max-content: 1600px;--sidebar-width: 240px;--header-height: 64px;--chat-panel-width: 380px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-family);font-size:var(--font-size-body);line-height:1.7;color:var(--color-gray-900);background:var(--color-surface);min-width:var(--layout-min-width)}h1,h2,h3,p{margin:0;line-height:1.4}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-info)}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width);min-width:0}.page{flex:1;padding:var(--space-8);padding-bottom:112px;max-width:var(--layout-max-content);width:100%}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--color-navy-700);color:var(--color-white);display:flex;flex-direction:column;z-index:20}.sidebar-logo{padding:var(--space-6) var(--space-4);border-bottom:1px solid var(--color-navy-500)}.sidebar-logo .brand-mark{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-gold-500);color:var(--color-navy-900);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin-bottom:var(--space-2)}.sidebar-logo .brand-name{display:block;font-size:var(--font-size-caption);opacity:.85}.sidebar-logo .system-name{display:block;font-size:var(--font-size-h3);font-weight:700}.sidebar-nav{flex:1;padding:var(--space-4) 0}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-white);text-decoration:none;border-left:4px solid transparent;font-size:var(--font-size-body)}.sidebar-item:hover{background:var(--color-navy-500)}.sidebar-item.active{background:var(--color-navy-500);border-left-color:var(--color-gold-500);font-weight:700}.sidebar-item .icon{width:22px;text-align:center}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-navy-500);font-size:var(--font-size-caption);opacity:.7}.header{height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-gray-300);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);position:sticky;top:0;z-index:10}.header .crumbs{color:var(--color-gray-600);font-size:var(--font-size-caption)}.header .crumbs strong{color:var(--color-gray-900);font-size:var(--font-size-h3);display:block}.header-right{display:flex;align-items:center;gap:var(--space-4)}.role-select{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);background:var(--color-bg)}.user-chip{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-caption);color:var(--color-gray-600)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid transparent;padding:var(--space-2) var(--space-4);font-weight:500;transition:box-shadow .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{box-shadow:var(--shadow-hover)}.btn-primary{background:var(--color-navy-700);color:var(--color-white)}.btn-accent{background:var(--color-gold-500);color:var(--color-navy-900);font-weight:700}.btn-accent:not(:disabled):hover{background:var(--color-gold-600)}.btn-secondary{background:var(--color-bg);color:var(--color-navy-700);border-color:var(--color-gray-300)}.btn-danger{background:var(--color-danger);color:var(--color-white)}.btn-ghost{background:transparent;color:var(--color-navy-700);border:none;padding:var(--space-1) var(--space-2)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-caption)}.card{background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-6)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.pillar-card{display:block;text-decoration:none;color:inherit;background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-6);border-top:3px solid var(--color-gold-500);transition:box-shadow .15s,transform .15s}.pillar-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.pillar-card .icon{font-size:28px}.pillar-card h3{font-size:var(--font-size-h2);margin:var(--space-2) 0;color:var(--color-navy-700)}.pillar-card .desc{color:var(--color-gray-600);font-size:var(--font-size-caption)}.pillar-card .stat{margin-top:var(--space-3);font-weight:700;color:var(--color-navy-700)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.kpi-card{background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4)}.kpi-card .label{font-size:var(--font-size-caption);color:var(--color-gray-600)}.kpi-card .value{font-size:var(--font-size-display);font-weight:700;color:var(--color-navy-700)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.page-header h1{font-size:var(--font-size-h1);color:var(--color-navy-700)}.section-title{font-size:var(--font-size-h2);color:var(--color-navy-700);margin:var(--space-8) 0 var(--space-4)}.tabs{display:flex;gap:var(--space-2);border-bottom:2px solid var(--color-gray-300);margin-bottom:var(--space-6)}.tab{border:none;background:none;padding:var(--space-2) var(--space-4);color:var(--color-gray-600);border-bottom:3px solid transparent;margin-bottom:-2px}.tab.active{color:var(--color-navy-700);font-weight:700;border-bottom-color:var(--color-gold-500)}.data-table{width:100%;border-collapse:collapse;background:var(--color-bg);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card)}.data-table th{text-align:left;font-size:var(--font-size-caption);color:var(--color-gray-600);background:var(--color-navy-100);padding:var(--space-2) var(--space-3);white-space:nowrap}.data-table td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-gray-100)}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover{background:var(--color-navy-100)}.num{text-align:right;font-variant-numeric:tabular-nums}.chip{display:inline-block;padding:1px var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:500;white-space:nowrap}.chip-draft{background:var(--color-gray-100);color:var(--color-gray-600);border:1px solid var(--color-gray-300)}.chip-pending{background:var(--color-warning-100);color:var(--color-warning)}.chip-approved{background:var(--color-success-100);color:var(--color-success)}.chip-rejected{background:var(--color-danger-100);color:var(--color-danger)}.badge{display:inline-block;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-caption);background:var(--color-navy-100);color:var(--color-navy-700);margin-right:var(--space-1)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:var(--font-size-caption);color:var(--color-gray-600);font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-bg);width:100%;min-width:0}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-navy-500)}.form-grid{display:grid;gap:var(--space-4)}.form-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.form-row .field{flex:1;min-width:120px}.search-bar{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg);border:1px solid var(--color-gray-300);border-radius:var(--radius-full);padding:var(--space-3) var(--space-6);box-shadow:var(--shadow-card);margin-bottom:var(--space-6)}.search-bar input{border:none;outline:none;flex:1;font-size:var(--font-size-h3)}.manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.manual-card{display:block;text-decoration:none;color:inherit;background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4);transition:box-shadow .15s}.manual-card:hover{box-shadow:var(--shadow-hover)}.manual-card h3{font-size:var(--font-size-h3);color:var(--color-navy-700);margin:var(--space-2) 0}.manual-card .meta{font-size:var(--font-size-caption);color:var(--color-gray-600)}.manual-layout{display:flex;gap:var(--space-6);align-items:flex-start}.manual-toc{width:180px;flex-shrink:0;position:sticky;top:calc(var(--header-height) + var(--space-4))}.manual-toc a{display:block;padding:var(--space-1) 0;color:var(--color-gray-600);text-decoration:none;font-size:var(--font-size-caption)}.manual-toc a:hover{color:var(--color-navy-700)}.manual-body{flex:1;min-width:0}.manual-section{margin-bottom:var(--space-8);scroll-margin-top:80px}.manual-section h2{font-size:var(--font-size-h2);color:var(--color-navy-700);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-gray-300)}.manual-section.highlight{animation:sec-flash 2s}@keyframes sec-flash{0%,60%{background:var(--color-gold-100)}to{background:transparent}}.stepper,.step{display:flex;align-items:center;gap:var(--space-2)}.step .dot{width:26px;height:26px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--color-gray-300);color:var(--color-white);font-size:13px;border:none}.step.done .dot{background:var(--color-success)}.step .lbl{font-size:var(--font-size-caption);color:var(--color-gray-600)}.step.done .lbl{color:var(--color-gray-900)}.step-bar{width:32px;height:2px;background:var(--color-gray-300)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#101b3d73;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:var(--space-6);width:560px;max-width:92vw;max-height:88vh;overflow:auto}.modal h2{font-size:var(--font-size-h2);color:var(--color-navy-700);margin-bottom:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#101b3d4d;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:480px;background:var(--color-bg);box-shadow:var(--shadow-modal);padding:var(--space-6);overflow:auto;z-index:45}.chat-fab{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:30;background:var(--color-gold-500);color:var(--color-navy-900);border:none;border-radius:var(--radius-full);padding:var(--space-3) var(--space-6);font-weight:700;box-shadow:var(--shadow-hover)}.chat-fab:hover{background:var(--color-gold-600)}.chat-panel{position:fixed;top:0;right:0;bottom:0;width:var(--chat-panel-width);background:var(--color-bg);box-shadow:var(--shadow-modal);z-index:46;display:flex;flex-direction:column;animation:slide-in .2s ease-out}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.chat-panel.docked{position:sticky;top:calc(var(--header-height) + var(--space-4));height:calc(100vh - var(--header-height) - var(--space-8));box-shadow:var(--shadow-card);border-radius:var(--radius-md);animation:none;flex-shrink:0;z-index:5}.chat-head{padding:var(--space-4);background:var(--color-navy-700);color:var(--color-white);display:flex;justify-content:space-between;align-items:center}.chat-panel.docked .chat-head{border-radius:var(--radius-md) var(--radius-md) 0 0}.chat-body{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.chat-suggest{display:flex;flex-wrap:wrap;gap:var(--space-2)}.suggest-chip{border:1px solid var(--color-gold-500);color:var(--color-navy-700);background:var(--color-gold-100);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--font-size-caption)}.bubble{max-width:90%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:14px}.bubble.user{align-self:flex-end;background:var(--color-navy-700);color:var(--color-white)}.bubble.ai{align-self:flex-start;background:var(--color-gray-100)}.bubble .cite{display:block;margin-top:var(--space-2);font-size:var(--font-size-caption)}.bubble .cite button{border:none;background:none;color:var(--color-info);text-decoration:underline;padding:0;font-size:var(--font-size-caption)}.chat-input{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-gray-300)}.chat-input input{flex:1;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.typing{color:var(--color-gray-600);font-size:var(--font-size-caption)}.empty-state{text-align:center;padding:var(--space-12);color:var(--color-gray-600);background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.empty-state .next{margin-top:var(--space-4);display:flex;gap:var(--space-3);justify-content:center}.toast-wrap{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:var(--space-2)}.toast{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);color:var(--color-white);box-shadow:var(--shadow-modal);font-weight:500}.toast.success{background:var(--color-success)}.toast.warning{background:var(--color-warning)}.toast.error{background:var(--color-danger)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-navy-700)}.login-card{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:var(--space-12);width:420px}.login-card .brand-mark{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-gold-500);color:var(--color-navy-900);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;margin:0 auto var(--space-4)}.login-card h1{font-size:var(--font-size-h2);text-align:center;color:var(--color-navy-700)}.login-card .sub{text-align:center;color:var(--color-gray-600);font-size:var(--font-size-caption);margin-bottom:var(--space-8)}.login-error{color:var(--color-danger);font-size:var(--font-size-caption);margin-top:var(--space-3)}.masked{font-family:monospace;letter-spacing:2px}.revealed-cell{background:var(--color-gold-100);border-radius:var(--radius-sm);padding:0 var(--space-2)}.reveal-note{font-size:var(--font-size-caption);color:var(--color-warning)}.slip-editor-layout{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:var(--space-6);align-items:flex-start}.form-section{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:var(--space-4)}.form-section .section-label{display:block;font-size:var(--font-size-caption);font-weight:700;color:var(--color-gray-600);margin-bottom:var(--space-3)}.slip-kind-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.slip-kind-tab{border:2px solid transparent;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-weight:700;background:var(--color-gray-100);color:var(--color-gray-600)}.slip-kind-tab.k-order.active{background:#fdf0e0;color:#b35c00;border-color:#e08a2e}.slip-kind-tab.k-copy.active{background:#f2ece2;color:#6d4c2f;border-color:#8a6a48}.slip-kind-tab.k-invoice.active{background:#f1eaf7;color:#5e3d80;border-color:#8258ad}.slip-kind-tab.k-delivery.active{background:#fbeaf1;color:#a8446f;border-color:#d1739c}.slip-sheet{--slip-line: #e08a2e;background:#fffdf8;border:2px solid var(--slip-line);width:100%;min-height:460px;padding:14px;font-size:12px;line-height:1.5;color:#2b2b2b;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-card)}.slip-sheet.k-order{--slip-line: #e08a2e}.slip-sheet.k-copy{--slip-line: #8a6a48}.slip-sheet.k-invoice{--slip-line: #8258ad}.slip-sheet.k-delivery{--slip-line: #d1739c}.slip-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.slip-title{border:2px solid var(--slip-line);color:var(--slip-line);font-size:18px;font-weight:700;letter-spacing:8px;padding:2px 16px;white-space:nowrap}.slip-headgrid{display:flex;gap:6px;flex:1;justify-content:flex-end;flex-wrap:wrap}.slip-cell{border:1px solid var(--slip-line);padding:1px 6px;min-width:70px}.slip-cell .lbl{display:block;font-size:9px;color:var(--slip-line)}.slip-addressee{display:flex;align-items:baseline;gap:8px;border-bottom:2px solid var(--slip-line);padding-bottom:2px;width:60%}.slip-addressee .name{font-size:16px;font-weight:700}.slip-columns{display:flex;gap:8px;flex:1;min-height:0}.slip-main{flex:1.6;display:flex;flex-direction:column}.slip-side{flex:1;display:flex;flex-direction:column;gap:6px}.slip-lines{width:100%;border-collapse:collapse}.slip-lines th{border:1px solid var(--slip-line);color:var(--slip-line);font-size:10px;font-weight:500;padding:1px 4px;background:color-mix(in srgb,var(--slip-line) 8%,white)}.slip-lines td{border:1px solid var(--slip-line);padding:1px 6px;height:20px}.slip-lines .total-row td{font-weight:700}.slip-box{border:1px solid var(--slip-line);padding:4px 6px}.slip-box .box-title{font-size:10px;color:var(--slip-line);font-weight:700;display:block;border-bottom:1px dashed var(--slip-line);margin-bottom:2px}.slip-box .kv{display:flex;align-items:baseline;gap:6px;font-size:11px;padding:1px 0}.slip-box .kv .k{color:var(--slip-line);font-size:10px;white-space:nowrap;min-width:52px}.slip-box .kv .v{flex:1;min-width:0;min-height:15px;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--slip-line) 45%,white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slip-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}.slip-company{font-size:13px;font-weight:700}.slip-emph{font-size:15px;font-weight:700}.line-grid{display:grid;grid-template-columns:minmax(0,1fr) 72px 96px 110px 32px;gap:var(--space-2);align-items:center}.line-grid input{width:100%;min-width:0}.line-grid .head{font-size:var(--font-size-caption);color:var(--color-gray-600)}.line-amount{text-align:right;font-variant-numeric:tabular-nums}.slip-total-bar{display:flex;justify-content:flex-end;gap:var(--space-4);align-items:baseline;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-300)}.slip-total-bar .amount{font-size:var(--font-size-h1);font-weight:700;color:var(--color-navy-700)}@media print{@page{size:A4 landscape;margin:8mm}body{min-width:0;background:#fff}.sidebar,.header,.chat-fab,.chat-panel,.slip-form-col,.slip-kind-tabs,.page-header,.slip-actions,.toast-wrap{display:none!important}.app-main{margin-left:0}.page{padding:0;max-width:none}.slip-editor-layout{display:block}.slip-sheet{box-shadow:none;width:100%;height:auto}}
