:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#e2e5ea;--color-text:#24303d;--color-text-muted:#5c6773;--color-primary:#1c5c78;--color-primary-dark:#123f52;--color-primary-light:#e5f0f4;--color-danger:#c62828;--risk-low-color:#2e7d32;--risk-low-bg:#e8f5e9;--risk-medium-color:#8a6d00;--risk-medium-bg:#fff8e1;--risk-high-color:#c15c00;--risk-high-bg:#fff3e0;--risk-veryhigh-color:#c62828;--risk-veryhigh-bg:#ffebee;--shadow-sm:0 1px 2px #141e280f, 0 1px 3px #141e2814;--shadow-md:0 4px 10px #141e2814;--radius:10px;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.6 var(--sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}h1,h2,h3,h4,h5{color:var(--color-text);margin:0;font-weight:600}p{margin:0}button{font:inherit}input,select,textarea{font:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.app-header-brand{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:4px;display:flex}.app-header-icon{background:var(--color-primary-light);width:36px;height:36px;color:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.app-header-title{color:var(--color-primary-dark);font-size:16px;font-weight:700;display:block}.app-header-subtitle{color:var(--color-text-muted);font-size:11px;display:block}.app-header-beta-badge{color:var(--color-text-muted);background:var(--color-border);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.app-header-page{color:var(--color-text-muted);background:var(--color-primary-light);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px}.app-footer{border-top:1px solid var(--color-border);background:#eef1f4;margin-top:auto;padding:14px 20px}.app-footer p{max-width:960px;color:var(--color-text-muted);margin:0 auto;font-size:12px;line-height:1.7}.app-main{flex:1;width:100%}.page{flex-direction:column;gap:20px;max-width:960px;margin:0 auto;padding:20px 16px 48px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header h2{font-size:20px}.hero-intro{text-align:center;flex-direction:column;gap:10px;padding:16px 8px 4px;display:flex}.hero-intro h1{color:var(--color-primary-dark);font-size:26px}.hero-intro p{max-width:640px;color:var(--color-text-muted);margin:0 auto}.menu-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.menu-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;transition:box-shadow .15s,transform .15s;display:flex}.menu-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.menu-card-icon{background:var(--color-primary-light);border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex}.menu-card-title{color:var(--color-text);font-size:15px;font-weight:700}.menu-card-description{color:var(--color-text-muted);font-size:13px;line-height:1.6}.about-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.about-list li{color:var(--color-text-muted);padding-left:18px;font-size:13px;position:relative}.about-list li:before{content:"";background:var(--color-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:0}.about-card p{color:var(--color-text-muted);line-height:1.8}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.card-title{font-size:16px}.card-subtitle{color:var(--color-text-muted);margin-top:4px;font-size:12.5px}.card-actions{flex-wrap:wrap;gap:8px;display:flex}.field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.field-required{color:#fff;background:var(--color-danger);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.field-input{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:100%;padding:9px 10px;font-size:14px}.field-input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.field-input-error{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:11.5px}.field-error-block{margin-bottom:10px}textarea.field-input{resize:vertical;min-height:44px}.radio-group-list{flex-direction:column;gap:16px;display:flex}.radio-group{border-bottom:1px dashed var(--color-border);flex-direction:column;gap:6px;padding-bottom:12px;display:flex}.radio-group:last-child{border-bottom:none;padding-bottom:0}.radio-group-options{flex-wrap:wrap;gap:6px;display:flex}.radio-pill{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text-muted);border-radius:999px;min-height:34px;padding:6px 14px;font-size:12.5px}.radio-pill-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:10px 18px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{color:var(--color-text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--color-danger)}.step-indicator{gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.step-indicator-item{min-width:90px;color:var(--color-text-muted);border-bottom:3px solid var(--color-border);flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 4px;font-size:11px;display:flex}.step-indicator-number{background:var(--color-border);width:22px;height:22px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.step-current{border-bottom-color:var(--color-primary);color:var(--color-primary-dark)}.step-current .step-indicator-number{background:var(--color-primary);color:#fff}.step-done{border-bottom-color:var(--risk-low-color)}.step-done .step-indicator-number{background:var(--risk-low-color);color:#fff}.step-indicator-label{text-align:center}.wizard-nav{background:var(--color-bg);justify-content:space-between;align-items:center;gap:10px;padding:10px 0 4px;display:flex;position:sticky;bottom:0}.wizard-nav-right{gap:8px;display:flex}.risk-item-checklist{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-bottom:18px;display:grid}.risk-item-checkbox{border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.risk-item-checkbox-active{border-color:var(--color-primary);background:var(--color-primary-light)}.custom-risk-section h4{color:var(--color-text);margin-bottom:8px;font-size:13.5px}.custom-risk-input-row{gap:8px;display:flex}.custom-risk-input-row .field-input{flex:1}.custom-risk-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.custom-risk-list li{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:999px;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:12.5px;display:flex}.chip-remove{color:inherit;cursor:pointer;background:#00000014;border:none;border-radius:50%;width:18px;height:18px;line-height:1}.risk-evaluation-list{flex-direction:column;gap:18px;display:flex}.risk-item-card{scroll-margin-top:70px}.risk-item-section{border-top:1px solid var(--color-border);padding:14px 0}.risk-item-section:first-child{border-top:none;padding-top:0}.risk-item-section-title{color:var(--color-primary-dark);margin-bottom:10px;font-size:13px}.scale-selector-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.risk-score-line{color:var(--color-text-muted);align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.scale-selector{flex-direction:column;gap:6px;display:flex}.scale-selector-options{gap:6px;display:flex}.scale-pill{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;height:38px;color:var(--color-text-muted);border-radius:8px;flex:1;font-weight:700}.scale-pill-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.scale-selector-caption{color:var(--color-text-muted);font-size:11.5px}.risk-badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.risk-badge-sm{padding:2px 8px;font-size:11px}.risk-matrix{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;gap:6px;max-width:460px;display:grid}.risk-matrix-axis-y{writing-mode:vertical-rl;text-align:center;color:var(--color-text-muted);grid-area:1/1;align-self:center;font-size:11.5px;transform:rotate(180deg)}.risk-matrix-axis-x{text-align:center;color:var(--color-text-muted);grid-area:2/2;font-size:11.5px}.risk-matrix-grid-wrap{grid-area:1/2;overflow-x:auto}.risk-matrix-table{border-collapse:collapse;width:100%}.risk-matrix-table th,.risk-matrix-table td{border:1px solid var(--color-surface);text-align:center;padding:0}.risk-matrix-row-head,.risk-matrix-col-head{color:var(--color-text-muted);background:0 0;border:none;width:26px;font-size:11px;font-weight:600}.risk-matrix-corner{background:0 0;border:none}.risk-matrix-cell{vertical-align:middle;width:52px;height:40px;font-size:12px;font-weight:700;position:relative}.risk-matrix-compact .risk-matrix-cell{width:38px;height:30px;font-size:11px}.risk-matrix-score{display:block}.risk-matrix-cell-pre,.risk-matrix-cell-post{outline:3px solid var(--color-primary-dark);outline-offset:-3px}.risk-matrix-cell-post{outline-color:var(--color-primary);outline-style:dashed}.risk-matrix-marker{font-size:8.5px;font-weight:600;display:block}.measures-section h4{color:var(--color-text-muted);margin-bottom:8px;font-size:12.5px;font-weight:600}.measures-checklist{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;margin-bottom:10px;display:grid}.measure-checkbox{border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.measure-checkbox-active{border-color:var(--color-primary);background:var(--color-primary-light)}.measures-freetext{width:100%}.comparison-bar{flex-direction:column;gap:10px;display:flex}.comparison-bar-row{align-items:center;gap:10px;display:flex}.comparison-bar-label{width:52px;color:var(--color-text-muted);flex-shrink:0;font-size:12px}.comparison-bar-track{background:#eef1f4;border-radius:999px;flex:1;height:14px;overflow:hidden}.comparison-bar-fill{border-radius:999px;height:100%;transition:width .2s}.reduction-rate{color:var(--color-text-muted);font-size:13px}.reduction-rate strong{color:var(--color-primary-dark);font-size:15px}.reduction-rate-negative strong{color:var(--color-danger)}.stat-box-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat-box{border:1px solid var(--color-border);border-top:3px solid var(--color-primary);text-align:center;border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.stat-box-value{color:var(--color-text);font-size:24px;font-weight:700}.stat-box-label{color:var(--color-text-muted);font-size:11.5px}.priority-list{flex-direction:column;gap:8px;display:flex}.priority-list-item{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.priority-list-name{font-weight:600}.empty-state-text{color:var(--color-text-muted);font-size:13px}.results-table-scroll{overflow-x:auto}.results-table{width:100%;min-width:720px;font-size:12.5px}.results-table th,.results-table td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 10px}.results-table th{color:var(--color-text-muted);white-space:nowrap;background:#f2f5f7;font-size:11.5px}.results-table-name{white-space:nowrap;font-weight:600}.results-table-measures{min-width:160px;color:var(--color-text-muted)}.results-table-negative{color:var(--color-danger);font-weight:700}.summary-info-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 16px;display:grid}.summary-info-grid div{flex-direction:column;gap:2px;font-size:12px;display:flex}.summary-info-grid span{color:var(--color-text-muted)}.summary-info-grid strong{color:var(--color-text);font-size:13.5px}.results-step,.axis-b-step{flex-direction:column;gap:18px;display:flex}.results-actions{flex-wrap:wrap;gap:8px;display:flex}.assessment-list{flex-direction:column;gap:12px;display:flex}.assessment-summary-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;font-size:12.5px;display:flex}.assessment-summary-actions{flex-wrap:wrap;gap:8px;display:flex}.rate-input-list{flex-direction:column;gap:16px;margin-top:20px;display:flex}.rate-input-field{border-bottom:1px solid var(--color-border);padding-bottom:16px}.rate-input-field:last-child{border-bottom:none;padding-bottom:0}.rate-input-note{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.rate-input-summary{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:8px 0 0;font-size:13px;display:flex}.axis-step-note{color:var(--color-text-muted);margin:16px 0 0;font-size:13px}.axis-score-subtotal{text-align:right;margin:12px 0 0;font-size:14px}.assessment-summary-unscored{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.empty-state{text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:40px 16px}@media (width<=640px){.app-header-subtitle{display:none}.field-grid,.scale-selector-row{grid-template-columns:1fr}.wizard-nav{flex-direction:column-reverse;align-items:stretch}.wizard-nav-right{grid-template-columns:1fr 1fr;display:grid}.btn{width:100%}.card-actions .btn,.assessment-summary-actions .btn{width:auto}.risk-matrix{max-width:100%}}@media print{.app-header,.app-footer,.no-print,.step-indicator{display:none!important}body,.app-shell,.app-main{background:#fff}.page{gap:12px;max-width:100%;padding:0}.card{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:1px solid #ccc}.risk-item-card{break-inside:avoid;page-break-inside:avoid}.results-table-scroll{overflow-x:visible}}
