:root{--bg: #FFFFFF;--bg-soft: #F5F8FC;--bg-sub: #EEF3F9;--bg-elev: #FFFFFF;--border: #E1E7EF;--border-soft: #EEF2F7;--text: #1A2333;--text-muted: #55647A;--text-faint: #94A3B8;--accent: #1E5FA6;--accent-hover: #164A82;--accent-soft: #E8F0FB;--success: #0F8556;--success-soft: #E4F5EC;--warning: #C96A05;--warning-soft: #FDF0DC;--danger: #C82333;--danger-soft: #FCE7E9;--pro: #6D3FBF;--pro-soft: #EFE9FA;--hiroba: #E9520E;--hiroba-soft: #FDECE0;--hiroba-strong: #C43F02;--shadow-sm: 0 1px 2px rgba(20,30,50,.05);--shadow-md: 0 4px 12px rgba(20,30,50,.08);--shadow-lg: 0 10px 30px rgba(20,30,50,.12);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,Segoe UI,sans-serif;background:var(--bg-soft);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.app.no-shell{grid-template-columns:1fr}.sidebar{background:var(--bg);border-right:1px solid var(--border);padding:20px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 20px;border-bottom:1px solid var(--border-soft);margin-bottom:14px}.brand-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#2C7BC4);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px}.brand-name{font-weight:800;font-size:16px;letter-spacing:.02em}.brand-tag{font-size:11px;color:var(--text-muted)}.nav-section-title{font-size:11px;color:var(--text-faint);font-weight:700;letter-spacing:.08em;padding:14px 12px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text);cursor:pointer;font-size:14.5px;font-weight:600;border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--bg-soft)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item .icon{width:20px;text-align:center}.topbar{background:var(--bg);border-bottom:1px solid var(--border);padding:12px 24px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}.breadcrumb{font-size:13px;color:var(--text-muted)}.breadcrumb strong{color:var(--text);font-weight:700}.topbar-spacer{flex:1}.role-switch{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:var(--bg);cursor:pointer;font-weight:600;font-size:13px}.role-switch .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.role-switch select{border:0;background:transparent;color:var(--accent);font-weight:700;outline:none}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg);cursor:pointer;display:grid;place-items:center;color:var(--text-muted)}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#4a8bd9,#1e5fa6);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}main.content{padding:24px 32px 60px;max-width:1440px;margin:0 auto;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:800;margin:0}.page-sub{color:var(--text-muted);font-size:13.5px;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer;transition:all .15s}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#0b6b45}.btn-ghost{background:var(--bg);color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-soft)}.btn-lg{padding:14px 22px;font-size:15px}.btn-block{width:100%;justify-content:center}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack{display:flex;flex-direction:column;gap:16px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.card-title{font-size:15px;font-weight:700;margin:0 0 12px;display:flex;align-items:center;gap:8px}.form-label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:var(--text)}.form-input{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);padding:11px 12px;font-size:15px}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.compact-input{width:auto;min-width:150px}.percent-input{width:100px}.form-textarea{width:100%;padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;min-height:90px;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-row{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border-soft)}.form-row:last-child{border-bottom:none}.form-row .form-label{font-size:14px;padding-top:8px;margin-bottom:0}.divider{height:1px;background:var(--border-soft)}.alert-bar{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}.alert-bar.warn{background:var(--warning-soft);color:var(--warning)}.alert-bar.info{background:var(--accent-soft);color:var(--accent)}.alert-bar.error{background:var(--danger-soft);color:var(--danger)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;flex-wrap:wrap}.form-hint{display:block;margin-top:8px;font-size:13px;color:var(--text-muted);font-weight:600}.flex-1{flex:1}.toast{position:fixed;right:24px;top:76px;z-index:50;background:var(--text);color:#fff;border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-lg);font-size:14px;font-weight:700}.inquiry-card{max-width:900px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}table.table{width:100%;border-collapse:collapse}table.table th,table.table td{padding:12px 14px;text-align:left;font-size:14px}table.table thead th{background:var(--bg-soft);border-bottom:1px solid var(--border);font-weight:700;color:var(--text-muted);font-size:12.5px;text-transform:none;letter-spacing:0}table.table tbody tr{border-bottom:1px solid var(--border-soft);cursor:pointer}table.table tbody tr:hover{background:var(--bg-soft)}table.table tbody tr:last-child{border-bottom:none}table.table .num,table.table th.num,table.table td.num{text-align:right;font-variant-numeric:tabular-nums}.empty-cell{text-align:center!important;padding:40px!important;color:var(--text-muted)}.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;background:var(--bg-sub);color:var(--text-muted)}.pill-blue{background:var(--accent-soft);color:var(--accent)}.pill-green{background:var(--success-soft);color:var(--success)}.pill-orange{background:var(--warning-soft);color:var(--warning)}.pill-red{background:var(--danger-soft);color:var(--danger)}.pill-purple{background:var(--pro-soft);color:var(--pro)}.pill-grey{background:var(--bg-sub);color:var(--text-muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elev);box-shadow:var(--shadow-sm)}.cal-header{background:var(--bg-soft);padding:10px;text-align:center;font-weight:800;font-size:13px;color:var(--text-muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.cal-header:nth-child(7n){border-right:none}.cal-header.sun{color:var(--danger)}.cal-header.sat{color:var(--accent)}.cal-cell{min-height:120px;padding:8px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:var(--bg-elev)}.cal-cell:nth-child(7n){border-right:none}.cal-cell.other{background:var(--bg-soft);color:var(--text-faint)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.cal-cell .date{font-weight:800;font-size:13px;margin-bottom:6px}.cal-event{display:block;width:100%;border:0;border-radius:6px;padding:4px 6px;margin-bottom:4px;text-align:left;font-size:12px;font-weight:700;line-height:1.35;cursor:pointer}.cal-event.survey{background:var(--accent-soft);color:var(--accent)}.cal-event.work{background:var(--warning-soft);color:var(--warning)}.cal-event.follow{background:var(--pro-soft);color:var(--pro)}.followup-list-card{padding:0;overflow:hidden}.followup-list-header{padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg-soft);display:flex;align-items:center;gap:14px}.followup-list-header input,.followup-item input[type=checkbox]{width:18px;height:18px}.followup-item{display:grid;grid-template-columns:24px 1fr 120px auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-soft)}.followup-item:last-child{border-bottom:none}.followup-item.overdue{background:var(--danger-soft)}.followup-item .name{font-weight:700;font-size:15px}.followup-item .reason{font-size:12px;color:var(--text-muted)}.tab-pill-active{padding:6px 14px;font-size:13px;border:2px solid currentColor;cursor:pointer;font-weight:800}.row .pill:not(.tab-pill-active){padding:6px 14px;font-size:13px;border:none;cursor:pointer;font-weight:700}.detail-header{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:20px}.detail-title{margin-top:4px}.detail-actions{align-items:flex-start}.detail-pill{margin-left:8px}.link-button{border:0;padding:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer;font-weight:600}.next-action{background:linear-gradient(120deg,var(--accent-soft),var(--bg-elev) 80%);border:2px solid var(--accent);border-radius:var(--radius);padding:18px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.next-action-body{flex:1;min-width:200px}.next-action-label{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.05em;margin-bottom:4px}.next-action-text{font-size:17px;font-weight:800;color:var(--text)}.next-action-hint{font-size:13px;color:var(--text-muted);margin-top:4px}.next-action.done{background:var(--success-soft);border-color:var(--success)}.next-action.done .next-action-label{color:var(--success)}.flow{display:flex;align-items:center;padding:20px 4px;gap:4px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow-x:auto}.flow-step{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 10px;cursor:pointer;min-width:82px;position:relative;background:transparent;border:0;font-family:inherit}.flow-step:disabled{cursor:default;opacity:1}.flow-step .dot{width:30px;height:30px;border-radius:50%;background:var(--bg-sub);color:var(--text-muted);display:grid;place-items:center;font-weight:700;font-size:12px;border:2px solid var(--border)}.flow-step .label{font-size:11.5px;color:var(--text-muted);font-weight:600;text-align:center}.flow-step.done .dot{background:var(--success);color:#fff;border-color:var(--success)}.flow-step.done .label{color:var(--text)}.flow-step.current .dot{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.flow-step.current .label{color:var(--accent);font-weight:700}.flow-line{flex:1;height:2px;background:var(--border);min-width:12px;margin-top:15px}.flow-line.done{background:var(--success)}.flow-sp{display:none}.finance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.finance-item{padding:12px 0;border-bottom:1px solid var(--border-soft)}.finance-item:last-child,.finance-item:nth-last-child(2){border-bottom:none}.finance-label{font-size:12.5px;color:var(--text-muted);font-weight:700}.finance-value{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px;letter-spacing:-.01em}.finance-value.pos{color:var(--success)}.finance-value.neg{color:var(--danger)}.finance-value.accent{color:var(--accent)}.estimate-list{display:flex;flex-direction:column;gap:8px}.estimate-list-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:10px 12px;cursor:pointer;color:var(--text);text-align:left}.estimate-list-item:hover{border-color:var(--accent);background:var(--accent-soft)}.estimate-table{width:100%;border-collapse:collapse}.estimate-table th,.estimate-table td{padding:10px 8px;font-size:13.5px;border-bottom:1px solid var(--border-soft)}.estimate-table thead th{background:var(--bg-soft);font-weight:700;color:var(--text-muted);text-align:left}.estimate-table td.num{text-align:right;font-variant-numeric:tabular-nums}.estimate-table input,.estimate-table select{width:100%;padding:6px 8px;font-size:13.5px;border:1px solid transparent;background:transparent;border-radius:4px;font-family:inherit}.estimate-table input.num{text-align:right}.estimate-table input:focus,.estimate-table select:focus{outline:none;border-color:var(--accent);background:var(--bg)}.estimate-table .del{color:var(--danger);cursor:pointer;background:none;border:none;font-size:16px}.est-total-row td{border-top:2px solid var(--border);background:var(--bg-soft);font-weight:700}.est-grand-row td{font-size:18px;font-weight:800;color:var(--accent)}.est-item-picker{background:var(--bg-soft);border:1px dashed var(--border);border-radius:8px;padding:14px;margin-top:12px}.est-item-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.est-chip{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text)}.est-chip:hover{border-color:var(--accent);color:var(--accent)}.est-chip-accent{color:var(--accent);border-color:var(--accent)}.estimate-total-card{background:var(--accent-soft);border-color:var(--accent)}.estimate-total-value{font-size:32px;font-weight:800;color:var(--accent)}.invoice-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.invoice-divider{margin:16px 0}.invoice-summary-card{background:var(--accent-soft);border-color:var(--accent)}.invoice-amount{font-size:36px;font-weight:800;color:var(--accent)}.payment-summary-card{background:var(--success-soft);border-color:var(--success);margin:0}.payment-amount{font-size:28px;font-weight:800;color:var(--success)}.pdf-preview{background:#fff;color:#222;max-width:720px;margin:0 auto;padding:40px;border-radius:4px;box-shadow:var(--shadow-lg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Mincho ProN,Yu Mincho,serif}.pdf-preview h1{text-align:center;font-size:26px;margin:0 0 24px;letter-spacing:.3em}.pdf-preview .pdf-meta{display:flex;justify-content:space-between;margin-bottom:20px}.pdf-preview .pdf-customer{font-size:18px;font-weight:700;border-bottom:2px solid #333;padding-bottom:4px}.pdf-preview .pdf-total-box{border:2px solid #333;padding:12px 18px;text-align:right;font-size:22px;font-weight:700;margin:20px 0}.pdf-preview table{width:100%;border-collapse:collapse}.pdf-preview table th,.pdf-preview table td{padding:8px;border:1px solid #999;font-size:13px}.pdf-preview table th{background:#eee}.pdf-preview .pdf-company{margin-top:30px;font-size:13px;text-align:right}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--border)}.timeline-item{position:relative;padding:4px 0 18px}.timeline-item:before{content:"";position:absolute;left:-20px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elev)}.timeline-item .when{font-size:12px;color:var(--text-muted);font-weight:700}.timeline-item .what{font-weight:700;margin-top:2px}.timeline-item .note{font-size:13px;color:var(--text-muted);margin-top:2px}.timeline-clickable{cursor:pointer}.row-arrow{color:var(--text-faint);font-size:16px;text-align:right}table.table tbody tr:hover .row-arrow{color:var(--accent)}.pro-overlay{position:relative;opacity:.55;pointer-events:auto;cursor:pointer}.pro-overlay:after{content:"Pro";position:absolute;top:8px;right:8px;background:var(--pro);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.05em}.pro-tag{display:inline-block;background:var(--pro);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}.photo-tile{border:1px dashed var(--border);border-radius:8px;padding:16px;text-align:center}.photo-icon{font-size:28px}.check-row{display:flex;align-items:center;gap:8px;font-weight:600;padding:10px 0}.search-input{width:240px}.delay-text{color:var(--danger);margin-left:8px}.section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin:24px 0 12px;color:var(--text)}.section-title:first-of-type{margin-top:0}.section-title-icon{font-size:18px}.section-title-sub{margin-left:8px;font-size:12px;color:var(--text-muted);font-weight:600}.attention-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.attention-card{background:var(--bg-elev);border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius);padding:16px;cursor:pointer;transition:all .15s;position:relative;text-align:left;color:var(--text)}.attention-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.attention-card.danger{border-left-color:var(--danger)}.attention-card.danger .attn-value{color:var(--danger)}.attention-card.warn{border-left-color:var(--warning)}.attention-card.warn .attn-value{color:var(--warning)}.attention-card.info{border-left-color:var(--accent)}.attention-card.info .attn-value{color:var(--accent)}.attn-label{font-size:12.5px;color:var(--text-muted);font-weight:700}.attn-value{font-size:26px;font-weight:800;margin:4px 0;font-variant-numeric:tabular-nums}.attn-unit{font-size:13px;font-weight:600;color:var(--text-muted);margin-left:2px}.attn-sub{font-size:12px;color:var(--text-muted);line-height:1.4}.attn-arrow{position:absolute;top:16px;right:14px;color:var(--text-faint);font-size:14px}.kpi-grid,.kpi-grid-5{display:grid;gap:12px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.kpi-grid-5{grid-template-columns:repeat(5,1fr)}.kpi{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;text-align:left;color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer}.kpi:hover{box-shadow:var(--shadow-md)}.kpi .label{color:var(--text-muted);font-size:12.5px;font-weight:700}.kpi .value{font-size:30px;line-height:1.1;font-weight:800;margin-top:8px;font-variant-numeric:tabular-nums}.kpi .unit{font-size:13px;font-weight:600;color:var(--text-muted);margin-left:2px}.kpi .delta{color:var(--success);font-size:12px;font-weight:700;margin-top:8px}.kpi .delta.down{color:var(--danger)}.kpi.warn{border-left:4px solid var(--warning)}.kpi.alert{border-left:4px solid var(--danger)}.kpi-primary,.kpi.primary{background:linear-gradient(135deg,var(--accent-soft),var(--bg-elev));border-color:var(--accent)}.target-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px;gap:16px}.target-current{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.target-current .text-sm{font-weight:600}.target-percent{font-size:40px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.target-percent .percent-sign{font-size:20px;margin-left:2px}.target-percent.over{color:var(--success)}.target-bar{height:14px;background:var(--bg-sub);border-radius:8px;overflow:hidden;margin-bottom:14px}.target-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--accent),#4A8BD9);transition:width .3s ease}.target-fill.over{background:linear-gradient(90deg,var(--success),#38B47C)}.target-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:12px;border-top:1px solid var(--border-soft)}.target-metric{text-align:center}.tm-label{font-size:12px;color:var(--text-muted);font-weight:700;margin-bottom:4px}.tm-value{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.tm-value .unit{font-size:12px;color:var(--text-muted);font-weight:600;margin-left:2px}.chart-wrap{overflow-x:auto}.sales-chart{width:100%;min-width:520px;height:220px;display:block}.chart-legend{display:flex;justify-content:center;gap:20px;padding:8px 0 0;font-size:12px;color:var(--text-muted);font-weight:600}.chart-legend-item{display:flex;align-items:center;gap:6px}.chart-legend-swatch{width:20px;height:3px;border-radius:2px;display:inline-block}.chart-legend-swatch.actual{background:var(--accent)}.chart-legend-swatch.target{background:var(--warning);background-image:repeating-linear-gradient(90deg,var(--warning) 0,var(--warning) 4px,transparent 4px,transparent 7px);height:2px}.chart-legend-swatch.previous{background-image:repeating-linear-gradient(90deg,var(--text-faint) 0,var(--text-faint) 3px,transparent 3px,transparent 6px);height:2px}.today-site-card{background:linear-gradient(135deg,var(--accent-soft),var(--bg-elev) 70%);border:2px solid var(--accent);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.today-site-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.today-site-title{margin:4px 0 6px;font-size:22px;font-weight:800}.today-site-addr{color:var(--text-muted);font-size:14px;margin-bottom:20px}.site-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.site-action-btn{background:var(--bg-elev);border:2px solid var(--border);border-radius:12px;padding:18px 8px;font-weight:800;font-size:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text);transition:all .15s;min-height:80px}.site-action-btn:hover{border-color:var(--accent)}.site-action-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-md)}.site-action-btn.done{background:var(--success-soft);border-color:var(--success);color:var(--success)}.site-action-icon{font-size:26px}.site-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:var(--bg-elev);border-radius:10px;padding:16px;border:1px solid var(--border)}.site-info-item{padding:6px 4px}.sii-label{font-size:12px;color:var(--text-muted);font-weight:700;margin-bottom:4px}.sii-value{font-size:14px;font-weight:600;line-height:1.5}.site-card-actions{margin-top:16px;justify-content:center}.material-shortage-item,.site-list-item{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-soft)}.site-list-item{cursor:pointer}.site-list-item:hover{background:var(--bg-soft)}.material-shortage-item:last-child,.site-list-item:last-child{border-bottom:none}.list-card{padding:0}.borderless{border:none}.empty-row{padding:24px 20px;color:var(--text-muted);text-align:center}.office-side-kpi{padding:20px}.follow-total{display:flex;align-items:baseline;gap:8px}.follow-total div{font-size:36px;font-weight:800;color:var(--accent)}.follow-total span{color:var(--text-muted)}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.text-sm{font-size:13px}.text-muted{color:var(--text-muted)}.fw-700{font-weight:700}.num{font-variant-numeric:tabular-nums}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#eaf2fb,#f5f8fc);padding:24px}.login-card{background:var(--bg-elev);border-radius:16px;padding:40px;max-width:400px;width:100%;box-shadow:var(--shadow-lg)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-brand .mark{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#2C7BC4);color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px}.login-brand .name{font-size:20px;font-weight:800}.login-brand .sub{font-size:12px;color:var(--text-muted)}.phase-card p{margin:0;color:var(--text-muted)}.phase-card p+p{margin-top:12px}.field-note{color:var(--accent)!important;font-weight:700}.hiroba{background:linear-gradient(120deg,var(--hiroba-soft) 0%,#FFF8F4 100%);border:1px solid #F0A575;border-radius:var(--radius-lg);padding:28px 32px;display:flex;gap:24px;align-items:center;margin-bottom:24px}.badge-new{display:inline-block;background:var(--hiroba);color:#fff;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:800}.hiroba-visual{font-size:56px;width:88px;height:88px;display:grid;place-items:center;background:#ffffffa6;border-radius:50%}.hiroba-body{flex:1}.hiroba-title{font-size:22px;font-weight:800;color:#7a2a00;margin:6px 0 4px}.hiroba-desc{color:#8b4720;font-size:14px;margin-bottom:12px}.hiroba-actions{display:flex;gap:10px;flex-wrap:wrap}.hiroba-actions .btn-ghost{background:#ffffffb3;border-color:#f0a575;color:#7a2a00}.hiroba-btn,.hiroba-actions .btn-primary{background:var(--hiroba-strong);color:#fff}.hiroba-btn:hover,.hiroba-actions .btn-primary:hover{background:#8f2e01}.hiroba-mini{background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--hiroba);border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:12px;margin-bottom:16px;cursor:pointer}.hiroba-mini-icon{font-size:20px}.hiroba-mini .hm-title{font-weight:700;font-size:13.5px}.hiroba-mini .hm-sub{font-size:12px;color:var(--text-muted)}.hiroba-half{background:linear-gradient(120deg,var(--hiroba-soft),transparent);border:1px solid #F0A575;border-left:5px solid var(--hiroba-strong);border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;cursor:pointer}.hiroba-half .hh-icon{font-size:32px}.hiroba-half .hh-body{flex:1;min-width:200px}.hiroba-half .hh-title{font-weight:800;font-size:16px;color:#7a2a00}.hiroba-half .hh-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.demo-switch{background:var(--bg-soft);color:var(--text-muted)}.demo-switch-btn{padding:4px 10px;margin-left:8px}.hiroba-benefit{background:linear-gradient(120deg,var(--hiroba-soft),transparent);border-color:#f0a575;padding:32px;margin-bottom:20px}.hiroba-benefit-title{color:#7a2a00}.hiroba-benefit-value{font-size:28px;font-weight:800;color:var(--hiroba-strong)}.hiroba-joined-pill{font-size:13px;padding:6px 14px}.hiroba-new-pill{margin-left:6px}.hiroba-case-row{padding:18px 4px;border-bottom:1px solid var(--border-soft);display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.hiroba-case-row:last-child{border-bottom:none}.hiroba-case-title-row{gap:8px}.hiroba-new-label{font-size:10px}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:900px;margin:0 auto}.price-card{background:var(--bg-elev);border:2px solid var(--border);border-radius:16px;padding:32px}.price-card.recommended{border-color:var(--accent);position:relative}.price-card .badge-recommended{position:absolute;top:-12px;left:24px;background:var(--accent);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.price-card .plan-name{font-size:20px;font-weight:800}.price-card .plan-price{font-size:36px;font-weight:800;margin:12px 0;font-variant-numeric:tabular-nums}.price-card .plan-price .yen{font-size:20px}.price-card .plan-price .per{font-size:14px;color:var(--text-muted);font-weight:600}.price-card ul{list-style:none;padding:0;margin:20px 0}.price-card ul li{padding:6px 0;font-size:14px}.price-card ul li:before{content:"✓  ";color:var(--success);font-weight:800}.price-card ul li.muted{color:var(--text-faint)}.price-card ul li.muted:before{content:"×  ";color:var(--text-faint)}.inline-feature{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer;text-align:left}.pricing-note{max-width:900px;margin-left:auto;margin-right:auto}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.industry-card{background:var(--bg-elev);border:2px solid var(--border);border-radius:12px;padding:20px;text-align:center;cursor:pointer;font-weight:700;transition:all .15s;color:var(--text)}.industry-card .emoji{font-size:32px;display:block;margin-bottom:8px}.industry-card:hover{border-color:var(--accent)}.industry-card.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.settings-stack{max-width:900px}.empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty .icon{font-size:48px;margin-bottom:12px}.text-lg{font-size:17px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.topbar{flex-wrap:wrap}main.content{padding:20px 16px 48px}.grid-2,.grid-3{grid-template-columns:1fr}.attention-grid,.kpi-grid,.kpi-grid-5{grid-template-columns:repeat(2,1fr)}.target-metrics{grid-template-columns:1fr;gap:8px}.target-metric{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--border-soft)}.site-actions{grid-template-columns:repeat(2,1fr)}.site-info-grid{grid-template-columns:1fr}.today-site-card{padding:16px}.today-site-title{font-size:18px}.form-row{grid-template-columns:1fr;gap:6px}.form-row .form-label{padding-top:0}.detail-header{grid-template-columns:1fr}.flow{display:none}.flow-sp{display:flex}.finance-grid{grid-template-columns:1fr}.hiroba,.hiroba-half{flex-direction:column;align-items:stretch;text-align:left}.hiroba-case-row,.pricing-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:repeat(2,1fr)}.finance-item[style]{grid-column:auto!important}.search-input{width:100%}.pdf-preview{padding:24px}.pdf-preview .pdf-meta{gap:16px;flex-direction:column}}@media print{body{background:#fff}body *{visibility:hidden}.pdf-preview,.pdf-preview *{visibility:visible}.pdf-preview{position:absolute;left:0;top:0;width:210mm;max-width:none;min-height:297mm;margin:0;padding:18mm;border-radius:0;box-shadow:none}.print-hidden{display:none!important}@page{size:A4;margin:0}}
