@charset "UTF-8";.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--bg: #ffffff;--surface: #f8fafc;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--success: #16a34a;--danger: #dc2626;--warning: #d97706;--radius: 8px;--sidebar-w: 256px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-weight:700}.muted{color:var(--muted)}.text-sm{font-size:13px}.text-xs{font-size:12px}.accent{color:var(--accent)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--border)}.content{max-width:1120px;width:100%;margin:0 auto;padding:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand .emoji{font-size:22px}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--muted);font-weight:500;border-left:3px solid transparent;cursor:pointer}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,white);border-left-color:var(--accent)}.nav-item .count{margin-left:auto;background:var(--accent);color:#fff;border-radius:999px;font-size:11px;font-weight:600;padding:1px 7px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;font-size:13px}.role-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:4px;padding:1px 6px}.role-admin{background:#dbeafe;color:#1d4ed8}.role-employee{background:#f1f5f9;color:#475569}.demo-badge{width:fit-content;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,white);border-radius:4px;padding:2px 7px}.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;height:36px;padding:0 16px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(.94)}.btn-secondary{background:var(--bg);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface)}.btn-danger{background:var(--bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,white)}.btn-success{background:var(--success);color:#fff}.btn-sm{height:30px;padding:0 12px;font-size:13px}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.grid{display:grid;gap:16px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h2{font-size:22px}.table-wrap{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-scroll{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:0 14px;height:44px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface)}.row-link{color:var(--text);font-weight:600;cursor:pointer}.row-link:hover{color:var(--accent)}.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap}.badge.open{color:#475569;background:#f1f5f9}.badge.in_progress{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,white)}.badge.done{color:var(--success);background:#dcfce7}.badge.cancelled{color:var(--danger);background:#fee2e2}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.req{color:var(--danger)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;font:inherit;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}textarea{height:auto;padding:8px 10px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.field-error{color:var(--danger);font-size:12px;margin-top:4px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.status-select{height:28px;font-size:12px;font-weight:600;border-radius:999px;padding:0 8px;width:auto}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-weight:600;flex-shrink:0}.skeleton{background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 37%,#eef2f7 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite;border-radius:6px}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.donut{width:140px;height:140px;border-radius:999px}.donut:after{content:"";display:block;width:64%;height:64%;margin:18% auto;background:var(--bg);border-radius:999px}.upgrade{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,white);border-radius:var(--radius);padding:12px 14px;font-size:13px;color:var(--muted)}.toast-success .mdc-snackbar__surface{background:var(--success)!important}.toast-error .mdc-snackbar__surface{background:var(--danger)!important}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:#fff!important}.dialog-card{background:var(--bg);border-radius:var(--radius);padding:24px;width:360px;max-width:90vw;box-shadow:0 20px 50px #0f172a40}.fade-in{animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.bottom-nav{display:none}@media(max-width:768px){.sidebar{display:none}.content{padding:16px 16px 76px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:20;display:flex;justify-content:space-around;background:var(--bg);border-top:1px solid var(--border);padding:6px 0}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--muted)}.bottom-nav a.active{color:var(--accent)}.hide-mobile{display:none!important}}
