@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0b0f19;--card-bg:#161c2db3;--accent-blue:#3b82f6;--accent-teal:#14b8a6;--accent-purple:#8b5cf6;--text-main:#f3f4f6;--text-sub:#9ca3af;--border-color:#ffffff14;--glass-glow:#3b82f614;--sidebar-width:280px;--header-height:70px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);min-height:100vh;font-family:Outfit,Inter,sans-serif;overflow-x:hidden}.app-layout{background:var(--bg-color);min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--border-color);background:#0f162af2;flex-direction:column;max-height:100vh;display:flex;position:sticky;top:0}.sidebar-header{justify-content:space-between;align-items:center;padding:20px 14px 10px 26px;display:flex}.sidebar-close-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:background .2s,color .2s;display:none}.sidebar-close-btn:hover{color:#fff;background:#ffffff14}.sidebar-nav{flex-direction:column;flex:1;gap:16px;padding:0 14px;display:flex;overflow-y:auto}.sidebar-section-label{color:var(--text-sub);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;padding-left:12px;font-size:.75rem;font-weight:700;display:block}.sidebar-section-links{flex-direction:column;gap:4px;display:flex}.sidebar-footer{border-top:1px solid var(--border-color);padding:16px 14px}.app-main{flex-direction:column;flex:1;min-width:0;max-height:100vh;display:flex;overflow-y:auto}.app-header{height:var(--header-height);min-height:var(--header-height);border-bottom:1px solid var(--border-color);background:#0f162a4d;justify-content:space-between;align-items:center;gap:12px;padding:0 40px;display:flex}.header-context-text{color:var(--text-sub);font-size:.9rem;font-weight:600}.header-context-id{display:inline}.header-right{align-items:center;gap:16px;display:flex}.header-role-badge{color:var(--text-sub);border:1px solid var(--border-color);white-space:nowrap;background:#ffffff08;border-radius:12px;padding:4px 12px;font-size:.85rem}.header-user-info{text-align:right}.app-content{flex:1;padding:40px;overflow-y:auto}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 32px #0000005e}.glass-panel:hover{box-shadow:0 8px 32px 0 #00000073, 0 0 20px var(--glass-glow)}input,select,textarea{width:100%;font-family:inherit;border:1px solid var(--border-color)!important;color:var(--text-main)!important;background:#ffffff0a!important;border-radius:8px!important;outline:none!important;padding:10px 14px!important;transition:border-color .2s,box-shadow .2s!important}input:focus,select:focus,textarea:focus{border-color:var(--accent-blue)!important;box-shadow:0 0 10px #3b82f633!important}select option{padding:8px 12px;color:var(--text-main)!important;background-color:#0f172a!important}select option:checked{color:#fff!important;background-color:#3b82f64d!important}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:16px!important;padding-right:36px!important}label{color:var(--text-sub);font-size:.85rem;font-weight:500}.btn-primary{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:opacity .2s,transform .1s;display:inline-flex}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:10px 20px;font-weight:600;transition:background .2s}.btn-secondary:hover{background:#ffffff1a}.sidebar-link{color:var(--text-sub);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:4px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-link:hover,.sidebar-link.active{color:var(--text-main);border-left:4px solid var(--accent-blue);background:#ffffff0d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.mobile-hamburger{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:none}.mobile-hamburger:hover{background-color:#ffffff0d}.sidebar-overlay{display:none}@media (width<=1024px){.app-header{padding:0 20px}.app-content{padding:24px}.header-role-badge{display:none}}@media (width<=768px){.mobile-hamburger,.sidebar-close-btn{display:flex}.app-sidebar{z-index:1100;width:var(--sidebar-width);min-width:var(--sidebar-width);transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-300px;box-shadow:5px 0 25px #00000080}.app-sidebar.open{left:0}.sidebar-overlay{z-index:1050;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;animation:.3s fadeIn;display:block;position:fixed;inset:0}.app-header{padding:0 16px}.app-content{padding:16px}.header-context-id,.header-user-info{display:none}.header-context-text{font-size:.8rem}}@media (width<=480px){.app-content{padding:12px}.header-role-badge{display:none}.header-context-text{font-size:.75rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@media print{body,html{font-family:Inter,sans-serif;color:#000!important;background:#fff!important}.app-sidebar,.app-header,.no-print,button,.btn-primary,.btn-secondary,.mobile-hamburger,.sidebar-overlay{display:none!important}.app-layout,.app-main,.app-content{color:#000!important;width:100%!important;height:auto!important;min-height:0!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.print-modal-overlay{z-index:auto!important;background:0 0!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.glass-panel{box-shadow:none!important;color:#000!important;background:#fff!important;border:none!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.a4-printable-container{color:#000!important;box-sizing:border-box!important;background:#fff!important;width:210mm!important;min-height:297mm!important;margin:0 auto!important;padding:20mm!important;display:block!important}}@media (width<=768px){.responsive-grid{grid-template-columns:1fr!important;gap:12px!important}}.calendar-scroll{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}@media (width<=680px){.calendar-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:12px!important;padding:8px 4px!important;display:flex!important;overflow-x:auto!important}.calendar-scroll button{flex:0 0 76px!important;min-width:76px!important}}.auth-container{background:var(--bg-color);justify-content:center;align-items:center;min-height:10vh;padding:24px;display:flex}.auth-card{width:100%;max-width:440px;padding:32px}.auth-card-wide{width:100%;max-width:600px;padding:32px}@media (width<=480px){.auth-container{align-items:flex-start;padding:32px 12px 12px}.auth-card,.auth-card-wide{padding:20px 16px}.auth-card-wide form>div{grid-template-columns:1fr!important;gap:12px!important}}
