:root{--accent: #0e7c78;--accent-hover: #0a5f5c;--accent-light: #e9f8f6;--bg: #ffffff;--surface: #f3f7fb;--surface-hover: #e6eef6;--surface-active: #d7e3ef;--text: #20324a;--text-muted: #52677c;--border: #d7e3ef;--border-focus: #0e7c78;--danger: #c0392b;--danger-light: #fbeae8;--success: #27ae60;--success-light: #eafaf1;--warning: #d35400;--warning-light: #fef5e7;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius: 8px}[data-theme=dark]{--accent: #5ee7d2;--accent-hover: #48c9b5;--accent-light: #123548;--bg: #091a28;--surface: #0e2233;--surface-hover: #163045;--surface-active: #1d3e57;--text: #e7eef7;--text-muted: #b8c7d8;--border: #244258;--border-focus: #5ee7d2;--danger: #e74c3c;--danger-light: #3d1617;--success: #2ecc71;--success-light: #143521;--warning: #f39c12;--warning-light: #3b280e;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent: #5ee7d2;--accent-hover: #48c9b5;--accent-light: #123548;--bg: #091a28;--surface: #0e2233;--surface-hover: #163045;--surface-active: #1d3e57;--text: #e7eef7;--text-muted: #b8c7d8;--border: #244258;--border-focus: #5ee7d2;--danger: #e74c3c;--danger-light: #3d1617;--success: #2ecc71;--success-light: #143521;--warning: #f39c12;--warning-light: #3b280e;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem 1rem;flex-shrink:0;transition:transform .2s ease}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.sidebar-logo{font-size:1.5rem}.sidebar-title{font-size:1.1rem;font-weight:700;color:var(--text)}.sidebar-subtitle{font-size:.75rem;color:var(--text-muted)}.nav-list{list-style:none;display:flex;flex-direction:column;gap:.35rem;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:var(--radius);color:var(--text-muted);font-weight:500;font-size:.95rem;cursor:pointer;border:1px solid transparent;background:none;width:100%;text-align:left;transition:all .15s ease}.nav-item:hover{background-color:var(--surface-hover);color:var(--text)}.nav-item.active{background-color:var(--accent-light);color:var(--accent);border-color:var(--border);font-weight:600}.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-footer{padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;background-color:var(--bg)}.header{height:64px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background-color:var(--surface);flex-shrink:0}.header-left{display:flex;align-items:center;gap:1rem}.header-title{font-size:1.25rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:.75rem}.content-body{padding:1.5rem;flex:1;overflow-y:auto}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background-color:var(--surface)}.auth-card{width:100%;max-width:480px;background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);padding:2rem;box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h1{font-size:1.5rem;margin-bottom:.5rem}.auth-header p{color:var(--text-muted);font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text)}.form-input{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);color:var(--text);font-size:.95rem;transition:border-color .15s ease}.form-input:focus{outline:none;border-color:var(--border-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background-color:var(--surface-hover)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:9999px;font-size:.75rem;font-weight:600;line-height:1}.badge-success{background-color:var(--success-light);color:var(--success);border:1px solid var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning);border:1px solid var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.badge-neutral{background-color:var(--surface-hover);color:var(--text-muted);border:1px solid var(--border)}.badge-accent{background-color:var(--accent-light);color:var(--accent);border:1px solid var(--accent)}.table-container{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;background-color:var(--bg)}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.table th{background-color:var(--surface);padding:.75rem 1rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text)}.table tbody tr{cursor:pointer;transition:background-color .15s ease}.table tbody tr:hover{background-color:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card-title{font-weight:600;font-size:1rem}.drawer-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:50;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.drawer{width:100%;max-width:580px;background-color:var(--bg);height:100%;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideLeft .25s ease}.drawer-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.drawer-body{padding:1.5rem;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.drawer-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem;background-color:var(--surface)}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;display:flex;flex-direction:column;gap:.5rem}.toast{background-color:var(--text);color:var(--bg);padding:.75rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:.9rem;font-weight:500;animation:slideUp .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border)}}
