.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background-color:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;z-index:1000;box-shadow:var(--shadow-lg)}@media(min-width:769px){.sidebar{transition:width .25s ease}}@media(max-width:768px){.sidebar{transition:transform .3s ease}}.sidebar.collapsed{width:70px}.sidebar.collapsed .menu-label{display:none}.sidebar-header{padding:1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar.collapsed .sidebar-header{flex-direction:column;padding:1rem .5rem;gap:.75rem}.collapse-toggle{background:#ffffff1a;border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;transition:background .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.collapse-toggle:hover{background:#fff3}.collapse-toggle:active{transform:scale(.9)}.sidebar-logo{display:flex;align-items:center;gap:.5rem}.sidebar.collapsed .sidebar-logo{justify-content:center}.logo-image{height:56px;width:100%;max-width:210px;object-fit:contain;transition:height .28s cubic-bezier(.4,0,.2,1),max-width .28s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .logo-image{height:32px;max-width:48px}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem .625rem}.menu-list{list-style:none;padding:0;margin:0}.menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:var(--sidebar-text);cursor:pointer;transition:background-color .15s ease,color .15s ease;font-size:14.5px;text-align:left;white-space:nowrap;position:relative;overflow:hidden;font-family:inherit}.menu-item.no-animate{transition:none}.sidebar.collapsed .menu-item{justify-content:center;padding:.75rem 0}.menu-item:hover{background-color:#ffffff14;color:#fff}.menu-item.active{background:linear-gradient(90deg,#1cb5a338,#1cb5a314);color:var(--primary-color);box-shadow:inset 3px 0 0 0 var(--primary-color);position:relative}.menu-item.active .menu-icon{color:var(--primary-color)}.menu-item.active:before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;border-radius:0 3px 3px 0;background:var(--primary-color);box-shadow:0 0 8px #1cb5a380;animation:sidebar-glow 2.5s ease-in-out infinite}@keyframes sidebar-glow{0%,to{box-shadow:0 0 6px #1cb5a34d}50%{box-shadow:0 0 14px #1cb5a399}}.menu-item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,181,163,.08),transparent 60%);transform:translate(-100%);transition:transform .3s ease;pointer-events:none;border-radius:inherit}.menu-item:hover:after{transform:translate(0)}.menu-item.active:after{display:none}.menu-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.menu-item:hover .menu-icon{transform:scale(1.12);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.menu-label{font-weight:500}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:1024px)and (min-width:769px){.sidebar,.sidebar.collapsed{width:70px}.menu-item{justify-content:center;padding:.75rem 0}.menu-label{display:none}.logo-image{height:32px;max-width:48px}}@media(max-width:768px){.sidebar{width:240px;transform:translate(-100%)}.sidebar:not(.collapsed){transform:translate(0)}.sidebar.collapsed{transform:translate(-100%)}.sidebar:not(.collapsed) .menu-label{display:block}.sidebar:not(.collapsed) .logo-image{height:56px;max-width:210px}.collapse-toggle{display:none}}.topbar{position:fixed;top:0;right:0;height:64px;left:var(--sidebar-width, 240px);display:flex;align-items:center;background:var(--card-bg, #fff);border-bottom:1px solid var(--border-color, #e2e8f0);z-index:999;box-shadow:0 1px 2px #0000000d;transition:left .25s ease;padding:0;animation:topbarSlideIn .3s cubic-bezier(.4,0,.2,1) both}@keyframes topbarSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.topbar.collapsed{left:70px}.topbar-content{width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.topbar-left{display:flex;align-items:center;gap:1rem}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary);border-radius:6px;transition:all .15s ease}.mobile-menu-button:hover{background:var(--bg-primary);color:var(--text-primary)}.mobile-menu-button:active{transform:scale(.92)}@media(max-width:768px){.mobile-menu-button{display:flex}}.page-title{font-size:20px;font-weight:700;color:var(--text-heading, #374151);margin:0}.page-subtitle{font-size:12px;color:var(--text-secondary, #94a3b8);font-weight:500}.topbar-right{display:flex;align-items:center;gap:.75rem}.user-menu-wrapper{position:relative}.user-button{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;color:var(--text-primary)}.user-button:hover{background:var(--bg-primary, #f9fafb);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #1cb5a31f}.user-button:active{transform:translateY(0);box-shadow:none}.user-avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--primary-color, #1CB5A3);display:flex;align-items:center;justify-content:center;transition:box-shadow .3s ease,transform .2s ease}.user-button:hover .user-avatar-sm{box-shadow:0 0 0 3px #1cb5a340;transform:scale(1.05)}.user-name-sm{font-size:13px;font-weight:500}.user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--card-bg, #fff);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;z-index:1001;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:0;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;font-family:inherit;color:var(--text-primary);position:relative;overflow:hidden}.dropdown-item:hover{background:var(--bg-primary, #f9fafb);color:var(--primary-color);padding-left:1.25rem}.dropdown-item:active{background:#e2e8f0}.dropdown-item svg{transition:transform .2s ease}.dropdown-item:hover svg{transform:scale(1.1)}.dropdown-divider{height:1px;background:var(--border-color);margin:0}.cp-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cp-modal{background:var(--card-bg, #fff);border-radius:12px;width:90%;max-width:440px;box-shadow:0 20px 60px #0000004d;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cp-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.cp-modal-header h3{font-size:17px;font-weight:600;color:var(--text-heading);margin:0}.cp-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:6px;transition:all .15s}.cp-modal-close:hover{background:var(--bg-primary);color:var(--text-primary)}.cp-modal-body{padding:1.25rem 1.5rem}.cp-form-group{margin-bottom:1rem}.cp-form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-heading);margin-bottom:.375rem}.cp-input{width:100%;padding:.6rem .875rem;border:1.5px solid var(--border-color);border-radius:7px;font-size:13px;color:var(--text-primary);background:var(--input-bg, #fff);font-family:inherit;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.cp-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1cb5a31f}.cp-alert{padding:.75rem 1rem;border-radius:8px;font-size:13px;margin-bottom:1rem}.cp-alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.cp-alert-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.cp-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.5rem}.cp-btn{padding:.5rem 1rem;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .15s}.cp-btn:disabled{opacity:.6;cursor:not-allowed}.cp-btn-primary{background:var(--primary-color);color:#fff}.cp-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.cp-btn-secondary{background:var(--bg-primary, #f8fafc);color:var(--text-primary);border:1px solid var(--border-color)}.cp-btn-secondary:hover:not(:disabled){background:var(--border-color)}@media(max-width:768px){.topbar,.topbar.collapsed{left:0}.user-name-sm{display:none}}.admin-layout{display:flex;min-height:100vh}.admin-main{flex:1;margin-left:var(--sidebar-width, 240px);background:var(--bg-light, #f9fafb);min-height:100vh;transition:margin-left .25s ease}.admin-content{padding:2rem;margin-top:64px}@media(max-width:1024px)and (min-width:769px){.admin-main{margin-left:70px}}@media(max-width:768px){.admin-main{margin-left:0}.admin-content{padding:1rem}}:root{--brand-primary: #1CB5A3;--brand-primary-hover: #169A8B;--brand-secondary: #1769AA;--brand-secondary-hover: #125783;--brand-accent: #F5A623;--bg-app: #f8fafc;--bg-elevated: #ffffff;--bg-elevated-hover: #f8fafc;--bg-input: #ffffff;--bg-input-disabled: #f1f5f9;--bg-table-head: #f8fafc;--bg-table-row-hover: rgba(28, 181, 163, .04);--bg-overlay: rgba(15, 23, 42, .45);--sidebar-bg: #1F2937;--sidebar-text: #D1D5DB;--sidebar-active-bg: linear-gradient(90deg, rgba(28,181,163,.22) 0%, rgba(28,181,163,.08) 100%);--sidebar-hover-bg: rgba(255,255,255,.08);--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-on-brand: #ffffff;--text-link: #1CB5A3;--border: #e2e8f0;--border-strong: #cbd5e1;--border-input: #cbd5e1;--status-success-bg: #dcfce7;--status-success-text: #166534;--status-success-border: #86efac;--status-warning-bg: #fef3c7;--status-warning-text: #92400e;--status-warning-border: #fde68a;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-danger-border: #fca5a5;--status-info-bg: #dbeafe;--status-info-text: #1e40af;--status-info-border: #93c5fd;--status-neutral-bg: #f1f5f9;--status-neutral-text: #64748b;--status-neutral-border: #cbd5e1;--status-purple-bg: #e9d5ff;--status-purple-text: #6b21a8;--status-purple-border: #c084fc;--action-edit-bg: #fef3c7;--action-edit-text: #92400e;--action-edit-border: #fbbf24;--action-delete-bg: #fee2e2;--action-delete-text: #991b1b;--action-delete-border: #fca5a5;--action-reset-bg: #e9d5ff;--action-reset-text: #6b21a8;--action-reset-border: #c084fc;--action-view-bg: #d1fae5;--action-view-text: #065f46;--action-view-border: #6ee7b7;--action-info-bg: #dbeafe;--action-info-text: #1e40af;--action-info-border: #93c5fd;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1);--shadow-modal: 0 20px 45px rgba(15,23,42,.2);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--sidebar-width: 240px;--topbar-height: 64px;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", Monaco, "Courier New", monospace;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--theme-transition: background-color .25s ease, color .25s ease, border-color .25s ease;--primary-color: var(--brand-primary);--primary-hover: var(--brand-primary-hover);--secondary-color: var(--brand-secondary);--secondary-hover: var(--brand-secondary-hover);--accent-color: var(--brand-accent);--bg-primary: var(--bg-app);--bg-secondary: var(--bg-elevated-hover);--bg-light: var(--bg-elevated);--bg-card: var(--bg-elevated);--card-bg: var(--bg-elevated);--card-bg-secondary: var(--bg-elevated-hover);--bg-table: var(--bg-table-head);--text-heading: var(--text-primary);--text-body: var(--text-primary);--border-color: var(--border);--input-bg: var(--bg-input);--input-border: var(--border-input);--sidebar-active: var(--brand-primary);--sidebar-hover: var(--sidebar-hover-bg);--success-green: var(--status-success-text);--error-red: var(--status-danger-text);--warning-amber: var(--brand-accent);--info-blue: #3498DB;--stale-gray: #95A5A6}html.dark{--bg-app: #0f172a;--bg-elevated: #1e293b;--bg-elevated-hover: #334155;--bg-input: #0f172a;--bg-input-disabled: #1e293b;--bg-table-head: #0f172a;--bg-table-row-hover: rgba(28, 181, 163, .08);--bg-overlay: rgba(0, 0, 0, .65);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border: #334155;--border-strong: #475569;--border-input: #475569;--status-success-bg: #052e16;--status-success-text: #86efac;--status-success-border: #166534;--status-warning-bg: #451a03;--status-warning-text: #fcd34d;--status-warning-border: #854d0e;--status-danger-bg: #450a0a;--status-danger-text: #fca5a5;--status-danger-border: #991b1b;--status-info-bg: #172554;--status-info-text: #93c5fd;--status-info-border: #1e40af;--status-neutral-bg: #334155;--status-neutral-text: #94a3b8;--status-neutral-border: #475569;--status-purple-bg: #2e1065;--status-purple-text: #c4b5fd;--status-purple-border: #5b21b6;--action-edit-bg: #451a03;--action-edit-text: #fcd34d;--action-edit-border: #854d0e;--action-delete-bg: #450a0a;--action-delete-text: #fca5a5;--action-delete-border: #991b1b;--action-reset-bg: #2e1065;--action-reset-text: #c4b5fd;--action-reset-border: #5b21b6;--action-view-bg: #052e16;--action-view-text: #86efac;--action-view-border: #166534;--action-info-bg: #172554;--action-info-text: #93c5fd;--action-info-border: #1e40af;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4);--shadow-modal: 0 20px 45px rgba(0,0,0,.5)}@media(prefers-color-scheme:dark){html:not(.light):not(.dark){--bg-app: #0f172a;--bg-elevated: #1e293b;--bg-elevated-hover: #334155;--bg-input: #0f172a;--bg-input-disabled: #1e293b;--bg-table-head: #0f172a;--bg-table-row-hover: rgba(28, 181, 163, .08);--bg-overlay: rgba(0, 0, 0, .65);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border: #334155;--border-strong: #475569;--border-input: #475569;--status-success-bg: #052e16;--status-success-text: #86efac;--status-success-border: #166534;--status-warning-bg: #451a03;--status-warning-text: #fcd34d;--status-warning-border: #854d0e;--status-danger-bg: #450a0a;--status-danger-text: #fca5a5;--status-danger-border: #991b1b;--status-info-bg: #172554;--status-info-text: #93c5fd;--status-info-border: #1e40af;--status-neutral-bg: #334155;--status-neutral-text: #94a3b8;--status-neutral-border: #475569;--status-purple-bg: #2e1065;--status-purple-text: #c4b5fd;--status-purple-border: #5b21b6;--action-edit-bg: #451a03;--action-edit-text: #fcd34d;--action-edit-border: #854d0e;--action-delete-bg: #450a0a;--action-delete-text: #fca5a5;--action-delete-border: #991b1b;--action-reset-bg: #2e1065;--action-reset-text: #c4b5fd;--action-reset-border: #5b21b6;--action-view-bg: #052e16;--action-view-text: #86efac;--action-view-border: #166534;--action-info-bg: #172554;--action-info-text: #93c5fd;--action-info-border: #1e40af;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4);--shadow-modal: 0 20px 45px rgba(0,0,0,.5)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-body);background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;transition:var(--theme-transition)}input,select,textarea,button{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.admin-layout{display:flex;min-height:100vh;background:var(--bg-app)}.admin-main{flex:1;margin-left:var(--sidebar-width);background:var(--bg-app);min-height:100vh;transition:margin-left var(--transition-normal)}.admin-content{padding:2rem;margin-top:var(--topbar-height);background:var(--bg-app);min-height:calc(100vh - var(--topbar-height))}.page-content{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;line-height:1.4;cursor:pointer;white-space:nowrap;transition:var(--theme-transition),transform .1s ease,box-shadow .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.4rem .875rem;font-size:.8rem}.btn-primary{background:var(--brand-primary);color:var(--text-on-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1cb5a359}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated-hover);border-color:var(--text-tertiary)}.btn-danger{background:var(--status-danger-text);color:var(--text-on-brand)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-app);color:var(--text-primary)}.btn-action{padding:.3rem .65rem;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;border:1px solid;display:inline-flex;align-items:center;white-space:nowrap;transition:var(--theme-transition),transform .1s ease;font-family:inherit}.btn-action:hover:not(:disabled){transform:translateY(-1px)}.btn-edit{background:var(--action-edit-bg);color:var(--action-edit-text);border-color:var(--action-edit-border)}.btn-delete{background:var(--action-delete-bg);color:var(--action-delete-text);border-color:var(--action-delete-border)}.btn-reset{background:var(--action-reset-bg);color:var(--action-reset-text);border-color:var(--action-reset-border)}.btn-view{background:var(--action-view-bg);color:var(--action-view-text);border-color:var(--action-view-border)}.btn-info{background:var(--action-info-bg);color:var(--action-info-text);border-color:var(--action-info-border)}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.card,.settings-card,.config-section,.dash-section,.dash-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-sm);transition:var(--theme-transition)}.settings-card+.settings-card{margin-top:1.5rem}.config-section{padding:1.5rem;margin-bottom:1.25rem}.dash-section{padding:1.5rem;margin-bottom:1.5rem}.settings-card h2,.config-section h2,.dash-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.card-description,.config-section-desc{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.875rem}.config-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.config-section-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.header-actions{display:flex;gap:.75rem;align-items:center;flex:1;justify-content:flex-end}.header-actions .btn{height:38px;box-sizing:border-box}.page-actions{display:flex;gap:.5rem;align-items:center}.search-container{position:relative;flex:1;max-width:360px}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);display:flex;align-items:center}.search-input{width:100%;height:38px;padding:0 1rem 0 2.5rem;border:1px solid var(--border-input);border-radius:var(--radius-lg);font-size:.875rem;background:var(--bg-input);color:var(--text-primary);transition:var(--theme-transition)}.search-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #1cb5a326}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group>label,.form-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.form-group small,.form-hint{font-size:.75rem;color:var(--text-secondary)}.required{color:var(--status-danger-text);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--border-input);border-radius:var(--radius-lg);font-size:.875rem;background:var(--bg-input);color:var(--text-primary);font-family:inherit;transition:var(--theme-transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #1cb5a326}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-input-disabled);color:var(--text-tertiary);cursor:not-allowed}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}select.form-select option,select.form-input option,select.toolbar-select option{background:var(--bg-elevated);color:var(--text-primary)}select.form-input,select.form-select,select.toolbar-select{background-color:var(--bg-input);color:var(--text-primary);appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}.form-grid{display:grid;gap:1rem}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.form-grid-2{grid-template-columns:1fr}}.form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-primary)}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.timezone-form{display:flex;flex-direction:column;gap:1.25rem}.toolbar-select{height:38px;padding:0 .875rem;border:1px solid var(--border-input);border-radius:var(--radius-lg);background:var(--bg-input);color:var(--text-primary);font-size:.875rem;cursor:pointer;font-family:inherit;transition:var(--theme-transition)}.toolbar-select:focus{outline:none;border-color:var(--brand-primary)}.table-container,.tenants-table-container{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--theme-transition);animation:fade-in-up .35s cubic-bezier(.4,0,.2,1) both}.data-table,.tenants-table,.apikey-table{width:100%;border-collapse:collapse;background:transparent}.data-table thead,.tenants-table thead,.apikey-table thead{background:var(--bg-table-head)}.data-table th,.tenants-table th,.apikey-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-table-head)}.data-table td,.tenants-table td,.apikey-table td{padding:1rem;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border);background:transparent}.data-table tbody tr:last-child td,.tenants-table tbody tr:last-child td,.apikey-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr,.tenants-table tbody tr,.apikey-table tbody tr{transition:background-color .12s ease}.data-table tbody tr:hover,.tenants-table tbody tr:hover,.apikey-table tbody tr:hover{background:var(--bg-table-row-hover)}.data-table tbody td:first-child,.tenants-table tbody td:first-child{position:relative}.data-table tbody td:first-child:before,.tenants-table tbody td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-primary);border-radius:0 2px 2px 0;transform:scaleY(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.data-table tbody tr:hover td:first-child:before,.tenants-table tbody tr:hover td:first-child:before{transform:scaleY(1)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.badge-online,.badge-active,.badge-viewer,.badge-event{background:var(--status-success-bg);color:var(--status-success-text)}.badge-offline,.badge-critical,.badge-escalated{background:var(--status-danger-bg);color:var(--status-danger-text)}.badge-warning,.badge-new{background:var(--status-warning-bg);color:var(--status-warning-text)}.badge-scheduled,.badge-acknowledged,.badge-org_admin,.badge-fm,.badge-type{background:var(--status-info-bg);color:var(--status-info-text)}.badge-completed,.badge-archived,.badge-resolved,.badge-auto_closed{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.badge-fm_manager{background:var(--status-purple-bg);color:var(--status-purple-text)}.badge-superadmin{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px}.status-badge:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%}.status-badge.active{background:var(--status-success-bg);color:var(--status-success-text)}.status-badge.active:before{background:var(--status-success-text)}.status-badge.inactive{background:var(--status-danger-bg);color:var(--status-danger-text)}.status-badge.inactive:before{background:var(--status-danger-text)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;z-index:2000;animation:modal-backdrop-in .2s ease both}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal-content,.modal-dialog{background:var(--bg-elevated);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:calc(100vh - 4rem);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;animation:modal-slide-in .25s cubic-bezier(.34,1.56,.64,1) both;border:1px solid var(--border);transition:var(--theme-transition)}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:1.5rem 1.75rem .75rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--theme-transition)}.modal-close:hover{background:var(--bg-elevated-hover);color:var(--text-primary)}.modal-body{padding:1.5rem 1.75rem;overflow-y:auto;flex:1 1 auto}.modal-footer{padding:1rem 1.75rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.alert{display:flex;gap:.75rem;padding:1rem;margin-bottom:1.5rem;border-radius:var(--radius-lg);font-size:.875rem;border:1px solid}.alert-error{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}.alert-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.alert-warning{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.alert-info{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;margin-bottom:1.5rem;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-left:4px solid var(--status-danger-text);border-radius:var(--radius-lg);color:var(--status-danger-text);font-size:.875rem}.error-banner button{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.success-banner{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;margin-bottom:1.5rem;background:var(--status-success-bg);border:1px solid var(--status-success-border);border-left:4px solid var(--status-success-text);border-radius:var(--radius-lg);color:var(--status-success-text);font-size:.875rem}.success-banner button{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer}@keyframes savedToastAnim{0%{opacity:0;transform:translateY(-6px)}12%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.saved-toast{display:flex;align-items:center;gap:.5rem;background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text);padding:.625rem 1rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;margin-bottom:1rem;animation:savedToastAnim 2.5s ease-in-out forwards}.info-box{background:var(--status-info-bg);border:1px solid var(--status-info-border);color:var(--status-info-text);padding:.75rem 1rem;border-radius:var(--radius-lg);font-size:.8125rem;margin-bottom:1rem}.info-box code{background:var(--bg-input);padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8125rem}.empty-state{text-align:center;padding:3.5rem 2rem;color:var(--text-secondary);animation:fade-in-up .35s cubic-bezier(.4,0,.2,1) .1s both}.empty-state h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.125rem;font-weight:500}.empty-state p{margin:0;font-size:.875rem}.no-data{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.tab-bar{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.tab-btn{padding:.55rem 1.2rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);font-family:inherit}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{font-weight:700;color:var(--text-primary);border-bottom-color:var(--brand-primary)}.detail-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.detail-row:last-child{border:none}.detail-row label{min-width:120px;font-weight:600;color:var(--text-secondary);font-size:.875rem}.detail-row span,.detail-row code{flex:1;font-size:.875rem;color:var(--text-primary)}.detail-row code{font-family:var(--font-mono);background:var(--bg-input);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;word-break:break-all}.action-buttons{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.report-preview{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);overflow:auto;max-height:500px}.share-banner{background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-lg);padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.share-banner-title{font-size:12px;font-weight:600;color:var(--status-success-text);margin-bottom:2px}.share-banner code{font-size:11px;color:var(--status-success-text);font-family:var(--font-mono)}.logo-variants-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:640px){.logo-variants-grid{grid-template-columns:1fr}}.logo-variant-card{display:flex;flex-direction:column;gap:.75rem}.logo-variant-label{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.logo-variant-preview{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);min-height:80px;padding:1rem}.logo-variant-preview img{height:56px;max-width:100%;object-fit:contain}.logo-variant-empty{font-size:.8rem;color:var(--text-tertiary)}.logo-bg-light{background:#fff;border:1px solid #e2e8f0}.logo-bg-dark{background:#1e293b;border:1px solid #334155}.logo-bg-dark .logo-variant-empty{color:#94a3b8}.logo-variant-actions{display:flex;gap:.5rem}.logo-variant-msg{font-size:.8rem;padding:.25rem 0}.logo-variant-msg.success{color:var(--status-success-text)}.logo-variant-msg.error{color:var(--status-danger-text)}.logo-preview{display:inline-flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1rem}.logo-preview img{height:48px;max-width:200px;object-fit:contain}.upload-row{display:flex;gap:.5rem;align-items:center}.file-input-hidden{display:none}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.1rem 1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);transition:var(--theme-transition)}.stat-value{font-size:1.9rem;font-weight:800;color:var(--text-primary);line-height:1}.stat-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:2px}.stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem;margin-bottom:2rem}.card-grid-sm{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;margin-bottom:2rem}.incident-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--status-warning-text);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm);transition:var(--theme-transition)}.incident-card-critical{border-left-color:var(--status-danger-text)}.incident-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.incident-number{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.incident-type{font-weight:600;font-size:13px;margin:.25rem 0;color:var(--text-primary);text-transform:capitalize}.incident-target{font-size:12px;color:var(--text-secondary)}.incident-value{font-size:11px;color:var(--text-tertiary)}.incident-meta{font-size:11px;color:var(--text-tertiary);display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.incident-actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.5rem}.session-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid #8b5cf6;border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm);transition:var(--theme-transition)}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.4rem}.session-name{font-weight:600;font-size:13px;color:var(--text-primary)}.session-project{font-size:11px;color:#8b5cf6;font-weight:500}.session-locations{font-size:11px;color:var(--text-secondary);margin-bottom:.5rem}.session-progress{height:4px;background:var(--border);border-radius:2px;margin:.5rem 0}.session-progress-bar{height:100%;background:#8b5cf6;border-radius:2px;transition:width .3s}.session-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem}.session-metric{text-align:center;padding:.4rem;background:var(--bg-app);border-radius:var(--radius-md)}.session-metric-val{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.session-metric-lbl{font-size:10px;color:var(--text-tertiary)}.session-elapsed{margin-top:.5rem;font-size:11px;color:var(--text-tertiary);text-align:right}.device-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--status-success-text);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm);transition:var(--theme-transition)}.device-card-offline{border-left-color:var(--status-danger-text)}.device-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.device-card-name{font-size:13px;font-weight:600;color:var(--text-primary)}.device-card-detail{font-size:12px;color:var(--text-secondary);margin-bottom:.25rem}.device-card-detail-secondary{font-size:11px;color:var(--text-tertiary);margin-bottom:.25rem}.device-card-eui{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);margin-bottom:.25rem}.device-card-alert{margin-top:.5rem;font-size:11px;padding:3px 6px;background:var(--status-danger-bg);color:var(--status-danger-text);border-radius:var(--radius-sm);display:inline-block}.per-type-list{display:grid;gap:.75rem}.per-type-row{display:flex;align-items:center;gap:1rem}.per-type-label{flex:1;font-size:13px;font-weight:500;color:var(--text-primary)}.per-type-where{font-size:11px;color:var(--text-tertiary);width:200px}.per-type-input{width:100px}.per-type-unit{font-size:11px;color:var(--text-tertiary)}.save-row{display:flex;align-items:center;gap:.75rem}.sensor-filter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.theme-toggle-group{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.theme-toggle-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border:2px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;transition:var(--theme-transition),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease}.theme-toggle-btn:hover{border-color:var(--text-tertiary);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.theme-toggle-btn.active{border-color:var(--brand-primary);background:linear-gradient(135deg,#1cb5a314,#1cb5a308);color:var(--brand-primary);box-shadow:0 0 0 3px #1cb5a31f,0 4px 12px #1cb5a31f}.live-pulse{animation:pulse 2s ease-in-out infinite}.toolbar{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar-search{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border:1px solid var(--border-input);border-radius:var(--radius-lg);background:var(--bg-input);flex:1;max-width:280px;transition:var(--theme-transition)}.toolbar-search input{border:none;outline:none;font-size:13px;color:var(--text-primary);background:transparent;width:100%;font-family:inherit}@media(max-width:768px){.admin-main{margin-left:0}.form-grid-2{grid-template-columns:1fr}}:root{--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-fast: .2s;--duration-normal: .3s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in-up{animation:fade-in-up var(--duration-normal) var(--ease-smooth)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
