:root{--crou-green:#0d9f3f;--crou-green-light:#10b981;--crou-green-subtle:#ecfdf5;--crou-navy:#111827;--crou-gray-900:#1f2937;--crou-gray-700:#374151;--crou-gray-500:#6b7280;--crou-gray-400:#9ca3af;--crou-gray-200:#e5e7eb;--crou-gray-100:#f3f4f6;--crou-bg:#f8fafc;--crou-card:#fff;--crou-border:#e2e8f0;--crou-shadow-sm:0 1px 2px rgba(0,0,0,.04);--crou-shadow-md:0 4px 12px rgba(0,0,0,.06);--crou-shadow-lg:0 8px 32px rgba(0,0,0,.08);--crou-radius:12px;--crou-radius-lg:16px;--crou-transition:0.2s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body{margin:0;background:var(--crou-bg);color:var(--crou-navy);font-family:Source Sans\ 3,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#064e3b,#065f46 30%,#0d9f3f 60%,#059669);position:relative;overflow:hidden}.login-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,hsla(0,0%,100%,.05) 0,transparent 50%),radial-gradient(circle at 80% 20%,hsla(0,0%,100%,.08) 0,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,121,0,.06) 0,transparent 60%);pointer-events:none}.login-card{position:relative;width:100%;max-width:420px;margin:24px;padding:40px 36px;background:hsla(0,0%,100%,.97);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.1)}.login-header{text-align:center;margin-bottom:36px}.login-logo{font-size:52px;margin-bottom:12px;line-height:1}.login-input{border-radius:10px!important;border-color:var(--crou-gray-200)!important;height:48px!important;font-size:15px!important;transition:all var(--crou-transition)!important}.login-input:focus,.login-input:hover{border-color:var(--crou-green)!important;box-shadow:0 0 0 3px rgba(13,159,63,.08)!important}.login-btn{height:48px!important;border-radius:10px!important;font-size:16px!important;font-weight:600!important;background:var(--crou-green)!important;border-color:var(--crou-green)!important;box-shadow:0 2px 8px rgba(13,159,63,.3)!important;transition:all var(--crou-transition)!important}.login-btn:hover{background:var(--crou-green-light)!important;transform:translateY(-1px)!important;box-shadow:0 4px 16px rgba(13,159,63,.4)!important}.login-footer{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--crou-gray-100)}.app-shell{background:var(--crou-bg);min-height:100vh}.app-shell .ant-layout-sider{background:#0f172a!important;border-right:1px solid hsla(0,0%,100%,.06)}.app-shell .ant-menu-dark{background:transparent!important}.app-shell .ant-menu-dark .ant-menu-item{margin:2px 8px!important;border-radius:8px!important;height:40px!important;line-height:40px!important;font-size:13.5px!important;color:hsla(0,0%,100%,.65)!important;transition:all var(--crou-transition)!important}.app-shell .ant-menu-dark .ant-menu-item:hover{color:#fff!important;background:hsla(0,0%,100%,.08)!important}.app-shell .ant-menu-dark .ant-menu-item-selected{background:rgba(16,185,129,.15)!important;color:#10b981!important;font-weight:600!important}.app-shell .ant-layout-header{background:hsla(0,0%,100%,.8)!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--crou-border)!important;box-shadow:none!important}.page{display:flex;flex-direction:column;gap:20px;animation:pageIn .3s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{margin:0!important;font-weight:700!important;letter-spacing:-.3px!important;color:var(--crou-navy)!important}.page-subtitle{color:var(--crou-gray-500);font-size:14px;margin-top:2px}.card-soft{background:var(--crou-card);border:1px solid var(--crou-border);border-radius:var(--crou-radius)!important;box-shadow:var(--crou-shadow-sm);transition:box-shadow var(--crou-transition)}.card-soft:hover{box-shadow:var(--crou-shadow-md)}.card-soft .ant-card-head{border-bottom:1px solid var(--crou-border);font-weight:600;min-height:48px}.card-soft .ant-card-body{padding:20px}.stat-card{border:1px solid var(--crou-border)!important}.stat-card .ant-statistic-title{color:var(--crou-gray-500);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-card .ant-statistic-content-value{font-weight:700!important}.filter-card{background:var(--crou-card);border:1px dashed var(--crou-gray-200);border-radius:var(--crou-radius)!important;padding:16px 20px}.ant-table-wrapper .ant-table{border-radius:var(--crou-radius)!important;overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{background:var(--crou-gray-100)!important;color:var(--crou-gray-700)!important;font-weight:600!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.5px!important;border-bottom:1px solid var(--crou-border)!important;padding:12px 16px!important}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid var(--crou-gray-100)!important;padding:12px 16px!important;font-size:14px;transition:background var(--crou-transition)}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:rgba(13,159,63,.02)!important}.ant-table-wrapper .ant-table-tbody>tr:last-child>td{border-bottom:none!important}.ant-tag{border-radius:6px!important;padding:2px 10px!important;font-weight:600!important;font-size:12px!important;border:none!important}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:6px;font-size:12px;font-weight:600;background:#eef2ff;color:#4338ca}.status-pill.success{background:#ecfdf5;color:#047857}.status-pill.warn{background:#fffbeb;color:#b45309}.status-pill.danger{background:#fef2f2;color:#b91c1c}.ant-btn{border-radius:8px!important;font-weight:500!important;transition:all var(--crou-transition)!important;box-shadow:none!important}.ant-btn-primary{box-shadow:0 1px 4px rgba(0,0,0,.1)!important}.ant-btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 3px 8px rgba(0,0,0,.15)!important}.ant-modal-content{border-radius:var(--crou-radius-lg)!important;box-shadow:var(--crou-shadow-lg)!important;overflow:hidden}.ant-modal-header{border-bottom:1px solid var(--crou-border)!important;padding:20px 24px!important}.ant-modal-body{padding:24px!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select-selector{border-radius:8px!important;border-color:var(--crou-gray-200)!important;transition:all var(--crou-transition)!important}.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-input:hover,.ant-select-selector:hover{border-color:var(--crou-green)!important}.ant-input-affix-wrapper-focused,.ant-input:focus,.ant-select-focused .ant-select-selector{border-color:var(--crou-green)!important;box-shadow:0 0 0 3px rgba(13,159,63,.08)!important}.ant-progress-bg{border-radius:999px!important}.ant-progress-outer .ant-progress-inner{border-radius:999px!important;background:var(--crou-gray-100)!important}.ant-alert{border-radius:10px!important}.ant-badge-count{box-shadow:0 0 0 2px #fff!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--crou-gray-200);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--crou-gray-400)}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.admin-login-card,.login-card{padding:32px 24px}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b 40%,#312e81 70%,#1e293b);position:relative;overflow:hidden}.admin-login-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 85%,rgba(99,102,241,.08) 0,transparent 50%),radial-gradient(circle at 85% 15%,rgba(139,92,246,.06) 0,transparent 50%),radial-gradient(circle at 50% 50%,rgba(99,102,241,.03) 0,transparent 70%);pointer-events:none}.admin-login-bg-pattern:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 80px,rgba(99,102,241,.03) 0,rgba(99,102,241,.03) 81px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(99,102,241,.03) 0,rgba(99,102,241,.03) 81px)}.admin-login-card{position:relative;width:100%;max-width:420px;margin:24px;padding:40px 36px;background:rgba(15,23,42,.85);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(99,102,241,.2);box-shadow:0 25px 60px rgba(0,0,0,.5),0 0 40px rgba(99,102,241,.05),inset 0 1px 0 hsla(0,0%,100%,.05)}.admin-login-header{text-align:center;margin-bottom:36px}.admin-login-icon{margin-bottom:16px;line-height:1}.admin-login-badge{display:inline-flex;align-items:center;margin-top:12px;padding:4px 14px;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.25);border-radius:20px;color:#818cf8;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.admin-login-input{border-radius:10px!important;border-color:rgba(99,102,241,.2)!important;background:rgba(30,41,59,.8)!important;color:#e2e8f0!important;height:48px!important;font-size:15px!important;transition:all .2s ease!important}.admin-login-input:focus,.admin-login-input:hover{border-color:#6366f1!important;box-shadow:0 0 0 3px rgba(99,102,241,.15)!important;background:#1e293b!important}.admin-login-input input{background:transparent!important;color:#e2e8f0!important}.admin-login-input input::placeholder{color:#475569!important}.admin-login-input .ant-input-suffix{color:#64748b!important}.admin-login-btn{height:48px!important;border-radius:10px!important;font-size:16px!important;font-weight:600!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;border:none!important;box-shadow:0 4px 16px rgba(99,102,241,.3)!important;transition:all .2s ease!important}.admin-login-btn:hover{background:linear-gradient(135deg,#818cf8,#a78bfa)!important;transform:translateY(-1px)!important;box-shadow:0 6px 24px rgba(99,102,241,.45)!important}.admin-login-footer{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid rgba(99,102,241,.1)}.admin-login-card .ant-form-item-label>label{color:#cbd5e1!important}