:root{--bg: #f4f6f8;--card: #ffffff;--line: #d8dee4;--ink: #1f2933;--muted: #6b7884;--accent: #3e5c8a;--ok: #047857;--skip: #b45309;--err: #b91c1c}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}.app-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.main-col{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-area{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:264px;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .2s ease;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left)}.sidebar.open{transform:translate(0);box-shadow:0 10px 40px #0000002e}.nav-overlay{position:fixed;inset:0;z-index:30;background:#0f172a73}.sidebar-head{display:flex;align-items:center;gap:10px;padding:16px 14px;border-bottom:1px solid var(--line)}.bmark{border-radius:9px;flex-shrink:0}.brand-text{line-height:1.25;min-width:0}.brand-name{font-weight:700;font-size:14px;color:var(--ink)}.brand-sub{font-size:10px;color:var(--muted);white-space:nowrap}.nav-close{margin-left:auto;background:transparent;color:var(--muted);font-size:22px;padding:2px 8px;line-height:1}.nav-close:hover{background:#eef2f6;filter:none}.side-nav{flex:1;padding:10px;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.navitem{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;text-align:left;white-space:nowrap}.navitem:hover{background:#f1f5f4;filter:none}.navitem.active{background:#e8edf4;color:var(--accent);font-weight:700}.navitem svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.sidebar-foot span{font-weight:700;color:var(--ink);font-size:15px}.mobile-topbar{display:flex;align-items:center;gap:10px;flex-shrink:0;height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:var(--card);border-bottom:1px solid var(--line)}.nav-toggle{background:transparent;color:var(--ink);padding:6px;margin-left:-4px}.nav-toggle:hover{background:#eef2f6;filter:none}.nav-toggle svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.top-help{margin-left:auto;display:flex;align-items:center;gap:5px;flex-shrink:0;background:#e8edf4;color:var(--accent);font-weight:700;font-size:13px;padding:6px 11px;border-radius:8px}.top-help:hover{background:#dde5f0;filter:none}.top-help svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}@media (min-width: 768px) and (min-height: 600px){.sidebar{position:static;transform:none;z-index:auto;width:232px;box-shadow:none}.nav-close{display:none}.mobile-topbar{position:fixed;top:10px;right:14px;height:auto;padding:0;background:transparent;border:none;z-index:20}.mobile-topbar .nav-toggle,.mobile-topbar .bmark,.mobile-topbar .brand-name{display:none}.nav-overlay{display:none!important}}.panel{display:none;padding:22px;max-width:1000px;margin:0 auto}.panel.active{display:block}h2{font-size:16px;margin:0 0 14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.row input[type=text]{flex:1;min-width:240px}input[type=text],input:not([type]),textarea{padding:9px 11px;border:1px solid var(--line);border-radius:7px;font-size:14px;background:#fff;width:100%}input[type=file]{font-size:13px}button{padding:9px 16px;border:none;border-radius:7px;background:var(--accent);color:#fff;font-size:14px;cursor:pointer;white-space:nowrap}button:hover{filter:brightness(1.06)}button:disabled{background:#aebfd6;cursor:not-allowed}button.secondary{background:#e2e8f0;color:var(--ink)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:8px;background:var(--card);padding:18px;border:1px solid var(--line);border-radius:10px}.grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.grid label input{color:var(--ink)}.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:14px;margin-top:4px}.status{font-size:13px;color:var(--muted);min-height:18px;margin:6px 0}.status.err{color:var(--err)}.status.ok{color:var(--ok)}details{margin-top:16px}summary{cursor:pointer;color:var(--muted);font-size:13px}textarea{margin-top:8px;height:200px;font-family:ui-monospace,monospace;font-size:12px;resize:vertical}.hint{font-size:13px;color:var(--muted);line-height:1.6}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;align-items:center;min-width:110px;font-size:12px;color:var(--muted)}.stat .num{font-size:26px;font-weight:700;color:var(--ink)}.stat.ok .num{color:var(--ok)}.stat.skip .num{color:var(--skip)}.stat.err .num{color:var(--err)}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:12px}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}th{background:#eef2f6;color:var(--muted);font-weight:600}tr:last-child td{border-bottom:none}td a{color:var(--accent);text-decoration:none}td a:hover{text-decoration:underline}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.badge.ok{background:#d1fae5;color:var(--ok)}.badge.skip{background:#fef3c7;color:var(--skip)}.badge.error{background:#fee2e2;color:var(--err)}.del{background:transparent;color:var(--err);padding:4px 8px;font-size:12px}.del:hover{background:#fee2e2}.rowact{white-space:nowrap}.detail{background:#e2e8f0;color:var(--ink);padding:4px 10px;font-size:12px;margin-right:4px}.detail:hover{background:#cdd8e6}.hidden{display:none!important}.empty{padding:20px;text-align:center;color:var(--muted)}.qhead{grid-template-columns:1fr 1fr 1fr}.staffrow{display:flex;gap:6px;align-items:center}.staffrow select{flex:1;min-width:120px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;font-size:14px;background:#fff}.staffrow input{flex:1;min-width:100px}.staffrow button{padding:8px 12px}label.block{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);margin-top:14px}table.qitems{margin-top:16px}table.qitems th{font-size:12px}table.qitems td{padding:5px 6px}table.qitems input{padding:7px 8px}.qi-no{width:130px}.qi-qty,.qi-price{text-align:right}.qi-qty{width:80px}.qi-unit{width:70px}.qi-price{width:110px}.qi-amount{display:inline-block;min-width:90px;text-align:right;font-variant-numeric:tabular-nums}.qi-del{background:transparent;color:var(--err);padding:4px 9px;font-size:16px;line-height:1}.qi-del:hover{background:#fee2e2}.qtotals{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:16px 4px;font-size:14px;color:var(--muted)}.qtotals span{display:inline-block;min-width:130px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.qtotals .grand{font-size:18px;color:var(--ink);font-weight:700;border-top:2px solid var(--ink);padding-top:6px;margin-top:2px}.pdfframe{width:100%;height:620px;border:1px solid var(--line);border-radius:10px;margin-top:16px;background:#fff}.modal{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto;z-index:50}.modal-box{background:var(--card);border-radius:12px;padding:24px 26px;max-width:760px;width:100%;position:relative;box-shadow:0 20px 50px #00000040}.modal-box h3{margin:0 0 16px;font-size:17px}.modal-box h4{margin:20px 0 8px;font-size:14px}.modal-close{position:absolute;top:14px;right:16px;background:transparent;color:var(--muted);font-size:22px;padding:2px 8px}.modal-close:hover{background:#eef2f6}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:14px}.detail-meta div{display:flex;gap:8px}.detail-meta .k{color:var(--muted);min-width:64px}.detail-quotes th,.detail-quotes td{font-size:13px}:root{--accent: #3e5c8a}.panel{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.qtotals .grand span{color:var(--accent)}input[type=file]{max-width:100%}.linklike{background:transparent;color:var(--accent);padding:0;font-size:13px;text-decoration:none;cursor:pointer}.linklike:hover{text-decoration:underline;background:transparent}#authScreen{position:fixed;inset:0;z-index:100;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(135deg,#eff6ff,#e0e7ff)}.auth-outer{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:28px}.auth-logo{border-radius:16px;box-shadow:0 8px 24px #0f172a26;display:inline-block}.auth-title{font-weight:800;font-size:22px;color:#1f2937;margin-top:14px}.auth-tag{font-size:13px;color:#6b7280;margin-top:4px}.auth-card{width:100%;background:#fff;border-radius:20px;padding:32px;box-shadow:0 20px 60px #0f172a26}.auth-loading{text-align:center;color:var(--muted);padding:24px 0;font-size:14px}.auth-form h2{font-size:17px;font-weight:600;color:#1f2937;margin:0 0 20px}.auth-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.auth-field label{font-size:13px;font-weight:500;color:#374151}.auth-field input{padding:9px 12px;border:1px solid #d1d5db;border-radius:9px;font-size:14px;background:#fff;color:var(--ink);width:100%;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.auth-form>button[type=submit]{width:100%;padding:11px;font-size:14px;font-weight:700;background:#2563eb;color:#fff;border:none;border-radius:9px;cursor:pointer;margin-top:6px;transition:background .15s}.auth-form>button[type=submit]:hover{background:#1d4ed8}.auth-err{color:var(--err);font-size:12px;min-height:16px;margin:2px 0 6px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:6px 10px;display:none}.auth-err:not(:empty){display:block}.auth-register-link{text-align:center;margin:14px 0 0}.auth-toggle{background:transparent;border:none;font-size:13px;color:#6b7280;cursor:pointer;padding:0}.auth-toggle-accent{color:#2563eb;font-weight:600}.auth-toggle:hover .auth-toggle-accent{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.auth-divider span{font-size:12px;color:#9ca3af}.auth-demo{width:100%;padding:11px;font-size:13px;font-weight:700;background:#fffbeb;color:#92400e;border:2px solid #fcd34d;border-radius:9px;cursor:pointer;transition:background .15s}.auth-demo:hover{background:#fef3c7;filter:none}.auth-note{font-size:11px;color:#9ca3af;text-align:center;margin:8px 0 0}.auth-footer-note{font-size:12px;color:#9ca3af;text-align:center;margin:20px 0 8px}.auth-footer-links{display:flex;justify-content:center;gap:16px}.auth-footer-links a{font-size:12px;color:#9ca3af;text-decoration:none}.auth-footer-links a:hover{color:#6b7280;text-decoration:underline}.sidebar-user{padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.su-email{font-size:12px;color:var(--muted);padding:4px 6px 6px;word-break:break-all}.su-demo{font-size:12px;color:var(--skip);background:#fef3c7;border-radius:7px;padding:6px 8px;margin-bottom:4px;text-align:center;font-weight:600}.su-btn{width:100%;text-align:left;background:transparent;color:var(--muted);font-size:13px;padding:8px;border-radius:8px}a.su-btn{display:block;text-decoration:none;box-sizing:border-box}.su-btn:hover{background:#f1f5f4;filter:none;color:var(--ink)}.su-btn.danger{color:#b91c1c}.su-btn.danger:hover{background:#fee2e2;color:#b91c1c}#planScreen{position:fixed;inset:0;z-index:100;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(900px 420px at 80% -10%,rgba(13,148,136,.1),transparent 60%),radial-gradient(700px 360px at 0% 0%,rgba(20,184,166,.1),transparent 60%),#f4fbfa}.plan-card{max-width:440px}.plan-status{margin:4px 0 16px;font-size:14px}.plan-status p{margin:8px 0 0;color:var(--muted);font-size:13px}.pl-badge{display:inline-block;font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;background:#e8edf4;color:var(--accent)}.pl-badge.ok{background:#d1fae5;color:var(--ok)}.pl-badge.warn{background:#fef3c7;color:var(--skip)}.pl-grid{display:flex;gap:12px;margin:4px 0 14px}.pl-card{flex:1;border:1px solid var(--line);border-radius:12px;padding:16px 14px;text-align:center;background:#fff}.pl-name{font-size:13px;color:var(--muted)}.pl-price{font-size:24px;font-weight:800;color:var(--ink);margin-top:4px}.pl-price span{font-size:12px;font-weight:500;color:var(--muted);margin-left:3px}.pl-tag{margin-top:6px;font-size:11px;color:var(--accent);background:#e8edf4;border-radius:999px;padding:2px 8px;display:inline-block}.pl-cta{display:block;text-align:center;background:var(--accent);color:#fff;font-weight:700;padding:12px;border-radius:10px;text-decoration:none}.pl-cta:hover{filter:brightness(1.06)}.pl-fine{font-size:11px;color:var(--muted);margin:8px 0 0;text-align:center}.pl-native{font-size:13px;color:var(--muted);text-align:center;padding:12px 0;line-height:1.7}.plan-actions{display:flex;flex-direction:column;gap:4px;margin-top:16px}.plan-actions .su-btn{text-align:center}.plan-actions .pl-back{background:#e8edf4;color:var(--accent);font-weight:700}.su-plan{font-size:11px;font-weight:600;padding:4px 8px;border-radius:7px;background:#e8edf4;color:var(--accent);text-align:center;margin:2px 0}.su-plan.ok{background:#d1fae5;color:var(--ok)}.su-plan.warn{background:#fef3c7;color:var(--skip)}.pl-buy{cursor:pointer;background:#fff;white-space:normal;transition:border-color .15s,box-shadow .15s}.pl-buy:hover{border-color:var(--accent);box-shadow:0 4px 14px #0f766e1f;filter:none}.pl-buy:disabled{opacity:.55;cursor:default}.pl-go{margin-top:10px;font-size:12px;font-weight:700;color:var(--accent)}.pl-thanks{font-size:13px;color:var(--muted);text-align:center;margin:6px 0 12px}.reg-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 14px}.reg-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px}.reg-steps .rs-no{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#cbd5e1;color:#fff;font-weight:700;font-size:12px;flex:none}.reg-steps li.active{color:var(--accent);background:#e6f6f3;border-color:#99e2d8;font-weight:700}.reg-steps li.active .rs-no,.reg-steps li.done .rs-no{background:var(--accent)}.reg-steps li.done{color:var(--accent)}.help-intro{margin:0 0 18px}.help-block{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}.help-block h3{font-size:15px;margin:0 0 8px;color:var(--ink)}.help-block>.hint{margin:0 0 10px}.help-steps{flex-direction:column;flex-wrap:nowrap;gap:6px;margin:0 0 8px}.help-steps li{border-radius:9px;align-items:flex-start;padding:8px 12px;line-height:1.5}.help-steps .rs-no{background:var(--accent)}.help-steps .rs-txt{padding-top:1px}.help-tip{margin:6px 0 0}.qi-hint{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.qi-apply{font-size:11px;padding:2px 8px;border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:999px;cursor:pointer}.qi-apply:hover{background:#e6f6f3}.qi-sub{font-size:11px;color:var(--muted)}.qfees{margin-top:16px;border-top:1px dashed #cbd5e1;padding-top:12px}.qfees h3{font-size:14px;margin:0 0 10px;color:#334155}.qfee{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.qfee .qf-label{width:64px;font-weight:600;color:#334155}.qfee .qf-n,.qfee .qf-u{width:116px}.qfee .qf-n:disabled,.qfee .qf-u:disabled{background:#f1f5f9;color:#94a3b8}.qfee .qf-amt{min-width:96px;text-align:right;font-weight:700}.qfee .qf-formula{flex-basis:100%;font-size:12px;color:var(--muted);padding-left:72px}.qt-fee{color:#475569}.qd-totals{margin:14px 0 0 auto;max-width:360px}.qd-line{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}.qd-line span:last-child{font-variant-numeric:tabular-nums}.qd-sub{text-align:right;font-size:12px;color:var(--muted);margin-top:-2px}.qd-grand{border-top:1px solid #cbd5e1;margin-top:6px;padding-top:8px;font-weight:700;font-size:16px}.qd-note{margin-top:12px}.qd-note p{font-size:13px;color:#334155}.qrow-actions{display:flex;flex-wrap:wrap;gap:8px}.qi-similar{font-size:11px;padding:2px 8px;border:1px solid #cbd5e1;color:#475569;background:#fff;border-radius:999px;cursor:pointer}.qi-similar:hover{background:#f1f5f9;border-color:var(--accent);color:var(--accent)}#simTable .sim-add{font-weight:700}.qcust{grid-column:1 / -1}.custrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.custrow select{min-width:170px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;font-size:14px;background:#fff}.custrow input{flex:1;min-width:150px}.custrow button{padding:8px 12px;white-space:nowrap}.qt-tax{display:flex;align-items:center;gap:12px}.qt-tax .qt-rate{color:var(--muted)}.qt-tax #qTaxRate{width:52px;padding:4px 6px;text-align:right;margin:0 2px}.ci-grid{margin-top:0}.ci-grid .ci-full{grid-column:1 / -1}.seal-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seal-preview{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px}.qsga-row{margin-top:6px;align-items:center}.qsga{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.qsga #qSgaRate{width:52px;padding:4px 6px;text-align:right}
