:root,[data-theme=dark]{--bg: #000000;--bg-elevated: #0a0a0a;--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .07);--card: rgba(20, 20, 20, .92);--card-solid: #141414;--card-border: rgba(255, 255, 255, .1);--text: #f5f5f5;--text-secondary: #9a9a9a;--text-muted: #8a8a8a;--brand: #4587c6;--brand-light: #5a9ad4;--brand-dark: #3a75ad;--brand-glow: rgba(69, 135, 198, .35);--brand-soft: rgba(69, 135, 198, .12);--accent: #4587c6;--accent-glow: rgba(69, 135, 198, .25);--ok: #10b981;--ok-bg: rgba(16, 185, 129, .15);--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .15);--bad: #ef4444;--bad-bg: rgba(239, 68, 68, .15);--blue: #4587c6;--blue-bg: rgba(69, 135, 198, .15);--purple: #3a75ad;--line: rgba(255, 255, 255, .06);--radius: 16px;--radius-sm: 10px;--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 40px var(--brand-glow);--sidebar-w: 268px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--input-bg: rgba(255, 255, 255, .07);--topbar-bg: rgba(0, 0, 0, .85);--table-bg: rgba(0, 0, 0, .2);--table-head-bg: rgba(255, 255, 255, .03);--main-glow-a: rgba(69, 135, 198, .07);--main-glow-b: rgba(69, 135, 198, .04);--scrollbar-thumb: rgba(255, 255, 255, .14);--select-option-bg: #1e293b;--sidebar-bg: var(--bg-elevated);--hero-gradient: linear-gradient(135deg, rgba(69, 135, 198, .12), rgba(69, 135, 198, .04));--hero-border: rgba(69, 135, 198, .22);--stat-icon-bg: rgba(255, 255, 255, .06);--pill-ok-text: #34d399;--pill-warn-text: #fbbf24;--pill-bad-text: #f87171;--pill-blue-text: var(--brand-light);--ok-text: #34d399;--bad-text: #f87171;--topbar-border: var(--line);--login-visual-bg: var(--bg);--login-panel-bg: var(--bg-elevated);--sidebar-shadow: none}[data-theme=light]{--bg: #e8edf4;--bg-elevated: #ffffff;--sidebar-bg: #ffffff;--surface: rgba(69, 135, 198, .07);--surface-hover: rgba(69, 135, 198, .12);--card: #ffffff;--card-solid: #ffffff;--card-border: rgba(15, 23, 42, .11);--text: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--brand: #4587c6;--brand-light: #2563eb;--brand-dark: #1d4ed8;--brand-glow: rgba(69, 135, 198, .28);--brand-soft: rgba(69, 135, 198, .12);--accent: #4587c6;--accent-glow: rgba(69, 135, 198, .2);--ok: #059669;--ok-bg: rgba(16, 185, 129, .14);--warn: #d97706;--warn-bg: rgba(245, 158, 11, .14);--bad: #dc2626;--bad-bg: rgba(239, 68, 68, .12);--blue: #4587c6;--blue-bg: rgba(69, 135, 198, .12);--purple: #3a75ad;--line: rgba(15, 23, 42, .09);--shadow: 0 8px 30px rgba(15, 23, 42, .09);--shadow-glow: 0 8px 32px rgba(69, 135, 198, .18);--input-bg: #f8fafc;--topbar-bg: rgba(255, 255, 255, .96);--table-bg: #ffffff;--table-head-bg: #f1f5f9;--main-glow-a: rgba(69, 135, 198, .1);--main-glow-b: rgba(69, 135, 198, .05);--scrollbar-thumb: rgba(15, 23, 42, .18);--select-option-bg: #ffffff;--hero-gradient: linear-gradient(135deg, rgba(69, 135, 198, .16), rgba(255, 255, 255, .9));--hero-border: rgba(69, 135, 198, .28);--stat-icon-bg: rgba(69, 135, 198, .1);--pill-ok-text: #047857;--pill-warn-text: #b45309;--pill-bad-text: #b91c1c;--pill-blue-text: #1d4ed8;--ok-text: #047857;--bad-text: #b91c1c;--topbar-border: rgba(15, 23, 42, .08);--login-visual-bg: linear-gradient(160deg, #f0f5fc 0%, #e8edf4 55%, #dfe8f4 100%);--login-panel-bg: #ffffff;--sidebar-shadow: 2px 0 20px rgba(15, 23, 42, .06)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%}::selection{background:var(--brand);color:#fff}input,select,textarea{width:100%;border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--input-bg);color:var(--text);font-size:13px;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}input option,select option,textarea option{background:var(--select-option-bg);color:var(--text)}textarea{min-height:80px;resize:vertical}label{font-size:11px;font-weight:700;color:var(--text-secondary);margin-top:12px;display:block;text-transform:uppercase;letter-spacing:.04em}.modal-body{padding:24px 28px 28px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px}.modal-body .field{margin-bottom:20px}.modal-body .field label{margin:0 0 8px}.modal-body .field:last-child{margin-bottom:0}.modal-body .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-bottom:20px}.modal-body .field-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-body .field-row>.field{margin-bottom:0}.modal-body .row2{gap:16px 20px;margin-bottom:20px}.modal-body .row2>div,.modal-body .row2>.field{min-width:0}.modal-body .row2 label{margin:0 0 8px}.modal-body .row{gap:16px 20px;margin-bottom:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-body .row>div,.modal-body .row>.field{min-width:0}.modal-body .row label{margin:0 0 8px}.modal-body>label{margin:0 0 8px}.modal-body>input,.modal-body>select,.modal-body>textarea{margin-bottom:20px}.modal-body>.note{margin-bottom:20px}.modal-body select{min-height:42px;padding-right:36px;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.modal-body input[type=date],.modal-body input[type=email],.modal-body input[type=password],.modal-body input:not([type]){min-height:42px}.modal-body textarea{min-height:108px;line-height:1.5}.modal-body .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:14px 16px;max-height:200px;overflow:auto}.modal-body .checklist{margin-bottom:20px;padding:12px 14px;max-height:180px}.btn{border:0;border-radius:var(--radius-sm);padding:10px 16px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer;font-size:13px;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition)}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px var(--brand-glow)}.btn.sm{padding:6px 10px;font-size:11px;border-radius:8px}.btn.alt{background:var(--surface);border:1px solid var(--card-border);color:var(--text-secondary)}.btn.alt:hover{background:var(--surface-hover);color:var(--text);box-shadow:none}.btn.ok{background:linear-gradient(135deg,var(--ok),#059669)}.btn.warn{background:linear-gradient(135deg,var(--warn),#d97706)}.btn.bad{background:linear-gradient(135deg,var(--bad),#dc2626)}.btn.blue{background:linear-gradient(135deg,var(--blue),#2563eb)}.btn.ghost{background:transparent;border:1px solid var(--card-border);color:var(--text-secondary)}.btn.ghost:hover{border-color:var(--brand);color:var(--text);box-shadow:none}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.panel,.card{background:var(--card);backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0;max-width:100%}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.panel-header h3{margin:0;font-size:15px;font-weight:700}.panel-header p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.metric{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1}.muted{color:var(--text-secondary);font-size:12px}.filters-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--card-border);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1.25;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip:hover{color:var(--text);border-color:#4587c673;background:var(--surface-hover)}.chip.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-light)}.module-tabs{display:flex;gap:8px;flex-wrap:wrap}.module-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--card-border);background:var(--surface);color:var(--text-secondary);border-radius:12px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease,border-color .15s ease}.module-tab:hover{color:var(--text);border-color:#4587c673;background:var(--surface-hover)}.module-tab.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-light)}.module-tab .tab-count{min-width:22px;padding:2px 8px;border-radius:999px;background:#00000014;font-size:11px;font-weight:800;text-align:center}.module-tab.active .tab-count{background:#ffffff2e}.grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px}.row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.row2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-top h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em;min-width:0}.page-top .page-sub{margin-top:4px;color:var(--text-muted);font-size:13px}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px}.top h1{margin:0;min-width:0;font-size:clamp(1.25rem,2.5vw,1.75rem)}.top .actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.table-wrap{overflow-x:auto;overflow-y:hidden;max-width:100%;width:100%;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--table-bg);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px}.table-wrap .table-actions-cell{min-width:140px;max-width:240px;vertical-align:middle;white-space:normal}.table-wrap .table-actions-cell .btn{margin:2px 4px 2px 0}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap.wide-table table{min-width:1280px}.table-wrap .cell-clip{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap .cell-copy{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap .cell-actions{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:160px;max-width:240px}.table-wrap th,.table-wrap td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;vertical-align:middle}.table-wrap th{background:var(--table-head-bg);color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.table-wrap tbody tr{transition:background var(--transition)}.table-wrap tbody tr:hover{background:var(--surface-hover)}.table-wrap tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.02em;border:1px solid var(--card-border)}.pill.ok{background:var(--ok-bg);color:var(--pill-ok-text);border-color:#10b98159}.pill.warn{background:var(--warn-bg);color:var(--pill-warn-text);border-color:#f59e0b59}.pill.bad{background:var(--bad-bg);color:var(--pill-bad-text);border-color:#ef444459}.pill.blue{background:var(--blue-bg);color:var(--pill-blue-text);border-color:#4587c659}.pill.pending{background:#94a3b82e;color:#64748b;border-color:#64748b59}.late{color:var(--bad);font-weight:600}.ok-due{color:var(--ok, #10b981);font-weight:600}.cell-date{white-space:nowrap;font-size:12px}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.client-card{cursor:pointer;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.client-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-glow)}.note{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;line-height:1.5;margin:12px 0;color:var(--text)}.note b{color:var(--text);font-weight:700}.note .muted{color:var(--text-secondary)}.toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:16px 0;flex-wrap:wrap}.toolbar>div:first-child{min-width:0;flex:1 1 240px}.toolbar select{max-width:100%;min-width:160px}.checklist{border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:10px;max-height:160px;overflow:auto;background:var(--table-bg)}.checklist label{display:flex;gap:8px;align-items:center;font-weight:500;margin:6px 0;text-transform:none;letter-spacing:0;font-size:13px;color:var(--text)}.checklist input{width:auto}.checks{display:flex;flex-wrap:wrap;gap:8px;background:var(--table-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:10px}.check{font-size:12px;display:flex;align-items:center;gap:6px;margin:0;color:var(--text-secondary)}.check input{width:auto}.perm-grid{overflow:auto;border:1px solid var(--card-border);border-radius:var(--radius-sm);background:var(--table-bg)}.perm-grid table{min-width:560px}.perm-grid input{width:auto;accent-color:var(--brand)}.perm-grid td,.perm-grid th{text-align:center}.perm-grid td:first-child,.perm-grid th:first-child{text-align:left}.comment-item{border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:12px;margin:8px 0;background:var(--table-bg);color:var(--text);line-height:1.5}.comment-meta{font-size:11px;color:var(--text-secondary);margin-top:6px}.mini{font-size:11px;color:var(--text-secondary)}.mt-14{margin-top:16px}.avatar{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;flex-shrink:0}.empty-state{text-align:center;padding:32px 16px;color:var(--text-secondary);font-size:13px}.empty-state .empty-icon{font-size:32px;margin-bottom:8px;opacity:.5}[data-theme=light] .panel,[data-theme=light] .card{box-shadow:0 2px 14px #0f172a12}[data-theme=light] .table-wrap{box-shadow:0 1px 10px #0f172a0d}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{border-color:#0f172a24}@media(max-width:640px){.modal-body{padding:20px 20px 24px}.modal-body .field-row,.modal-body .field-row.cols-3,.modal-body .checks{grid-template-columns:1fr}}@media(max-width:1100px){.grid,.row,.row2{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.grid,.row,.row2{grid-template-columns:1fr}}
