:root{color:#1c2024;background:#f4f6f8;font-family:Inter,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.placeholder-view{min-height:100vh;padding:48px}.eyebrow{margin:0 0 8px;color:#637381;font-size:12px;font-weight:700}h1{margin:0;font-size:28px;letter-spacing:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.backoffice-shell{display:flex;min-height:100vh}.app-sidebar{position:fixed;z-index:10;display:flex;width:232px;min-height:100vh;flex-direction:column;border-right:1px solid #dfe3e8;background:#fff}.app-brand{display:flex;height:72px;align-items:center;gap:10px;padding:0 20px;color:#1c2024;font-size:17px;font-weight:700;text-decoration:none}.brand-mark{display:inline-flex;width:30px;height:30px;flex:none;align-items:center;justify-content:center;border-radius:6px;background:#146c94;color:#fff;font-weight:800}.sidebar-nav{display:grid;gap:3px;padding:8px 12px}.sidebar-link{display:flex;min-height:40px;align-items:center;gap:11px;padding:0 10px;border-radius:6px;color:#53606d;font-size:14px;text-decoration:none}.sidebar-link.router-link-active{background:#e3f1f6;color:#075878;font-weight:700}.backoffice-main{width:calc(100% - 232px);margin-left:232px}.context-bar{display:flex;position:sticky;top:0;z-index:5;min-height:60px;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #dfe3e8;background:#fffffff5}.context-summary,.account-menu,.panel-heading,.binding-status{display:flex;align-items:center}.context-summary{gap:10px}.role-badge{padding:4px 8px;border-radius:4px;background:#e3f1f6;color:#075878;font-size:12px;font-weight:700}.context-name{color:#53606d;font-size:13px}.context-select{height:32px;max-width:240px;padding:0 8px;border:1px solid #d5dce3;border-radius:6px;background:#fff;color:#425466;font-size:13px}.account-menu{position:relative}.icon-button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #d5dce3;border-radius:6px;background:#fff;color:#425466}.account-popover{position:absolute;top:40px;right:0;display:grid;min-width:138px;overflow:hidden;border:1px solid #d5dce3;border-radius:6px;background:#fff;box-shadow:0 8px 20px #1c20241f}.account-popover a,.account-popover button{display:flex;min-height:38px;align-items:center;gap:8px;padding:0 12px;border:0;background:#fff;color:#334e68;font-size:13px;text-align:left;text-decoration:none}.account-popover a:hover,.account-popover button:hover{background:#f3f7f9}.page-content{max-width:1360px;margin:0 auto;padding:28px}.placeholder-view{min-height:auto;padding:0}.login-page,.simple-status-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel,.status-panel,.content-panel{border:1px solid #dfe3e8;border-radius:8px;background:#fff;box-shadow:0 2px 10px #1c20240d}.login-panel{width:min(100%,400px);padding:28px}.login-heading{display:flex;align-items:center;gap:12px}.login-heading h1{font-size:22px}.login-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;border-bottom:1px solid #dfe3e8}.login-tabs button{height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:#637381;font-size:14px}.login-tabs button.active{border-bottom-color:#146c94;color:#075878;font-weight:700}.login-form,.security-form{display:grid;gap:16px;margin-top:22px}.login-form label,.security-form label{display:grid;gap:7px;color:#425466;font-size:13px;font-weight:600}.login-form input,.security-form input{width:100%;height:40px;padding:0 10px;border:1px solid #bbc6d0;border-radius:6px;background:#fff;color:#1c2024}.login-form input:focus,.security-form input:focus{outline:2px solid #a8d6e6;outline-offset:1px;border-color:#146c94}.primary-button,.secondary-button,.danger-button,.text-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border-radius:6px;font-size:14px;font-weight:700;text-decoration:none}.primary-button{border:1px solid #075878;background:#146c94;color:#fff;padding:0 12px}.secondary-button{border:1px solid #b7c5cf;background:#fff;color:#334e68;padding:0 12px}.danger-button{border:1px solid #cc3f4c;background:#fff;color:#b42332;padding:0 12px}.text-button{border:0;background:transparent;color:#075878}.form-error{margin:0;color:#b42332;font-size:13px}.qr-login{display:grid;justify-items:center;gap:10px;padding:24px 0 4px;color:#53606d;font-size:13px;text-align:center}.qr-login p{margin:0}.qr-frame{display:grid;width:180px;height:180px;place-items:center;padding:10px;border:1px solid #dfe3e8;border-radius:6px;background:#fff}.qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.qr-placeholder{color:#637381}.status-panel{display:grid;justify-items:center;max-width:420px;padding:32px;color:#53606d;text-align:center}.status-panel h1{margin-top:14px;color:#1c2024;font-size:22px}.status-panel p{margin:10px 0 20px}.security-view{display:grid;gap:20px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between}.page-heading h1{font-size:24px}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.content-panel{padding:20px}.panel-heading{gap:8px;color:#1c2024}.panel-heading h2{margin:0;font-size:16px}.binding-status{gap:8px;margin:20px 0 8px;color:#1c2024;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;background:#8b98a5}.status-dot.bound{background:#198754}.muted-copy{margin:0 0 18px;color:#637381;font-size:13px}.session-panel{display:grid;gap:14px}.session-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.session-list li{display:flex;min-height:64px;align-items:center;justify-content:space-between;border-top:1px solid #e6eaee}.session-list li>div{display:grid;min-width:0;gap:4px}.session-list strong{overflow:hidden;color:#1c2024;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.session-list span{color:#637381;font-size:12px}.danger-icon{color:#b42332}.async-state{display:grid;min-height:140px;align-content:center;justify-items:center;gap:8px;color:#637381;text-align:center}.async-state p{margin:0;font-size:14px}.async-state.is-error{color:#b42332}.spin{animation:spin .8s linear infinite}.merchant-view{display:grid;gap:20px}.filter-bar{display:flex;min-height:42px;align-items:center;gap:10px}.filter-bar select,.merchant-form input,.merchant-form textarea,.merchant-form select,.drawer-field input,.drawer-field textarea,.drawer-field select{width:100%;border:1px solid #bbc6d0;border-radius:6px;background:#fff;color:#1c2024}.filter-bar select{width:auto;min-width:150px;height:40px;padding:0 10px}.search-field{display:flex;width:min(360px,100%);height:40px;align-items:center;gap:8px;padding:0 10px;border:1px solid #bbc6d0;border-radius:6px;background:#fff;color:#637381}.search-field input{min-width:0;flex:1;border:0;outline:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{display:grid;min-height:112px;grid-template-columns:auto 1fr;align-content:center;gap:4px 10px;padding:18px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#146c94}.metric-card strong{color:#1c2024;font-size:25px}.metric-card span{grid-column:1 / -1;color:#637381;font-size:13px}.todo-panel{display:grid;gap:12px}.todo-list{margin:0;padding:0;list-style:none}.todo-list li{display:flex;min-height:46px;align-items:center;justify-content:space-between;border-top:1px solid #e6eaee;color:#425466;font-size:14px}.todo-list a{color:#075878;font-weight:700;text-decoration:none}.table-panel{padding:0;overflow:hidden}.data-table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{height:44px;padding:0 14px;background:#f7f9fa;color:#637381;font-size:12px;text-align:left;white-space:nowrap}.data-table td{min-height:54px;padding:13px 14px;border-top:1px solid #e6eaee;color:#425466;vertical-align:middle}.data-table td strong,.data-table td small{display:block}.data-table td strong{color:#1c2024;font-size:13px}.data-table td small{margin-top:3px;color:#7a8792;font-size:11px}.actions-column{width:150px}.table-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.table-actions .text-button{padding:4px}.table-empty{display:grid;min-height:160px;place-items:center;border-top:1px solid #e6eaee;color:#637381;font-size:13px}.pagination-row{display:flex;justify-content:center;padding:14px;border-top:1px solid #e6eaee}.status-chip{display:inline-flex;min-height:24px;align-items:center;padding:0 7px;border-radius:4px;background:#e8f1f4;color:#075878;font-size:12px;font-weight:700}.merchant-form{display:grid;gap:16px}.merchant-form label,.drawer-field{display:grid;gap:7px;color:#425466;font-size:13px;font-weight:600}.merchant-form input,.merchant-form select,.drawer-field input,.drawer-field select{height:40px;padding:0 10px}.merchant-form textarea,.drawer-field textarea{min-height:82px;padding:10px;resize:vertical}.merchant-form fieldset{display:flex;gap:14px;margin:0;padding:12px;border:1px solid #dfe3e8;border-radius:6px}.merchant-form legend{padding:0 4px;color:#425466;font-size:13px;font-weight:600}.merchant-form .check-label{display:flex;align-items:center;gap:7px}.merchant-form .check-label input{width:16px;height:16px}.product-image-field{display:grid;gap:9px}.field-label-row{display:flex;align-items:center;justify-content:space-between;color:#425466;font-size:13px;font-weight:600}.file-input{position:absolute;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}.upload-button{justify-self:start}.product-image-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.product-image-list li{display:grid;grid-template-columns:20px minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:40px;padding:5px 6px 5px 10px;border:1px solid #dfe3e8;border-radius:6px;background:#f8fafb;color:#425466}.product-image-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-image-list li button{display:grid;width:32px;height:32px;padding:0;place-items:center;border:0;background:transparent;color:#6b7785;cursor:pointer}.product-image-list li button:disabled{cursor:not-allowed;opacity:.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full-field{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end}.form-success{margin:0;color:#198754;font-size:13px}.profile-form{max-width:860px}.drawer-layer{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#1c202459}.edit-drawer{display:flex;width:min(520px,100%);height:100%;flex-direction:column;border-left:1px solid #d5dce3;background:#fff;box-shadow:-8px 0 24px #1c202424}.drawer-heading{display:flex;min-height:72px;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #dfe3e8}.drawer-heading h2{margin:0;font-size:19px}.drawer-body{min-height:0;flex:1;overflow-y:auto;padding:20px}.drawer-footer{display:flex;min-height:66px;align-items:center;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid #dfe3e8}.drawer-summary{display:grid;gap:5px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e6eaee}.drawer-summary span,.confirm-copy{color:#637381;font-size:13px}.confirm-copy{margin:0 0 18px}.segmented-tabs{display:inline-flex;justify-self:start;padding:3px;border:1px solid #d5dce3;border-radius:6px;background:#fff}.segmented-tabs button{min-height:34px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:#637381}.segmented-tabs button.active{background:#e3f1f6;color:#075878;font-weight:700}.danger-text{color:#b42332}.rules-form{max-width:900px;grid-template-columns:repeat(2,minmax(0,1fr))}.rules-form>.check-label,.rules-form>.form-error,.rules-form>.form-actions{grid-column:1 / -1}.dialog-layer{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#1c202461}.confirm-dialog{display:flex;width:min(440px,100%);max-height:min(620px,calc(100vh - 40px));flex-direction:column;overflow:hidden;border:1px solid #d5dce3;border-radius:8px;background:#fff;box-shadow:0 16px 40px #1c202433}.dialog-heading{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #dfe3e8}.dialog-heading h2{margin:0;font-size:18px}.dialog-body{display:grid;gap:14px;overflow-y:auto;padding:18px}.dialog-body>p:not(.form-error){margin:0;color:#637381;font-size:13px}.dialog-body label{display:grid;gap:7px;color:#425466;font-size:13px;font-weight:600}.dialog-body textarea{width:100%;min-height:96px;padding:10px;border:1px solid #bbc6d0;border-radius:6px;resize:vertical}.dialog-footer{display:flex;min-height:64px;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #dfe3e8}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.app-sidebar{position:static;width:100%;min-height:auto;border-right:0;border-bottom:1px solid #dfe3e8}.app-brand{height:56px}.sidebar-nav{display:flex;overflow-x:auto;padding:7px 10px}.sidebar-link{flex:none}.backoffice-shell{display:block}.backoffice-main{width:100%;margin-left:0}.context-bar{padding:0 16px}.page-content{padding:20px 16px}.security-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar select,.search-field{width:100%}.form-grid,.rules-form{grid-template-columns:1fr}.rules-form>*{grid-column:auto}.full-field{grid-column:auto}.page-heading{gap:12px}.page-heading .primary-button{flex:none}.data-table{display:block}.data-table thead{display:none}.data-table tbody,.data-table tr,.data-table td{display:block}.data-table tr{padding:10px 14px;border-top:1px solid #e6eaee}.data-table td{display:grid;min-height:0;grid-template-columns:minmax(88px,34%) 1fr;padding:5px 0;border:0;gap:10px}.data-table td:before{content:attr(data-label);color:#7a8792;font-size:12px}.table-actions{display:flex!important;justify-content:flex-start}.drawer-layer{align-items:flex-end}.edit-drawer{width:100%;height:min(88vh,760px);border-top:1px solid #d5dce3;border-left:0}}
