@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color:#eef1f6;--bg-secondary:#fafafa;--surface-color:#fff;--surface-border:#cbd5e1;--surface-border-soft:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--brand-ink:#0f172a;--brand-accent:#14b8a6;--brand-accent-soft:#ccfbf1;--accent-color:#4f46e5;--accent-color-hover:#4338ca;--accent-tab:#0f172a;--accent-underline:#14b8a6;--danger-color:#dc2626;--success-color:#059669;--warn-color:#d97706}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-color);background-image:linear-gradient(180deg, #f6f8fb 0%, var(--bg-color) 38%);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.4}.pfsim-logo-area{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.pfsim-logo{background:var(--brand-ink);border-radius:10px;flex-shrink:0;width:36px;height:36px;position:relative;box-shadow:0 2px 8px #0f172a40}.pfsim-logo:after{content:"";background:var(--brand-accent);border-radius:50%;width:9px;height:9px;position:absolute;top:9px;left:9px;box-shadow:0 0 9px #14b8a6cc}.pfsim-brand-name{letter-spacing:-.025em;color:var(--brand-ink);white-space:nowrap;font-size:1.45rem;font-weight:800;line-height:1}.pfsim-brand-sub{color:var(--text-muted);white-space:nowrap;letter-spacing:.01em;font-size:.92rem;font-weight:600}.pfsim-meta-cluster{flex-wrap:wrap;align-items:center;gap:1.1rem;min-width:0;display:flex}.pfsim-meta-item{flex-direction:column;align-items:flex-start;gap:1px;line-height:1.1;display:flex}.pfsim-meta-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:700}.pfsim-meta-value{color:var(--text-secondary);white-space:nowrap;font-size:.82rem;font-weight:700}.pfsim-meta-value.is-saved{color:var(--success-color)}.pfsim-meta-dot{background:var(--success-color);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.pfsim-userbar{color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;min-width:0;margin-bottom:.6rem;font-size:.78rem;font-weight:600;display:flex}.pfsim-app-header{background:var(--surface-color);border:1px solid var(--surface-border-soft);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.75rem;padding:.9rem 1.5rem;display:flex;box-shadow:0 1px 3px #0f172a0a,0 10px 30px -16px #0f172a2e}.pfsim-userbar-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pfsim-logout-btn{border:1px solid var(--danger-color);color:var(--danger-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex-shrink:0;padding:.3rem .6rem;font-family:inherit;font-size:.7rem;font-weight:600}.pfsim-logout-btn:hover{background:#dc262614}.pfsim-action-toolbar{background:var(--surface-color);border:1px solid var(--surface-border-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .85rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.pfsim-tool-btn{border:1px solid var(--surface-border);background:var(--surface-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.3rem;padding:.36rem .7rem;font-family:inherit;font-size:.76rem;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.pfsim-tool-btn:hover{background:#f8fafc;border-color:#94a3b8}.pfsim-tool-btn--accent{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff;font-weight:800}.pfsim-tool-btn--accent:hover{background:#1e293b;border-color:#1e293b}.pfsim-tool-sep{background:var(--surface-border-soft);align-self:stretch;width:1px;min-height:1.4rem;margin:0 .15rem}.pfsim-tool-admin-label{color:var(--text-muted);letter-spacing:.04em;white-space:nowrap;font-size:.64rem;font-weight:800}.pfsim-memo-btn{border:1px solid var(--surface-border);background:var(--surface-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:7px;align-self:center;padding:.2rem .55rem;font-family:inherit;font-size:.72rem;font-weight:700}.pfsim-memo-btn:hover{background:#f8fafc;border-color:#94a3b8}.pfsim-unit-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin:.15rem 0 .65rem;display:flex}.pfsim-proposal-bar{background:var(--surface-color);border:1px solid var(--surface-border-soft);border-radius:16px;margin-bottom:.75rem;padding:.9rem 1.4rem .7rem;box-shadow:0 1px 3px #0f172a0a,0 10px 30px -18px #0f172a2e}.pfsim-proposal-head{border-bottom:1px solid var(--surface-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding-bottom:.75rem;display:flex}.pfsim-proposal-title{flex-wrap:wrap;align-items:baseline;gap:.5rem;min-width:0;display:flex}.pfsim-proposal-client{color:var(--text-primary);letter-spacing:-.01em;font-size:1.2rem;font-weight:800}.pfsim-proposal-plan{color:var(--text-secondary);letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.pfsim-title-select{appearance:none;letter-spacing:0;color:var(--text-primary);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .35rem center;background-repeat:no-repeat;background-size:.6rem;border:1px solid #0000;border-radius:7px;align-items:center;max-width:20rem;padding:.2rem 1.05rem .2rem .4rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background-color .12s,border-color .12s;display:inline-flex;overflow:hidden}.pfsim-title-select--plan{color:var(--text-secondary);font-weight:600}.pfsim-title-select:hover{border-color:var(--surface-border-soft);background-color:#f1f5f9}.pfsim-title-select:focus{border-color:var(--brand-accent);background-color:#f1f5f9;outline:none;box-shadow:0 0 0 2px #14b8a638}.pfsim-proposal-suffix{color:var(--text-primary);align-self:center;font-size:.85rem;font-weight:600}.pfsim-plan-pop{z-index:40;background:var(--surface-color);border:1px solid var(--surface-border);border-radius:10px;min-width:20rem;max-width:28rem;max-height:22rem;padding:.3rem;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 10px 30px -8px #0f172a47}.pfsim-plan-empty{color:var(--text-muted);text-align:center;padding:.7rem .6rem;font-size:.8rem}.pfsim-plan-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:.6rem;width:100%;padding:.4rem .55rem;font-family:inherit;display:flex}.pfsim-plan-row:hover{background:#f1f5f9}.pfsim-plan-row.is-current{background:var(--brand-accent-soft)}.pfsim-plan-row-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.85rem;font-weight:700;overflow:hidden}.pfsim-plan-row-client{color:var(--text-muted);font-weight:500}.pfsim-plan-row-meta{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pfsim-plan-row-date{color:var(--text-muted);white-space:nowrap;font-size:.72rem}.pfsim-status-pill{white-space:nowrap;border-radius:999px;align-self:center;padding:.18rem .6rem;font-size:.72rem;font-weight:800}.pfsim-proposal-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pfsim-btn-outline,.pfsim-btn-solid,.pfsim-btn-ghost{letter-spacing:.01em;cursor:pointer;white-space:nowrap;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;height:2.1rem;padding:0 .85rem;font-family:inherit;font-size:.74rem;font-weight:800;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.pfsim-btn-outline{background:var(--surface-color);color:var(--text-secondary);border:1px solid var(--surface-border)}.pfsim-btn-outline:hover{background:#f8fafc;border-color:#94a3b8}.pfsim-btn-solid{background:var(--brand-ink);color:#fff;border:1px solid var(--brand-ink)}.pfsim-btn-solid:hover{background:#1e293b}.pfsim-btn-ghost{color:var(--text-muted);border:1px dashed var(--surface-border);background:0 0}.pfsim-btn-ghost:hover{color:var(--text-secondary);background:#f8fafc;border-color:#94a3b8}.pfsim-tab-strip{border-bottom:1px solid var(--surface-border-soft);flex-wrap:wrap;align-items:stretch;gap:.4rem;margin:.85rem 0 0;padding:0 .4rem;display:flex}.pfsim-tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;border-radius:0;flex:none;margin-bottom:-1px;padding:.55rem 1rem .7rem;font-family:inherit;font-size:.88rem;font-weight:600;transition:color .15s,border-color .15s;position:relative}.pfsim-tab:hover:not(.is-active){color:var(--text-secondary)}.pfsim-tab.is-active{color:var(--accent-tab);border-bottom-color:var(--accent-underline);font-weight:800}.pfsim-card-tabbed{background:var(--surface-color);border:1px solid var(--surface-border-soft);border-radius:16px;margin-top:.85rem;padding:1.1rem 1.35rem 1.35rem;box-shadow:0 1px 3px #0f172a0a,0 14px 34px -20px #0f172a33}.pfsim-flat-input,.pfsim-flat-select{width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:.3rem .4rem;font-family:inherit;font-size:.8rem;transition:background 80ms,border-color 80ms,box-shadow 80ms}.pfsim-flat-input:hover:not(:focus):not(:disabled),.pfsim-flat-select:hover:not(:focus):not(:disabled){cursor:text;background:#eff6ff;border-color:#bae6fd}.pfsim-flat-select:hover:not(:focus):not(:disabled){cursor:pointer}.pfsim-flat-input:focus,.pfsim-flat-select:focus{background:#fff;border-color:#0284c7;box-shadow:0 0 0 1px #0284c72e}.pfsim-flat-input.text-right{text-align:right}.pfsim-flat-input.invalid{background:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 1px #dc26262e}.pfsim-flat-select{appearance:none;background-image:none;padding-right:.4rem}.pfsim-sticky-summary{z-index:9;background:var(--surface-color);margin:-.25rem -1.25rem .6rem;padding:.25rem 1.25rem .4rem;position:sticky;top:0;box-shadow:0 2px 6px -2px #0f172a0f}.pfsim-grid-thead,.pfsim-grid-thead tr{background-color:#f1f5f9!important}.pfsim-grid-thead th{z-index:10;position:sticky;top:0;box-shadow:inset 0 -1px #e2e8f0,inset 0 1px #fff;background-color:#f1f5f9!important;background-image:none!important}.pfsim-grid-thead+tbody td{z-index:0;position:relative}.pfsim-input-tbody tr:hover{background-color:#fef9c3!important}.pfsim-input-tbody td{white-space:nowrap;line-height:1.5;padding-top:.25rem!important;padding-bottom:.25rem!important}.pfsim-input-tbody .pfsim-flat-input,.pfsim-input-tbody .pfsim-flat-select{padding-top:.2rem;padding-bottom:.2rem}.pfsim-ov-row:hover{background-color:#fef9c3!important}.pfsim-sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.pfsim-sortable-th:hover{color:#0284c7}.pfsim-sortable-th .sort-indicator{color:#94a3b8;margin-left:4px;font-size:.7em;display:inline-block}.pfsim-sortable-th.active .sort-indicator{color:#0284c7}.disclaimer-area{background:var(--surface-color);border:1px solid var(--surface-border);border-radius:8px;margin-top:1.5rem;padding:1rem}.disclaimer-area h4{color:var(--text-secondary);margin:0 0 .75rem;font-size:.9rem}.disclaimer-area p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8rem;line-height:1.6}.disclaimer-area p:last-child{margin:0}.print-only{display:none}@media print{@page{size:A4 landscape;margin:15mm 12mm 14mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.pfsim-editor-content{display:none!important}.print-only{display:block!important}html,body{background:#fff!important;margin:0!important;padding:0!important}.pfsim-card-tabbed,.pfsim-sticky-summary{height:auto!important;max-height:none!important;box-shadow:none!important;position:static!important;overflow:visible!important}[role=dialog],.pfsim-toast{display:none!important}.print-header-bar{background:#fff;border-bottom:.4mm solid #1e293b;justify-content:space-between;align-items:baseline;padding:4mm 12mm 3mm;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.print-header-bar .print-header-title{color:#475569;font-size:9pt;font-weight:700}.print-header-bar .print-header-right{flex-direction:column;align-items:flex-end;gap:.5mm;display:flex}.print-header-bar .print-header-company{color:#0f172a;letter-spacing:.01em;font-size:11pt;font-weight:700;line-height:1.1}.print-header-bar .print-header-date{color:#64748b;font-size:8pt;line-height:1.1}.print-content-pad{padding-top:14mm}.print-disclaimer-page{page-break-before:always;padding:0 4mm}.print-disclaimer-page h2{color:#0f172a;border-bottom:.3mm solid #cbd5e1;margin:0 0 6mm;padding-bottom:2mm;font-size:14pt;font-weight:700}.print-disclaimer-page .print-disclaimer-body{color:#1e293b;white-space:pre-wrap;text-align:justify;font-size:10pt;line-height:1.85}tr,.pfsim-row,.pfsim-card-tabbed>*,.pfsim-section,.print-section{page-break-inside:avoid}.print-report .recharts-responsive-container,.print-report svg{max-width:100%!important}.print-report>.print-section>*{page-break-inside:avoid}}
