.login-page{box-sizing:border-box;background:#f8fafc;width:100%;min-height:100vh;display:flex;overflow:hidden}.login-left{box-sizing:border-box;background:linear-gradient(135deg,#f8fafc 0%,#ecfdf5 100%);justify-content:center;align-items:center;width:50%;min-height:100vh;padding:40px;display:flex;position:relative}.login-brand{z-index:5;align-items:center;gap:11px;display:flex;position:absolute;top:30px;left:36px}.login-brand img{box-sizing:border-box;object-fit:contain;background:#fff;border-radius:11px;width:42px;height:42px;padding:5px;box-shadow:0 5px 16px #0f172a1a}.login-brand>div{flex-direction:column;display:flex}.login-brand strong{color:#064e3b;font-size:17px;font-weight:700;line-height:1.2}.login-brand span{color:#64748b;margin-top:2px;font-size:10px}.login-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;max-width:420px;padding:38px;position:relative;box-shadow:0 20px 50px #0f172a14}.login-card:before{content:"";background:linear-gradient(90deg,#047857,#0f9f79,#2563eb);border-radius:0 0 5px 5px;height:3px;position:absolute;top:0;left:35px;right:35px}.login-header{text-align:left;margin-bottom:28px}.login-header h1{letter-spacing:-.5px;color:#172033;margin:0 0 7px;font-size:28px;font-weight:700}.login-header p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:13px;line-height:1.4}.login-form{width:100%}.form-group{flex-direction:column;margin-bottom:19px;display:flex}.form-group label{color:#374151;margin-bottom:8px;font-size:13px;font-weight:600}.form-group input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:9px;outline:none;width:100%;height:46px;padding:0 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:hover{border-color:#9ca3af}.form-group input:focus{border-color:#0f9f79;box-shadow:0 0 0 3px #0f9f791a}.login-button{color:#fff;cursor:pointer;background:linear-gradient(90deg,#047857,#0f9f79,#0e7490);border:none;border-radius:9px;width:100%;height:46px;margin-top:7px;font-family:inherit;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .2s;box-shadow:0 6px 15px #0f766e2e}.login-button:hover{transform:translateY(-1px);box-shadow:0 9px 20px #0f766e40}.login-button:active{transform:scale(.99)}.login-button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.login-right{box-sizing:border-box;color:#fff;background:linear-gradient(135deg,#064e3b 0%,#075e54 45%,#075985 100%);align-items:center;width:50%;min-height:100vh;padding:70px;display:flex;position:relative;overflow:hidden}.login-right-content{z-index:5;width:100%;max-width:550px;margin:0 auto;position:relative}.system-badge{color:#d1fae5;letter-spacing:1px;background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;margin-bottom:22px;padding:7px 12px;font-size:10px;font-weight:700;display:inline-block}.login-right h2{letter-spacing:-1px;color:#fff;margin:0 0 18px;font-size:45px;font-weight:700;line-height:1.12}.login-right-content>p{color:#ffffffb8;max-width:500px;margin:0 0 32px;font-size:15px;line-height:1.7}.system-features{flex-direction:column;gap:17px;display:flex}.system-feature{align-items:center;gap:13px;display:flex}.feature-icon{color:#6ee7b7;background:#ffffff1a;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.system-feature div:last-child{flex-direction:column;display:flex}.system-feature strong{color:#fff;margin-bottom:2px;font-size:13px;font-weight:600}.system-feature span{color:#fff9;font-size:11px}.system-footer{color:#fff6;letter-spacing:.5px;border-top:1px solid #ffffff1a;margin-top:55px;padding-top:18px;font-size:10px}.right-decoration{pointer-events:none;border:1px solid #ffffff14;border-radius:50%;position:absolute}.decoration-1{background:#ffffff06;width:550px;height:550px;top:-280px;right:-200px}.decoration-2{background:#ffffff06;width:350px;height:350px;bottom:-180px;right:80px}.decoration-3{background:#34d3990a;width:180px;height:180px;bottom:80px;right:190px}@media (width<=1000px){.login-left{width:55%;padding:30px}.login-right{width:45%;padding:45px}.login-right h2{font-size:36px}}@media (width<=750px){.login-page{min-height:100vh;display:block;overflow-y:auto}.login-left{width:100%;min-height:100vh;padding:100px 20px 40px}.login-right{display:none}.login-brand{top:24px;left:20px}.login-card{max-width:430px;padding:32px 25px}}@media (width<=420px){.login-left{padding:90px 16px 30px}.login-card{border-radius:15px;padding:28px 20px}.login-header h1{font-size:25px}}.sidebar{color:#fff;z-index:1000;background:linear-gradient(#0f172a 0%,#102a43 55%,#064e3b 100%);flex-direction:column;width:250px;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 18px #0f172a26}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px 18px;display:flex}.sidebar-logo{background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.sidebar-logo img{object-fit:contain;width:34px;height:34px}.sidebar-brand-text{min-width:0}.sidebar-brand-text h2{color:#fff;margin:0;font-size:19px;font-weight:800}.sidebar-brand-text span{color:#94a3b8;white-space:nowrap;margin-top:2px;font-size:10px;display:block}.sidebar-user{background:#ffffff12;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:10px;margin:14px;padding:11px;display:flex}.sidebar-user-avatar{color:#fff;background:linear-gradient(135deg,#14b8a6,#2563eb);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:flex}.sidebar-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar-user-info strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:12px;overflow:hidden}.sidebar-user-info span{color:#94a3b8;font-size:10px}.sidebar-nav{flex:1;padding:4px 12px 20px}.sidebar-section-title{letter-spacing:1.2px;color:#64748b;margin:14px 8px 8px;font-size:9px;font-weight:800}.profile-title{margin-top:24px}.sidebar-link{box-sizing:border-box;color:#cbd5e1;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:42px;margin-bottom:4px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex;position:relative}.sidebar-link:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.sidebar-link.active{color:#fff;background:linear-gradient(90deg,#14b8a638,#2563eb38);font-weight:700;box-shadow:inset 3px 0 #14b8a6}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;font-size:16px;display:flex}.sidebar-category{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin-bottom:4px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:flex}.sidebar-category:hover{color:#fff;background:#ffffff12}.sidebar-category.category-active{color:#fff;background:#14b8a61a}.category-left{align-items:center;gap:11px;display:flex}.category-arrow{color:#94a3b8;justify-content:center;align-items:center;width:22px;height:22px;font-size:22px;transition:transform .2s;display:flex}.category-arrow.rotate{color:#14b8a6;transform:rotate(90deg)}.sidebar-submenu{border-left:1px solid #94a3b840;margin:0 0 7px 17px;padding-left:15px;position:relative}.sidebar-sublink{color:#94a3b8;border-radius:8px;align-items:center;gap:8px;min-height:38px;margin-bottom:2px;padding:7px 9px;font-size:11.5px;line-height:1.3;text-decoration:none;transition:background .2s,color .2s;display:flex;position:relative}.sidebar-sublink:hover{color:#fff;background:#ffffff0f}.sidebar-sublink.active{color:#fff;background:linear-gradient(90deg,#14b8a62e,#2563eb24);font-weight:700}.submenu-line{background:#475569;border-radius:50%;width:5px;height:5px;position:absolute;left:-16px}.sidebar-sublink.active .submenu-line{background:#14b8a6;box-shadow:0 0 7px #14b8a6b3}.submenu-icon{flex-shrink:0;justify-content:center;width:20px;font-size:13px;display:flex}.sidebar-bottom{padding:0 12px 14px}.sidebar-divider{background:#ffffff14;height:1px;margin-bottom:10px}.logout-button{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .2s,color .2s;display:flex}.logout-button:hover{color:#fca5a5;background:#ef44441f}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b866}@media (width<=700px){.sidebar{width:250px;transition:transform .3s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}}@media (width<=480px){.sidebar{width:85vw;max-width:280px}}.app-layout{background:#f8fafc;width:100%;min-height:100vh;display:flex}.app-content{box-sizing:border-box;width:calc(100% - 250px);min-height:100vh;margin-left:250px;transition:width .3s,margin-left .3s}.sidebar-toggle{color:#0f172a;cursor:pointer;z-index:1100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:22px;line-height:1;transition:background .2s,transform .2s,box-shadow .2s;display:none;position:fixed;top:14px;left:14px;box-shadow:0 4px 14px #0f172a1f}.sidebar-toggle:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 6px 18px #0f172a29}.sidebar-toggle:active{transform:scale(.95)}.sidebar-overlay{z-index:900;opacity:0;background:#0f172a73;transition:opacity .3s;display:none;position:fixed;inset:0}@media (width<=900px){.app-content{width:calc(100% - 230px);margin-left:230px}}@media (width<=700px){.app-content{box-sizing:border-box;width:100%;min-width:0;margin-left:0}.sidebar-toggle{display:flex}.sidebar-overlay{visibility:hidden;pointer-events:none;opacity:0;display:block}.sidebar-overlay.active{visibility:visible;pointer-events:auto;opacity:1}}@media (width<=480px){.sidebar-toggle{width:42px;height:42px;font-size:20px;top:12px;left:12px}}.dashboard-page{box-sizing:border-box;color:#1f2937;background:#f5f7fb;width:100%;min-height:100vh;padding:32px 40px 50px;overflow-x:hidden}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:28px;display:flex}.dashboard-label{letter-spacing:1.2px;color:#0f766e;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-block}.dashboard-header h1{color:#0f172a;margin:0;font-size:32px;font-weight:700;line-height:1.2}.dashboard-header p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.5}.dashboard-clock{box-sizing:border-box;text-align:right;background:#fff;border:1px solid #dbe4ea;border-radius:14px;flex-shrink:0;min-width:190px;padding:18px 22px;box-shadow:0 4px 15px #0f172a0d}.clock-time{color:#0f766e;font-size:25px;font-weight:700;line-height:1.2}.clock-date{color:#64748b;margin-top:5px;font-size:12px}.dashboard-welcome{box-sizing:border-box;background:linear-gradient(135deg,#fff 0%,#f8fffd 55%,#f0f7ff 100%);border:1px solid #dbe4ea;border-radius:18px;justify-content:space-between;align-items:center;min-height:170px;margin-bottom:28px;padding:30px 34px;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 20px #0f172a0d}.welcome-content{z-index:2;min-width:0;max-width:650px;position:relative}.welcome-badge{letter-spacing:.5px;color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:20px;margin-bottom:12px;padding:6px 11px;font-size:11px;font-weight:700;display:inline-block}.welcome-content h2{color:#0f172a;margin:0;font-size:24px;font-weight:700;line-height:1.3}.welcome-content p{color:#64748b;max-width:580px;margin:9px 0 0;font-size:14px;line-height:1.6}.welcome-decoration{pointer-events:none;z-index:1;width:280px;height:100%;position:absolute;top:0;right:0}.decoration-circle{opacity:.6;border-radius:50%;position:absolute}.circle-one{background:#dbeafe;width:190px;height:190px;top:-75px;right:-80px}.circle-two{background:#ccfbf1;width:130px;height:130px;bottom:-65px;right:70px}.circle-three{background:#bfdbfe;width:75px;height:75px;top:65px;right:35px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:35px;display:grid}.dashboard-stat-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:15px;align-items:center;min-width:0;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 4px 15px #0f172a0a}.dashboard-stat-card:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 8px 25px #0f172a14}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-right:14px;font-size:18px;font-weight:700;display:flex}.ticket-icon{color:#2563eb;background:#eff6ff}.user-icon{color:#047857;background:#ecfdf5}.asset-icon{color:#0f766e;background:#f0fdfa}.active-icon{color:#16a34a;background:#f0fdf4}.stat-content{min-width:0}.stat-content span{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;display:block;overflow:hidden}.stat-content strong{color:#0f172a;margin-top:4px;font-size:23px;font-weight:700;line-height:1.2;display:block}.stat-content small{color:#94a3b8;margin-top:3px;font-size:11px;display:block}.dashboard-section{min-width:0;margin-top:5px}.section-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.section-header h2{color:#0f172a;margin:0;font-size:20px;font-weight:700}.section-header p{color:#64748b;margin:5px 0 0;font-size:13px}.quick-access{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0;display:grid}.quick-card{box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:14px;min-width:0;min-height:82px;padding:17px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 12px #0f172a0a}.quick-card:hover{border-color:#99f6e4;transform:translateY(-3px);box-shadow:0 10px 22px #0f766e1a}.quick-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:flex}.quick-card.zoom .quick-icon{color:#2563eb;background:#eff6ff}.quick-card.room .quick-icon{color:#047857;background:#ecfdf5}.quick-card.vehicle .quick-icon{color:#0f766e;background:#f0fdfa}.quick-card.asset .quick-icon{color:#16a34a;background:#f0fdf4}.quick-card.ticket .quick-icon{color:#0e7490;background:#eff6ff}.quick-card-content{min-width:0;padding-right:20px}.quick-card h3{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:13px;font-weight:700;overflow:hidden}.quick-card p{color:#64748b;margin:0;font-size:11px;line-height:1.4}.quick-arrow{color:#94a3b8;font-size:17px;transition:transform .2s,color .2s;position:absolute;right:15px}.quick-card:hover .quick-arrow{color:#0f9f79;transform:translate(3px)}.dashboard-events{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;margin-top:28px;padding:24px;box-shadow:0 4px 14px #0f172a0d}.events-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.events-label{color:#0f766e;letter-spacing:1px;margin-bottom:5px;font-size:10px;font-weight:800;display:inline-block}.events-header h2{color:#0f172a;margin:0;font-size:19px;font-weight:750}.events-header p{color:#64748b;margin:6px 0 0;font-size:12px}.btn-add-event{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e,#2563eb);border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 5px 12px #2563eb2e}.btn-add-event span{font-size:18px;line-height:1}.btn-add-event:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2563eb3d}.event-list{flex-direction:column;gap:10px;min-width:0;display:flex}.event-card{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;align-items:center;gap:16px;min-width:0;padding:15px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:flex}.event-card:hover{background:#fff;border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 7px 18px #0f172a0f}.event-date{color:#fff;background:linear-gradient(135deg,#0f766e,#2563eb);border-radius:11px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:62px;display:flex;box-shadow:0 5px 12px #2563eb2e}.event-day{font-size:21px;font-weight:800;line-height:1}.event-month{text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700}.event-content{flex:1;min-width:0}.event-content h3{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:750;overflow:hidden}.event-content p{color:#64748b;margin:5px 0 9px;font-size:11px;line-height:1.5}.event-meta{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.event-meta span{color:#475569;font-size:10px;font-weight:600}.event-full-date{color:#64748b;text-align:right;border-left:1px solid #e2e8f0;flex-shrink:0;padding-left:15px;font-size:10px;font-weight:600}.event-empty{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:40px 20px}.event-empty-icon{margin-bottom:8px;font-size:28px}.event-empty h3{color:#334155;margin:0;font-size:14px}.event-empty p{color:#94a3b8;margin:5px 0 0;font-size:11px}@media (width<=1200px){.dashboard-page{padding:28px 30px 40px}.dashboard-stats,.quick-access{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.dashboard-page{padding:26px 24px 38px}.dashboard-header{flex-direction:column;gap:18px}.dashboard-clock{text-align:left;width:100%;min-width:0}.quick-access{grid-template-columns:1fr}}@media (width<=700px){.dashboard-page{box-sizing:border-box;width:100%;min-height:100vh;padding:78px 18px 35px}.dashboard-header{flex-direction:column;gap:18px;margin-bottom:22px}.dashboard-label{font-size:11px}.dashboard-header h1{font-size:27px}.dashboard-header p{font-size:13px}.dashboard-clock{text-align:left;width:100%;min-width:0;padding:16px 18px}.clock-time{font-size:23px}.dashboard-welcome{border-radius:16px;min-height:auto;margin-bottom:22px;padding:24px}.welcome-content{max-width:100%}.welcome-content h2{font-size:21px}.welcome-content p{font-size:13px}.welcome-decoration{opacity:.45;width:180px}.dashboard-stats{grid-template-columns:1fr;gap:14px;margin-bottom:28px}.dashboard-stat-card{padding:18px}.section-header{flex-direction:column;align-items:flex-start;gap:5px}.section-header h2{font-size:19px}.quick-access{grid-template-columns:1fr;gap:14px}.quick-card{width:100%;min-height:78px}.dashboard-events{border-radius:16px;margin-top:24px;padding:20px}.events-header{flex-direction:column;align-items:flex-start;gap:14px}.events-header h2{font-size:18px}.btn-add-event{width:100%}.event-full-date{display:none}}@media (width<=480px){.dashboard-page{padding:72px 14px 30px}.dashboard-header{gap:15px}.dashboard-header h1{font-size:25px}.dashboard-header p{font-size:12.5px}.dashboard-clock{border-radius:12px;padding:15px 16px}.clock-time{font-size:21px}.clock-date{font-size:11px}.dashboard-welcome{border-radius:14px;padding:21px}.welcome-badge{font-size:10px}.welcome-content h2{font-size:19px}.welcome-content p{font-size:12px;line-height:1.55}.welcome-decoration{width:140px}.dashboard-stat-card{padding:16px}.stat-icon{width:44px;height:44px;margin-right:12px}.stat-content strong{font-size:21px}.quick-card{gap:11px;min-height:74px;padding:13px}.quick-icon{width:40px;height:40px;font-size:14px}.quick-card-content{padding-right:18px}.quick-card h3{font-size:12px}.quick-card p{font-size:10px}.quick-arrow{font-size:15px;right:11px}.dashboard-events{border-radius:14px;padding:17px}.events-header h2{font-size:17px}.events-header p{font-size:11px}.event-card{align-items:flex-start;gap:11px;padding:12px}.event-date{width:48px;height:53px}.event-day{font-size:18px}.event-month{font-size:9px}.event-content h3{font-size:13px}.event-content p{font-size:10px}.event-meta{flex-direction:column;align-items:flex-start;gap:5px}}.user-page{box-sizing:border-box;color:#0f172a;background:#f8fafc;width:100%;min-height:100vh;padding:32px}.user-page .page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.user-page .page-header>div{min-width:0}.user-page .page-header h1{color:#0f172a;letter-spacing:-.5px;margin:0;font-size:28px;font-weight:800;line-height:1.2}.user-page .page-header p{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.6}.btn-create-user{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0f766e,#2563eb);border:none;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 6px 14px #2563eb33}.btn-create-user:hover{transform:translateY(-2px);box-shadow:0 9px 20px #2563eb40}.btn-create-user:active{transform:translateY(0)}.btn-create-user:disabled{opacity:.6;cursor:not-allowed;transform:none}.user-error{box-sizing:border-box;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;min-height:46px;margin-bottom:20px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.user-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;overflow:hidden;box-shadow:0 4px 14px #0f172a0d}.user-card-header{background:linear-gradient(#fff,#f8fafc);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.user-card-header h2{color:#0f172a;margin:0;font-size:17px;font-weight:750}.user-card-header p{color:#64748b;margin:5px 0 0;font-size:12px}.user-table-wrapper{width:100%;overflow-x:auto}.user-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:760px}.user-table thead{background:#f8fafc}.user-table th{color:#64748b;letter-spacing:.5px;text-transform:uppercase;text-align:left;white-space:nowrap;border-bottom:1px solid #e2e8f0;height:48px;padding:0 20px;font-size:11px;font-weight:800}.user-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 20px;font-size:13px}.user-table tbody tr{transition:background .2s}.user-table tbody tr:hover{background:#f8fafc}.user-table tbody tr:last-child td{border-bottom:none}.user-info{align-items:center;gap:12px;min-width:180px;display:flex}.user-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(135deg,#0f766e,#2563eb);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:flex;box-shadow:0 4px 10px #2563eb2e}.user-name{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;max-width:200px;font-size:13px;font-weight:700;overflow:hidden}.user-username{color:#94a3b8;margin-top:3px;font-size:11px}.user-email{color:#475569;font-size:12px}.user-role{letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.user-role.user{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.user-role.it-support{color:#0f766e;background:#ecfeff;border:1px solid #ccfbf1}.user-role.superadmin{color:#15803d;background:#f0fdf4;border:1px solid #dcfce7}.user-status{border-radius:999px;align-items:center;gap:7px;min-height:28px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex;position:relative}.user-status:before{content:"";border-radius:50%;width:6px;height:6px}.user-status.active{color:#047857;background:#ecfdf5;border:1px solid #d1fae5}.user-status.active:before{background:#10b981;box-shadow:0 0 0 3px #10b9811f}.user-status.inactive{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.user-status.inactive:before{background:#94a3b8}.user-actions{white-space:nowrap;align-items:center;gap:7px;display:flex}.user-action-button{cursor:pointer;border-radius:8px;min-width:58px;height:32px;padding:0 10px;font-family:inherit;font-size:11px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .15s}.user-action-button.edit{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.user-action-button.edit:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px)}.user-action-button.delete{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.user-action-button.delete:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.user-loading{text-align:center;color:#64748b;padding:50px 20px;font-size:13px}.user-empty{text-align:center;padding:55px 20px}.user-empty h3{color:#334155;margin:0;font-size:15px}.user-empty p{color:#94a3b8;margin:6px 0 0;font-size:12px}@media (width<=900px){.user-page{padding:24px}.user-page .page-header{flex-direction:column;align-items:flex-start}.btn-create-user{width:auto}}@media (width<=600px){.user-page{padding:18px}.user-page .page-header h1{font-size:24px}.user-page .page-header p{font-size:12px}.user-card{border-radius:14px}.user-card-header{padding:18px}.user-table th{padding:0 14px}.user-table td{padding:14px}}.create-user-page{box-sizing:border-box;color:#1f2937;background:#f5f7fb;width:100%;min-height:100vh;padding:32px 40px 50px}.create-user-page .page-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.create-user-page .page-header .btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe4ea;border-radius:9px;justify-content:center;align-items:center;min-height:36px;margin-bottom:16px;padding:0 13px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.create-user-page .page-header .btn-secondary:hover{color:#0f766e;background:#f8fafc;border-color:#99f6e4;transform:translate(-2px)}.create-user-page .page-header h1{color:#0f172a;margin:0;font-size:30px;font-weight:700}.create-user-page .page-header p{color:#64748b;margin:8px 0 0;font-size:14px}.create-user-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;max-width:850px;padding:28px 30px;box-shadow:0 5px 20px #0f172a0d}.create-user-card-header{border-bottom:1px solid #eef2f7;margin-bottom:24px;padding-bottom:20px}.create-user-card-header h2{color:#0f172a;margin:0;font-size:19px;font-weight:700}.create-user-card-header p{color:#64748b;margin:6px 0 0;font-size:13px}.create-user-error{box-sizing:border-box;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;min-height:42px;margin-bottom:20px;padding:10px 13px;font-size:12px;font-weight:600;display:flex}.create-user-form{flex-direction:column;gap:20px;display:flex}.create-user-form .form-group{flex-direction:column;gap:7px;display:flex}.create-user-form .form-group label{color:#334155;font-size:12px;font-weight:700}.create-user-form input,.create-user-form select{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #dbe4ea;border-radius:9px;outline:none;width:100%;height:44px;padding:0 13px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}.create-user-form input::placeholder{color:#94a3b8}.create-user-form input:focus,.create-user-form select:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.create-user-form select{cursor:pointer;appearance:auto}.create-user-actions{border-top:1px solid #eef2f7;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;padding-top:8px;display:flex}.create-user-actions .btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe4ea;border-radius:9px;justify-content:center;align-items:center;min-width:90px;height:40px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.create-user-actions .btn-secondary:hover:not(:disabled){color:#334155;background:#f8fafc;border-color:#cbd5e1}.create-user-actions .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e,#2563eb);border:none;border-radius:9px;justify-content:center;align-items:center;min-width:120px;height:40px;padding:0 17px;font-family:inherit;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 5px 12px #2563eb2e}.create-user-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #2563eb3d}.create-user-form button:disabled{cursor:not-allowed;opacity:.6}@media (width<=900px){.create-user-page{padding:28px 30px 40px}.create-user-card{max-width:100%}}@media (width<=700px){.create-user-page{padding:22px 18px 35px}.create-user-page .page-header h1{font-size:26px}.create-user-page .page-header p{font-size:13px}.create-user-card{border-radius:15px;padding:23px 20px}.create-user-card-header{margin-bottom:20px;padding-bottom:17px}.create-user-card-header h2{font-size:17px}.create-user-form{gap:17px}.create-user-actions{flex-direction:column-reverse;align-items:stretch}.create-user-actions .btn-primary,.create-user-actions .btn-secondary{width:100%}}@media (width<=480px){.create-user-page{padding:18px 14px 30px}.create-user-page .page-header{margin-bottom:22px}.create-user-page .page-header h1{font-size:24px}.create-user-card{border-radius:14px;padding:20px 16px}.create-user-form input,.create-user-form select{height:42px;font-size:12px}.create-user-form .form-group label{font-size:11px}}.edit-user-page{box-sizing:border-box;color:#1f2937;background:#f5f7fb;width:100%;min-height:100vh;padding:32px 40px 50px}.edit-user-page .page-header{margin-bottom:26px}.edit-user-page .page-header h1{color:#111827;margin:16px 0 0;font-size:30px;font-weight:700}.edit-user-page .page-header p{color:#64748b;margin:7px 0 0;font-size:14px}.edit-user-page .btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:center;align-items:center;min-height:38px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.edit-user-page .btn-secondary:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.edit-user-page .btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.edit-user-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:18px;width:100%;overflow:hidden;box-shadow:0 5px 20px #0f172a0d}.edit-user-card-header{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px;display:flex}.edit-user-card-header h2{color:#111827;margin:0;font-size:18px;font-weight:700}.edit-user-card-header p{color:#64748b;margin:6px 0 0;font-size:13px}.edit-user-id{color:#94a3b8;text-transform:uppercase;letter-spacing:.7px;flex-direction:column;align-items:flex-end;gap:3px;font-size:10px;display:flex}.edit-user-id strong{color:#475569;letter-spacing:0;font-size:13px}.edit-user-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:10px;margin:20px 28px 0;padding:12px 14px;display:flex}.edit-user-error span{background:#fee2e2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:flex}.edit-user-error p{margin:0;font-size:12px;font-weight:600}.edit-user-form{padding:28px}.form-section{border-bottom:1px solid #eef2f7;margin-bottom:28px;padding-bottom:28px}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{margin-bottom:20px}.form-section-title h3{color:#1e293b;margin:0;font-size:15px;font-weight:700}.form-section-title p{color:#94a3b8;margin:5px 0 0;font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-group label{color:#334155;align-items:center;gap:7px;margin-bottom:7px;font-size:12px;font-weight:650;display:flex}.form-group input,.form-group select{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #dbe2ea;border-radius:9px;outline:none;width:100%;min-height:43px;padding:0 13px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input::placeholder{color:#a1aab8}.form-group input:focus,.form-group select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}.form-group input:disabled,.form-group select:disabled{color:#64748b;cursor:not-allowed;background:#f8fafc}.form-group small{color:#94a3b8;margin-top:6px;font-size:10px;line-height:1.4}.optional{color:#94a3b8;background:#f1f5f9;border-radius:20px;padding:3px 7px;font-size:9px;font-weight:600}.status-toggle{box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:9px;align-items:center;gap:12px;min-height:43px;padding:8px 12px;transition:border-color .2s,background .2s;display:flex}.status-toggle:hover{background:#f8fafc;border-color:#cbd5e1}.status-switch{background:#cbd5e1;border-radius:20px;flex-shrink:0;width:38px;height:21px;transition:background .2s;position:relative}.status-switch-circle{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0f172a33}.status-toggle.active .status-switch{background:#0f766e}.status-toggle.active .status-switch-circle{transform:translate(17px)}.status-toggle strong{color:#334155;font-size:12px;display:block}.status-toggle span{color:#94a3b8;margin-top:2px;font-size:10px;display:block}.edit-user-actions{border-top:1px solid #eef2f7;justify-content:flex-end;align-items:center;gap:10px;margin-top:28px;padding-top:24px;display:flex}.edit-user-page .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e,#2563eb);border:none;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:0 18px;font-family:inherit;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 5px 12px #2563eb29}.edit-user-page .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb38}.edit-user-page .btn-primary:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.edit-user-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.edit-user-loading p{margin-top:12px;font-size:13px}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#0f766e;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite editUserSpin}@keyframes editUserSpin{to{transform:rotate(360deg)}}@media (width<=900px){.edit-user-page{padding:28px 30px 40px}.form-grid{grid-template-columns:1fr}}@media (width<=600px){.edit-user-page{padding:20px 16px 30px}.edit-user-page .page-header h1{font-size:26px}.edit-user-card-header{flex-direction:column;align-items:flex-start;padding:20px}.edit-user-id{align-items:flex-start}.edit-user-form{padding:20px}.edit-user-error{margin-left:20px;margin-right:20px}.edit-user-actions{flex-direction:column-reverse;align-items:stretch}.edit-user-actions button{width:100%}}.zoom-booking-page{box-sizing:border-box;color:#1e293b;width:100%;padding:28px 32px 40px}.zoom-booking-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.zoom-header-title h1{color:#0f172a;margin:0;font-size:28px;font-weight:700}.zoom-header-title p{color:#64748b;margin:7px 0 0;font-size:14px}.zoom-header-actions{align-items:center;gap:10px;display:flex}.zoom-add-button,.zoom-account-button,.zoom-verification-button{cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.zoom-add-button{color:#fff;background:#2563eb}.zoom-add-button:hover{background:#1d4ed8}.zoom-account-button{color:#fff;background:#0f766e}.zoom-account-button:hover{background:#115e59}.zoom-add-button span,.zoom-account-button span{font-size:20px;line-height:1}.zoom-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:14px;font-weight:500;display:flex}.zoom-error span{color:#fff;background:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.zoom-booking-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.zoom-booking-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.zoom-booking-card-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.zoom-booking-card-header p{color:#64748b;margin:5px 0 0;font-size:13px}.zoom-booking-count{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.zoom-booking-count strong{color:#2563eb;font-size:22px;line-height:1}.zoom-booking-count span{color:#64748b;font-size:12px}.zoom-filter-container{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;gap:20px;padding:18px 24px;display:flex}.zoom-filter-left{align-items:flex-end;gap:14px;display:flex}.zoom-filter-group{flex-direction:column;gap:6px;min-width:160px;display:flex}.zoom-filter-group label{color:#475569;font-size:12px;font-weight:600}.zoom-filter-group select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:38px;padding:0 34px 0 11px;font-size:13px}.zoom-filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.zoom-filter-reset{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:38px;padding:0 14px;font-size:13px;font-weight:600;transition:all .2s}.zoom-filter-reset:hover{background:#f1f5f9;border-color:#94a3b8}.zoom-filter-result{color:#64748b;padding-bottom:10px;font-size:13px}.zoom-table-wrapper{width:100%;overflow-x:auto}.zoom-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1050px}.zoom-table thead th{color:#475569;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:48px;padding:0 14px;font-size:12px;font-weight:700}.zoom-table .zoom-no-column{text-align:center;width:55px}.zoom-table .zoom-user-column{width:140px}.zoom-table .zoom-date-column{width:150px}.zoom-table .zoom-time-column{width:115px}.zoom-table .zoom-account-column{width:210px}.zoom-table .zoom-purpose-column{width:230px}.zoom-table .zoom-status-column{width:110px}.zoom-table .zoom-action-column{width:190px}.zoom-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px;font-size:13px}.zoom-table tbody tr{transition:background .15s}.zoom-table tbody tr:hover{background:#f8fafc}.zoom-table tbody tr:last-child td{border-bottom:none}.zoom-row-number{color:#475569;background:#f1f5f9;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-flex}.zoom-user{align-items:center;gap:9px;min-width:0;display:flex}.zoom-user-avatar{color:#2563eb;background:#dbeafe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.zoom-user strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.zoom-date strong{color:#334155;font-size:13px}.zoom-time{white-space:nowrap;align-items:center;gap:6px;display:flex}.zoom-time span{color:#334155;font-size:13px;font-weight:600}.zoom-time .zoom-time-separator{color:#94a3b8;font-weight:400}.zoom-account{flex-direction:column;gap:3px;min-width:0;display:flex}.zoom-account strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.zoom-account span{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.zoom-purpose{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.zoom-status{color:#64748b;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.zoom-status.booked{color:#15803d;background:#dcfce7}.zoom-status.cancelled{color:#dc2626;background:#fee2e2}.zoom-actions{align-items:center;gap:7px;display:flex}.zoom-detail-button,.zoom-cancel-button{cursor:pointer;border-radius:7px;height:32px;padding:0 11px;font-size:12px;font-weight:600;transition:all .2s}.zoom-detail-button{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.zoom-detail-button:hover{background:#dbeafe}.zoom-cancel-button{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.zoom-cancel-button:hover:not(:disabled){background:#fee2e2}.zoom-cancel-button:disabled{opacity:.5;cursor:not-allowed}.zoom-pagination{background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:17px 24px;display:flex}.zoom-pagination-info{color:#64748b;font-size:13px}.zoom-pagination-info strong{color:#334155;font-weight:700}.zoom-pagination-buttons{align-items:center;gap:8px;display:flex}.zoom-pagination-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:36px;padding:0 13px;font-size:12px;font-weight:600;transition:all .2s}.zoom-pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.zoom-pagination-button:disabled{opacity:.45;cursor:not-allowed}.zoom-page-indicator{color:#64748b;justify-content:center;align-items:center;gap:5px;min-width:125px;font-size:12px;display:flex}.zoom-page-indicator strong{color:#334155}.zoom-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.zoom-loading p{color:#64748b;margin:0;font-size:13px}.zoom-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite zoom-spin}@keyframes zoom-spin{to{transform:rotate(360deg)}}.zoom-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:40px 20px;display:flex}.zoom-empty-icon{background:#eff6ff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:14px;font-size:28px;display:flex}.zoom-empty h3{color:#334155;margin:0 0 7px;font-size:17px}.zoom-empty p{color:#64748b;max-width:400px;margin:0 0 20px;font-size:13px;line-height:1.5}.zoom-empty-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;height:38px;padding:0 16px;font-size:13px;font-weight:600}.zoom-empty-button:hover{background:#1d4ed8}@media (width<=900px){.zoom-booking-page{padding:22px 18px 30px}.zoom-booking-header{flex-direction:column}.zoom-header-actions{width:100%}.zoom-add-button,.zoom-account-button{flex:1}.zoom-filter-container{flex-direction:column;align-items:stretch}.zoom-filter-left{flex-wrap:wrap;align-items:stretch}.zoom-filter-result{padding-bottom:0}}@media (width<=600px){.zoom-booking-page{padding:18px 12px 25px}.zoom-header-actions{flex-direction:column}.zoom-add-button,.zoom-account-button{width:100%}.zoom-booking-card-header{align-items:flex-start}.zoom-filter-left{flex-direction:column}.zoom-filter-group,.zoom-filter-reset{width:100%}.zoom-pagination{flex-direction:column;align-items:stretch}.zoom-pagination-info{text-align:center}.zoom-pagination-buttons{justify-content:center}}.create-zoom-page{box-sizing:border-box;width:100%;min-height:100vh;padding:30px}.create-zoom-header{margin-bottom:25px}.create-zoom-header h1{color:#0f172a;margin:10px 0 8px;font-size:28px;font-weight:700}.create-zoom-header p{color:#64748b;margin:0;font-size:14px}.create-zoom-back{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.create-zoom-back:hover{color:#1d4ed8}.create-zoom-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;max-width:950px;margin:0 auto;overflow:hidden;box-shadow:0 4px 18px #0f172a0d}.create-zoom-card-icon{color:#2563eb;background:#eff6ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:21px;font-weight:800;display:flex}.create-zoom-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;gap:10px;margin:20px 24px 0;padding:13px 15px;font-size:13px;display:flex}.create-zoom-error span{color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.create-zoom-error p{margin:0}.create-zoom-form{padding:25px}.create-zoom-section{border-bottom:1px solid #e2e8f0;margin-bottom:25px;padding-bottom:25px}.create-zoom-group{flex-direction:column;gap:7px;display:flex}.create-zoom-group label{color:#334155;font-size:13px;font-weight:600}.create-zoom-group input,.create-zoom-group textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.create-zoom-group input{height:42px}.create-zoom-group textarea{resize:vertical;min-height:120px;line-height:1.5}.create-zoom-group input:focus,.create-zoom-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.create-zoom-group input:disabled,.create-zoom-group textarea:disabled{cursor:not-allowed;background:#f8fafc}.create-zoom-group small{color:#94a3b8;font-size:11px;line-height:1.4}.create-zoom-info{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:25px;padding:15px;display:flex}.create-zoom-info-icon{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:23px;height:23px;font-size:12px;font-weight:700;display:flex}.create-zoom-info strong{color:#1e40af;margin-bottom:4px;font-size:13px;display:block}.create-zoom-info p{color:#475569;margin:0;font-size:12px;line-height:1.5}.create-zoom-actions{justify-content:flex-end;gap:10px;padding-top:5px;display:flex}.create-zoom-cancel,.create-zoom-submit{cursor:pointer;border-radius:8px;min-width:120px;padding:11px 18px;font-size:13px;font-weight:600;transition:all .2s}.create-zoom-cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.create-zoom-cancel:hover{background:#f8fafc}.create-zoom-cancel:disabled{opacity:.6;cursor:not-allowed}.create-zoom-submit{color:#fff;background:#2563eb;border:none}.create-zoom-submit:hover{background:#1d4ed8;box-shadow:0 5px 15px #2563eb33}.create-zoom-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media (width<=768px){.create-zoom-page{padding:20px}.create-zoom-grid{grid-template-columns:1fr}.create-zoom-form,.create-zoom-card-header{padding:20px}.create-zoom-actions{flex-direction:column-reverse}.create-zoom-cancel,.create-zoom-submit{width:100%}}.zoom-detail-page{box-sizing:border-box;background:#f8fafc;width:100%;min-height:100vh;padding:30px 32px 45px}.zoom-detail-header{margin-bottom:24px}.btn-back{cursor:pointer;color:#64748b;background:0 0;border:none;align-items:center;gap:7px;margin-bottom:16px;padding:0;font-family:inherit;font-size:13px;font-weight:600;transition:color .2s,transform .2s;display:inline-flex}.btn-back:hover{color:#0f766e;transform:translate(-2px)}.zoom-title-row{justify-content:space-between;align-items:center;gap:20px;padding:0 2px;display:flex}.zoom-title-row h1{letter-spacing:-.4px;color:#0f172a;margin:0;font-size:28px;font-weight:750;line-height:1.25}.zoom-title-row p{color:#64748b;margin:7px 0 0;font-size:13.5px;line-height:1.5}.booking-status{letter-spacing:.1px;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 14px;font-size:11.5px;font-weight:700;display:inline-flex}.status-booked{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.status-cancelled{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.status-default{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.zoom-detail-alert{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:11px;align-items:center;gap:11px;margin-bottom:20px;padding:13px 16px;font-size:13px;font-weight:500;display:flex;box-shadow:0 2px 6px #7f1d1d08}.zoom-detail-alert span{color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:flex}.zoom-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.zoom-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;box-shadow:0 2px 5px #0f172a06,0 8px 24px #0f172a09}.zoom-detail-card:hover{box-shadow:0 4px 8px #0f172a09,0 12px 30px #0f172a0e}.zoom-card-header{background:linear-gradient(#fff,#fbfdff);border-bottom:1px solid #e2e8f0;align-items:center;gap:13px;padding:20px 22px;display:flex}.zoom-card-icon{background:#ecfeff;border:1px solid #cffafe;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:flex;box-shadow:0 2px 5px #0f766e0d}.zoom-card-header h2{color:#0f172a;margin:0;font-size:16px;font-weight:700;line-height:1.3}.zoom-card-header p{color:#64748b;margin:4px 0 0;font-size:12px;line-height:1.4}.zoom-info-list{padding:5px 22px 14px}.zoom-info-item{box-sizing:border-box;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:24px;min-height:58px;padding:13px 0;display:flex}.zoom-info-item:last-child{border-bottom:none}.zoom-info-item>span{color:#64748b;flex-shrink:0;font-size:12px;font-weight:500}.zoom-info-item>strong{text-align:right;color:#1e293b;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:650;line-height:1.5}.zoom-purpose{align-items:flex-start}.zoom-purpose>span{padding-top:2px}.zoom-purpose strong{color:#334155;max-width:62%;line-height:1.55}.password-value{color:#0f172a;letter-spacing:.3px;background:#f8fafc;border:1px solid #dbe4ea;border-radius:7px;justify-content:center;align-items:center;min-width:90px;padding:6px 11px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px 2px #0f172a06}.zoom-detail-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding:0 2px;display:flex}.zoom-detail-actions button{cursor:pointer;border-radius:9px;min-height:40px;padding:0 17px;font-family:inherit;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s}.zoom-detail-actions button:hover:not(:disabled){transform:translateY(-1px)}.zoom-detail-actions button:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:#334155;background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #0f172a08}.btn-secondary:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8;box-shadow:0 3px 8px #0f172a0f}.btn-primary{color:#fff;background:#0f766e;border:1px solid #0f766e;box-shadow:0 2px 5px #0f766e29}.btn-primary:hover:not(:disabled){background:#115e59;border-color:#115e59;box-shadow:0 5px 12px #0f766e33}.btn-danger{color:#fff;background:#dc2626;border:1px solid #dc2626;box-shadow:0 2px 5px #dc26261f}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;box-shadow:0 5px 12px #dc262629}.btn-danger:disabled,.btn-secondary:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.zoom-detail-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:430px;font-size:13px;display:flex}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#0f766e;border-radius:50%;width:32px;height:32px;margin-bottom:13px;animation:.8s linear infinite zoom-spin}.zoom-detail-error{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex}.zoom-detail-error h2{color:#0f172a;margin:14px 0 6px;font-size:19px;font-weight:700}.zoom-detail-error p{max-width:400px;margin:0 0 20px;font-size:13px;line-height:1.6}.error-icon{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:19px;font-weight:800;display:flex}@media (width<=1000px){.zoom-detail-page{padding:25px 24px 40px}.zoom-detail-grid{grid-template-columns:1fr}}@media (width<=700px){.zoom-detail-page{padding:22px 18px 35px}.zoom-title-row{flex-direction:column;align-items:flex-start;gap:13px}.zoom-title-row h1{font-size:24px}.booking-status{align-self:flex-start}.zoom-card-header{padding:18px}.zoom-info-list{padding:5px 18px 12px}.zoom-info-item{gap:10px}.zoom-purpose strong{max-width:58%}.zoom-detail-actions{justify-content:stretch;padding:0}}@media (width<=520px){.zoom-detail-page{padding:18px 13px 30px}.zoom-detail-header{margin-bottom:18px}.btn-back{margin-bottom:13px;font-size:12.5px}.zoom-title-row h1{font-size:21px}.zoom-title-row p{font-size:12px}.booking-status{min-height:32px;padding:0 12px;font-size:10.5px}.zoom-detail-grid{gap:14px}.zoom-detail-card{border-radius:13px}.zoom-card-header{gap:11px;padding:16px}.zoom-card-icon{border-radius:9px;width:38px;height:38px;font-size:17px}.zoom-card-header h2{font-size:14px}.zoom-card-header p{font-size:11px}.zoom-info-list{padding:4px 16px 10px}.zoom-info-item{flex-direction:column;align-items:flex-start;gap:5px;min-height:auto;padding:13px 0}.zoom-info-item>span{font-size:11.5px}.zoom-info-item>strong{text-align:left;width:100%;font-size:13px}.zoom-purpose strong{max-width:100%}.password-value{font-size:11.5px}.zoom-detail-actions{flex-direction:column;gap:8px;margin-top:17px}.zoom-detail-actions button{width:100%;min-height:42px}}.create-zoom-account-page{box-sizing:border-box;width:100%;min-height:100vh;padding:32px}.create-zoom-account-header{margin-bottom:24px}.create-zoom-account-header h1{color:#0f172a;margin:12px 0 6px;font-size:28px;font-weight:700}.create-zoom-account-header p{color:#64748b;margin:0;font-size:14px}.create-zoom-back-button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.create-zoom-back-button:hover{color:#1d4ed8}.create-zoom-account-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:1000px;margin:0 auto;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.create-zoom-card-header{border-bottom:1px solid #e2e8f0;align-items:center;gap:16px;padding:24px;display:flex}.create-zoom-icon{color:#fff;background:#2563eb;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.create-zoom-card-header h2{color:#0f172a;margin:0 0 4px;font-size:18px;font-weight:700}.create-zoom-card-header p{color:#64748b;margin:0;font-size:13px}.create-zoom-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:10px;margin:20px 24px 0;padding:12px 14px;display:flex}.create-zoom-error span{color:#fff;background:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.create-zoom-error p{margin:0;font-size:13px;font-weight:500}.create-zoom-form{width:100%}.create-zoom-section{border-bottom:1px solid #e2e8f0;padding:28px 24px}.create-zoom-section-title{margin-bottom:20px}.create-zoom-section-title h3{color:#0f172a;margin:0 0 5px;font-size:16px;font-weight:700}.create-zoom-section-title p{color:#64748b;margin:0;font-size:13px}.create-zoom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.create-zoom-form-group{flex-direction:column;gap:8px;display:flex}.create-zoom-form-group label{color:#334155;font-size:13px;font-weight:600}.create-zoom-form-group input{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;height:44px;padding:0 13px;font-size:14px;transition:border-color .2s,box-shadow .2s}.create-zoom-form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.create-zoom-form-group input:disabled{cursor:not-allowed;background:#f8fafc}.password-wrapper{display:flex;position:relative}.password-wrapper input{padding-right:90px}.password-toggle{color:#2563eb;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:#1d4ed8}.create-zoom-status-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.create-zoom-status-option{cursor:pointer;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;transition:border-color .2s,background .2s;display:flex}.create-zoom-status-option:hover{background:#f8fbff;border-color:#93c5fd}.create-zoom-status-option input{accent-color:#2563eb;cursor:pointer;margin-top:3px}.create-zoom-status-option div{flex-direction:column;gap:4px;display:flex}.create-zoom-status-option strong{color:#0f172a;font-size:14px}.create-zoom-status-option span{color:#64748b;font-size:12px;line-height:1.5}.create-zoom-actions{background:#f8fafc;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.create-zoom-btn-secondary,.create-zoom-btn-primary{cursor:pointer;border-radius:9px;min-width:140px;height:42px;padding:0 18px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .1s}.create-zoom-btn-secondary{color:#475569;background:#fff;border:1px solid #cbd5e1}.create-zoom-btn-secondary:hover{background:#f1f5f9}.create-zoom-btn-primary{color:#fff;background:#2563eb;border:1px solid #2563eb}.create-zoom-btn-primary:hover{background:#1d4ed8}.create-zoom-btn-primary:active,.create-zoom-btn-secondary:active{transform:scale(.98)}.create-zoom-btn-primary:disabled,.create-zoom-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.create-zoom-account-page{padding:20px}.create-zoom-grid,.create-zoom-status-wrapper{grid-template-columns:1fr}.create-zoom-actions{flex-direction:column-reverse}.create-zoom-btn-secondary,.create-zoom-btn-primary{width:100%}}.room-booking-page{box-sizing:border-box;color:#1e293b;width:100%;padding:28px 32px 40px}.room-booking-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.room-header-title h1{color:#0f172a;margin:0;font-size:28px;font-weight:700}.room-header-title p{color:#64748b;margin:7px 0 0;font-size:14px}.room-add-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 17px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.room-add-button:hover{background:#1d4ed8}.room-add-button span{font-size:20px;line-height:1}.room-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:14px;font-weight:500;display:flex}.room-error span{color:#fff;background:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.room-booking-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.room-booking-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.room-booking-card-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.room-booking-card-header p{color:#64748b;margin:5px 0 0;font-size:13px}.room-booking-count{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.room-booking-count strong{color:#2563eb;font-size:22px;line-height:1}.room-booking-count span{color:#64748b;font-size:12px}.room-filter-container{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;gap:20px;padding:18px 24px;display:flex}.room-filter-left{align-items:flex-end;gap:14px;display:flex}.room-filter-group{flex-direction:column;gap:6px;min-width:160px;display:flex}.room-filter-group label{color:#475569;font-size:12px;font-weight:600}.room-filter-group select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:38px;padding:0 34px 0 11px;font-size:13px}.room-filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.room-filter-reset{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:38px;padding:0 14px;font-size:13px;font-weight:600;transition:all .2s}.room-filter-reset:hover{background:#f1f5f9;border-color:#94a3b8}.room-filter-result{color:#64748b;padding-bottom:10px;font-size:13px}.room-table-wrapper{width:100%;overflow-x:auto}.room-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1150px}.room-table thead th{color:#475569;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:48px;padding:0 14px;font-size:12px;font-weight:700}.room-table .room-no-column{text-align:center;width:55px}.room-table .room-user-column,.room-table .room-office-column{width:145px}.room-table .room-name-column{width:150px}.room-table .room-date-column{width:155px}.room-table .room-time-column{width:115px}.room-table .room-purpose-column{width:230px}.room-table .room-status-column{width:110px}.room-table .room-action-column{width:190px}.room-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px;font-size:13px}.room-table tbody tr{transition:background .15s}.room-table tbody tr:hover{background:#f8fafc}.room-table tbody tr:last-child td{border-bottom:none}.room-row-number{color:#475569;background:#f1f5f9;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-flex}.room-user{align-items:center;gap:9px;min-width:0;display:flex}.room-user-avatar{color:#2563eb;background:#dbeafe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.room-user strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.room-office strong,.room-name strong,.room-date strong{color:#334155;font-size:13px}.room-time{white-space:nowrap;align-items:center;gap:6px;display:flex}.room-time span{color:#334155;font-size:13px;font-weight:600}.room-time .room-time-separator{color:#94a3b8;font-weight:400}.room-purpose{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.room-status{color:#64748b;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.room-status.booked{color:#15803d;background:#dcfce7}.room-status.cancelled{color:#dc2626;background:#fee2e2}.room-actions{align-items:center;gap:7px;display:flex}.room-detail-button,.room-cancel-button{cursor:pointer;border-radius:7px;height:32px;padding:0 11px;font-size:12px;font-weight:600;transition:all .2s}.room-detail-button{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.room-detail-button:hover{background:#dbeafe}.room-cancel-button:hover:not(:disabled){background:#fee2e2}.room-cancel-button:disabled{opacity:.5;cursor:not-allowed}.room-pagination{background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:17px 24px;display:flex}.room-pagination-info{color:#64748b;font-size:13px}.room-pagination-info strong{color:#334155;font-weight:700}.room-pagination-buttons{align-items:center;gap:8px;display:flex}.room-pagination-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:36px;padding:0 13px;font-size:12px;font-weight:600;transition:all .2s}.room-pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.room-pagination-button:disabled{opacity:.45;cursor:not-allowed}.room-page-indicator{color:#64748b;justify-content:center;align-items:center;gap:5px;min-width:125px;font-size:12px;display:flex}.room-page-indicator strong{color:#334155}.room-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.room-loading p{color:#64748b;margin:0;font-size:13px}.room-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite room-spin}@keyframes room-spin{to{transform:rotate(360deg)}}.room-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:40px 20px;display:flex}.room-empty-icon{background:#eff6ff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:14px;font-size:28px;display:flex}.room-empty h3{color:#334155;margin:0 0 7px;font-size:17px}.room-empty p{color:#64748b;max-width:400px;margin:0 0 20px;font-size:13px;line-height:1.5}.room-empty-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;height:38px;padding:0 16px;font-size:13px;font-weight:600}.room-empty-button:hover{background:#1d4ed8}@media (width<=900px){.room-booking-page{padding:22px 18px 30px}.room-booking-header{flex-direction:column}.room-add-button{width:100%}.room-filter-container{flex-direction:column;align-items:stretch}.room-filter-left{flex-wrap:wrap;align-items:stretch}.room-filter-result{padding-bottom:0}}@media (width<=600px){.room-booking-page{padding:18px 12px 25px}.room-booking-card-header{align-items:flex-start}.room-filter-left{flex-direction:column}.room-filter-group,.room-filter-reset{width:100%}.room-pagination{flex-direction:column;align-items:stretch}.room-pagination-info{text-align:center}.room-pagination-buttons{justify-content:center}}.room-create-page{box-sizing:border-box;width:100%;min-height:100vh}.room-create-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.room-create-header h1{color:#0f172a;margin:0;font-size:28px;font-weight:700}.room-create-header p{color:#64748b;margin:7px 0 0;font-size:14px}.room-back-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 17px;font-size:14px;font-weight:600;transition:all .2s}.room-back-button:hover{background:#f8fafc}.room-form-error,.room-form-success{border-radius:9px;align-items:center;gap:10px;margin-bottom:18px;padding:13px 16px;font-size:14px;font-weight:500;display:flex}.room-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.room-form-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.room-form-error span,.room-form-success span{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:flex}.room-create-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px #0f172a0d}.room-section{border-bottom:1px solid #e2e8f0;padding:28px 30px}.room-section:last-of-type{border-bottom:none}.room-section-title{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.room-section-title>span{color:#2563eb;background:#eff6ff;border-radius:8px;justify-content:center;align-items:center;min-width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.room-section-title h2{color:#0f172a;margin:0;font-size:17px;font-weight:700}.room-section-title p{color:#64748b;margin:5px 0 0;font-size:13px}.room-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.room-form-group{flex-direction:column;gap:8px;display:flex}.room-form-group label{color:#334155;font-size:13px;font-weight:600}.room-form-group label span{color:#dc2626;margin-left:3px}.room-form-group input,.room-form-group select,.room-form-group textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;font-family:inherit;font-size:14px;transition:all .2s}.room-form-group input,.room-form-group select{height:44px;padding:0 13px}.room-form-group textarea{resize:vertical;min-height:120px;padding:12px 13px}.room-form-group input:focus,.room-form-group select:focus,.room-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.room-form-group input:disabled,.room-form-group select:disabled,.room-form-group textarea:disabled{cursor:not-allowed;background:#f8fafc}.selected-room-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:13px;margin-top:20px;padding:14px 16px;display:flex}.selected-room-icon{background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.selected-room-info strong{color:#0f172a;font-size:14px;display:block}.selected-room-info p{color:#64748b;margin:4px 0 0;font-size:12px}.room-form-actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:20px 30px;display:flex}.room-cancel-button,.room-submit-button{cursor:pointer;border-radius:8px;height:42px;padding:0 20px;font-size:14px;font-weight:600;transition:all .2s}.room-cancel-button{color:#475569;background:#fff;border:1px solid #cbd5e1}.room-cancel-button:hover{background:#f1f5f9}.room-submit-button{color:#fff;background:#2563eb;border:none}.room-submit-button:hover{background:#1d4ed8}.room-submit-button:disabled,.room-cancel-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.room-create-header{align-items:flex-start;gap:15px}.room-form-grid{grid-template-columns:1fr}.room-section{padding:22px 20px}.room-form-actions{padding:18px 20px}}@media (width<=520px){.room-create-header{flex-direction:column}.room-back-button{width:100%}.room-form-actions{flex-direction:column-reverse}.room-cancel-button,.room-submit-button{width:100%}}.room-detail-page{box-sizing:border-box;background:#f8fafc;width:100%;min-height:100vh;padding:30px 32px 45px}.room-detail-header{margin-bottom:24px}.room-detail-header h1{letter-spacing:-.4px;color:#0f172a;margin:12px 0 6px;font-size:28px;font-weight:750;line-height:1.25}.room-detail-header p{color:#64748b;margin:0;font-size:13.5px;line-height:1.5}.room-detail-back{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-family:inherit;font-size:13px;font-weight:600;transition:color .2s,transform .2s;display:inline-flex}.room-detail-back:hover{color:#1d4ed8;transform:translate(-2px)}.room-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 2px 5px #0f172a06,0 8px 24px #0f172a0a}.room-detail-page>.room-detail-card,.room-detail-page>.room-detail-grid{box-sizing:border-box}.room-detail-card-header{background:linear-gradient(#fff,#fbfdff);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:15px;padding:20px 22px;display:flex}.room-detail-label{color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.room-detail-card-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700;line-height:1.3}.room-detail-card-icon{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:flex}.room-detail-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:90px;min-height:34px;padding:0 14px;font-size:11.5px;font-weight:700;line-height:1.3;display:inline-flex}.room-detail-status.booked{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.room-detail-status.cancelled{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.room-detail-content{padding:22px}.room-detail-section{border-bottom:1px solid #f1f5f9;margin:0 0 22px;padding:0}.room-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.room-detail-section h3{color:#0f172a;margin:0 0 14px;font-size:14px;font-weight:700;line-height:1.4}.room-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.room-detail-item{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-height:68px;padding:14px 15px;transition:background .2s,border-color .2s,box-shadow .2s}.room-detail-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 3px 10px #0f172a0a}.room-detail-item span{color:#64748b;margin-bottom:6px;font-size:11.5px;font-weight:600;line-height:1.4;display:block}.room-detail-item strong{color:#0f172a;word-break:break-word;font-size:13px;font-weight:650;line-height:1.5;display:block}.room-detail-purpose{box-sizing:border-box;color:#334155;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-height:78px;padding:15px;font-size:13px;line-height:1.65;transition:background .2s,border-color .2s}.room-detail-purpose:hover{background:#fff;border-color:#cbd5e1}.room-detail-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:17px 22px;display:flex}.room-detail-secondary{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:0 17px;font-family:inherit;font-size:12.5px;font-weight:650;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;display:inline-flex}.room-detail-secondary:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 3px 8px #0f172a0d}.room-detail-cancel{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:0 17px;font-family:inherit;font-size:12.5px;font-weight:650;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;display:inline-flex}.room-detail-cancel:hover:not(:disabled){color:#991b1b;background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 3px 8px #7f1d1d0f}.room-detail-cancel:disabled,.room-detail-secondary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.room-detail-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex}.room-detail-loading p{color:#64748b;margin:14px 0 0;font-size:13px}.room-detail-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite roomDetailSpin}@keyframes roomDetailSpin{to{transform:rotate(360deg)}}.room-detail-error{box-sizing:border-box;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;max-width:600px;margin:70px auto;padding:40px;box-shadow:0 4px 16px #0f172a0d}.room-detail-error-icon{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:22px;font-weight:700;display:flex}.room-detail-error h2{color:#0f172a;margin:0 0 8px;font-size:20px;font-weight:700}.room-detail-error p{color:#64748b;margin:0 0 22px;font-size:13px;line-height:1.6}.room-back-button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:9px;min-height:40px;padding:0 18px;font-family:inherit;font-size:12.5px;font-weight:650;transition:background .2s,box-shadow .2s,transform .15s}.room-back-button:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 5px 12px #2563eb2e}@media (width<=900px){.room-detail-page{padding:25px 24px 40px}.room-detail-grid{grid-template-columns:1fr}}@media (width<=650px){.room-detail-page{padding:20px 15px 30px}.room-detail-header h1{font-size:24px}.room-detail-card{border-radius:14px}.room-detail-card-header{flex-direction:column;align-items:flex-start;padding:18px}.room-detail-status{align-self:flex-start}.room-detail-content{padding:18px}.room-detail-grid{grid-template-columns:1fr;gap:10px}.room-detail-footer{flex-direction:column;align-items:stretch;padding:16px 18px}.room-detail-secondary,.room-detail-cancel{width:100%}.room-detail-error{margin:40px auto;padding:30px 20px}}@media (width<=400px){.room-detail-page{padding:16px 11px 25px}.room-detail-header h1{font-size:21px}.room-detail-card-header,.room-detail-content{padding:16px}}.vehicle-bookings-page{box-sizing:border-box;width:100%;min-height:100vh;padding:28px 32px 40px}.vehicle-bookings-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.vehicle-bookings-header h1{color:#0f172a;margin:0 0 6px;font-size:27px;font-weight:700;line-height:1.25}.vehicle-bookings-header p{color:#64748b;margin:0;font-size:14px;line-height:1.5}.vehicle-booking-create-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.vehicle-booking-create-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb2e}.vehicle-booking-create-btn:active{transform:translateY(0)}.vehicle-booking-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin-bottom:20px;padding:12px 15px;font-size:13px;line-height:1.5}.vehicle-bookings-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.vehicle-bookings-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.vehicle-bookings-card-header h2{color:#0f172a;margin:0 0 5px;font-size:17px;font-weight:700}.vehicle-bookings-card-header p{color:#64748b;margin:0;font-size:12.5px;line-height:1.5}.vehicle-booking-count{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;align-items:baseline;gap:6px;padding:8px 12px;display:flex}.vehicle-booking-count strong{color:#2563eb;font-size:16px;font-weight:700}.vehicle-booking-count span{color:#64748b;font-size:12px}.vehicle-booking-filter-container{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;gap:20px;padding:16px 22px;display:flex}.vehicle-booking-filter-left{flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0;display:flex}.vehicle-booking-filter-group{flex-direction:column;gap:6px;min-width:145px;display:flex}.vehicle-booking-filter-group label{color:#475569;font-size:11px;font-weight:600;display:block}.vehicle-booking-search-group{min-width:230px}.vehicle-booking-search-group input{color:#334155;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:38px;padding:0 11px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.vehicle-booking-search-group input::placeholder{color:#94a3b8}.vehicle-booking-search-group input:hover{border-color:#94a3b8}.vehicle-booking-search-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.vehicle-booking-filter-group select{color:#334155;cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:38px;padding:0 32px 0 11px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.vehicle-booking-filter-group select:hover{border-color:#94a3b8}.vehicle-booking-filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.vehicle-booking-filter-reset{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;height:38px;padding:0 13px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.vehicle-booking-filter-reset:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.vehicle-booking-filter-result{color:#64748b;white-space:nowrap;flex-shrink:0;padding-bottom:9px;font-size:12px}.vehicle-booking-filter-result:first-letter{color:#2563eb}.vehicle-booking-table-wrapper{width:100%;overflow:auto hidden}.vehicle-booking-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1150px}.vehicle-booking-table .vehicle-no-column{text-align:center;width:55px}.vehicle-booking-table .vehicle-surat-column,.vehicle-booking-table .vehicle-user-column{width:155px}.vehicle-booking-table .vehicle-division-column{width:135px}.vehicle-booking-table .vehicle-destination-column{width:210px}.vehicle-booking-table .vehicle-purpose-column{width:245px}.vehicle-booking-table .vehicle-status-column{width:125px}.vehicle-booking-table .vehicle-action-column{text-align:center;width:110px}.vehicle-booking-table thead{background:#f8fafc}.vehicle-booking-table th{color:#475569;text-align:left;white-space:nowrap;box-sizing:border-box;border-bottom:1px solid #e2e8f0;height:46px;padding:0 12px;font-size:11px;font-weight:700}.vehicle-booking-table th.vehicle-no-column,.vehicle-booking-table th.vehicle-action-column{text-align:center}.vehicle-booking-table tbody tr{background:#fff;transition:background .15s}.vehicle-booking-table tbody tr:hover{background:#f8fafc}.vehicle-booking-table td{color:#334155;vertical-align:middle;box-sizing:border-box;border-bottom:1px solid #f1f5f9;height:64px;padding:10px 12px;font-size:12.5px}.vehicle-booking-table tbody tr:last-child td{border-bottom:none}.vehicle-row-number{color:#475569;background:#f1f5f9;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.vehicle-booking-user{align-items:center;gap:9px;min-width:0;display:flex}.vehicle-booking-user-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.vehicle-booking-user strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;display:block;overflow:hidden}.vehicle-surat-jalan{color:#2563eb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;display:block;overflow:hidden}.vehicle-booking-division{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.45;display:block;overflow:hidden}.vehicle-booking-destination,.vehicle-booking-purpose{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.vehicle-booking-status{text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:84px;padding:5px 9px;font-size:10px;font-weight:700;line-height:1.3;display:inline-flex}.vehicle-booking-status.status-pending{color:#c2410c;background:#fff7ed}.vehicle-booking-status.status-approved{color:#047857;background:#ecfdf5}.vehicle-booking-status.status-rejected{color:#b91c1c;background:#fef2f2}.vehicle-booking-status.status-replacement{color:#a16207;background:#fefce8}.vehicle-booking-status.status-cancelled{color:#64748b;background:#f1f5f9}.vehicle-booking-status.status-completed{color:#1d4ed8;background:#eff6ff}.vehicle-booking-actions{justify-content:center;align-items:center;gap:6px;display:flex}.vehicle-booking-detail-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;min-width:62px;height:31px;padding:0 10px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.vehicle-booking-detail-btn:hover{color:#2563eb;background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px)}.vehicle-booking-detail-btn:active{transform:translateY(0)}.vehicle-booking-pagination{background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:15px 22px;display:flex}.vehicle-booking-pagination-info{color:#64748b;white-space:nowrap;font-size:11.5px}.vehicle-booking-pagination-info strong{color:#334155;font-weight:700}.vehicle-booking-pagination-buttons{align-items:center;gap:10px;display:flex}.vehicle-booking-pagination-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;min-width:102px;height:34px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.vehicle-booking-pagination-button:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.vehicle-booking-pagination-button:disabled{opacity:.45;cursor:not-allowed}.vehicle-booking-page-indicator{color:#64748b;white-space:nowrap;align-items:center;gap:5px;padding:0 5px;font-size:11px;display:flex}.vehicle-booking-page-indicator strong{color:#2563eb;text-align:center;min-width:23px;font-weight:700}.vehicle-booking-loading{color:#64748b;justify-content:center;align-items:center;min-height:280px;padding:30px;font-size:13px;display:flex}.vehicle-booking-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:40px 25px;display:flex}.vehicle-booking-empty-icon{background:#f8fafc;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:15px;font-size:28px;display:flex}.vehicle-booking-empty h3{color:#334155;margin:0 0 7px;font-size:16px;font-weight:700}.vehicle-booking-empty p{color:#64748b;max-width:420px;margin:0 0 18px;font-size:12.5px;line-height:1.6}.vehicle-booking-empty .vehicle-booking-filter-reset{margin-top:2px}.vehicle-booking-table-wrapper::-webkit-scrollbar{height:7px}.vehicle-booking-table-wrapper::-webkit-scrollbar-track{background:#f8fafc}.vehicle-booking-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.vehicle-booking-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (width<=1100px){.vehicle-bookings-page{padding:24px 22px 35px}.vehicle-booking-filter-container{flex-direction:column;align-items:flex-start}.vehicle-booking-filter-result{padding-bottom:0}}@media (width<=900px){.vehicle-bookings-header{flex-direction:column;align-items:stretch}.vehicle-booking-create-btn{align-self:flex-start}.vehicle-booking-search-group{min-width:220px}.vehicle-booking-filter-left{width:100%}}@media (width<=700px){.vehicle-bookings-page{padding:20px 15px 30px}.vehicle-bookings-header h1{font-size:23px}.vehicle-bookings-header p{font-size:12.5px}.vehicle-bookings-card-header{flex-direction:column;align-items:flex-start;padding:17px}.vehicle-booking-count{align-self:flex-start}.vehicle-booking-filter-container{padding:15px 17px}.vehicle-booking-filter-left{flex-direction:column;align-items:stretch;width:100%}.vehicle-booking-filter-group,.vehicle-booking-search-group{width:100%;min-width:0}.vehicle-booking-filter-reset{align-self:flex-start}.vehicle-booking-pagination{flex-direction:column;align-items:flex-start;padding:15px 17px}.vehicle-booking-pagination-buttons{justify-content:space-between;width:100%}}@media (width<=500px){.vehicle-bookings-page{padding:16px 10px 25px}.vehicle-bookings-header{margin-bottom:18px}.vehicle-bookings-header h1{font-size:21px}.vehicle-booking-create-btn{width:100%}.vehicle-bookings-card-header h2{font-size:15px}.vehicle-booking-filter-result{font-size:11px}.vehicle-booking-pagination-buttons{flex-wrap:wrap}.vehicle-booking-pagination-button{flex:1;min-width:0}.vehicle-booking-page-indicator{order:-1;justify-content:center;width:100%;margin-bottom:3px}}.create-vehicle-booking-page{box-sizing:border-box;background:#f8fafc;width:100%;min-height:100vh;padding:30px}.create-vehicle-booking-header{margin-bottom:22px}.create-vehicle-booking-header h1{color:#0f172a;margin:0 0 6px;font-size:28px;font-weight:700;line-height:1.3}.create-vehicle-booking-header p{color:#64748b;margin:0;font-size:14px;line-height:1.5}.create-booking-error,.create-booking-success{box-sizing:border-box;border-radius:9px;align-items:flex-start;gap:10px;width:100%;max-width:950px;margin:0 auto 20px;padding:12px 15px;font-size:13px;line-height:1.5;display:flex}.create-booking-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.create-booking-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.create-booking-error span,.create-booking-success span{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.create-booking-error span{color:#dc2626;background:#fee2e2}.create-booking-success span{color:#16a34a;background:#dcfce7}.create-booking-error p,.create-booking-success p{margin:1px 0 0}.booking-form-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;max-width:950px;margin:0 auto 20px;padding:25px;box-shadow:0 1px 3px #0f172a0a,0 8px 20px #0f172a0a}.booking-section-title{border-bottom:1px solid #e2e8f0;align-items:flex-start;gap:12px;margin-bottom:22px;padding-bottom:15px;display:flex}.booking-section-title h2{color:#0f172a;margin:0 0 4px;font-size:17px;font-weight:700;line-height:1.4}.booking-section-title p{color:#64748b;margin:0;font-size:12px;line-height:1.5}.booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.booking-form-grid .full-width{grid-column:1/-1}.form-group{flex-direction:column;min-width:0;display:flex}.form-group label{color:#334155;margin-bottom:7px;font-size:13px;font-weight:600;line-height:1.4}.form-group label span{color:#dc2626;margin-left:3px}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input,.form-group select{height:42px;padding:0 12px}.form-group textarea{resize:vertical;min-height:100px;padding:11px 12px}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#94a3b8}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;color:#64748b;background:#f8fafc}.personnel-section{margin-bottom:20px;padding-bottom:25px}.personnel-section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.personnel-section-title{min-width:0}.personnel-section-title h2{color:#0f172a;margin:0 0 4px;font-size:17px;font-weight:700;line-height:1.4}.personnel-section-title p{color:#64748b;margin:0;font-size:12px;line-height:1.5}.btn-add-personnel{box-sizing:border-box;color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:145px;height:40px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.btn-add-personnel:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px #2563eb2e}.btn-add-personnel:active{box-shadow:none;transform:translateY(0)}.btn-add-personnel:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.personnel-count-info{box-sizing:border-box;color:#475569;background:#eff6ff;border:1px solid #dbeafe;border-radius:9px;align-items:center;min-height:40px;margin-bottom:18px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.personnel-count-info strong{color:#1d4ed8;margin:0 4px;font-size:13px;font-weight:700}.personnel-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:18px;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0f172a08}.personnel-card:hover{border-color:#cbd5e1;box-shadow:0 3px 8px #0f172a0d}.personnel-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding-bottom:13px;display:flex}.personnel-card-title{color:#0f172a;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.btn-remove-personnel{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:7px;justify-content:center;align-items:center;min-height:31px;padding:6px 11px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.btn-remove-personnel:hover{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.btn-remove-personnel:disabled{opacity:.5;cursor:not-allowed}.personnel-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.personnel-form-group{flex-direction:column;gap:7px;min-width:0;display:flex}.personnel-form-group label{color:#334155;font-size:13px;font-weight:600;line-height:1.4}.personnel-form-group label span{color:#dc2626;margin-left:3px}.personnel-form-group input,.personnel-form-group select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.personnel-form-group input::placeholder{color:#94a3b8}.personnel-form-group input:hover,.personnel-form-group select:hover{border-color:#94a3b8}.personnel-form-group input:focus,.personnel-form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.personnel-form-group input:disabled,.personnel-form-group select:disabled{cursor:not-allowed;background:#f8fafc}.vehicle-task-section{position:relative}.vehicle-task-section .booking-section-title{margin-bottom:22px}.task-heading{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:11px 13px;font-size:13px;font-weight:700;display:flex}.task-heading:before{content:"";background:#2563eb;border-radius:5px;flex-shrink:0;width:5px;height:22px;display:block}.task-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #0f172a08}.task-type-label{color:#475569;letter-spacing:.2px;background:#f1f5f9;border-radius:6px;align-items:center;min-height:30px;margin-bottom:17px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.booking-info-alert{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.booking-info-alert span{color:#2563eb;background:#dbeafe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.booking-form-actions{box-sizing:border-box;justify-content:flex-end;align-items:center;gap:10px;width:100%;max-width:950px;margin:0 auto;padding:5px 0 25px;display:flex}.booking-form-actions button{cursor:pointer;border-radius:8px;height:40px;padding:0 17px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}.btn-cancel-booking{color:#475569;background:#fff;border:1px solid #cbd5e1}.btn-cancel-booking:hover{background:#f8fafc;border-color:#94a3b8}.btn-submit-booking{color:#fff;background:#2563eb;border:1px solid #2563eb;box-shadow:0 2px 5px #2563eb1f}.btn-submit-booking:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px #2563eb2e}.btn-submit-booking:active{transform:translateY(0);box-shadow:0 2px 5px #2563eb1f}.btn-submit-booking:disabled,.btn-cancel-booking:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.booking-loading{color:#64748b;justify-content:center;align-items:center;min-height:180px;font-size:13px;display:flex}.booking-empty{box-sizing:border-box;color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:9px;justify-content:center;align-items:center;min-height:100px;padding:20px;font-size:13px;display:flex}@media (width<=900px){.create-vehicle-booking-page{padding:25px 20px}.booking-form-card{padding:22px}}@media (width<=768px){.create-vehicle-booking-page{padding:20px 15px}.create-vehicle-booking-header h1{font-size:24px}.create-vehicle-booking-header p{font-size:13px}.booking-form-card{border-radius:11px;padding:18px}.booking-form-grid,.personnel-form-grid{grid-template-columns:1fr;gap:14px}.booking-section-title{margin-bottom:18px}.personnel-section-header{flex-direction:column;align-items:stretch;gap:13px}.btn-add-personnel{width:100%}.personnel-card{padding:15px}.personnel-card-header{gap:10px}.task-card{padding:15px}.booking-form-actions{flex-direction:column-reverse;align-items:stretch;gap:8px}.booking-form-actions button{width:100%}}@media (width<=480px){.create-vehicle-booking-page{padding:15px 10px}.create-vehicle-booking-header{margin-bottom:18px}.create-vehicle-booking-header h1{font-size:21px}.booking-form-card{border-radius:10px;padding:15px}.booking-section-title h2,.personnel-section-title h2{font-size:15px}.personnel-card{padding:13px}.personnel-card-title{font-size:12px}.personnel-number{width:28px;height:28px}.btn-remove-personnel{padding:6px 9px;font-size:11px}.personnel-count-info{font-size:11px}}.vehicle-detail-page{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:28px 32px 50px}.vehicle-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.vehicle-detail-header h1{color:#0f172a;margin:8px 0 5px;font-size:28px;font-weight:700;line-height:1.3}.vehicle-detail-header p{color:#64748b;margin:0;font-size:14px;line-height:1.5}.btn-back-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.btn-back-link:hover{color:#1d4ed8;text-decoration:underline}.booking-status{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.status-pending{color:#c2410c;background:#fff7ed}.status-approved{color:#047857;background:#ecfdf5}.status-rejected{color:#dc2626;background:#fef2f2}.status-replacement{color:#2563eb;background:#eff6ff}.status-cancelled{color:#64748b;background:#f1f5f9}.status-completed{color:#047857;background:#ecfdf5}.detail-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;margin-bottom:18px;padding:22px;box-shadow:0 1px 3px #0f172a0a}.card-title{color:#111827;margin-bottom:18px;font-size:16px;font-weight:700;line-height:1.4}.card-label{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:600}.surat-jalan-card{background:#f8fafc;flex-direction:column;justify-content:center;min-height:90px;display:flex}.surat-jalan-number{color:#0f172a;letter-spacing:.4px;font-size:23px;font-weight:800}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;display:grid}.detail-item{min-width:0}.detail-label{color:#64748b;margin-bottom:5px;font-size:11px;font-weight:600}.detail-value{color:#111827;word-break:break-word;font-size:14px;font-weight:500;line-height:1.55}.detail-full{margin-top:20px}.personnel-list{flex-direction:column;gap:10px;display:flex}.personnel-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:14px;padding:14px 16px;display:flex}.personnel-number{color:#2563eb;background:#eff6ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.personnel-info{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.personnel-info div{flex-direction:column;gap:3px;display:flex}.personnel-info span{color:#64748b;font-size:11px;font-weight:600}.personnel-info strong{color:#111827;font-size:14px;font-weight:600}.task-route{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:18px;padding:16px;display:grid}.route-location{flex-direction:column;gap:5px;min-width:0;display:flex}.route-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.route-location strong{color:#111827;font-size:14px;font-weight:600;line-height:1.5}.route-arrow{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;font-weight:700;display:flex}.task-driver-vehicle{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.task-info-box{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-start;gap:13px;min-width:0;padding:16px;display:flex}.task-info-icon{background:#f8fafc;border:1px solid #e5e7eb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.task-info-content{flex-direction:column;gap:3px;min-width:0;display:flex}.task-info-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:700}.task-info-content strong{color:#111827;font-size:14px;font-weight:700;line-height:1.4}.task-info-secondary{color:#475569;font-size:13px}.task-info-code{color:#94a3b8;font-size:11px}.driver-type{border-radius:6px;width:fit-content;margin-top:5px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.driver-type-main{color:#047857;background:#ecfdf5}.driver-type-replacement{color:#2563eb;background:#eff6ff}.task-grid{padding-top:2px}.replacement-info{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:18px;padding:11px 13px;font-size:12px;display:flex}.replacement-info strong{font-weight:700}.replacement-info span{color:#475569}.notes-box{box-sizing:border-box;color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:9px;min-height:55px;padding:13px 14px;font-size:13px;line-height:1.6}.rejection-card{background:snow;border-color:#fecaca}.rejection-text{color:#b91c1c;background:#fef2f2;border-radius:8px;padding:13px 14px;font-size:13px;line-height:1.6}.metadata-card{background:#f8fafc}.empty-data{color:#64748b;text-align:center;background:#f8fafc;border-radius:8px;padding:14px;font-size:13px}.vehicle-detail-loading{color:#64748b;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:40px;font-size:14px}.vehicle-detail-error{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:40px}.vehicle-detail-error h2{color:#111827;margin:0 0 8px;font-size:20px}.vehicle-detail-error p{color:#64748b;margin:0 0 20px;font-size:14px}.btn-back{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .2s,transform .1s}.btn-back:hover{background:#1d4ed8}.btn-back:active{transform:translateY(1px)}@media (width<=900px){.vehicle-detail-page{padding:24px 22px 40px}.task-driver-vehicle{grid-template-columns:1fr}}@media (width<=768px){.vehicle-detail-page{padding:20px 16px 35px}.vehicle-detail-header{flex-direction:column;gap:14px}.vehicle-detail-header h1{font-size:24px}.booking-status{align-self:flex-start}.detail-card{padding:17px}.detail-grid{grid-template-columns:1fr;gap:15px}.personnel-info,.task-route{grid-template-columns:1fr;gap:10px}.route-arrow{justify-self:center;transform:rotate(90deg)}.task-driver-vehicle{grid-template-columns:1fr}.surat-jalan-number{font-size:20px}}@media (width<=480px){.vehicle-detail-page{padding:16px 12px 30px}.detail-card{padding:15px}.personnel-item{align-items:flex-start}.task-info-box{padding:14px}.booking-action-card{background:#fff;border-color:#e5e7eb;margin-top:4px}.action-description{color:#64748b;margin:-8px 0 18px;font-size:13px;line-height:1.5}.action-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:11px 13px;font-size:13px;line-height:1.5}.booking-action-buttons{gap:10px;display:flex}.btn-approve,.btn-reject{cursor:pointer;border-radius:8px;min-height:38px;padding:0 16px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .1s}.btn-approve{color:#fff;background:#059669;border:1px solid #059669}.btn-approve:hover{background:#047857}.btn-approve:active{transform:translateY(1px)}.btn-reject{color:#dc2626;background:#fff;border:1px solid #fecaca}.btn-reject:hover{background:#fef2f2;border-color:#fca5a5}.btn-reject:active{transform:translateY(1px)}.btn-approve:disabled,.btn-reject:disabled,.btn-cancel-action:disabled,.btn-confirm-reject:disabled{opacity:.6;cursor:not-allowed}.reject-form{width:100%}.reject-form label{color:#374151;margin-bottom:7px;font-size:12px;font-weight:600;display:block}.reject-form textarea{box-sizing:border-box;color:#111827;resize:vertical;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.reject-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.reject-form textarea::placeholder{color:#94a3b8}.reject-form-actions{justify-content:flex-end;gap:9px;margin-top:12px;display:flex}.btn-cancel-action,.btn-confirm-reject{cursor:pointer;border-radius:8px;min-height:36px;padding:0 14px;font-size:12px;font-weight:600}.btn-cancel-action{color:#475569;background:#fff;border:1px solid #d1d5db}.btn-cancel-action:hover{background:#f8fafc}.btn-confirm-reject{color:#fff;background:#dc2626;border:1px solid #dc2626}.btn-confirm-reject:hover{background:#b91c1c}@media (width<=768px){.booking-action-buttons{flex-direction:column}.btn-approve,.btn-reject{width:100%}.reject-form-actions{flex-direction:column-reverse}.btn-cancel-action,.btn-confirm-reject{width:100%}}}.ticket-page{box-sizing:border-box;color:#1e293b;width:100%;padding:28px 32px 40px}.ticket-page-header>div:first-child{min-width:0}.ticket-create-button{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.ticket-create-button:hover{background:#1d4ed8}.ticket-create-icon{justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.ticket-alert{border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:14px;font-weight:500;display:flex}.ticket-alert button{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:7px;height:32px;padding:0 11px;font-size:12px;font-weight:600;transition:all .2s}.ticket-alert button:hover{background:#fee2e2}.ticket-filter-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-end;gap:14px;margin-bottom:20px;padding:18px 24px;display:flex}.ticket-search-wrapper{flex:1;min-width:260px;position:relative}.ticket-search-icon{color:#94a3b8;pointer-events:none;font-size:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ticket-search-input{box-sizing:border-box;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:38px;padding:0 12px 0 36px;font-family:inherit;font-size:13px;transition:all .2s}.ticket-search-input::placeholder{color:#94a3b8}.ticket-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticket-filter-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;min-width:155px;height:38px;padding:0 34px 0 11px;font-family:inherit;font-size:13px}.ticket-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticket-refresh-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;transition:all .2s;display:flex}.ticket-refresh-button:hover{color:#2563eb;background:#f1f5f9;border-color:#94a3b8}.ticket-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.ticket-summary-item{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;min-height:72px;padding:15px 18px;display:flex;box-shadow:0 2px 8px #0f172a0a}.ticket-summary-label{color:#64748b;font-size:13px}.ticket-summary-item strong{color:#2563eb;font-size:22px;line-height:1}.ticket-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.ticket-table-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.ticket-table-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.ticket-table-header span{color:#64748b;margin-top:5px;font-size:13px;display:block}.ticket-table-header span strong{color:#334155;font-weight:700}.ticket-table-wrapper{width:100%;overflow-x:auto}.ticket-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1150px}.ticket-table thead th{color:#475569;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:48px;padding:0 14px;font-size:12px;font-weight:700}.ticket-table th:first-child,.ticket-table td:first-child{text-align:center;width:55px}.ticket-table th:nth-child(2),.ticket-table td:nth-child(2){width:155px}.ticket-table th:nth-child(3),.ticket-table td:nth-child(3){width:115px}.ticket-table th:nth-child(4),.ticket-table td:nth-child(4){width:245px}.ticket-table th:nth-child(5),.ticket-table td:nth-child(5){width:130px}.ticket-table th:nth-child(6),.ticket-table td:nth-child(6){width:150px}.ticket-table th:nth-child(7),.ticket-table td:nth-child(7){width:100px}.ticket-table th:nth-child(8),.ticket-table td:nth-child(8){width:115px}.ticket-table th:nth-child(9),.ticket-table td:nth-child(9){width:100px}.ticket-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px;font-size:13px}.ticket-table tbody tr{transition:background .15s}.ticket-table tbody tr:hover{background:#f8fafc}.ticket-table tbody tr:last-child td{border-bottom:none}.ticket-table tbody td:first-child{text-align:center}.ticket-table tbody td:first-child:before{content:none}.ticket-table tbody td:first-child{color:#475569;font-size:12px;font-weight:600}.ticket-number{color:#2563eb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.ticket-title-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.ticket-title-cell strong{color:#334155;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.ticket-title-cell span{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ticket-user-cell{align-items:center;min-width:0;display:flex}.ticket-user-cell strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ticket-priority{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:65px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.ticket-status{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.ticket-detail-button{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;height:32px;padding:0 12px;font-size:12px;font-weight:600;transition:all .2s}.ticket-detail-button:hover{background:#dbeafe}.ticket-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.ticket-loading p{color:#64748b;margin:0;font-size:13px}@keyframes ticket-spin{to{transform:rotate(360deg)}}.ticket-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:40px 20px;display:flex}.ticket-empty-icon{background:#eff6ff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:14px;font-size:28px;display:flex}.ticket-empty h3{color:#334155;margin:0 0 7px;font-size:17px}.ticket-empty p{color:#64748b;max-width:400px;margin:0 0 20px;font-size:13px;line-height:1.5}.ticket-reset-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:38px;padding:0 16px;font-size:13px;font-weight:600;transition:all .2s}.ticket-reset-button:hover{background:#f1f5f9;border-color:#94a3b8}.ticket-empty-create{height:38px;font-size:13px}@media (width<=1100px){.ticket-filter-card{flex-wrap:wrap;align-items:stretch}.ticket-search-wrapper{flex-basis:100%}.ticket-filter-select{flex:1}}@media (width<=900px){.ticket-page{padding:22px 18px 30px}.ticket-page-header{flex-direction:column}.ticket-create-button{width:auto}.ticket-filter-card{flex-direction:column;align-items:stretch}.ticket-search-wrapper{flex-basis:auto;width:100%}.ticket-filter-select{width:100%;min-width:0}.ticket-refresh-button{width:100%}.ticket-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.ticket-page{padding:18px 12px 25px}.ticket-page-header{gap:16px}.ticket-page-header h1{font-size:24px}.ticket-page-header p{font-size:13px}.ticket-create-button{width:100%}.ticket-alert{flex-direction:column;align-items:flex-start}.ticket-alert button{width:100%}.ticket-filter-card{padding:16px}.ticket-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ticket-summary-item{min-height:65px;padding:13px 14px}.ticket-summary-label{font-size:12px}.ticket-summary-item strong{font-size:19px}.ticket-table-header{padding:18px}.ticket-table-header h2{font-size:16px}.ticket-table-header span{font-size:12px}}.ticket-page{box-sizing:border-box;width:100%;min-height:100vh;padding:24px}.ticket-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.ticket-page-header h1{color:#0f172a;margin:8px 0 6px;font-size:28px;font-weight:700}.ticket-page-header p{color:#64748b;margin:0;font-size:14px}.ticket-detail-breadcrumb{color:#94a3b8;align-items:center;gap:8px;font-size:13px;display:flex}.ticket-detail-breadcrumb button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.ticket-detail-breadcrumb button:hover{text-decoration:underline}.ticket-detail-breadcrumb strong{color:#475569}.ticket-detail-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.ticket-secondary-button,.ticket-edit-button,.ticket-submit-button,.ticket-upload-button,.ticket-close-button{cursor:pointer;border:none;border-radius:9px;min-height:40px;padding:0 15px;font-size:13px;font-weight:600;transition:background .2s,transform .2s,opacity .2s}.ticket-secondary-button{color:#334155;background:#f1f5f9}.ticket-secondary-button:hover{background:#e2e8f0}.ticket-edit-button{color:#fff;background:#2563eb}.ticket-edit-button:hover{background:#1d4ed8}.ticket-submit-button{color:#fff;background:#2563eb}.ticket-submit-button:hover{background:#1d4ed8}.ticket-upload-button{color:#fff;background:#0f766e}.ticket-upload-button:hover{background:#115e59}.ticket-close-button{color:#fff;background:#dc2626;width:100%}.ticket-close-button:hover{background:#b91c1c}.ticket-secondary-button:hover,.ticket-edit-button:hover,.ticket-submit-button:hover,.ticket-upload-button:hover,.ticket-close-button:hover{transform:translateY(-1px)}.ticket-secondary-button:disabled,.ticket-edit-button:disabled,.ticket-submit-button:disabled,.ticket-upload-button:disabled,.ticket-close-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.ticket-alert{border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:13px 16px;font-size:13px;line-height:1.5;display:flex}.ticket-alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.ticket-alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.ticket-alert-icon{color:#fff;background:currentColor;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.ticket-detail-grid{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:20px;display:grid}.ticket-detail-main,.ticket-detail-sidebar{min-width:0}.ticket-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:20px;padding:22px;box-shadow:0 4px 15px #0f172a0a}.ticket-detail-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.ticket-detail-card-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.ticket-detail-card-header p{color:#64748b;margin:5px 0 0;font-size:13px;line-height:1.5}.ticket-detail-number{color:#2563eb;letter-spacing:.03em;margin-bottom:7px;font-size:12px;font-weight:700;display:inline-block}.ticket-detail-card-header h2{line-height:1.4}.ticket-detail-badges{flex-shrink:0;align-items:center;gap:8px;display:flex}.ticket-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.ticket-status-open{color:#1d4ed8;background:#dbeafe}.ticket-status-progress{color:#92400e;background:#fef3c7}.ticket-status-closed{color:#166534;background:#dcfce7}.ticket-priority{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.ticket-priority-low{color:#475569;background:#f1f5f9}.ticket-priority-medium{color:#92400e;background:#fef3c7}.ticket-priority-high{color:#c2410c;background:#ffedd5}.ticket-priority-urgent{color:#b91c1c;background:#fee2e2}.ticket-detail-content{width:100%}.ticket-detail-description{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:18px}.ticket-detail-description h3{color:#475569;margin:0 0 8px;font-size:13px;font-weight:700}.ticket-detail-description p{color:#334155;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.7}.ticket-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:4px;display:grid}.ticket-info-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:6px;padding:14px;display:flex}.ticket-info-item span{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.ticket-info-item strong{color:#334155;word-break:break-word;font-size:13px;font-weight:600}.ticket-edit-form{flex-direction:column;gap:16px;display:flex}.ticket-form-group{flex-direction:column;gap:7px;display:flex}.ticket-form-group label{color:#334155;font-size:13px;font-weight:600}.ticket-form-group input,.ticket-form-group select,.ticket-form-group textarea,.ticket-assign-form select,.ticket-comment-form textarea{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.ticket-form-group input:focus,.ticket-form-group select:focus,.ticket-form-group textarea:focus,.ticket-assign-form select:focus,.ticket-comment-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticket-form-group textarea{resize:vertical;min-height:150px}.ticket-edit-actions{justify-content:flex-end;padding-top:4px;display:flex}.ticket-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.ticket-attachment-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;min-width:0;padding:16px}.ticket-attachment-title{color:#334155;align-items:center;gap:10px;margin-bottom:15px;font-size:13px;font-weight:600;display:flex}.ticket-attachment-badge{letter-spacing:.05em;border-radius:7px;justify-content:center;align-items:center;min-width:62px;height:26px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.ticket-attachment-badge.before{color:#b91c1c;background:#fee2e2}.ticket-attachment-badge.after{color:#166534;background:#dcfce7}.ticket-upload-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px;display:flex}.ticket-upload-box input[type=file]{display:none}.ticket-file-label{color:#64748b;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;align-items:center;min-width:0;min-height:38px;padding:0 11px;font-size:12px;font-weight:500;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.ticket-file-label:hover{background:#f8fbff;border-color:#2563eb}.ticket-upload-button{flex-shrink:0}.ticket-attachment-list{grid-template-columns:1fr;gap:12px;display:grid}.ticket-attachment-item{background:#fff;border:1px solid #e2e8f0;border-radius:11px;position:relative;overflow:hidden}.ticket-attachment-image-wrapper{aspect-ratio:16/10;cursor:zoom-in;background:#e2e8f0;width:100%;position:relative;overflow:hidden}.ticket-attachment-image{object-fit:cover;width:100%;height:100%;transition:transform .3s,filter .3s;display:block}.ticket-attachment-image-wrapper:hover .ticket-attachment-image{transform:scale(1.04)}.ticket-image-zoom{color:#fff;opacity:0;pointer-events:none;background:#0f172abf;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:10px;left:10px;transform:translateY(5px)}.ticket-attachment-image-wrapper:hover .ticket-image-zoom{opacity:1;transform:translateY(0)}.ticket-image-error{box-sizing:border-box;color:#94a3b8;text-align:center;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;min-height:140px;padding:15px;font-size:12px;display:flex}.ticket-image-error small{color:#cbd5e1;word-break:break-all;max-width:100%;font-size:10px}.ticket-attachment-info{flex-direction:column;gap:4px;padding:11px 12px;display:flex}.ticket-attachment-info strong{color:#334155;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.ticket-attachment-info span{color:#94a3b8;font-size:10px}.ticket-attachment-url{color:#cbd5e1;word-break:break-all;margin-top:3px;font-size:9px;display:block}.ticket-attachment-delete{color:#b91c1c;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;width:calc(100% - 24px);min-height:34px;margin:0 12px 12px;font-size:11px;font-weight:700;transition:background .2s,color .2s}.ticket-attachment-delete:hover{color:#fff;background:#dc2626}.ticket-attachment-empty,.ticket-attachment-loading{box-sizing:border-box;color:#94a3b8;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;justify-content:center;align-items:center;min-height:100px;padding:15px;font-size:12px;display:flex}.ticket-image-lightbox{z-index:99999;box-sizing:border-box;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172aeb;justify-content:center;align-items:center;padding:30px;animation:.2s ticketLightboxFadeIn;display:flex;position:fixed;inset:0}.ticket-image-lightbox-content{flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:94vw;max-height:90vh;display:flex;position:relative}.ticket-image-lightbox-image{object-fit:contain;border-radius:10px;width:auto;max-width:90vw;height:auto;max-height:82vh;display:block;box-shadow:0 25px 70px #00000080}.ticket-image-lightbox-close{z-index:100000;color:#0f172a;cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:28px;line-height:1;transition:transform .2s,background .2s;display:flex;position:fixed;top:20px;right:24px;box-shadow:0 5px 20px #00000040}.ticket-image-lightbox-close:hover{background:#f1f5f9;transform:scale(1.06)}.ticket-image-lightbox-info{color:#fff;background:#0f172acc;border-radius:8px;align-items:center;gap:10px;max-width:80vw;padding:8px 14px;font-size:12px;display:flex}.ticket-image-lightbox-info strong{background:#ffffff26;border-radius:5px;padding:4px 7px;font-size:10px}.ticket-image-lightbox-info span{white-space:nowrap;text-overflow:ellipsis;max-width:500px;overflow:hidden}.ticket-comments{flex-direction:column;gap:12px;display:flex}.ticket-comments-empty{color:#94a3b8;text-align:center;border:1px dashed #cbd5e1;border-radius:10px;padding:20px;font-size:13px}.ticket-comment{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;gap:11px;padding:13px;display:flex}.ticket-comment-avatar{color:#1d4ed8;background:#dbeafe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.ticket-comment-content{flex:1;min-width:0}.ticket-comment-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:5px;display:flex}.ticket-comment-header strong{color:#334155;font-size:12px;font-weight:700}.ticket-comment-header span{color:#94a3b8;font-size:10px}.ticket-comment-content p{color:#475569;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.ticket-comment-form{border-top:1px solid #e2e8f0;flex-direction:column;gap:10px;margin-top:5px;padding-top:18px;display:flex}.ticket-comment-form textarea{resize:vertical;min-height:100px}.ticket-comment-actions{justify-content:flex-end;display:flex}.ticket-detail-sidebar-content{flex-direction:column;gap:15px;display:flex}.ticket-assigned-current{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:6px;padding:13px;display:flex}.ticket-assigned-current span{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:600}.ticket-assigned-current strong{color:#334155;font-size:13px}.ticket-assign-form{flex-direction:column;gap:9px;display:flex}.ticket-assign-form label{color:#475569;font-size:12px;font-weight:600}.ticket-full-button{width:100%}.ticket-close-card{background:linear-gradient(#fff 0%,snow 100%);border-color:#fecaca}.ticket-close-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;padding:12px;font-size:12px;line-height:1.6}.ticket-timeline{flex-direction:column;gap:22px;padding-left:28px;display:flex;position:relative}.ticket-timeline:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:5px;bottom:5px;left:6px}.ticket-timeline-item{min-height:35px;display:flex;position:relative}.ticket-timeline-dot{background:#2563eb;border:3px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:3px;left:-27px;box-shadow:0 0 0 1px #2563eb}.ticket-timeline-item>div:last-child{flex-direction:column;gap:4px;display:flex}.ticket-timeline-item strong{color:#334155;font-size:12px;font-weight:700}.ticket-timeline-item span{color:#94a3b8;font-size:11px;line-height:1.5}.ticket-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:400px;display:flex}.ticket-loading p{margin:0;font-size:13px}.ticket-loading-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite ticketSpinner}@keyframes ticketSpinner{to{transform:rotate(360deg)}}@keyframes ticketLightboxFadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1100px){.ticket-detail-grid{grid-template-columns:minmax(0,1fr) 300px}}@media (width<=900px){.ticket-page{padding:18px}.ticket-detail-grid{grid-template-columns:1fr}.ticket-detail-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.ticket-detail-sidebar .ticket-detail-card{margin-bottom:0}.ticket-attachment-grid{grid-template-columns:1fr}}@media (width<=640px){.ticket-page{padding:14px}.ticket-page-header{flex-direction:column;gap:15px}.ticket-page-header h1{font-size:23px}.ticket-detail-header-actions{width:100%}.ticket-detail-header-actions button{flex:1}.ticket-detail-card{border-radius:13px;padding:16px}.ticket-detail-card-header{flex-direction:column}.ticket-detail-badges{width:100%}.ticket-info-grid{grid-template-columns:1fr}.ticket-detail-sidebar{flex-direction:column;gap:0;display:flex}.ticket-detail-sidebar .ticket-detail-card{margin-bottom:20px}.ticket-upload-box{flex-direction:column;align-items:stretch}.ticket-file-label{box-sizing:border-box;width:100%}.ticket-upload-button{width:100%}.ticket-comment-header{flex-direction:column;align-items:flex-start;gap:3px}.ticket-comment-actions{justify-content:stretch}.ticket-comment-actions button{width:100%}.ticket-image-lightbox{padding:15px}.ticket-image-lightbox-image{max-width:96vw;max-height:78vh}.ticket-image-lightbox-close{width:40px;height:40px;top:12px;right:12px}.ticket-image-lightbox-info{max-width:90vw}.ticket-image-lightbox-info span{max-width:55vw}.ticket-close-form{width:100%}.ticket-close-form .ticket-form-group{margin-bottom:16px}.ticket-close-form textarea{color:#1f2937;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;min-height:140px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.ticket-close-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticket-close-form textarea::placeholder{color:#9ca3af}.ticket-required{color:#dc2626}.ticket-documentation-footer{color:#6b7280;justify-content:space-between;align-items:center;gap:12px;margin-top:7px;font-size:12px;display:flex}.ticket-documentation-footer strong{color:#6b7280;white-space:nowrap;font-weight:600}.ticket-documentation-footer .ticket-character-limit{color:#dc2626}.ticket-close-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.ticket-close-form-actions .ticket-secondary-button{min-width:90px}.ticket-close-form-actions .ticket-close-button{min-width:140px}.ticket-close-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.6}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{color:#0f172a;background:#f8fafc;margin:0}button,input,textarea,select{font-family:inherit}
