body{background:#f7f7f7}body.is-login-route .container-fluid{padding-left:0;padding-right:0}body.is-login-route .row{--bs-gutter-x: 0;margin-left:0;margin-right:0}body.is-login-route .app-main{padding:0}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.12),transparent 32%),linear-gradient(135deg,#111827,#1f2937 48%,#0f172a)}.login-panel{width:min(420px,100%);border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#fff;box-shadow:0 22px 60px #00000047;padding:28px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-brand-mark{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:#ef4444;color:#fff;font-weight:800;font-size:1.2rem}.login-title{color:#111827;font-weight:800;font-size:1.25rem;line-height:1.2}.login-subtitle{color:#6b7280;font-size:.88rem}.login-form .form-label{color:#374151;font-size:.86rem;font-weight:700}.login-mode-copy{margin-bottom:18px;color:#6b7280;font-size:.9rem;line-height:1.5}.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.login-password-field{position:relative}.login-password-field .form-control{padding-right:44px}.login-password-toggle{position:absolute;top:50%;right:8px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#6b7280;transform:translateY(-50%);cursor:pointer}.login-password-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-password-icon-show{display:none}.login-password-icon-hide,.login-password-toggle.is-visible .login-password-icon-show{display:block}.login-password-toggle.is-visible .login-password-icon-hide{display:none}.login-password-toggle:hover,.login-password-toggle.is-visible{background:#f1f5f9;color:#111827}.app-sidebar-shell{background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.12),transparent 32%),linear-gradient(135deg,#111827,#1f2937 48%,#0f172a);border-right:1px solid #202a36;color:#f8fafc}.app-sidebar-backdrop{display:none}.app-brand-mark{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:#ef4444;color:#fff;font-weight:800;font-size:1.1rem;box-shadow:0 10px 24px #ef444438}.app-sidebar-toggle,.app-sidebar-close{border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;cursor:pointer}.app-sidebar-toggle{width:38px;height:38px;display:none;flex:0 0 auto;align-items:center;justify-content:center;flex-direction:column;gap:5px}.app-sidebar-toggle span{width:18px;height:2px;border-radius:999px;background:currentColor}.app-sidebar-close{display:none;width:34px;height:34px;align-items:center;justify-content:center;font-size:1.25rem;line-height:1}.app-sidebar-brand{border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.app-sidebar-brand .small{color:#a8b3c2}#app-sidebar .nav-link{color:#d8dee7;border-radius:6px;transition:background-color .15s ease,color .15s ease}#app-sidebar .sidebar-subnav{margin-left:.65rem;max-height:360px;overflow:hidden;opacity:1;transform:translateY(0);transition:max-height .28s ease,opacity .2s ease,transform .28s ease}#app-sidebar .sidebar-subnav.is-closed{max-height:0;opacity:0;transform:translateY(-4px)}#app-sidebar .sidebar-subnav .nav-link{font-size:.92rem;padding-left:.85rem}#app-sidebar .nav-link:hover{background:#ffffff14;color:#fff}#app-sidebar .nav-link.active{background:#263241!important;color:#fff!important;font-weight:700}#app-sidebar .sidebar-group-btn{display:flex;align-items:center;justify-content:space-between;background:#18212c;color:#fff;border:0;border-radius:6px;padding:.55rem .75rem}#app-sidebar .sidebar-group-btn:hover{background:#202b38;color:#fff}#app-sidebar .sidebar-group-icon{color:#a8b3c2;font-size:.8rem;transition:transform .28s ease}#app-sidebar .sidebar-group-btn[aria-expanded=false] .sidebar-group-icon{transform:rotate(-90deg)}#app-sidebar .sidebar-settings-group{margin-top:1.35rem!important;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.pd-toolbar{display:grid;grid-template-columns:max-content 160px minmax(320px,1fr);align-items:end;gap:16px 20px}.pd-sync-controls{display:grid;grid-template-columns:minmax(150px,180px) minmax(190px,240px) auto;align-items:end;justify-content:end;gap:10px}.pd-toolbar--compact{grid-template-columns:max-content 160px;justify-content:start}.pd-sync-button{min-width:72px}.pd-filter .form-select,.pd-filter .btn{min-height:38px}.pm-toolbar{display:grid;grid-template-columns:max-content max-content;align-items:end;justify-content:space-between;gap:16px 20px}.pm-chart-mode-filter{justify-self:end}.pm-section-title{margin:-1rem -1rem 1rem;padding:.75rem 1rem;border-radius:calc(var(--bs-card-border-radius) - 1px) calc(var(--bs-card-border-radius) - 1px) 0 0;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.12),transparent 32%),linear-gradient(135deg,#111827,#1f2937 48%,#0f172a);color:#f8fafc}.setup-hero{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dbe3ee;border-radius:10px;background:#fff}.setup-hero-mark{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:#ef4444;color:#fff;font-size:1.2rem;font-weight:800;box-shadow:0 10px 24px #ef44442e}.setup-hero-title{color:#111827;font-size:1.05rem;font-weight:800;line-height:1.25}.setup-hero-copy{margin-top:4px;color:#6b7280;font-size:.9rem;line-height:1.5}.setup-page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:16px}.setup-mode-nav{display:flex;flex-wrap:wrap;gap:8px}.setup-mode-link{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .7rem;border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#334155;font-weight:700;font-size:.86rem;text-decoration:none}.setup-mode-link:hover{background:#f8fafc;color:#111827}.setup-mode-link.active{background:#263241;border-color:#263241;color:#fff}.setup-section-heading{font-weight:800;color:#111827;margin-bottom:.9rem}.setup-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.setup-check-card,.setup-flow-step,.setup-switch-card,.setup-note-box{border:1px solid #dfe6ef;border-radius:8px;background:#fff}.setup-check-card{padding:16px}.setup-check-card.is-ok{border-color:#b8dec8;background:#f3fbf6}.setup-check-card.is-ng{border-color:#f3c4c4;background:#fff7f7}.setup-check-status{display:inline-flex;align-items:center;min-height:24px;padding:0 .5rem;border-radius:999px;background:#e5e7eb;color:#334155;font-size:.76rem;font-weight:800}.setup-check-card.is-ok .setup-check-status{background:#d9f6e4;color:#126b39}.setup-check-card.is-ng .setup-check-status{background:#fee2e2;color:#991b1b}.setup-check-title{margin-top:.7rem;font-size:1.02rem;font-weight:800}.setup-check-copy{margin-top:.25rem;color:#111827;font-weight:700}.setup-check-detail{margin-top:.45rem;color:#64748b;font-size:.88rem}.setup-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.setup-flow-step{display:flex;gap:10px;padding:12px;background:#f8fafc}.setup-flow-step.is-done{background:#f1fbf5;border-color:#b8dec8}.setup-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setup-status-card{min-height:104px;padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.setup-status-card.is-connected{border-color:#bbf7d0;background:#f0fdf4}.setup-status-card.is-warning{border-color:#fde68a;background:#fffbeb}.setup-status-card.is-error{border-color:#fecaca;background:#fff7f7}.setup-status-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.setup-status-flag{font-size:1.05rem}.setup-status-name{color:#111827;font-size:.92rem;font-weight:800;line-height:1.25}.setup-status-badge{padding:.18rem .48rem;border-radius:999px;background:#e5e7eb;color:#4b5563;font-size:.72rem;font-weight:800;white-space:nowrap}.setup-status-card.is-connected .setup-status-badge{background:#16a34a;color:#fff}.setup-status-card.is-warning .setup-status-badge{background:#f59e0b;color:#111827}.setup-status-card.is-error .setup-status-badge{background:#dc2626;color:#fff}.setup-status-meta{margin-top:10px;color:#6b7280;font-size:.82rem;line-height:1.5}.setup-unknown-title{color:#4b5563;font-size:.82rem;font-weight:800;margin-bottom:6px}.setup-unknown-list{display:flex;flex-wrap:wrap;gap:6px}.setup-step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.setup-step{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.setup-step-index{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#18212c;color:#fff;font-size:.82rem;font-weight:800}.setup-step-title{color:#111827;font-size:.9rem;font-weight:800;line-height:1.3}.setup-step-copy{margin-top:4px;color:#6b7280;font-size:.8rem;line-height:1.5}.setup-form-stack,.setup-sync-layout,.setup-voucher-layout{display:grid;gap:14px}.setup-sync-layout{max-width:900px}.setup-switch-card{display:flex;align-items:flex-start;gap:12px;padding:14px;cursor:pointer}.setup-switch-card small{display:block;margin-top:.2rem;color:#64748b}.setup-check-grid{display:flex;flex-wrap:wrap;gap:8px}.setup-check-pill{display:inline-flex;align-items:center;gap:8px;padding:.5rem .75rem;border:1px solid #d7dee8;border-radius:999px;background:#fff;font-weight:700}.setup-note-box{padding:12px 14px;background:#f8fafc;color:#475569;font-size:.9rem}.setup-voucher-tabs{display:flex;flex-wrap:wrap;gap:8px}.setup-voucher-table-wrap{overflow-x:auto}.setup-voucher-table{min-width:980px}.setup-voucher-table th{white-space:nowrap;background:#f1f5f9}.pda-chart-scroll{width:100%}@media(max-width:767.98px){.app-main{padding:16px}.setup-hero{align-items:flex-start;padding:14px}.setup-status-grid,.setup-step-list,.setup-dashboard-grid,.setup-flow-grid{grid-template-columns:1fr}.setup-page-head{align-items:flex-start}.app-topbar{min-height:56px;padding:12px 16px!important;gap:12px}.app-sidebar-toggle{display:inline-flex}.app-sidebar-close{display:inline-flex;background:#ffffff14;border-color:#ffffff29;color:#fff}.app-sidebar-shell{position:fixed;top:0;right:0;z-index:1045;width:min(86vw,340px);height:100vh;overflow-y:auto;border-right:0;border-left:1px solid #202a36;transform:translate(100%);transition:transform .26s ease;box-shadow:none}.is-sidebar-open .app-sidebar-shell{transform:translate(0);box-shadow:-14px 0 32px #0000002e}.app-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:block;pointer-events:none;opacity:0;background:#0f172a52;transition:opacity .22s ease}.is-sidebar-open .app-sidebar-backdrop{pointer-events:auto;opacity:1}.pd-toolbar{grid-template-columns:1fr;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.pd-filter-year #pd-year-tabs,.pd-filter-year #pda-year-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.pd-filter-month,.pd-filter-days,.pd-filter-status{width:100%}.pm-toolbar,.pd-toolbar--compact{grid-template-columns:1fr;justify-content:stretch}.pm-chart-mode-filter{justify-self:stretch}.pd-sync-controls{grid-template-columns:1fr 1fr;justify-content:stretch;gap:10px}.pd-filter-status{grid-column:1 / -1}.pd-sync-button{grid-column:1 / -1;width:100%;min-height:42px;font-size:1rem}.app-page-title{margin-bottom:14px;font-size:1.08rem}.app-topbar-title{max-width:48vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-topbar-subtitle,.app-topbar-right{display:none}.btn-group{display:flex;flex-wrap:wrap;width:100%;gap:6px}.btn-group>.btn{flex:1 1 auto;border-radius:6px!important;white-space:nowrap}#pf-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#pf-tabs .btn{width:100%;border-radius:6px!important;font-size:.85rem;padding-inline:8px}#fx-bar{flex-wrap:wrap;align-items:flex-start!important}#fx-refresh{margin-left:0!important}.card-body{padding:14px}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{white-space:nowrap}.pda-chart-scroll{overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.pda-chart-scroll canvas{display:block;min-width:760px}#pf-input-table,#pf-result-table{min-width:560px}.pm-month-profit-table{min-width:720px}.pm-pl-table{min-width:1180px}#pm-chart-wrap .card-body{min-width:720px}#pm-chart-wrap .card{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(min-width:768px){.app-sidebar-shell{transform:none!important}}.table .form-control,.table .form-select,.table input,.table select{background-color:#fff!important}#pd-table tr.pd-status-released>td{--bs-table-bg: #d1e7dd !important}#pd-table tr.pd-status-to-release>td{--bs-table-bg: #fff3cd !important}.floating-calculator{position:fixed;z-index:9999;width:320px;height:460px;border:1px solid #cfd6df;border-radius:12px;background:#fff;box-shadow:0 10px 30px #0000002e;overflow:hidden;-webkit-user-select:none;user-select:none}.floating-calculator__header{height:52px;padding:0 10px 0 14px;display:flex;align-items:center;justify-content:space-between;background:#f5f7fa;border-bottom:1px solid #dde3ea;cursor:move}.floating-calculator__title{font-size:14px;font-weight:700;color:#1f2937}.floating-calculator__actions{display:flex;gap:6px}.fc-btn{width:28px;height:28px;border:1px solid #d4dbe4;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;line-height:1}.fc-btn:hover{background:#f1f5f9}.floating-calculator__body{display:flex;flex-direction:column;height:calc(100% - 52px);padding:12px}.floating-calculator__display{margin-bottom:12px}.floating-calculator__expr{min-height:20px;margin-bottom:6px;color:#6b7280;font-size:12px;text-align:right;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.floating-calculator__screen{width:100%;height:56px;border:1px solid #d7dee7;border-radius:10px;background:#fff;padding:0 12px;text-align:right;font-size:28px;font-weight:700;color:#111827}.floating-calculator__keys{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.floating-calculator__keys button{border:1px solid #d5dce5;border-radius:10px;background:#fff;font-size:20px;font-weight:600;cursor:pointer}.floating-calculator__keys button:hover{background:#f8fafc}.floating-calculator__keys .is-zero{grid-column:span 2}.floating-calculator__keys .is-equal{background:#2563eb;border-color:#2563eb;color:#fff}.floating-calculator__keys .is-equal:hover{background:#1d4ed8}.floating-calculator.is-minimized{height:52px!important;overflow:hidden}.floating-calculator.is-maximized{width:420px;height:560px}body.is-dragging-calculator,body.is-dragging-calculator *{cursor:move!important}.floating-calculator-launcher{position:fixed;z-index:9998;width:120px;height:52px;border:1px solid #d7dee7;border-radius:10px;background:#f5f7fa;box-shadow:0 8px 24px #00000024;cursor:move;font-size:14px;font-weight:700;color:#1f2937;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.floating-calculator-launcher:hover{background:#eef2f7}.app-topbar{min-height:58px}.app-main{padding:24px}.app-page{width:100%}.app-topbar-title{color:#111827;font-size:.98rem;font-weight:700;letter-spacing:0;line-height:1.25}.app-topbar-subtitle,.app-topbar-right{color:#6b7280;font-size:.78rem;line-height:1.35}.app-page-title{margin:0 0 18px;color:#111827;font-size:1.28rem;font-weight:700;letter-spacing:0;line-height:1.3}.app-page-title+.btn-group,.app-page-title+.mb-3,.app-page-title+.d-flex{margin-top:0}#pf-tabs .btn,#pd-year-tabs .btn,#pda-year-tabs .btn,#ex-year-tabs .btn,#so-tabs .btn,#btn-year-2025,#btn-year-2026,.app-page [data-year].btn,.app-page [data-chart-mode].btn{min-height:38px;padding:.42rem .86rem;font-size:.94rem;line-height:1.25}.app-page [data-chart-mode].btn{min-width:132px}#pf-tabs .btn:not(.active),#pd-year-tabs .btn:not(.active),#pda-year-tabs .btn:not(.active),#ex-year-tabs .btn:not(.active),#so-tabs .btn:not(.active),#btn-year-2025:not(.active),#btn-year-2026:not(.active),.app-page [data-year].btn:not(.active),.app-page [data-chart-mode].btn:not(.active){--bs-btn-bg: #fff;--bs-btn-color: #374151;--bs-btn-border-color: #cbd5e1;--bs-btn-hover-bg: #fff;--bs-btn-hover-color: #111827;--bs-btn-hover-border-color: #94a3b8;--bs-btn-active-bg: #6c757d;--bs-btn-active-color: #fff;--bs-btn-active-border-color: #6c757d;background-color:#fff!important;color:#374151!important;border-color:#cbd5e1!important}#pf-tabs .btn:not(.active):hover,#pd-year-tabs .btn:not(.active):hover,#pda-year-tabs .btn:not(.active):hover,#ex-year-tabs .btn:not(.active):hover,#so-tabs .btn:not(.active):hover,#btn-year-2025:not(.active):hover,#btn-year-2026:not(.active):hover,.app-page [data-year].btn:not(.active):hover,.app-page [data-chart-mode].btn:not(.active):hover{background-color:#fff!important;color:#111827!important;border-color:#94a3b8!important}.pm-month-profit-table{table-layout:fixed;min-width:860px}.pm-pl-table{table-layout:fixed;min-width:1320px}.pm-pl-table thead th{font-size:.78rem;line-height:1.25}.pm-month-profit-table thead th,.pm-pl-table thead th{background-color:#eef2f6!important;color:#111827;border-bottom-color:#cbd5e1}.pm-month-profit-table .pm-col-month,.pm-pl-table .pm-col-month{width:72px}.pm-month-profit-table .pm-col-metric{width:156px}.pm-pl-table .pm-col-pl-metric{width:142px}.pm-pl-table .pm-col-detail{width:78px}.pm-month-profit-table th,.pm-month-profit-table td,.pm-pl-table th,.pm-pl-table td{overflow-wrap:anywhere;vertical-align:middle}.pm-pl-table .pm-col-sales{background-color:#f3f8ff}.pm-pl-table .pm-col-expense{background-color:#fff8ee}.pm-pl-table .pm-col-profit{background-color:#f2fbf6}.pm-pl-table .pm-col-refund{background-color:#f7f4ff}.pm-pl-table thead .pm-col-sales,.pm-pl-table thead .pm-col-expense,.pm-pl-table thead .pm-col-profit,.pm-pl-table thead .pm-col-refund,.pm-pl-table tr.table-light .pm-col-sales,.pm-pl-table tr.table-light .pm-col-expense,.pm-pl-table tr.table-light .pm-col-profit,.pm-pl-table tr.table-light .pm-col-refund{filter:saturate(1.08)}.pm-pl-table .pm-toggle{color:inherit;font-weight:600}.pm-pl-table .pm-toggle-both{display:inline-flex;align-items:center;gap:4px}.pm-accordion-chevron{display:inline-block;font-size:12px;transition:transform .18s ease}.pm-toggle-both.is-open .pm-accordion-chevron{transform:rotate(180deg)}tr[data-detail-kind]>.pm-detail-cell{--bs-table-bg: #edf1f5;padding:0!important;background-color:#edf1f5!important;border-top:0}tr[data-detail-kind] .pm-detail-panel{max-height:0;opacity:0;overflow:hidden;padding:0 14px;background-color:#edf1f5;transition:max-height .24s ease,opacity .18s ease,padding .24s ease}tr[data-detail-kind].is-open .pm-detail-panel{max-height:360px;opacity:1;padding:12px 14px 20px}tr[data-detail-kind].is-open>.pm-detail-cell{border-bottom:10px solid #fff}.pm-detail-title{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;color:#1f2937}.pm-detail-title span{font-size:12px;font-weight:500;color:#6b7280}.pm-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.pm-detail-metric{border:1px solid #d9e0e8;border-radius:8px;background:#fff;padding:8px 10px}.pm-detail-label{font-size:12px;color:#64748b}.pm-detail-value{margin-top:3px;font-size:14px;font-weight:700;color:#111827;text-align:right}.pm-detail-metric--sales{background:#f8fbff}.pm-detail-metric--expense{background:#fffaf2}.pm-detail-metric--fee{background:#fff7ed}.pm-detail-metric--total,.pm-detail-metric--result{border-color:#cbd5e1;background:#f1f5f9}
