:root{--dark-300: #191b20;--dark-200: #202128;--dark-100: #242731;--dark-50: rgba(228, 228, 228, .03);--light-300: #808191;--light-200: #b2b3bd;--light-100: #ffffff;--light-50: #e4e4e4;--blue: #355dff;--blue-hover: #1140ff;--blue-dark: rgba(53, 93, 255, .3);--green: #4fbf67;--green-dark: rgba(79, 191, 103, .3);--red: #ff7a68;--red-dark: rgba(255, 122, 104, .3);--yellow: #ffce73;--yellow-dark: rgba(255, 206, 115, .3);--purple: #6c5dd3;--purple-dark: rgba(108, 93, 211, .3);--bg: var(--dark-200);--text: var(--light-100);--text-secondary: var(--light-300);--border: rgba(228, 228, 228, .1);--card: var(--dark-100);--input: var(--dark-200);--hover-surface: rgba(255, 255, 255, .05);--shadow-card: 0 5px 20px rgba(0, 0, 0, .07);--aside-w: 280px;--nav-h: 4rem}*{box-sizing:border-box}html,body{overflow-x:hidden}body.no-nav{padding-top:0}body{margin:0;padding-top:var(--nav-h);font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);transition:padding-left .25s ease}.navbar{position:fixed;top:0;left:0;right:0;z-index:110;background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-inner{min-height:var(--nav-h);display:flex;align-items:center;gap:1rem;padding:.75rem 1rem}.nav-inner h1{font-size:1rem;font-weight:600;margin:0;flex:1}.user{font-size:.8125rem;color:var(--text-secondary);display:flex;gap:12px;align-items:center}.user button{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;cursor:pointer;transition:color .2s ease,border-color .2s ease}.user button:hover{color:var(--text);border-color:var(--blue)}.user button svg{width:20px;height:20px;display:block}.hamburger{width:40px;height:40px;flex:0 0 auto;padding:0;display:grid;place-items:center;background:transparent;border:none;cursor:pointer}.hamburger{margin-left:-8px;margin-right:4px}.hamburger svg{fill:var(--text-secondary);transition:fill .2s ease}.hamburger:hover svg{fill:var(--text)}.offcanvas{position:fixed;top:var(--nav-h);left:0;z-index:40;height:calc(100vh - var(--nav-h));height:calc(100dvh - var(--nav-h));width:var(--aside-w);display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--border);transform:translate(-100%);transition:transform .25s ease}.aside-open .offcanvas{transform:translate(0)}.offcanvas-overlay{position:fixed;inset:var(--nav-h) 0 0 0;z-index:90;background:#00000080;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.aside-open .offcanvas-overlay{opacity:1;visibility:visible;pointer-events:auto}@media(min-width:1200px){.aside-open body{padding-left:var(--aside-w)}.offcanvas-overlay{display:none!important}}@media(max-width:1199px){.offcanvas{z-index:100;width:min(380px,88vw);box-shadow:0 24px 80px #0000008c}}.offcanvas-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.sidebar-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav a,.sidebar-bottom-links a{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;border:1px solid transparent;border-radius:.8rem;text-decoration:none;color:#ffffffb3;font-weight:500;font-size:.875rem;transition:border-color .2s ease,background .2s ease;cursor:pointer}.sidebar-nav a:hover,.sidebar-bottom-links a:hover{background:#ffffff0d}.sidebar-nav a.active{border-color:var(--blue);background:#3d63ff1f;color:var(--text)}.sidebar-nav a svg{width:24px;height:24px;flex:0 0 auto;fill:var(--text-secondary);display:block;transition:fill .2s ease}.sidebar-nav a:hover svg{fill:var(--text)}.sidebar-nav a.active svg{fill:var(--blue)}.sidebar-bottom-links{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.nav-group-title{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;border:1px solid transparent;border-radius:.8rem;color:#ffffffb3;font-weight:500;font-size:.875rem}.nav-group-title svg{width:24px;height:24px;flex:0 0 auto;fill:var(--text-secondary);display:block}.nav-group ul{list-style:none;margin:0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:.25rem}main{margin:0;padding:1.5rem 1.25rem;min-width:0}.card{background:var(--card);border-radius:1.5rem;padding:1.5rem;box-shadow:var(--shadow-card);margin-bottom:20px;min-width:0}.card h2{margin:0 0 1rem;font-size:1.25rem;font-weight:600}[id$=-table]{overflow-x:auto;border-radius:1rem;border:1px solid var(--border)}table{width:100%;border-collapse:collapse}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--border);text-align:left;font-size:.875rem}th{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2em;font-weight:700}tbody tr{transition:background .2s ease}tbody tr:hover td{background:var(--hover-surface)}tbody tr:last-child td{border-bottom:none}input,select,textarea{font:inherit;font-size:.875rem;padding:.65rem .9rem;border:1px solid var(--border);border-radius:.75rem;background:var(--input);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}label{font-size:.8125rem;font-weight:500;color:var(--text-secondary);display:block;margin:8px 0 3px}.btn{height:2.75rem;padding:0 24px;border:none;border-radius:12px;background:var(--blue);color:#fff;cursor:pointer;font-weight:600;font-size:.875rem;transition:background .2s ease}.btn:hover{background:var(--blue-hover)}.btn:disabled{background:#e4e4e41a;color:var(--light-300);cursor:not-allowed}.btn-sec{background:var(--dark-100);border:1px solid var(--border);color:var(--text)}.btn-sec:hover{background:var(--dark-300)}.btn-sm{width:auto;height:auto;padding:6px 12px;background:var(--dark-100);border:1px solid var(--border);color:var(--text);border-radius:8px;cursor:pointer;font-size:.8125rem}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.row>*{min-width:120px}.err{color:var(--red);font-size:.8125rem;margin-top:8px}.ok-msg{color:var(--green);font-size:.8125rem;margin-top:8px}.muted{color:var(--text-secondary);font-size:.8125rem}.badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:.75rem;font-weight:500;background:var(--dark-50)}.badge.available,.badge.confirmed{background:var(--green-dark);color:var(--green)}.badge.maintenance,.badge.pending{background:var(--yellow-dark);color:var(--yellow)}.badge.inactive,.badge.cancelled,.badge.no-show{background:var(--red-dark);color:var(--red)}.badge.completed{background:var(--purple-dark);color:var(--purple)}.badge.info{background:var(--blue-dark);color:var(--blue)}.hidden{display:none!important}.schedule-grid{display:grid;grid-template-columns:110px 70px 1fr 1fr;gap:6px 10px;align-items:center}#login-box{max-width:380px;margin:80px auto;text-align:center}.actions button{margin-right:6px}img{max-width:100%}
