:root{--bg:#f5f7fb;--text:#1f2937;--heading:#111827;--muted:#64748b;--border:#dce3ed;--blue:#2563eb;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;height:100vh;margin:0;overflow:hidden}#root{width:100vw;height:100vh}.admin-shell{--sidebar-width:236px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:100vw;height:100vh;color:var(--text);background:var(--bg);display:grid;overflow:hidden}.admin-shell.sidebar-collapsed{--sidebar-width:76px}.admin-login-shell{background:var(--bg);place-items:center;width:100vw;height:100vh;padding:24px;display:grid}.admin-login-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:14px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 14px 34px #0f172a14}.admin-login-panel h1{margin-top:4px}.admin-login-panel p{color:var(--muted);margin:-6px 0 2px;font-size:14px}.admin-login-form{gap:14px;display:grid}.admin-login-form .primary-button{min-height:40px}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;min-width:0;height:100vh;padding:16px 12px;display:flex;overflow:hidden}.brand-block{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px;min-height:54px;padding:4px 2px 14px;display:grid}.brand-mark{color:#fff;background:#2563eb;border-radius:8px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.brand-copy{min-width:0}.brand-block strong,.brand-block span{display:block}.brand-block strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.brand-block span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.sidebar-toggle{border:1px solid var(--border);width:36px;min-height:36px;color:var(--muted);background:#fff}.admin-shell.sidebar-collapsed .brand-block{grid-template-columns:36px;justify-content:center;justify-items:center;gap:8px;padding-inline:0}.admin-shell.sidebar-collapsed .brand-copy{display:none}.side-menu{gap:6px;padding-top:6px;display:grid}.side-menu button{width:100%;min-width:0;color:var(--muted);background:0 0;justify-content:flex-start;padding:0 12px}.side-menu button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-menu button.active{color:#1d4ed8;background:#eff6ff}.admin-shell.sidebar-collapsed .side-menu button{justify-content:center;padding:0}.admin-shell.sidebar-collapsed .side-menu button span{display:none}.main-panel{background:var(--bg);min-width:0;height:100vh;overflow-y:auto}.topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f7fbf5;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:16px 24px;display:flex;position:sticky;top:0}.main-panel>.page-stack{padding:18px 24px 32px}.eyebrow{color:var(--muted);margin:0 0 4px;font-size:13px}h1,h2{color:var(--heading);margin:0;font-weight:650}h1{font-size:26px;line-height:1.2}h2{font-size:18px}button,input,select{font:inherit}button{cursor:pointer;white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.48}input,select{border:1px solid var(--border);min-height:36px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 10px}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}input:disabled,select:disabled{color:#64748b;cursor:not-allowed;background:#f1f5f9;border-color:#d8e0ea}label{color:var(--muted);gap:6px;font-size:13px;display:grid}.global-filters,.topbar-actions{justify-content:flex-end;align-items:end;gap:10px;display:flex}.global-filters label{min-width:150px}.icon-button{width:38px;color:var(--text);border:1px solid var(--border);background:#fff}.primary-button{background:var(--blue);color:#fff;padding:0 14px}.secondary-button{color:#0f766e;background:#e9f5f2;border:1px solid #bfe3dc;padding:0 12px}.danger-button{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:0 12px}.text-button{color:#2563eb;background:0 0;min-height:30px;padding:0 8px}.table-action-button{min-height:32px;padding:0 10px}.message{border-radius:6px;margin:0 0 14px;padding:10px 12px;font-size:14px}.message.success{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0}.message.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.toast{z-index:80;border:1px solid;border-radius:8px;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:10px;width:min(420px,100vw - 48px);min-height:44px;padding:10px 10px 10px 14px;animation:.16s ease-out toast-in;display:grid;position:fixed;top:20px;right:24px;box-shadow:0 16px 42px #0f172a2e}.toast span{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.45}.toast-success{color:#166534;background:#f0fdf4;border-color:#86efac}.toast-error{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.toast-close{color:currentColor;opacity:.72;background:0 0;border:1px solid;width:30px;min-height:30px}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.page-stack{gap:14px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:8px;padding:16px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-title span{color:var(--muted);font-size:13px}.toolbar-form,.admin-actions{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.toolbar-form label,.admin-actions label{min-width:220px}.query-form label{min-width:200px}.task-query-form label{min-width:180px}.merchant-search-field{position:relative}.merchant-options{z-index:20;border:1px solid var(--border);background:#fff;border-radius:6px;max-height:220px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #0f172a24}.merchant-options button{min-height:34px;color:var(--text);background:#fff;border-radius:0;justify-content:flex-start;padding:0 10px}.merchant-options button:hover{background:#f8fafc}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-grid.compact,.dashboard-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-today-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-chart-panel{min-height:420px}.dashboard-pie-layout{grid-template-columns:minmax(280px,420px) minmax(260px,1fr);align-items:center;gap:28px;display:grid}.dashboard-pie{aspect-ratio:1;border-radius:50%;justify-self:center;place-items:center;width:min(380px,100%);display:grid;box-shadow:inset 0 0 0 1px #0f172a14}.dashboard-pie>div{aspect-ratio:1;background:#fff;border-radius:50%;align-content:center;place-items:center;gap:4px;width:44%;display:grid;box-shadow:0 6px 22px #0f172a1f}.dashboard-pie strong{color:var(--heading);font-size:30px;line-height:1}.dashboard-pie span{color:var(--muted);font-size:13px}.pie-legend{gap:8px;display:grid}.pie-legend-row{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:grid}.pie-legend-row i{border-radius:999px;width:12px;height:12px}.pie-legend-row span{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pie-legend-row strong{color:var(--heading)}.pie-legend-row em{color:var(--muted);font-size:13px;font-style:normal}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:8px;align-content:space-between;gap:10px;min-height:80px;padding:13px;display:grid}.panel .metric{background:#f8fafc}.metric span{color:var(--muted);font-size:13px}.metric strong{min-width:0;color:var(--heading);overflow-wrap:anywhere;align-items:baseline;gap:4px;font-size:20px;display:flex}.metric small{color:var(--muted);font-size:13px;font-weight:500}.status{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:650;display:inline-flex}.status.green{color:#166534;background:#dcfce7}.status.blue{color:#1d4ed8;background:#dbeafe}.status.red{color:#b91c1c;background:#fee2e2}.status.gray{color:#475569;background:#f1f5f9}.table-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}.merchant-table{min-width:1120px}.task-tree-table{min-width:1180px}.main-task-row{background:#fff}.sub-task-row td{background:#f8fafc}.sub-task-inline{padding:10px 0}.sub-task-inline table{background:#fff;min-width:860px}.compact-table{min-width:520px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 13px}th{color:var(--muted);background:#f8fafc;font-size:13px;font-weight:650}tr:last-child td{border-bottom:0}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.mini-button{width:32px;min-height:32px;color:var(--text);border:1px solid var(--border);background:#f8fafc}.mini-button.danger{color:#b91c1c;background:#fff7f7}.empty-state,.maintenance{border:1px dashed var(--border);min-height:132px;color:var(--muted);text-align:center;background:#fff;border-radius:8px;place-items:center;padding:16px;display:grid}.maintenance{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.result-box{border:1px solid var(--border);color:#e2e8f0;white-space:pre-wrap;background:#0f172a;border-radius:8px;min-height:120px;padding:14px;overflow:auto}.modal-backdrop{z-index:50;background:#0f172a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--border);background:#fff;border-radius:8px;width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 72px #0f172a3d}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:14px 16px;display:flex}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:16px;display:grid}.compact-modal-form{grid-template-columns:1fr}.modal-form label{min-width:0}.credential-panel{gap:14px;padding:16px;display:grid}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.info-row{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.info-row span{color:var(--muted);font-size:13px}.info-row strong{min-width:0;color:var(--heading);overflow-wrap:anywhere}.info-row.highlight{background:#eff6ff;border-color:#bfdbfe}.credential-copy-box{color:#334155;white-space:pre-wrap;-webkit-user-select:text;user-select:text;background:#f8fafc;border:1px dashed #b6c4d6;border-radius:8px;padding:12px}.credential-copy-notice{color:#047857;min-width:0;margin-right:auto;font-size:13px}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.detail-section{border-top:1px solid var(--border);padding:14px 16px}.detail-section h3{color:var(--heading);margin:0 0 10px;font-size:15px}.detail-section p{color:var(--text);margin:0}.screenshot-list{flex-wrap:wrap;gap:10px;display:flex}.screenshot-list img{border:1px solid var(--border);object-fit:cover;background:#f8fafc;border-radius:6px;width:148px;height:96px}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}@media (width<=1100px){.dashboard-top-grid,.dashboard-today-grid,.summary-grid,.summary-grid.compact,.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-pie-layout{grid-template-columns:1fr}}@media (width<=720px){.admin-shell{--sidebar-width:188px}.admin-shell.sidebar-collapsed{--sidebar-width:68px}.sidebar{padding:12px 10px}.topbar{flex-direction:column;align-items:stretch;padding:14px 16px}.main-panel>.page-stack{padding:14px 16px 24px}.toast{width:auto;top:14px;left:16px;right:16px}.global-filters,.toolbar-form,.admin-actions{flex-direction:column;align-items:stretch}.global-filters label,.toolbar-form label,.admin-actions label{width:100%;min-width:0}.dashboard-top-grid,.dashboard-today-grid,.summary-grid,.summary-grid.compact,.split-grid,.modal-form,.detail-grid{grid-template-columns:1fr}}
