@import "https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700&display=swap";:root{--color-primary:#06f;--color-primary-hover:#0057d9;--color-primary-active:#004bbd;--color-primary-subtle:#eef4ff;--color-chrome:#0b1e3d;--color-chrome-text:#fff;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-subtle:#f9fafb;--color-surface-hover:#f3f4f6;--color-text:#101828;--color-text-secondary:#475467;--color-text-tertiary:#667085;--color-text-placeholder:#98a2b3;--color-border:#e4e7ec;--color-border-strong:#d0d5dd;--color-border-input:#cdd3dd;--color-border-hairline:#f2f4f7;--color-success:#067647;--color-success-dot:#17b26a;--color-success-subtle:#ecfdf3;--color-danger:#b42318;--color-danger-dot:#f04438;--color-danger-subtle:#fef3f2;--color-warning:#b54708;--color-warning-dot:#f79009;--color-warning-subtle:#fffaeb;--color-info:#175cd3;--color-info-dot:#2e90fa;--color-info-subtle:#eff8ff;--focus-ring:#0066ff2e;--font-family:"Cairo", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;--text-base-size:15px;--text-body:14px;--text-label:13px;--text-small:12px;--spacing-page:28px;--spacing-card:16px;--control-h:36px;--control-h-sm:30px;--row-h:44px;--sidebar-w:248px;--topbar-h:56px;--r-badge:4px;--r-control:6px;--r-panel:10px;--r-xl:12px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-pop:0 12px 24px -6px #10182824, 0 4px 8px -4px #1018280f;--t-fast:.12s;--t-base:.18s}*{box-sizing:border-box}html{font-size:var(--text-base-size)}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.6}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);border-radius:var(--r-control);outline:none}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--color-chrome);color:var(--color-chrome-text);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{height:var(--topbar-h);border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:0 20px;font-size:17px;font-weight:700;display:flex}.sidebar-brand span.mark{border-radius:var(--r-control);background:var(--color-primary);place-items:center;width:28px;height:28px;font-size:14px;display:grid}.sidebar nav{flex-direction:column;gap:2px;padding:12px 10px;display:flex}.sidebar nav .section{font-size:var(--text-small);color:#ffffff80;padding:12px 10px 4px}.sidebar nav a{color:#ffffffb8;border-radius:var(--r-control);font-size:var(--text-body);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:8px;padding:8px 10px;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff14}.sidebar nav a.active{background:var(--color-primary);color:#fff}.sidebar nav a i{text-align:center;opacity:.85;width:20px;font-size:16px}.sidebar nav a.active i{opacity:1}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding:12px 10px}.sidebar-footer .user{font-size:var(--text-body);color:#ffffffd9;padding:6px 10px}.sidebar-footer .user small{color:#ffffff8c;font-size:var(--text-small);display:block}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--topbar-h);background:var(--color-chrome);color:var(--color-chrome-text);z-index:1020;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.topbar .date{font-size:var(--text-body);color:#ffffffbf}.topbar form{margin:0}.content{padding:24px var(--spacing-page) 48px;width:100%;max-width:1600px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header h1{font-size:var(--text-h1-size,26px);margin:0;font-weight:700;line-height:1.25}.page-header p{color:var(--color-text-tertiary);font-size:var(--text-body);margin:4px 0 0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-panel);box-shadow:var(--shadow-sm)}.card+.card{margin-top:20px}.card-header{padding:14px var(--spacing-card);border-bottom:1px solid var(--color-border-hairline);justify-content:space-between;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.card-body{padding:var(--spacing-card)}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-panel);box-shadow:var(--shadow-sm);color:inherit;transition:box-shadow var(--t-fast);padding:16px;display:block}.stat:hover{box-shadow:var(--shadow-pop);color:inherit}.stat .label{font-size:var(--text-label);color:var(--color-text-secondary);font-weight:600}.stat .value{margin:2px 0;font-size:26px;font-weight:700}.stat .hint{font-size:var(--text-small);color:var(--color-text-tertiary)}.stat .value.success{color:var(--color-success)}.stat .value.danger{color:var(--color-danger)}table.list{border-collapse:collapse;width:100%}table.list th{text-align:right;font-size:var(--text-small);color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);padding:10px 14px;font-weight:600}table.list td{height:var(--row-h);border-bottom:1px solid var(--color-border-hairline);font-size:var(--text-body);vertical-align:middle;padding:8px 14px}table.list tr:last-child td{border-bottom:0}table.list tbody tr:hover td{background:var(--color-surface-hover)}table.list td.main-col{font-weight:600}table.list .actions{white-space:nowrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}table.list .actions a{font-size:var(--text-small)}table.list .actions a.danger{color:var(--color-danger)}td.num,th.num{text-align:left;font-variant-numeric:tabular-nums;direction:ltr}.badge{border-radius:var(--r-badge);font-size:var(--text-small);align-items:center;gap:6px;padding:2px 8px;font-weight:600;display:inline-flex}.badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.success{background:var(--color-success-subtle);color:var(--color-success)}.badge.danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge.warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge.info{background:var(--color-info-subtle);color:var(--color-info)}.badge.neutral{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.btn{height:var(--control-h);border-radius:var(--r-control);font-family:inherit;font-size:var(--text-body);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--color-primary-hover);color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-danger-text{color:var(--color-danger);background:0 0;border:0;height:auto;padding:0}.btn-danger-text:hover{text-decoration:underline}.btn-sm{height:var(--control-h-sm);font-size:var(--text-small);padding:0 10px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--text-label);color:var(--color-text-secondary);font-weight:600}.field input,.field select,.field textarea{height:var(--control-h);border:1px solid var(--color-border-input);border-radius:var(--r-control);font-family:inherit;font-size:var(--text-body);background:var(--color-surface);color:var(--color-text);width:100%;padding:0 10px}.field textarea{height:auto;padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.field .error{font-size:var(--text-small);color:var(--color-danger)}.field.required label:after{content:" *";color:var(--color-danger)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.form-row-btn{gap:8px;margin-top:14px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filters .field{min-width:170px}.filters input,.filters select{height:var(--control-h-sm)}.pills{flex-wrap:nowrap;gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.pills a{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-body);white-space:nowrap;border-radius:999px;padding:4px 14px}.pills a.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.flash{border-radius:var(--r-control);font-size:var(--text-body);border:1px solid;margin-bottom:16px;padding:10px 14px}.flash.success{background:var(--color-success-subtle);color:var(--color-success);border-color:var(--color-success-dot)}.flash.error{background:var(--color-danger-subtle);color:var(--color-danger);border-color:var(--color-danger-dot)}.empty{text-align:center;color:var(--color-text-secondary);font-size:var(--text-body);padding:36px 16px}.empty a{font-weight:600}.auth-wrap{background:var(--color-chrome);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--color-surface);border-radius:var(--r-xl);width:100%;max-width:400px;box-shadow:var(--shadow-pop);padding:32px 28px}.auth-card .brand{align-items:center;gap:10px;margin-bottom:8px;display:flex}.auth-card .brand .mark{border-radius:var(--r-control);background:var(--color-primary);color:#fff;place-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:grid}.auth-card h1{margin:0 0 4px;font-size:20px}.auth-card>p{color:var(--color-text-tertiary);font-size:var(--text-body);margin:0 0 20px}.auth-card .field{margin-bottom:14px}.pagination{font-size:var(--text-body);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px;display:flex}.pagination a,.pagination span{min-width:var(--control-h);height:var(--control-h-sm);border:1px solid var(--color-border);border-radius:var(--r-control);color:var(--color-text-secondary);place-items:center;padding:0 10px;display:inline-grid}.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination .disabled{color:var(--color-text-placeholder);border-color:var(--color-border-hairline)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.error-page{place-items:center;min-height:100vh;display:grid}.error-page .box{text-align:center}.error-page h1{color:var(--color-primary);margin:0;font-size:56px}.error-page p{color:var(--color-text-secondary)}.inline-form{display:inline}@media (width<=900px){.sidebar{transition:inset-inline-start var(--t-base);z-index:1060;position:fixed;inset-inline-start:-260px}.sidebar.open{inset-inline-start:0}.content{padding:16px 14px 40px}.menu-toggle{display:inline-flex!important}.topbar .date{display:none}}.menu-toggle{border-radius:var(--r-control);color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;justify-content:center;align-items:center;width:34px;height:34px;display:none}.backdrop{z-index:1055;background:#0a0f1766;display:none;position:fixed;inset:0}.backdrop.show{display:block}
