.login-footer{color:#fff;background:#111827;width:100%}.login-footer-container{grid-template-columns:1fr 1.2fr 1.2fr;align-items:center;gap:40px;width:100%;max-width:1400px;margin:0 auto;padding:32px 40px;display:grid}.login-footer-left{flex-direction:column;gap:8px;display:flex}.login-footer-company{letter-spacing:.02em;margin:0;font-size:20px;font-weight:700}.login-footer-description{color:#9ca3af;margin:0;font-size:14px}.login-footer-center h3{letter-spacing:.08em;margin:0 0 14px;font-size:14px;font-weight:700}.footer-address-block{flex-direction:column;gap:5px;display:flex}.footer-address-line{color:#d1d5db;margin:0;font-size:14px;line-height:1.5}.footer-address-main{color:#fff}.login-footer-right{border-radius:10px;width:100%;height:150px;overflow:hidden}.login-footer-right iframe{border:0;width:100%;height:100%}.login-footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:14px 40px;display:flex}.login-footer-bottom p{color:#9ca3af;margin:0;font-size:13px}.login-developer{color:#fff;font-weight:600;text-decoration:none}.login-developer:hover{text-decoration:underline}@media (width<=900px){.login-footer-container{grid-template-columns:1fr 1fr}.login-footer-right{grid-column:1/-1}}@media (width<=600px){.login-footer-container{grid-template-columns:1fr;gap:25px;padding:28px 20px}.login-footer-right{grid-column:auto;height:180px}.login-footer-bottom{text-align:center;flex-direction:column;padding:15px 20px}}.login-page-wrapper,.login-page-wrapper *,.login-page-wrapper :before,.login-page-wrapper :after{box-sizing:border-box}.login-page-wrapper{background:#f8fafc;flex-direction:column;width:100%;min-height:100dvh;display:flex}.login-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;width:100%;box-shadow:0 2px 8px #0f172a0a}.login-header-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100px;padding:18px 24px;display:flex}.login-header-inner h1{color:#26344a;letter-spacing:.035em;margin:0;font-size:30px;font-weight:750;line-height:1.15}.login-header-inner p{color:#64748b;letter-spacing:.09em;text-transform:uppercase;margin:7px 0 0;font-size:11px;font-weight:500;line-height:1.4}.login-header-logo{object-fit:contain;border-radius:8px;width:44px;height:44px;margin-bottom:10px}.login-footer-logo{object-fit:contain;border-radius:8px;width:48px;height:48px;margin-bottom:10px}.login-main{background:#f8fafc;flex:1;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);width:100%;min-height:600px;display:grid}.login-brand-section{color:#1e293b;background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 55%,#eef2f7 100%);border-right:1px solid #e2e8f0;align-items:center;padding:clamp(45px,6vw,80px) clamp(35px,7vw,100px);display:flex;position:relative;overflow:hidden}.brand-content{z-index:2;width:100%;max-width:620px;position:relative}.brand-label{color:#536aa9;letter-spacing:.1em;background:#e9eefb;border:1px solid #dbe3f7;border-radius:999px;align-items:center;margin-bottom:20px;padding:7px 11px;font-size:10px;font-weight:700;display:inline-flex}.brand-content h2{color:#26344a;letter-spacing:-.035em;margin:0;font-size:clamp(36px,4vw,54px);font-weight:720;line-height:1.1}.brand-content h2 span{color:#4f6bed}.brand-content>p{color:#475569;max-width:560px;margin:22px 0 0;font-size:14px;line-height:1.8}.brand-features{flex-direction:column;gap:15px;margin-top:38px;display:flex}.brand-feature{align-items:center;gap:14px;max-width:500px;display:flex}.feature-number{color:#5267a2;background:#fff;border:1px solid #dfe5ee;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:10px;font-weight:700;display:flex;box-shadow:0 2px 5px #0f172a08}.brand-feature div{flex-direction:column;gap:3px;display:flex}.brand-feature strong{color:#334155;font-size:13px;font-weight:650}.brand-feature small{color:#718096;font-size:11px;line-height:1.5}.brand-decoration{pointer-events:none;border-radius:50%;position:absolute}.brand-decoration-one{opacity:.7;border:1px solid #e2e8f0;width:360px;height:360px;top:-170px;right:-180px}.brand-decoration-two{opacity:.7;border:1px solid #e5eaf1;width:240px;height:240px;bottom:-130px;right:-100px}.login-form-section{background:#fff;justify-content:center;align-items:center;padding:clamp(40px,6vw,70px) clamp(24px,5vw,65px);display:flex}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;max-width:430px;padding:38px;box-shadow:0 15px 35px #0f172a0f,0 2px 6px #0f172a06}.login-form-header{margin-bottom:28px}.login-label{color:#4f6bed;letter-spacing:.13em;margin-bottom:9px;font-size:10px;font-weight:750;display:inline-flex}.login-form-header h2{color:#1e293b;letter-spacing:-.025em;margin:0;font-size:29px;font-weight:720;line-height:1.2}.login-form-header p{color:#64748b;margin:8px 0 0;font-size:13px;line-height:1.6}.login-form{flex-direction:column;gap:19px;width:100%;display:flex}.form-group label{color:#334155;font-size:13px;font-weight:600}.input-wrapper{align-items:center;width:100%;height:48px;display:flex;position:relative}.input-wrapper input{color:#1e293b;background:#fff;border:1px solid #dbe2ea;border-radius:8px;outline:none;width:100%;height:100%;margin:0;padding:0 44px 0 42px;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s,background-color .18s}.input-wrapper input::placeholder{color:#9aa5b1}.input-wrapper input:hover:not(:disabled){border-color:#cbd5e1}.input-wrapper input:focus{border-color:#4f6bed;box-shadow:0 0 0 3px #4f6bed17}.input-wrapper input:disabled{cursor:not-allowed;background:#f8fafc}.input-icon{color:#7b8794;pointer-events:none;z-index:2;width:16px;height:16px;position:absolute;left:14px}.password-toggle{color:#7b8794;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .18s,background-color .18s;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.password-toggle:hover:not(:disabled){color:#4f6bed;background:#eef2ff}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.password-toggle svg{width:16px;height:16px}.login-error{color:#991b1b;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:9px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.error-icon{color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:800;display:flex}.error-message{min-width:0}.login-options{justify-content:flex-end;margin-top:-4px;display:flex}.forgot-password{color:#4f6bed;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:12px;font-weight:600;transition:color .18s}.forgot-password:hover:not(:disabled){color:#4058c9}.forgot-password:disabled{cursor:not-allowed;opacity:.5}.login-submit{color:#fff;cursor:pointer;background:#4f6bed;border:1px solid #4f6bed;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:650;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 5px 12px #4f6bed24}.login-submit:hover:not(:disabled){background:#4058c9;border-color:#4058c9;transform:translateY(-1px);box-shadow:0 7px 15px #4f6bed2e}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;opacity:.7}.login-submit svg{width:15px;height:15px}.login-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-security{border-top:1px solid #edf1f5;align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.security-icon{color:#15803d;background:#f3faf5;border:1px solid #dcefe1;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.security-icon svg{width:15px;height:15px}.security-content{flex-direction:column;gap:2px;display:flex}.security-content strong{color:#1e293b;font-size:11px;font-weight:650}.security-content span{color:#64748b;font-size:10px;line-height:1.45}@media (width<=1100px){.login-main{grid-template-columns:minmax(0,1fr) minmax(400px,.9fr)}.login-brand-section{padding-left:55px;padding-right:55px}.brand-content h2{font-size:44px}.login-form-section{padding-left:35px;padding-right:35px}}@media (width<=850px){.login-header-inner{min-height:90px}.login-header-inner h1{font-size:27px}.login-main{flex-direction:column;min-height:auto;display:flex}.login-brand-section{border-bottom:1px solid #e2e8f0;border-right:0;min-height:390px;padding:55px 40px}.brand-content{max-width:680px;margin:0 auto}.brand-content h2{font-size:42px}.login-form-section{padding:50px 30px 60px}.login-card{max-width:440px}}@media (width<=600px){.login-header-inner{min-height:82px;padding:15px 18px}.login-header-inner h1{letter-spacing:.025em;font-size:22px}.login-header-inner p{letter-spacing:.07em;margin-top:5px;font-size:9px}.login-brand-section{min-height:315px;padding:38px 22px}.brand-label{margin-bottom:16px;padding:6px 10px;font-size:9px}.brand-content h2{letter-spacing:-.03em;font-size:33px}.brand-content>p{margin-top:17px;font-size:13px;line-height:1.65}.brand-features{display:none}.login-form-section{padding:35px 18px 45px}.login-card{border-radius:12px;max-width:100%;padding:30px 22px}.login-form-header{margin-bottom:25px}.login-form-header h2{font-size:26px}}@media (width<=380px){.login-header-inner{min-height:76px;padding:14px}.login-header-inner h1{font-size:19px}.login-header-inner p{font-size:8px}.login-brand-section{min-height:285px;padding:32px 18px}.brand-content h2{font-size:29px}.login-form-section{padding:30px 14px 40px}.login-card{padding:25px 18px}.login-form-header h2{font-size:24px}}@media (prefers-reduced-motion:reduce){.login-submit,.input-wrapper input,.password-toggle,.forgot-password{transition:none}.login-spinner{animation:none}}.dashboard{color:#111827;box-sizing:border-box;background:#f8fafc;width:100%;min-height:100%;padding:24px}.dashboard *{box-sizing:border-box}.dashboard button{font:inherit}.dashboard__header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.dashboard__header h1{color:#111827;margin:0;font-size:28px;font-weight:700;line-height:1.3}.dashboard__header p{color:#6b7280;margin:6px 0 0;font-size:14px;line-height:1.6}.dashboard__refresh{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;min-width:100px;height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.dashboard__refresh:hover{background:#f9fafb;border-color:#9ca3af}.dashboard__refresh:focus-visible{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.dashboard__refresh:disabled{opacity:.6;cursor:not-allowed}.dashboard__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:14px;display:flex}.dashboard__error svg{flex-shrink:0;font-size:18px}.dashboard__cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.dashboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:14px;min-width:0;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 8px #0f172a0a}.dashboard-card:hover{border-color:#dbeafe;transform:translateY(-2px);box-shadow:0 8px 20px #0f172a12}.dashboard-card__icon{color:#2563eb;background:#eff6ff;border-radius:10px;flex:0 0 46px;justify-content:center;align-items:center;width:46px;height:46px;font-size:21px;display:flex}.dashboard-card__content{min-width:0}.dashboard-card__content span{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-size:13px;font-weight:500;display:block;overflow:hidden}.dashboard-card__content strong{color:#111827;font-size:25px;font-weight:700;line-height:1.2;display:block}.dashboard-card__content small{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:12px;display:block;overflow:hidden}.dashboard-card--success .dashboard-card__icon{color:#059669;background:#ecfdf5}.dashboard__grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:20px;margin-bottom:20px;display:grid}.dashboard__section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:20px;box-shadow:0 2px 8px #0f172a0a}.dashboard__section--occupancy{min-height:250px}.dashboard__section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.dashboard__section-header h2{color:#111827;margin:0;font-size:18px;font-weight:700;line-height:1.4}.dashboard__section-header p{color:#6b7280;margin:4px 0 0;font-size:13px;line-height:1.5}.dashboard__section-header>svg{color:#2563eb;flex-shrink:0;font-size:20px}.dashboard__view-all{color:#2563eb;white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:600;display:inline-flex}.dashboard__view-all svg{font-size:14px;transition:transform .2s}.dashboard__view-all:hover{color:#1d4ed8}.dashboard__view-all:hover svg{transform:translate(3px)}.dashboard__view-all:focus-visible{outline:none;text-decoration:underline}.dashboard__actions{flex-direction:column;gap:10px;display:flex}.dashboard__actions button{color:#374151;text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 14px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex}.dashboard__actions button svg:first-child{color:#2563eb;flex-shrink:0;font-size:18px}.dashboard__actions button svg:last-child{color:#9ca3af;margin-left:auto;font-size:16px;transition:transform .2s}.dashboard__actions button span{min-width:0;font-size:14px;font-weight:600}.dashboard__actions button:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.dashboard__actions button:hover svg:last-child{color:#2563eb;transform:translate(3px)}.dashboard__actions button:focus-visible{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.dashboard__empty{color:#9ca3af;text-align:center;justify-content:center;align-items:center;min-height:150px;font-size:14px;display:flex}.dashboard__operation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.occupancy__value{align-items:baseline;gap:8px;margin-bottom:14px;display:flex}.occupancy__value strong{color:#111827;font-size:34px;font-weight:700;line-height:1}.occupancy__value span{color:#6b7280;font-size:13px;font-weight:500}.occupancy__bar{background:#e5e7eb;border-radius:999px;width:100%;height:9px;overflow:hidden}.occupancy__progress{border-radius:inherit;background:#2563eb;min-width:0;height:100%;transition:width .5s}.occupancy__stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;display:grid}.occupancy__stats>div{background:#f8fafc;border-radius:8px;padding:12px}.occupancy__stats span{color:#6b7280;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.occupancy__stats strong{color:#111827;font-size:17px;font-weight:700;display:block}.dashboard-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%;min-width:600px}.dashboard-table th{color:#6b7280;text-align:left;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:11px 12px;font-size:11px;font-weight:600}.dashboard-table td{color:#374151;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:13px 12px;font-size:13px}.dashboard-table tbody tr{transition:background .15s}.dashboard-table tbody tr:hover{background:#f8fafc}.dashboard-table tbody tr:last-child td{border-bottom:0}.student-cell{align-items:center;gap:10px;display:flex}.student-cell__avatar{color:#2563eb;background:#eff6ff;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.student-cell>div:last-child{min-width:0}.student-cell strong{color:#111827;text-overflow:ellipsis;max-width:180px;font-size:13px;font-weight:600;display:block;overflow:hidden}.student-cell small{color:#9ca3af;margin-top:2px;font-size:11px;display:block}.room-list{flex-direction:column;gap:10px;display:flex}.room-item{background:#f8fafc;border:1px solid #eef2f7;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.room-item__info{min-width:0}.room-item__info strong{color:#111827;font-size:13px;font-weight:600;display:block}.room-item__info span{color:#6b7280;margin-top:3px;font-size:11px;display:block}.room-item__availability{text-align:right;flex-shrink:0;min-width:60px}.room-item__availability strong{color:#059669;font-size:17px;font-weight:700;display:block}.room-item__availability span{color:#6b7280;margin-top:2px;font-size:10px;display:block}.operation-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-start;gap:12px;min-width:0;padding:16px;transition:border-color .2s,background .2s,transform .2s;display:flex}.operation-card>svg{color:#2563eb;flex-shrink:0;margin-top:2px;font-size:20px}.operation-card>div{min-width:0}.operation-card strong{color:#111827;font-size:13px;font-weight:700;display:block}.operation-card span{color:#6b7280;margin-top:4px;font-size:11px;line-height:1.5;display:block}.operation-card:hover{background:#f8fbff;border-color:#bfdbfe;transform:translateY(-2px)}@media (width<=1200px){.dashboard__cards,.dashboard__operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard__grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard{padding:18px}.dashboard__header{flex-direction:column;align-items:flex-start;margin-bottom:20px}.dashboard__header h1{font-size:24px}.dashboard__header p{font-size:13px}.dashboard__refresh{width:100%}.dashboard__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-card{gap:11px;padding:15px}.dashboard-card__icon{flex-basis:40px;width:40px;height:40px;font-size:18px}.dashboard-card__content span{font-size:12px}.dashboard-card__content strong{font-size:21px}.dashboard-card__content small{font-size:10px}.dashboard__section{padding:16px}.dashboard__section-header h2{font-size:16px}.dashboard__section-header p{font-size:12px}.dashboard__operation-grid{grid-template-columns:1fr 1fr;gap:10px}.occupancy__stats{gap:8px}.occupancy__stats>div{padding:10px}.occupancy__stats span{font-size:10px}.occupancy__stats strong{font-size:15px}.operation-card{padding:13px}.operation-card>svg{font-size:18px}.operation-card strong{font-size:12px}.operation-card span{font-size:10px}}@media (width<=560px){.dashboard{padding:14px}.dashboard__header h1{font-size:21px}.dashboard__header p{font-size:12px}.dashboard__cards{grid-template-columns:1fr}.dashboard-card{min-height:78px}.dashboard-card__content span{font-size:13px}.dashboard-card__content strong{font-size:23px}.dashboard-card__content small{font-size:11px}.dashboard__grid{gap:14px;margin-bottom:14px}.dashboard__section{padding:14px}.dashboard__section-header{flex-wrap:wrap;margin-bottom:15px}.dashboard__operation-grid{grid-template-columns:1fr}.dashboard__view-all{font-size:12px}.occupancy__value strong{font-size:29px}.occupancy__stats{grid-template-columns:1fr}.occupancy__stats>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.occupancy__stats span{margin:0}.room-item{padding:11px 12px}.room-item__availability{min-width:50px}.dashboard-table{min-width:560px}}@media (width<=380px){.dashboard{padding:10px}.dashboard__section{padding:12px}.dashboard-card{padding:13px}.dashboard__section-header h2{font-size:15px}}.student-profile{--profile-primary:#4f46e5;--profile-primary-dark:#3730a3;--profile-text:#172033;--profile-muted:#64748b;--profile-border:#e5eaf2;--profile-surface:#fff;--profile-page:#f7f8fc;--profile-radius:16px;width:100%;min-width:0;max-width:1440px;color:var(--profile-text);background:var(--profile-page);box-sizing:border-box;margin-inline:auto;padding:clamp(16px,2.5vw,32px)}.student-profile *,.student-profile :before,.student-profile :after{box-sizing:border-box}.student-profile button{font:inherit}.student-profile button:focus-visible{outline-offset:3px;outline:3px solid #4f46e559}.student-profile__page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.student-profile__page-heading h1{color:var(--profile-text);letter-spacing:-.7px;margin:5px 0 8px;font-size:clamp(24px,2.2vw,32px);font-weight:750;line-height:1.2}.student-profile__page-heading p{color:var(--profile-muted);margin:0;font-size:14px;line-height:1.7}.student-profile__eyebrow{color:var(--profile-primary);letter-spacing:1.3px;font-size:11px;font-weight:800;display:inline-block}.student-profile__refresh-button,.student-profile__primary-button{border:1px solid var(--profile-border);background:var(--profile-surface);color:#334155;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:650;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.student-profile__refresh-button svg,.student-profile__primary-button svg{flex-shrink:0;width:16px;height:16px}.student-profile__refresh-button:hover:not(:disabled),.student-profile__primary-button:hover:not(:disabled){background:#f5f5ff;border-color:#c7d2fe}.student-profile__refresh-button:active:not(:disabled),.student-profile__primary-button:active:not(:disabled){transform:translateY(1px)}.student-profile__refresh-button:disabled,.student-profile__primary-button:disabled{cursor:not-allowed;opacity:.6}.student-profile__primary-button{border-color:var(--profile-primary);background:var(--profile-primary);color:#fff}.student-profile__primary-button:hover:not(:disabled){border-color:var(--profile-primary-dark);background:var(--profile-primary-dark)}.student-profile__hero{border-radius:var(--profile-radius);background:radial-gradient(circle at 95% 0%, #c7d2fe47, transparent 38%), var(--profile-surface);border:1px solid #e2e8ff;align-items:center;gap:22px;min-width:0;margin-bottom:28px;padding:clamp(20px,3vw,30px);display:flex;box-shadow:0 3px 12px #0f172a06}.student-profile__avatar{color:#fff;letter-spacing:.5px;background:linear-gradient(145deg,#6366f1,#4338ca);border:4px solid #eef2ff;border-radius:50%;flex:0 0 82px;place-items:center;width:82px;height:82px;font-size:27px;font-weight:750;display:grid;box-shadow:0 5px 15px #4f46e52b}.student-profile__identity{flex:1;min-width:0}.student-profile__identity h2{overflow-wrap:anywhere;color:var(--profile-text);letter-spacing:-.4px;margin:6px 0 12px;font-size:clamp(20px,2vw,25px);font-weight:750;line-height:1.3}.student-profile__identity-label{color:var(--profile-muted);letter-spacing:1px;font-size:10px;font-weight:750}.student-profile__identity-meta{flex-wrap:wrap;gap:10px 20px;display:flex}.student-profile__identity-meta span{color:#526078;overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-size:13px;display:inline-flex}.student-profile__identity-meta svg{width:15px;height:15px;color:var(--profile-primary);flex-shrink:0}.student-profile__status-wrap{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:7px;display:flex}.student-profile__status{overflow-wrap:anywhere;border:1px solid #0000;border-radius:30px;justify-content:center;align-items:center;gap:6px;max-width:100%;padding:7px 12px;font-size:12px;font-weight:750;display:inline-flex}.student-profile__status svg{flex-shrink:0;width:14px;height:14px}.student-profile__status--active{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.student-profile__status--inactive{color:#991b1b;background:#fef2f2;border-color:#fecaca}.student-profile__status--neutral{color:#475569;background:#f8fafc;border-color:#e2e8f0}.student-profile__status-caption{color:var(--profile-muted);font-size:11px}.student-profile__sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px;display:grid}.student-profile__card{border:1px solid var(--profile-border);border-radius:var(--profile-radius);background:var(--profile-surface);min-width:0;padding:clamp(18px,2.2vw,26px);transition:border-color .18s,box-shadow .18s;box-shadow:0 3px 12px #0f172a06}.student-profile__card:hover{border-color:#d6dcf5;box-shadow:0 7px 22px #0f172a0b}.student-profile__card-heading{border-bottom:1px solid #edf0f5;align-items:center;gap:13px;min-width:0;margin-bottom:24px;padding-bottom:19px;display:flex}.student-profile__card-heading>div{min-width:0}.student-profile__card-heading h2{color:var(--profile-text);margin:0 0 5px;font-size:16px;font-weight:750;line-height:1.4}.student-profile__card-heading p{color:var(--profile-muted);margin:0;font-size:12px;line-height:1.6}.student-profile__section-icon{width:43px;height:43px;color:var(--profile-primary);background:#eef2ff;border:1px solid #e0e7ff;border-radius:12px;flex:0 0 43px;place-items:center;display:grid}.student-profile__section-icon svg{width:20px;height:20px}.student-profile__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;display:grid}.student-profile__field{align-items:flex-start;gap:10px;min-width:0;display:flex}.student-profile__field-icon{color:#64748b;background:#f5f6fa;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.student-profile__field-icon svg{width:15px;height:15px}.student-profile__field-content{flex-direction:column;gap:7px;min-width:0;padding-top:1px;display:flex}.student-profile__label{color:var(--profile-muted);font-size:12px;font-weight:500;line-height:1.4}.student-profile__value{color:#202b3e;overflow-wrap:anywhere;word-break:normal;font-size:13px;font-weight:650;line-height:1.65}.student-profile__footer{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:11px;margin-top:24px;padding:16px 18px;display:flex}.student-profile__footer>svg{color:#64748b;flex-shrink:0;width:17px;height:17px;margin-top:2px}.student-profile__footer p{color:#64748b;margin:0;font-size:12px;line-height:1.8}.student-profile__skeleton{background:#e9edf5;border-radius:12px;position:relative;overflow:hidden}.student-profile__skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.5s infinite student-profile-shimmer;position:absolute;inset:0}.student-profile__skeleton--heading{width:min(360px,75%);height:65px;margin-bottom:26px}.student-profile__skeleton--hero{height:145px;margin-bottom:26px}.student-profile__skeleton--card{min-height:240px}.student-profile__skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.student-profile__loading-text{color:var(--profile-muted);text-align:center;font-size:13px}.student-profile__error{border-radius:var(--profile-radius);background:snow;border:1px solid #fecaca;align-items:flex-start;gap:16px;max-width:720px;padding:25px;display:flex}.student-profile__error-icon{color:#b91c1c;background:#fee2e2;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.student-profile__error-icon svg{width:22px;height:22px}.student-profile__error-content{min-width:0}.student-profile__error-content h2{margin:2px 0 8px;font-size:17px}.student-profile__error-content p{color:#7f1d1d;overflow-wrap:anywhere;margin:0 0 18px;font-size:13px;line-height:1.7}@media (width<=900px){.student-profile__sections{gap:16px}.student-profile__card{padding:19px}.student-profile__grid{gap:21px 12px}.student-profile__hero{gap:17px}.student-profile__avatar{flex-basis:70px;width:70px;height:70px}}@media (width<=640px){.student-profile{padding:16px}.student-profile__page-heading{align-items:flex-start;gap:12px;margin-bottom:20px}.student-profile__page-heading h1{font-size:25px}.student-profile__page-heading p{max-width:340px;font-size:13px}.student-profile__refresh-button{min-height:38px;padding:9px 11px;font-size:12px}.student-profile__hero{flex-wrap:wrap;align-items:flex-start;gap:15px;margin-bottom:20px;padding:20px}.student-profile__avatar{flex-basis:62px;width:62px;height:62px;font-size:21px}.student-profile__identity{flex:calc(100% - 80px)}.student-profile__identity h2{margin-top:5px;font-size:20px}.student-profile__identity-meta{flex-direction:column;gap:9px}.student-profile__identity-meta span{font-size:12px}.student-profile__status-wrap{flex-flow:wrap;align-items:flex-start;gap:9px;width:100%;padding-top:4px}.student-profile__sections{grid-template-columns:minmax(0,1fr);gap:16px}.student-profile__card{padding:20px}.student-profile__card-heading{margin-bottom:21px}.student-profile__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.student-profile__skeleton-grid{grid-template-columns:minmax(0,1fr);gap:16px}.student-profile__skeleton--card{min-height:180px}}@media (width<=380px){.student-profile{padding:12px}.student-profile__page-heading{flex-direction:column}.student-profile__page-heading h1{font-size:23px}.student-profile__refresh-button{align-self:flex-start}.student-profile__hero,.student-profile__card{padding:16px}.student-profile__card-heading{gap:10px}.student-profile__card-heading h2{font-size:15px}.student-profile__card-heading p{font-size:11px}.student-profile__section-icon{flex-basis:37px;width:37px;height:37px}.student-profile__grid{grid-template-columns:minmax(0,1fr);gap:19px}.student-profile__error{flex-direction:column;padding:18px}}@keyframes student-profile-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.student-profile *,.student-profile :before,.student-profile :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.my-allocation{--allocation-primary:#4f46e5;--allocation-primary-dark:#3730a3;--allocation-text:#172033;--allocation-muted:#64748b;--allocation-border:#e5eaf2;--allocation-surface:#fff;--allocation-page:#f7f8fc;--allocation-radius:16px;box-sizing:border-box;width:100%;min-width:0;max-width:1440px;color:var(--allocation-text);background:var(--allocation-page);margin-inline:auto;padding:clamp(16px,2.5vw,32px)}.my-allocation *,.my-allocation :before,.my-allocation :after{box-sizing:border-box}.my-allocation button{font:inherit}.my-allocation button:focus-visible{outline-offset:3px;outline:3px solid #4f46e559}.my-allocation__heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.my-allocation__heading h1{color:var(--allocation-text);letter-spacing:-.7px;margin:5px 0 8px;font-size:clamp(24px,2.2vw,32px);font-weight:750;line-height:1.2}.my-allocation__heading p{color:var(--allocation-muted);margin:0;font-size:14px;line-height:1.7}.my-allocation__eyebrow{color:var(--allocation-primary);letter-spacing:1.2px;font-size:11px;font-weight:800;line-height:1.5;display:inline-block}.my-allocation__refresh,.my-allocation__button{border:1px solid var(--allocation-border);background:var(--allocation-surface);color:#334155;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:650;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.my-allocation__refresh svg,.my-allocation__button svg{flex-shrink:0;width:16px;height:16px}.my-allocation__refresh:hover:not(:disabled),.my-allocation__button:hover:not(:disabled){background:#f5f5ff;border-color:#c7d2fe}.my-allocation__refresh:active:not(:disabled),.my-allocation__button:active:not(:disabled){transform:translateY(1px)}.my-allocation__refresh:disabled,.my-allocation__button:disabled{cursor:not-allowed;opacity:.6}.my-allocation__button--primary{border-color:var(--allocation-primary);background:var(--allocation-primary);color:#fff}.my-allocation__button--primary:hover:not(:disabled){border-color:var(--allocation-primary-dark);background:var(--allocation-primary-dark)}.my-allocation__summary{border-radius:var(--allocation-radius);background:radial-gradient(circle at 95% 0,#c7d2fe52,#0000 38%),#fff;border:1px solid #e0e7ff;align-items:center;gap:20px;min-width:0;margin-bottom:24px;padding:clamp(20px,3vw,30px);display:flex;box-shadow:0 3px 12px #0f172a06}.my-allocation__summary-icon{width:62px;height:62px;color:var(--allocation-primary);background:#eef2ff;border:1px solid #e0e7ff;border-radius:16px;flex:0 0 62px;place-items:center;display:grid}.my-allocation__summary-icon svg{width:27px;height:27px}.my-allocation__summary-content{flex:1;min-width:0}.my-allocation__summary-content h2{color:var(--allocation-text);overflow-wrap:anywhere;margin:8px 0 13px;font-size:clamp(17px,1.7vw,22px);font-weight:750;line-height:1.5}.my-allocation__summary-meta{color:#526078;flex-wrap:wrap;gap:10px 20px;font-size:13px;display:flex}.my-allocation__summary-meta span{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:inline-flex}.my-allocation__summary-meta svg{width:15px;height:15px;color:var(--allocation-primary);flex-shrink:0}.my-allocation__status{overflow-wrap:anywhere;text-align:center;border:1px solid #0000;border-radius:30px;flex-shrink:0;justify-content:center;align-items:center;max-width:160px;padding:8px 13px;font-size:12px;font-weight:750;display:inline-flex}.my-allocation__status--active{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.my-allocation__status--inactive{color:#991b1b;background:#fef2f2;border-color:#fecaca}.my-allocation__status--neutral{color:#475569;background:#f8fafc;border-color:#e2e8f0}.my-allocation__cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px;display:grid}.my-allocation__card{border:1px solid var(--allocation-border);border-radius:var(--allocation-radius);background:var(--allocation-surface);min-width:0;padding:clamp(18px,2.2vw,26px);transition:border-color .18s,box-shadow .18s;box-shadow:0 3px 12px #0f172a06}.my-allocation__card:hover{border-color:#d6dcf5;box-shadow:0 7px 22px #0f172a0b}.my-allocation__card--full{grid-column:1/-1}.my-allocation__card-heading{border-bottom:1px solid #edf0f5;align-items:center;gap:13px;min-width:0;margin-bottom:24px;padding-bottom:19px;display:flex}.my-allocation__card-heading>div{min-width:0}.my-allocation__card-heading h2{color:var(--allocation-text);margin:0 0 5px;font-size:16px;font-weight:750;line-height:1.4}.my-allocation__card-heading p{color:var(--allocation-muted);margin:0;font-size:12px;line-height:1.6}.my-allocation__card-icon{width:43px;height:43px;color:var(--allocation-primary);background:#eef2ff;border:1px solid #e0e7ff;border-radius:12px;flex:0 0 43px;place-items:center;display:grid}.my-allocation__card-icon svg{width:20px;height:20px}.my-allocation__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;display:grid}.my-allocation__detail{flex-direction:column;gap:7px;min-width:0;display:flex}.my-allocation__label{color:var(--allocation-muted);font-size:12px;font-weight:500;line-height:1.5}.my-allocation__value{color:#202b3e;overflow-wrap:anywhere;word-break:normal;font-size:13px;font-weight:650;line-height:1.65}.my-allocation__empty,.my-allocation__error{border:1px solid var(--allocation-border);border-radius:var(--allocation-radius);background:var(--allocation-surface);text-align:center;flex-direction:column;align-items:center;max-width:760px;margin-inline:auto;padding:clamp(24px,4vw,42px);display:flex;box-shadow:0 3px 12px #0f172a06}.my-allocation__empty h2,.my-allocation__error h2{color:var(--allocation-text);margin:18px 0 9px;font-size:20px;font-weight:750}.my-allocation__empty p,.my-allocation__error p{max-width:480px;color:var(--allocation-muted);overflow-wrap:anywhere;margin:0 0 22px;font-size:13px;line-height:1.8}.my-allocation__state-icon{width:64px;height:64px;color:var(--allocation-primary);background:#eef2ff;border:1px solid #e0e7ff;border-radius:18px;place-items:center;display:grid}.my-allocation__state-icon svg{width:28px;height:28px}.my-allocation__error{text-align:left;background:snow;border-color:#fecaca;flex-direction:row;align-items:flex-start;gap:18px;max-width:760px}.my-allocation__error .my-allocation__state-icon{color:#b91c1c;background:#fee2e2;border-color:#fecaca;flex:0 0 54px;width:54px;height:54px}.my-allocation__error .my-allocation__state-icon svg{width:23px;height:23px}.my-allocation__error h2{margin-top:2px}.my-allocation__error p{color:#7f1d1d;margin-bottom:18px}.my-allocation__state-content{min-width:0}.my-allocation__note{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:11px;margin-top:24px;padding:16px 18px;display:flex}.my-allocation__note>svg{color:#64748b;flex-shrink:0;width:17px;height:17px;margin-top:2px}.my-allocation__note p{color:var(--allocation-muted);margin:0;font-size:12px;line-height:1.8}.my-allocation__skeleton{background:#e9edf5;border-radius:8px;display:block;position:relative;overflow:hidden}.my-allocation__skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffffb3 50%,#0000 100%);animation:1.5s ease-in-out infinite allocation-shimmer;position:absolute;inset:0;transform:translate(-100%)}.my-allocation__skeleton--title{width:min(240px,70vw);height:30px;margin:7px 0 12px}.my-allocation__skeleton--subtitle{width:min(360px,75vw);height:13px}.my-allocation__skeleton--button{border-radius:10px;width:105px;height:42px}.my-allocation__skeleton--summary-icon{border-radius:16px;flex:0 0 62px;width:62px;height:62px}.my-allocation__skeleton--eyebrow{width:145px;height:11px;margin-bottom:13px}.my-allocation__skeleton--location{width:min(420px,100%);height:23px;margin-bottom:15px}.my-allocation__skeleton--meta{width:min(250px,80%);height:13px}.my-allocation__skeleton--status{border-radius:30px;width:85px;height:30px}.my-allocation__skeleton--card-icon{border-radius:12px;flex:0 0 43px;width:43px;height:43px}.my-allocation__skeleton--card-title{width:min(190px,100%);height:18px}.my-allocation__skeleton--label{width:85px;max-width:80%;height:12px}.my-allocation__skeleton--value{width:min(150px,100%);height:15px}.my-allocation__skeleton-summary{border-radius:var(--allocation-radius);background:#fff;border:1px solid #e5eaf2;align-items:center;gap:20px;min-width:0;margin-bottom:24px;padding:clamp(20px,3vw,30px);display:flex}.my-allocation__skeleton-summary-content{flex:1;min-width:0}.my-allocation__loading-text{color:var(--allocation-muted);text-align:center;margin:18px 0 0;font-size:13px}@media (width<=900px){.my-allocation__cards{gap:16px}.my-allocation__card{padding:20px}.my-allocation__details{gap:21px 14px}.my-allocation__summary{gap:16px}}@media (width<=640px){.my-allocation{padding:16px}.my-allocation__heading{align-items:flex-start;gap:14px;margin-bottom:20px}.my-allocation__heading h1{font-size:25px}.my-allocation__heading p{max-width:340px;font-size:13px}.my-allocation__refresh{min-height:38px;padding:9px 11px;font-size:12px}.my-allocation__summary,.my-allocation__skeleton-summary{flex-wrap:wrap;align-items:flex-start;gap:15px;margin-bottom:20px;padding:20px}.my-allocation__summary-icon,.my-allocation__skeleton--summary-icon{flex-basis:52px;width:52px;height:52px}.my-allocation__summary-icon svg{width:23px;height:23px}.my-allocation__summary-content{flex:calc(100% - 70px)}.my-allocation__summary-content h2{margin-top:7px;font-size:17px}.my-allocation__summary-meta{flex-direction:column;gap:9px}.my-allocation__summary-meta span{font-size:12px}.my-allocation__status{margin-left:67px}.my-allocation__skeleton-summary-content{flex:calc(100% - 70px)}.my-allocation__skeleton--status{margin-left:67px}.my-allocation__cards{grid-template-columns:minmax(0,1fr);gap:16px}.my-allocation__card{padding:20px}.my-allocation__card--full{grid-column:auto}.my-allocation__card-heading{margin-bottom:21px}.my-allocation__details{gap:22px 14px}.my-allocation__empty,.my-allocation__error{padding:25px 20px}.my-allocation__note{margin-top:18px}}@media (width<=420px){.my-allocation{padding:12px}.my-allocation__heading{flex-direction:column}.my-allocation__heading h1{font-size:23px}.my-allocation__refresh{align-self:flex-start}.my-allocation__summary,.my-allocation__skeleton-summary,.my-allocation__card{padding:16px}.my-allocation__card-heading{gap:10px}.my-allocation__card-heading h2{font-size:15px}.my-allocation__card-heading p{font-size:11px}.my-allocation__card-icon,.my-allocation__skeleton--card-icon{flex-basis:38px;width:38px;height:38px}.my-allocation__details{grid-template-columns:minmax(0,1fr);gap:18px}.my-allocation__status,.my-allocation__skeleton--status{margin-left:0}.my-allocation__empty,.my-allocation__error{padding:20px 16px}.my-allocation__error{flex-direction:column}.my-allocation__button{white-space:normal;max-width:100%}.my-allocation__note{padding:14px}}@keyframes allocation-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.my-allocation *,.my-allocation :before,.my-allocation :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.my-bills-page{padding:24px}.student-page-header{margin-bottom:24px}.student-page-header h2{align-items:center;gap:10px;margin:0;display:flex}.student-page-header p{color:#6b7280;margin:8px 0 0}.my-bills-toolbar{justify-content:flex-end;margin-bottom:20px;display:flex}.billing-search{align-items:center;display:flex;position:relative}.billing-search svg{color:#6b7280;position:absolute;left:13px}.billing-search input{border:1px solid #d1d5db;border-radius:8px;outline:none;width:360px;padding:11px 14px 11px 38px}.billing-search input:focus{border-color:#2563eb}.bills-loading,.bills-empty{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.bills-loading svg,.bills-empty svg{margin-bottom:12px;font-size:36px}.bills-loading h3,.bills-empty h3{color:#374151;margin:5px 0}.student-bills-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:18px;display:grid}.student-bill-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a}.bill-card-header{justify-content:space-between;align-items:flex-start;display:flex}.bill-card-header h3{margin:4px 0 0;font-size:18px}.bill-label{color:#6b7280;font-size:11px;font-weight:700}.bill-status,.invoice-status{text-transform:capitalize;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700}.bill-status.pending,.invoice-status.pending{color:#c2410c;background:#fff7ed}.bill-status.paid,.invoice-status.paid{color:#047857;background:#ecfdf5}.bill-status.partially-paid,.invoice-status.partially-paid{color:#1d4ed8;background:#eff6ff}.bill-card-period{flex-direction:column;gap:5px;margin-top:20px;display:flex}.bill-card-period span{color:#6b7280;font-size:13px}.bill-card-footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:flex-end;margin-top:18px;padding-top:16px;display:flex}.bill-card-footer span{color:#6b7280;font-size:12px;display:block}.bill-card-footer strong{margin-top:3px;font-size:20px;display:block}.bill-card-footer button{cursor:pointer;border:0;border-radius:7px;align-items:center;gap:7px;padding:9px 14px;display:flex}@media (width<=700px){.my-bills-page{padding:15px}.billing-search,.billing-search input{width:100%}.my-bills-toolbar{justify-content:stretch}.student-bills-list{grid-template-columns:1fr}}.bill-details-page{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:16px 24px 48px}.bill-details-page *{box-sizing:border-box}.invoice-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;padding:28px 36px 36px;box-shadow:0 1px 3px #0000000a,0 8px 24px -4px #0000000a}.invoice-card-topbar{justify-content:flex-start;align-items:center;margin-bottom:20px;display:flex}.back-icon-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.back-icon-btn .back-arrow{flex-shrink:0;font-size:15px}.back-icon-btn:hover{color:#0f172a;background:#e2e8f0;border-color:#cbd5e1;transform:translate(-2px)}.back-icon-btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.invoice-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:24px;display:flex}.invoice-header .header-meta{flex:1;min-width:0}.invoice-header .header-meta .invoice-label{color:#475569;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;line-height:1;display:inline-block}.invoice-header .header-meta h2{color:#0f172a;letter-spacing:-.02em;word-break:break-word;margin:0;font-size:26px;font-weight:800;line-height:1.25}.invoice-status{letter-spacing:.06em;text-transform:uppercase;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;min-height:30px;padding:5px 14px;font-size:11px;font-weight:700;display:inline-flex}.invoice-status.pending{color:#c2410c;background:#fff7ed;border:1px solid #ffedd5}.invoice-status.paid{color:#047857;background:#ecfdf5;border:1px solid #d1fae5}.invoice-status.cancelled{color:#b91c1c;background:#fef2f2;border:1px solid #fee2e2}.invoice-status.locked,.invoice-status.generated{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe}.student-info-section{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0;display:grid}.student-info-section .info-block{flex-direction:column;gap:6px;min-width:0;display:flex}.student-info-section .info-block span{color:#475569;font-size:12px;font-weight:500;line-height:1.2}.student-info-section .info-block strong{color:#0f172a;word-break:break-word;font-size:15px;font-weight:600;line-height:1.4}.invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.invoice-summary .summary-stat-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:14px;min-height:64px;padding:14px 18px;display:flex}.invoice-summary .summary-stat-box svg{color:#64748b;flex-shrink:0;font-size:18px}.invoice-summary .summary-stat-box span{color:#475569;flex:1;font-size:13px;font-weight:500}.invoice-summary .summary-stat-box strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.invoice-section{border-top:1px solid #e2e8f0;padding-top:24px}.invoice-section h3{color:#0f172a;margin:0 0 16px;font-size:17px;font-weight:700}.charge-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.charge-row:last-child{border-bottom:none}.charge-row .charge-info{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.charge-row .charge-info .charge-icon{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.charge-row .charge-info .charge-icon svg{font-size:18px}.charge-row .charge-info .charge-texts{flex-direction:column;gap:3px;min-width:0;display:flex}.charge-row .charge-info .charge-texts strong{color:#0f172a;font-size:14px;font-weight:700}.charge-row .charge-info .charge-texts span{color:#475569;font-size:12px}.charge-row .charge-info .charge-texts small{color:#94a3b8;font-size:11px;line-height:1.3}.charge-row .charge-amount{color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:15px;font-weight:700}.invoice-total{border-top:2px solid #0f172a;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;display:flex}.invoice-total span{letter-spacing:.05em;color:#0f172a;font-size:16px;font-weight:800}.invoice-total .total-amount{color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:26px;font-weight:800}.bill-loading{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:340px;font-size:14px;display:flex}.bill-loading .spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bill-empty{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:340px;padding:40px 20px;display:flex}.bill-empty svg{color:#94a3b8;margin-bottom:16px;font-size:44px}.bill-empty h3{color:#0f172a;margin:0 0 8px;font-size:20px;font-weight:700}.bill-empty p{color:#475569;max-width:400px;margin:0 0 20px;font-size:14px;line-height:1.6}.bill-empty button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;transition:background-color .2s}.bill-empty button:hover{background:#334155}@media (width<=900px){.invoice-card{padding:24px}.student-info-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.student-info-section .info-block:last-child{grid-column:1/-1}}@media (width<=640px){.bill-details-page{padding:8px 12px 24px}.invoice-card{border-radius:12px;padding:20px 16px}.invoice-header{flex-direction:column;align-items:flex-start;gap:12px}.invoice-header .header-meta h2{font-size:22px}.student-info-section{grid-template-columns:1fr;gap:14px;padding:18px 0}.invoice-summary{grid-template-columns:1fr;gap:10px;margin-bottom:22px}.invoice-summary .summary-stat-box{min-height:56px;padding:12px 14px}.charge-row{align-items:flex-start}.charge-row .charge-info .charge-icon{width:38px;height:38px}.charge-row .charge-info .charge-icon svg{font-size:15px}.charge-row .charge-amount{padding-top:2px;font-size:14px}.invoice-total span{font-size:15px}.invoice-total .total-amount{font-size:22px}}@media (width<=400px){.charge-row{flex-direction:column;align-items:flex-start;gap:10px}.charge-row .charge-amount{align-self:flex-end}}:root{--vacation-primary:#3157d5;--vacation-primary-dark:#2444b5;--vacation-primary-light:#eef2ff;--vacation-text:#172033;--vacation-text-secondary:#596579;--vacation-text-muted:#8490a3;--vacation-border:#e4e9f1;--vacation-border-strong:#d5dce8;--vacation-surface:#fff;--vacation-page-bg:#f5f7fb;--vacation-soft-bg:#f8faff;--vacation-success:#15803d;--vacation-success-bg:#ecfdf3;--vacation-warning:#b45309;--vacation-warning-bg:#fff7e8;--vacation-danger:#c62828;--vacation-danger-bg:#fff0f0;--vacation-neutral:#64748b;--vacation-neutral-bg:#f1f5f9;--vacation-radius-sm:8px;--vacation-radius-md:12px;--vacation-radius-lg:16px;--vacation-radius-xl:20px;--vacation-shadow-card:0 2px 8px #18274b09, 0 8px 24px #18274b09;--vacation-shadow-dropdown:0 12px 32px #141e3724;--vacation-transition:.18s ease}.student-vacation-page,.student-vacation-page *,.vacation-confirmation-overlay,.vacation-confirmation-overlay *{box-sizing:border-box}.student-vacation-page{width:100%;min-width:0;max-width:100%;color:var(--vacation-text);background:0 0;height:auto;min-height:0;max-height:none;margin:0;padding:24px 28px 32px;font-family:inherit;font-size:14px;line-height:1.5;overflow:visible}.student-vacation-page h1,.student-vacation-page h2,.student-vacation-page h3,.student-vacation-page p{margin-top:0}.student-vacation-page button,.student-vacation-page input,.student-vacation-page select,.student-vacation-page textarea{font:inherit}.student-vacation-page button{-webkit-tap-highlight-color:transparent}.student-vacation-page button:focus-visible,.student-vacation-page a:focus-visible,.student-vacation-page input:focus-visible,.student-vacation-page select:focus-visible,.student-vacation-page textarea:focus-visible,.vacation-confirmation-overlay button:focus-visible{outline-offset:3px;outline:3px solid #3157d53d}.student-vacation-page button:disabled{cursor:not-allowed;opacity:.6}.student-vacation-page svg{flex-shrink:0}.student-vacation-header{justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:20px;display:flex}.student-vacation-header>div:first-child{min-width:0}.student-vacation-header h1,.student-vacation-form-header h1,.vacation-details-header h1{color:var(--vacation-text);letter-spacing:-.5px;overflow-wrap:anywhere;margin:0;font-size:clamp(22px,2vw,26px);font-weight:750;line-height:1.25}.student-vacation-header p,.student-vacation-form-header p,.vacation-details-title>p{color:var(--vacation-text-secondary);margin:4px 0 0;font-size:13px;line-height:1.5}.student-vacation-eyebrow{color:var(--vacation-primary);letter-spacing:1.1px;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:750;line-height:1.4;display:inline-block}.vacation-create-button,.vacation-empty-button,.vacation-primary-button,.vacation-secondary-button,.vacation-back-button,.vacation-pagination-button{border-radius:var(--vacation-radius-sm);text-align:center;white-space:nowrap;cursor:pointer;min-height:38px;transition:background var(--vacation-transition), border-color var(--vacation-transition), color var(--vacation-transition), box-shadow var(--vacation-transition), transform var(--vacation-transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.vacation-create-button svg,.vacation-empty-button svg,.vacation-primary-button svg,.vacation-secondary-button svg,.vacation-back-button svg,.vacation-pagination-button svg{width:16px;height:16px}.vacation-create-button,.vacation-primary-button,.vacation-empty-button{color:#fff;background:var(--vacation-primary);box-shadow:0 3px 8px #3157d521}.vacation-create-button:hover,.vacation-primary-button:hover,.vacation-empty-button:hover{color:#fff;background:var(--vacation-primary-dark);box-shadow:0 5px 12px #3157d52e}.vacation-secondary-button,.vacation-back-button,.vacation-pagination-button{color:#354158;border-color:var(--vacation-border-strong);background:#fff}.vacation-secondary-button:hover,.vacation-back-button:hover,.vacation-pagination-button:not(:disabled):hover{color:var(--vacation-primary);background:var(--vacation-primary-light);border-color:#b8c7f8}.vacation-create-button:active,.vacation-primary-button:active,.vacation-secondary-button:active,.vacation-back-button:active{transform:translateY(1px)}.vacation-stats{grid-template-columns:repeat(4,1fr);gap:14px;width:100%;margin-bottom:20px;display:grid}.vacation-stat-card{background:var(--vacation-surface);border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-md);width:100%;min-width:0;min-height:86px;box-shadow:var(--vacation-shadow-card);transition:border-color var(--vacation-transition), box-shadow var(--vacation-transition), transform var(--vacation-transition);align-items:center;gap:12px;padding:14px 16px;display:flex}.vacation-stat-card:hover{border-color:#d4ddf8;transform:translateY(-1px);box-shadow:0 6px 16px #18274b0d}.vacation-stat-icon{border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.vacation-stat-icon svg{width:19px;height:19px}.vacation-stat-icon.total{color:#3157d5;background:#edf2ff}.vacation-stat-icon.cancelled{color:#d04444;background:#ffeded}.vacation-stat-info{flex-direction:column;gap:3px;min-width:0;display:flex;overflow:hidden}.vacation-stat-label{color:var(--vacation-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;line-height:1.35;display:block;overflow:hidden}.vacation-stat-card strong{color:var(--vacation-text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:750;line-height:1.1;display:block}.vacation-table-card{background:var(--vacation-surface);border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-lg);width:100%;min-width:0;box-shadow:var(--vacation-shadow-card);height:auto;min-height:0;max-height:none;margin:0;overflow:visible}.vacation-table-heading{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 12px;display:flex}.vacation-table-heading>div{min-width:0}.vacation-table-heading h2{color:var(--vacation-text);margin:0;font-size:15.5px;font-weight:730;line-height:1.4}.vacation-table-heading p{color:var(--vacation-text-secondary);margin:2px 0 0;font-size:12px;line-height:1.5}.vacation-record-count{color:#4356a5;white-space:nowrap;background:#f0f3ff;border:1px solid #e1e7ff;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-height:26px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.vacation-history-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;max-width:100%;padding:0 20px 14px;display:flex}.vacation-month-filter{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.vacation-month-filter-label{color:var(--vacation-text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.vacation-month-filter-label svg{width:15px;height:15px;color:var(--vacation-primary)}.vacation-select-wrapper{min-width:0;max-width:100%}.vacation-select-wrapper select{width:auto;min-width:140px;max-width:100%;min-height:36px;color:var(--vacation-text);border:1px solid var(--vacation-border-strong);border-radius:var(--vacation-radius-sm);text-overflow:ellipsis;cursor:pointer;box-sizing:border-box;background-color:#fff;padding:6px 28px 6px 10px;font-size:12px}.vacation-select-wrapper select:hover{border-color:#aab9f0}.vacation-pagination-summary{color:var(--vacation-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.vacation-table-wrapper{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-top:1px solid var(--vacation-border);width:100%;min-width:0;max-width:100%;overflow:auto visible}.vacation-table{border-collapse:separate;border-spacing:0;width:100%;min-width:820px;color:var(--vacation-text);text-align:left;background:#fff;border:0;margin:0;font-size:12px}.vacation-table thead{background:#f8faff}.vacation-table th{color:#647086;border-bottom:1px solid var(--vacation-border);letter-spacing:.65px;text-transform:uppercase;white-space:nowrap;background:#f8faff;padding:12px 16px;font-size:10px;font-weight:750}.vacation-table td{vertical-align:middle;border-bottom:1px solid #edf0f5;padding:14px 16px;line-height:1.5}.vacation-table th:first-child,.vacation-table td:first-child{padding-left:20px}.vacation-table th.actions-header,.vacation-table td.actions-cell{white-space:nowrap;width:150px;min-width:150px;padding-right:20px}.vacation-request-id{color:#3e54ad;white-space:nowrap;font-variant-numeric:tabular-nums;background:#f0f3ff;border:1px solid #e5eaff;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:750;display:inline-block}.vacation-period{color:#344057;flex-direction:column;align-items:flex-start;gap:2px;min-width:125px;font-size:12px;font-weight:600;display:flex}.vacation-period-separator{color:var(--vacation-text-muted);font-size:10px;font-weight:450}.vacation-reason{overflow-wrap:anywhere;max-width:220px;color:var(--vacation-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.vacation-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;gap:6px;width:fit-content;max-width:100%;min-height:26px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.35;display:inline-flex}.vacation-status-dot{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:inline-block}.vacation-status.pending,.vacation-status.vacation-status-pending{color:var(--vacation-warning);background:var(--vacation-warning-bg);border-color:#f8e4b8}.vacation-status.approved,.vacation-status.vacation-status-approved{color:var(--vacation-success);background:var(--vacation-success-bg);border-color:#c9efd7}.vacation-status.rejected,.vacation-status.vacation-status-rejected{color:var(--vacation-danger);background:var(--vacation-danger-bg);border-color:#f6d2d2}.vacation-status.cancelled,.vacation-status.withdrawn,.vacation-status.vacation-status-cancelled,.vacation-status.vacation-status-withdrawn{color:#596579;background:#f1f3f7;border-color:#e1e5ec}.vacation-status.unknown,.vacation-status.vacation-status-unknown{color:var(--vacation-neutral);background:var(--vacation-neutral-bg);border-color:#e2e8f0}.vacation-row-actions{vertical-align:middle;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;min-width:0;display:inline-flex}.vacation-icon-button{width:32px;height:32px;color:var(--vacation-primary);cursor:pointer;transition:color var(--vacation-transition), background var(--vacation-transition), border-color var(--vacation-transition);background:#f0f3ff;border:1px solid #e0e7ff;border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;display:inline-flex}.vacation-withdraw-button{min-height:32px;color:var(--vacation-danger);white-space:nowrap;cursor:pointer;transition:background var(--vacation-transition), border-color var(--vacation-transition);background:#fff;border:1px solid #f1cece;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.vacation-withdraw-button svg{width:13px;height:13px}.vacation-withdraw-button:hover:not(:disabled){background:var(--vacation-danger-bg);border-color:#e9aaaa}.vacation-table-message{color:var(--vacation-text-secondary);text-align:center!important;padding:28px 20px!important}.vacation-loading,.vacation-empty{border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-lg);width:100%;min-width:0;box-shadow:var(--vacation-shadow-card);color:var(--vacation-text-secondary);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:36px 20px;display:flex}.vacation-loading{flex-direction:row;min-height:140px}.vacation-empty>svg{color:#a2aec3;width:40px;height:40px}.vacation-empty h3{color:var(--vacation-text);margin:0;font-size:16px;font-weight:720}.vacation-empty p{max-width:420px;color:var(--vacation-text-secondary);margin:0;font-size:13px;line-height:1.6}.vacation-empty-state{white-space:normal;flex-direction:column;justify-content:center;align-items:center;gap:10px;max-width:440px;margin:0 auto;padding:20px 10px;display:flex}.vacation-empty-state>svg{color:#a3b0c5;width:36px;height:36px}.vacation-empty-state h3{color:var(--vacation-text);margin:0;font-size:15px;font-weight:720}.vacation-empty-state p{max-width:400px;color:var(--vacation-text-secondary);margin:0 0 4px;font-size:12px;line-height:1.6}.vacation-loading-spinner,.button-spinner{border:2px solid #dce4fa;border-top-color:var(--vacation-primary);border-radius:50%;flex:none;width:20px;height:20px;animation:.75s linear infinite vacation-spin;display:inline-block}.button-spinner{border-color:#fff #ffffff59 #ffffff59;width:14px;height:14px}@keyframes vacation-spin{to{transform:rotate(360deg)}}.vacation-pagination{border-top:1px solid var(--vacation-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.vacation-pagination-button{min-height:35px;padding:7px 11px;font-size:12px}.vacation-pagination-button:disabled{color:#a0a8b7;cursor:not-allowed;opacity:.8;background:#f7f8fa;border-color:#e8ebf0}.vacation-pagination-page{color:var(--vacation-text-secondary);text-align:center;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.student-vacation-form-container{width:100%;min-width:0;max-width:980px;height:auto;min-height:0;max-height:none;margin:0 auto;overflow:visible}.student-vacation-form-topbar{justify-content:flex-start;align-items:center;width:100%;margin-bottom:16px;display:flex}.vacation-back-button{min-height:36px;padding:6px 12px;font-size:12px}.student-vacation-form-header{align-items:center;gap:14px;width:100%;margin-bottom:20px;display:flex}.vacation-form-icon{width:48px;height:48px;color:var(--vacation-primary);background:var(--vacation-primary-light);border:1px solid #dce5ff;border-radius:14px;flex:0 0 48px;justify-content:center;align-items:center;display:flex}.vacation-form-icon svg{width:24px;height:24px}.student-vacation-form-heading{min-width:0}.vacation-form-card{border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-lg);width:100%;min-width:0;box-shadow:var(--vacation-shadow-card);background:#fff;height:auto;min-height:0;max-height:none;margin:0;padding:24px;overflow:visible}.vacation-form-section{width:100%;min-width:0}.vacation-form-section+.vacation-form-section{border-top:1px solid var(--vacation-border);margin-top:22px;padding-top:22px}.vacation-section-heading{align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.vacation-section-heading>svg{width:19px;height:19px;color:var(--vacation-primary);margin-top:2px}.vacation-section-heading>div{min-width:0}.vacation-section-heading h2{color:var(--vacation-text);margin:0;font-size:14.5px;font-weight:730;line-height:1.4}.vacation-section-heading p{color:var(--vacation-text-secondary);margin:3px 0 0;font-size:12px;line-height:1.6}.vacation-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;min-width:0;display:grid}.vacation-field{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.vacation-field>label{color:#354158;margin:0;font-size:12px;font-weight:700;line-height:1.5;display:block}.vacation-field>label span{color:var(--vacation-danger);margin-left:4px}.vacation-field-help{color:var(--vacation-text-muted);margin:0;font-size:11px;line-height:1.5}.vacation-input-wrapper{border:1px solid var(--vacation-border-strong);border-radius:var(--vacation-radius-sm);width:100%;min-width:0;min-height:42px;transition:border-color var(--vacation-transition), box-shadow var(--vacation-transition), background var(--vacation-transition);background:#fff;align-items:center;gap:10px;padding:0 12px;display:flex}.vacation-input-wrapper:focus-within{border-color:var(--vacation-primary);background:#fff;box-shadow:0 0 0 3px #3157d517}.vacation-input-wrapper>svg{color:#7d8ba4;width:16px;height:16px}.vacation-input-wrapper input{width:100%;min-width:0;min-height:40px;color:var(--vacation-text);box-shadow:none;background:0 0;border:0;outline:none;flex:auto;padding:6px 0;font-size:13px;display:block}.vacation-input-wrapper input:focus-visible{outline:none}.vacation-input-wrapper input:disabled{cursor:not-allowed;background:0 0}.vacation-input-wrapper input::-webkit-calendar-picker-indicator{cursor:pointer}.vacation-field textarea{width:100%;min-width:0;min-height:115px;color:var(--vacation-text);border:1px solid var(--vacation-border-strong);border-radius:var(--vacation-radius-sm);resize:vertical;transition:border-color var(--vacation-transition), box-shadow var(--vacation-transition);background:#fff;padding:10px 12px;font-size:13px;line-height:1.6;display:block}.vacation-field textarea:focus{border-color:var(--vacation-primary);outline:none;box-shadow:0 0 0 3px #3157d517}.vacation-character-count{color:var(--vacation-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;line-height:1.5;display:flex}.vacation-character-count>span:last-child{font-variant-numeric:tabular-nums;margin-left:auto}.vacation-info-box{color:#33508f;border-radius:var(--vacation-radius-md);background:#f2f6ff;border:1px solid #dce7ff;align-items:flex-start;gap:10px;width:100%;min-width:0;margin-top:20px;padding:12px 14px;display:flex}.vacation-info-box>svg{width:17px;height:17px;color:var(--vacation-primary);margin-top:2px}.vacation-info-box>div{min-width:0}.vacation-info-box strong{color:#2b447e;margin-bottom:3px;font-size:12px;font-weight:750;display:block}.vacation-info-box p{color:#53678f;overflow-wrap:anywhere;margin:0;font-size:11.5px;line-height:1.6}.vacation-form-actions{border-top:1px solid var(--vacation-border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;width:100%;margin-top:20px;padding-top:16px;display:flex}.vacation-form-actions button{min-width:110px}.vacation-form-actions .vacation-primary-button{min-width:155px}.vacation-details-container{z-index:auto;width:100%;min-width:0;max-width:1060px;height:auto;min-height:0;max-height:none;margin:0 auto;position:static;overflow:visible}.vacation-details-topbar{z-index:auto;justify-content:flex-start;align-items:center;width:100%;margin-bottom:12px;display:flex;position:static}.vacation-details-topbar .vacation-back-button{min-height:32px;color:var(--vacation-text-secondary);box-shadow:none;z-index:auto;background:0 0;border-color:#0000;padding:5px 8px;font-size:12px;position:static}.vacation-details-topbar .vacation-back-button:hover{color:var(--vacation-primary);background:var(--vacation-primary-light);border-color:#0000}.vacation-details-header{border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-md);width:100%;box-shadow:var(--vacation-shadow-card);z-index:auto;background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:14px 18px;display:flex;position:static}.vacation-details-title .student-vacation-eyebrow{letter-spacing:1px;margin-bottom:3px;font-size:10px}.vacation-details-title h1{letter-spacing:-.4px;font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:750}.vacation-details-header>.vacation-status{flex-shrink:0;min-height:28px;padding:4px 10px;font-size:11px}.vacation-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;min-width:0;margin-bottom:12px;display:grid}.vacation-detail-card{border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-md);width:100%;min-width:0;box-shadow:var(--vacation-shadow-card);z-index:auto;background:#fff;margin:0 0 12px;padding:14px 16px;position:static}.vacation-details-grid .vacation-detail-card{height:100%;margin-bottom:0}.vacation-detail-card-heading{border-bottom:1px solid var(--vacation-border);align-items:center;gap:8px;min-width:0;margin-bottom:10px;padding-bottom:8px;display:flex}.vacation-detail-card-heading>svg{width:16px;height:16px;color:var(--vacation-primary)}.vacation-detail-card-heading h2{min-width:0;color:var(--vacation-text);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:700;line-height:1.35}.vacation-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;min-width:0;display:grid}.vacation-detail-list>div{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.vacation-detail-list span,.vacation-location-path span{color:var(--vacation-text-muted);font-size:11px;font-weight:600;line-height:1.35;display:block}.vacation-detail-list strong,.vacation-location-path strong{color:#273349;overflow-wrap:anywhere;word-break:normal;max-width:100%;font-size:12.5px;font-weight:650;line-height:1.4;display:block}.vacation-location-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;min-width:0;display:grid}.vacation-location-path>div{background:var(--vacation-soft-bg);border-radius:var(--vacation-radius-sm);border:1px solid #edf0f7;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:8px 10px;display:flex}.vacation-location-path strong{overflow-wrap:anywhere}.vacation-detail-reason{color:#45536a;border-radius:var(--vacation-radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;background:#f8faff;border:1px solid #edf0f7;margin:0;padding:9px 12px;font-size:12.5px;line-height:1.55}.vacation-confirmation-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);overscroll-behavior:contain;background:#0f172a8a;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.vacation-confirmation-modal{border-radius:var(--vacation-radius-xl);width:100%;min-width:0;max-width:490px;max-height:calc(100dvh - 40px);box-shadow:var(--vacation-shadow-dropdown);overscroll-behavior:contain;background:#fff;border:1px solid #ffffffb3;grid-template-columns:46px minmax(0,1fr);gap:0 16px;margin:auto;padding:24px;animation:.18s ease-out vacation-modal-enter;display:grid;overflow-y:auto}@keyframes vacation-modal-enter{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.vacation-confirmation-icon{color:#c17b12;background:#fff4dc;border:1px solid #f7e6bd;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.withdrawal-modal-eyebrow{color:var(--vacation-text-muted);letter-spacing:1.1px;margin-bottom:6px;font-size:10px;font-weight:750;display:inline-block}.vacation-confirmation-content h2{color:var(--vacation-text);overflow-wrap:anywhere;margin:0 0 8px;font-size:20px;font-weight:750;line-height:1.35}.vacation-confirmation-content>p{color:var(--vacation-text-secondary);overflow-wrap:anywhere;margin:0 0 16px;font-size:13px;line-height:1.7}.vacation-confirmation-content>p strong{color:var(--vacation-text);font-weight:750}.confirmation-remarks-preview{border:1px solid var(--vacation-border);border-radius:var(--vacation-radius-sm);background:#f8faff;margin-bottom:12px;padding:12px 14px}.confirmation-remarks-preview>span{color:var(--vacation-text-muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.confirmation-remarks-preview p{color:#354158;overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700;line-height:1.6}.withdrawal-information{color:#8d5c12;border-radius:var(--vacation-radius-sm);background:#fff8e9;border:1px solid #f4e4c2;align-items:flex-start;gap:8px;padding:11px 12px;display:flex}.withdrawal-information>svg{width:16px;height:16px;margin-top:2px}.withdrawal-information p{color:#80591d;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.65}.vacation-confirmation-actions{border-top:1px solid var(--vacation-border);flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.confirmation-cancel-button,.confirmation-confirm-reject{border-radius:var(--vacation-radius-sm);text-align:center;cursor:pointer;min-height:38px;transition:background var(--vacation-transition), border-color var(--vacation-transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex}.confirmation-cancel-button{color:#46536a;border-color:var(--vacation-border-strong);background:#fff}.confirmation-cancel-button:hover:not(:disabled){background:#f6f8fc;border-color:#c5cddd}.confirmation-confirm-reject:hover:not(:disabled){background:#a91f1f;border-color:#a91f1f}.confirmation-confirm-reject svg{width:15px;height:15px}@media (width>=992px){.vacation-stats{grid-template-columns:repeat(4,1fr)!important}}@media (width>=769px) and (width<=991px){.student-vacation-page{padding:18px 20px}.vacation-stats{grid-template-columns:repeat(4,1fr);gap:10px}.vacation-stat-card{gap:8px;padding:10px}.vacation-stat-icon{flex-basis:36px;width:36px;height:36px}.vacation-stat-card strong{font-size:19px}.vacation-stat-label{font-size:11px}}@media (width<=768px){.student-vacation-page{padding:14px 12px 24px}.student-vacation-header{flex-direction:column;align-items:flex-start;gap:12px}.vacation-stats{gap:8px;margin-bottom:16px;grid-template-columns:repeat(2,1fr)!important}.vacation-stat-card{border-radius:var(--vacation-radius-sm);flex-direction:row;align-items:center;gap:8px;min-height:68px;padding:10px}.vacation-stat-icon{border-radius:9px;flex-basis:34px;width:34px;height:34px}.vacation-stat-icon svg{width:16px;height:16px}.vacation-stat-label{font-size:10px}.vacation-stat-card strong{font-size:18px}.vacation-history-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:0 14px 12px}.vacation-month-filter{flex-direction:column;align-items:stretch;gap:6px;width:100%;max-width:100%}.vacation-select-wrapper{width:100%;max-width:100%}.vacation-select-wrapper select{min-height:38px;width:100%!important;min-width:0!important;max-width:100%!important}.vacation-pagination-summary{align-self:flex-start;font-size:11px}.vacation-details-grid{grid-template-columns:1fr;gap:10px}.vacation-location-path{grid-template-columns:repeat(2,1fr)}}@keyframes hostel-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes hostel-modal-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hostel-confirm-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hostel-spin{to{transform:rotate(360deg)}}@keyframes hostel-details-spin{to{transform:rotate(360deg)}}.hostel-form-modal,.hostel-page,.hostel-details-page{--hostel-primary:#171717;--hostel-primary-dark:#000;--hostel-primary-light:#f1f5f9;--hostel-text:#172033;--hostel-muted:#64748b;--hostel-border:#e2e8f0;--hostel-background:#f5f7fb;--hostel-card:#fff;--hostel-success:#15803d;--hostel-success-bg:#dcfce7;--hostel-danger:#dc2626;--hostel-danger-bg:#fef2f2;box-sizing:border-box}.hostel-form-modal *,.hostel-form-modal :before,.hostel-form-modal :after,.hostel-page *,.hostel-page :before,.hostel-page :after,.hostel-details-page *,.hostel-details-page :before,.hostel-details-page :after{box-sizing:border-box}.hostel-form-modal button,.hostel-form-modal input,.hostel-form-modal textarea,.hostel-form-modal select,.hostel-page button,.hostel-page input,.hostel-page textarea,.hostel-page select,.hostel-details-page button,.hostel-details-page input,.hostel-details-page textarea,.hostel-details-page select{font:inherit}.hostel-form-modal button,.hostel-page button,.hostel-details-page button{-webkit-tap-highlight-color:transparent}.hostel-form-modal button:focus-visible,.hostel-form-modal input:focus-visible,.hostel-form-modal textarea:focus-visible,.hostel-form-modal select:focus-visible,.hostel-page button:focus-visible,.hostel-page input:focus-visible,.hostel-page textarea:focus-visible,.hostel-page select:focus-visible,.hostel-details-page button:focus-visible,.hostel-details-page input:focus-visible,.hostel-details-page textarea:focus-visible,.hostel-details-page select:focus-visible{outline-offset:2px;outline:3px solid #1717172e}.modal-overlay{z-index:3000;padding:calc(var(--navbar-height,72px) + 12px) 20px 16px;-webkit-backdrop-filter:blur(5px);background:#0f172a9e;justify-content:center;align-items:center;animation:.2s ease-out hostel-overlay-in;display:flex;position:fixed;inset:0;overflow:hidden}.hostel-form-modal{--hostel-primary:#171717;--hostel-primary-dark:#000;--hostel-text:#172033;--hostel-muted:#64748b;--hostel-border:#dce3ed;--hostel-surface:#fff;--hostel-soft:#f8fafc;width:100%;min-width:0;max-width:860px;min-height:0;max-height:calc(100dvh - var(--navbar-height,72px) - 28px);color:var(--hostel-text);background:var(--hostel-surface);border:1px solid #ffffffa6;border-radius:16px;flex-direction:column;font-family:inherit;animation:.22s ease-out hostel-modal-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0f172a33,0 4px 12px #0f172a14}.hostel-form-modal .modal-header{background:#fff;border-bottom:1px solid #e8edf4;flex:none;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:18px 24px;display:flex}.hostel-form-modal .modal-title{align-items:center;gap:13px;min-width:0;display:flex}.hostel-form-modal .modal-title>div:last-child{min-width:0}.hostel-form-modal .modal-title h2{color:var(--hostel-text);letter-spacing:-.45px;overflow-wrap:anywhere;margin:0;font-size:21px;font-weight:750;line-height:1.3}.hostel-form-modal .modal-title p{color:var(--hostel-muted);margin:4px 0 0;font-size:12.5px;line-height:1.5}.hostel-form-modal .modal-icon{color:#171717;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:21px;display:flex}.hostel-form-modal .modal-close{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:9px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:19px;transition:background .2s,color .2s;display:flex}.hostel-form-modal .modal-close:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.hostel-form-modal .modal-close:disabled{opacity:.55;cursor:not-allowed}.hostel-form-modal .form-error{color:#b91c1c;overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex:none;margin:12px 24px 0;padding:10px 13px;font-size:12.5px;line-height:1.5}.hostel-form-modal .hostel-form{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex-direction:column;flex:auto;min-width:0;min-height:0;padding:18px 24px 0;display:flex;overflow:hidden auto}.hostel-form-modal .hostel-form::-webkit-scrollbar{width:6px}.hostel-form-modal .hostel-form::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:20px}.hostel-form-modal .hostel-form::-webkit-scrollbar-thumb:hover{background:#94a3b8}.hostel-form-modal .form-section{flex-direction:column;gap:16px;min-width:0;padding:0 0 20px;display:flex}.hostel-form-modal .form-section+.form-section{border-top:1px solid #e8edf4;padding-top:18px}.hostel-form-modal .form-section-title{align-items:center;gap:10px;min-width:0;display:flex}.hostel-form-modal .form-section-title>svg{color:#171717;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9px;flex:0 0 34px;width:34px;height:34px;padding:8px;display:block}.hostel-form-modal .form-section-title>div{min-width:0}.hostel-form-modal .form-section-title h3{color:#1e293b;margin:0;font-size:14px;font-weight:700;line-height:1.4}.hostel-form-modal .form-section-title p{color:#64748b;margin:3px 0 0;font-size:11.5px;line-height:1.4}.hostel-form-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;min-width:0;display:grid}.hostel-form-modal .form-group{flex-direction:column;align-items:stretch;gap:7px;min-width:0;display:flex}.hostel-form-modal .form-group.full-width{grid-column:1/-1}.hostel-form-modal .form-group label{color:#334155;margin:0;font-size:12.5px;font-weight:650;line-height:1.4;display:block}.hostel-form-modal .form-group label span{color:#dc2626;margin-left:2px}.hostel-form-modal .form-group input,.hostel-form-modal .form-group textarea,.hostel-form-modal .form-group select{color:#1e293b;border:1px solid var(--hostel-border);width:100%;min-width:0;box-shadow:none;background:#fff;border-radius:8px;outline:none;margin:0;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:400;line-height:1.45;transition:border-color .18s,box-shadow .18s;display:block}.hostel-form-modal .form-group input::placeholder,.hostel-form-modal .form-group textarea::placeholder,.hostel-form-modal .form-group select::placeholder{color:#9aa6b6;opacity:1}.hostel-form-modal .form-group input:hover:not(:disabled):not(:focus),.hostel-form-modal .form-group textarea:hover:not(:disabled):not(:focus),.hostel-form-modal .form-group select:hover:not(:disabled):not(:focus){border-color:#b6c3d5}.hostel-form-modal .form-group input:focus,.hostel-form-modal .form-group textarea:focus,.hostel-form-modal .form-group select:focus{border-color:#171717;box-shadow:0 0 0 3px #1717171a}.hostel-form-modal .form-group input:disabled,.hostel-form-modal .form-group textarea:disabled,.hostel-form-modal .form-group select:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.hostel-form-modal .form-group input[aria-invalid=true],.hostel-form-modal .form-group textarea[aria-invalid=true],.hostel-form-modal .form-group select[aria-invalid=true]{border-color:#ef4444}.hostel-form-modal .form-group input[aria-invalid=true]:focus,.hostel-form-modal .form-group textarea[aria-invalid=true]:focus,.hostel-form-modal .form-group select[aria-invalid=true]:focus{box-shadow:0 0 0 3px #ef44441a}.hostel-form-modal .form-group input,.hostel-form-modal .form-group select{height:41px}.hostel-form-modal .form-group textarea{resize:vertical;min-height:64px}.hostel-form-modal .form-group #description{min-height:68px}.hostel-form-modal .form-group #address{min-height:58px}.hostel-form-modal .field-error{color:#dc2626;overflow-wrap:anywhere;margin-top:-1px;font-size:11.5px;font-weight:500;line-height:1.45;display:block}.hostel-form-modal .form-actions{z-index:2;background:#fff;border-top:1px solid #e8edf4;flex:none;justify-content:flex-end;align-items:center;gap:10px;margin:auto -24px 0;padding:14px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #0f172a06}.hostel-form-modal .cancel-button,.hostel-form-modal .save-button{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 17px;font-family:inherit;font-size:12.5px;font-weight:650;line-height:1.2;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.hostel-form-modal .cancel-button svg,.hostel-form-modal .save-button svg{flex:none;width:15px;height:15px}.hostel-form-modal .cancel-button:focus-visible,.hostel-form-modal .save-button:focus-visible{outline-offset:2px;outline:3px solid #17171733}.hostel-form-modal .cancel-button:disabled,.hostel-form-modal .save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.hostel-form-modal .cancel-button{color:#334155;background:#fff;border-color:#dce3ed}.hostel-form-modal .cancel-button:hover:not(:disabled){color:#000;background:#f8fafc;border-color:#b9c6d8}.hostel-form-modal .save-button{color:#fff;background:#171717;border-color:#171717;box-shadow:0 2px 5px #0000001f}.hostel-form-modal .save-button:hover:not(:disabled){background:#000;border-color:#000;transform:translateY(-1px);box-shadow:0 4px 10px #0000002b}.hostel-form-modal .save-button:active:not(:disabled){transform:translateY(0)}.hostel-page{--hostel-primary:#171717;--hostel-primary-dark:#000;--hostel-primary-light:#f1f5f9;--hostel-text:#172033;--hostel-muted:#64748b;--hostel-border:#e2e8f0;--hostel-background:#f5f7fb;--hostel-card:#fff;--hostel-success:#15803d;--hostel-danger:#dc2626;width:100%;min-width:0;min-height:100%;color:var(--hostel-text);padding:24px;font-family:inherit}.hostel-page .hostel-header{justify-content:space-between;align-items:center;gap:20px;min-width:0;margin-bottom:22px;display:flex}.hostel-page .hostel-title-section{align-items:center;gap:15px;min-width:0;display:flex}.hostel-page .hostel-title-icon{color:#171717;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:15px;flex:0 0 54px;justify-content:center;align-items:center;width:54px;height:54px;font-size:25px;display:flex}.hostel-page .page-breadcrumb{color:var(--hostel-muted);margin-bottom:5px;font-size:12px;font-weight:500;line-height:1.4}.hostel-page .hostel-title-section h1{color:var(--hostel-text);letter-spacing:-.7px;overflow-wrap:anywhere;margin:0;font-size:27px;font-weight:750;line-height:1.25}.hostel-page .hostel-title-section p{color:var(--hostel-muted);margin:6px 0 0;font-size:13px;line-height:1.6}.hostel-page .add-button,.hostel-page .empty-add-button{color:#fff;white-space:nowrap;cursor:pointer;background:#171717;border:1px solid #171717;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:11px 17px;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.hostel-page .add-button svg,.hostel-page .empty-add-button svg{flex:none;width:17px;height:17px}.hostel-page .add-button:hover:not(:disabled),.hostel-page .empty-add-button:hover:not(:disabled){background:#000;border-color:#000;transform:translateY(-1px);box-shadow:0 4px 12px #00000029}.hostel-page .add-button:active:not(:disabled),.hostel-page .empty-add-button:active:not(:disabled){transform:translateY(0)}.hostel-page .add-button:disabled,.hostel-page .empty-add-button:disabled{opacity:.6;cursor:not-allowed}.hostel-page .hostel-structure-info{border:1px solid var(--hostel-border);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:13px;width:100%;min-width:0;margin-bottom:22px;padding:15px 20px;display:flex;box-shadow:0 2px 5px #0f172a06}.hostel-page .structure-step{color:#64748b;white-space:nowrap;background:#f8fafc;border:1px solid #edf1f6;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:0;padding:8px 12px;font-size:12px;font-weight:600;transition:color .2s,background .2s;display:inline-flex}.hostel-page .structure-step svg{flex:none;width:15px;height:15px}.hostel-page .structure-step.active{color:#171717;background:#f1f5f9;border-color:#cbd5e1}.hostel-page .structure-arrow{color:#94a3b8;flex:none;font-size:17px;line-height:1}.hostel-page .hostel-toolbar{justify-content:space-between;align-items:center;gap:14px;min-width:0;margin-bottom:20px;display:flex}.hostel-page .search-box{color:#94a3b8;border:1px solid var(--hostel-border);background:#fff;border-radius:9px;align-items:center;gap:11px;width:100%;min-width:0;max-width:470px;min-height:45px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.hostel-page .search-box:focus-within{border-color:#171717;box-shadow:0 0 0 3px #17171714}.hostel-page .search-box>svg{flex:none;width:18px;height:18px}.hostel-page .search-box input{color:#1e293b;width:100%;min-width:0;height:43px;box-shadow:none;background:0 0;border:none;outline:none;padding:0;font-size:13px}.hostel-page .search-box input::placeholder{color:#94a3b8}.hostel-page .search-box input:focus-visible{outline:none}.hostel-page .search-box input::-webkit-search-cancel-button{cursor:pointer}.hostel-page .page-error{color:#b91c1c;overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin-bottom:20px;padding:13px 16px;font-size:13px;line-height:1.6}.hostel-page .page-loading{min-height:260px;color:var(--hostel-muted);border:1px solid var(--hostel-border);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:30px;font-size:13px;font-weight:500;display:flex}.hostel-page .page-loading svg{color:#171717;width:28px;height:28px}.hostel-page .page-loading .spinning{animation:.9s linear infinite hostel-spin}.hostel-page .empty-state{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:40px 24px;display:flex}.hostel-page .empty-state .empty-icon{color:#171717;background:#f1f5f9;border-radius:18px;justify-content:center;align-items:center;width:66px;height:66px;margin-bottom:17px;font-size:30px;display:flex}.hostel-page .empty-state h2{color:var(--hostel-text);margin:0;font-size:19px;font-weight:700;line-height:1.4}.hostel-page .empty-state p{max-width:420px;color:var(--hostel-muted);margin:9px 0 20px;font-size:13px;line-height:1.7}.hostel-page .empty-state .empty-add-button{min-height:42px}.hostel-page .hostels-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;min-width:0;display:grid}.hostel-page .hostel-card{border:1px solid var(--hostel-border);background:#fff;border-radius:13px;flex-direction:column;min-width:0;min-height:0;padding:19px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 3px 8px #0f172a06}.hostel-page .hostel-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 10px 26px #0f172a12}.hostel-page .hostel-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.hostel-page .hostel-icon{color:#171717;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex:0 0 45px;justify-content:center;align-items:center;width:45px;height:45px;font-size:21px;display:flex}.hostel-page .status-badge{letter-spacing:.4px;text-align:center;overflow-wrap:anywhere;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;max-width:125px;padding:6px 10px;font-size:10px;font-weight:750;line-height:1.3;display:inline-flex}.hostel-page .status-badge.active{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.hostel-page .status-badge.inactive,.hostel-page .status-badge.cancelled{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.hostel-page .status-badge.unknown{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.hostel-page .hostel-card-content{flex-direction:column;flex:auto;align-items:flex-start;min-width:0;display:flex}.hostel-page .hostel-code{color:#475569;letter-spacing:.55px;overflow-wrap:anywhere;background:#f1f5f9;border-radius:5px;max-width:100%;margin-bottom:7px;padding:5px 8px;font-size:10px;font-weight:700;line-height:1.4;display:inline-block}.hostel-page .hostel-card-content h2{width:100%;color:var(--hostel-text);letter-spacing:-.25px;overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:750;line-height:1.45}.hostel-page .hostel-description{width:100%;color:var(--hostel-muted);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:9px 0 0;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.hostel-page .hostel-location{color:#64748b;align-items:flex-start;gap:7px;width:100%;margin-top:13px;font-size:12px;line-height:1.6;display:flex}.hostel-page .hostel-location svg{color:#94a3b8;flex:none;width:15px;height:15px;margin-top:2px}.hostel-page .hostel-location span{overflow-wrap:anywhere;min-width:0}.hostel-page .hostel-stats{border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;padding:14px 0;display:grid}.hostel-page .hostel-stat{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.hostel-page .hostel-stat strong{color:#1e293b;overflow-wrap:anywhere;max-width:100%;font-size:18px;font-weight:750;line-height:1.3}.hostel-page .hostel-stat span{color:#64748b;font-size:11px;font-weight:500;line-height:1.4}.hostel-page .hostel-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:8px;margin-top:15px;display:grid}.hostel-page .hostel-card-actions button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:39px;padding:8px 10px;font-size:11.5px;font-weight:650;line-height:1.3;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.hostel-page .hostel-card-actions button svg{flex:none;width:15px;height:15px}.hostel-page .hostel-card-actions button:focus-visible{outline-offset:2px;outline:3px solid #1717172e}.hostel-page .hostel-card-actions button:disabled{opacity:.6;cursor:not-allowed}.hostel-page .hostel-card-actions .view-action{color:#fff;background:#171717;border-color:#171717}.hostel-page .hostel-card-actions .view-action:hover:not(:disabled){background:#000;border-color:#000}.hostel-page .hostel-card-actions .edit-action{color:#334155;background:#f8fafc;border-color:#e2e8f0}.hostel-page .hostel-card-actions .edit-action:hover:not(:disabled){color:#000;background:#e2e8f0;border-color:#cbd5e1}.hostel-page .hostel-card-actions .danger{color:#dc2626;background:#fff7f7;border-color:#fecaca}.hostel-page .hostel-card-actions .danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.hostel-page .hostel-confirm-overlay{z-index:3100;-webkit-backdrop-filter:blur(4px);background:#0f172a99;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out hostel-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}.hostel-page .hostel-confirm-modal{text-align:center;background:#fff;border:1px solid #fffc;border-radius:16px;flex-direction:column;align-items:center;width:100%;min-width:0;max-width:420px;padding:28px 25px 22px;animation:.2s ease-out hostel-confirm-in;display:flex;box-shadow:0 24px 70px #0f172a3b}.hostel-page .hostel-confirm-icon{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;justify-content:center;align-items:center;width:57px;height:57px;margin-bottom:17px;font-size:25px;display:flex}.hostel-page .hostel-confirm-content{width:100%;min-width:0}.hostel-page .hostel-confirm-content h2{color:#172033;margin:0;font-size:20px;font-weight:750;line-height:1.4}.hostel-page .hostel-confirm-content p{color:#475569;overflow-wrap:anywhere;margin:12px 0 8px;font-size:13px;line-height:1.7}.hostel-page .hostel-confirm-content p strong{color:#1e293b;font-weight:700}.hostel-page .hostel-confirm-content>span{color:#94a3b8;font-size:11.5px;line-height:1.6;display:block}.hostel-page .hostel-confirm-actions{justify-content:center;align-items:center;gap:10px;width:100%;margin-top:24px;display:flex}.hostel-page .hostel-confirm-actions button{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:41px;padding:10px 14px;font-size:12.5px;font-weight:650;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.hostel-page .hostel-confirm-actions button:disabled{opacity:.6;cursor:not-allowed}.hostel-page .hostel-confirm-actions button:focus-visible{outline-offset:2px;outline:3px solid #1717172e}.hostel-page .hostel-confirm-actions .cancel-button{color:#334155;background:#fff;border-color:#dbe3ed}.hostel-page .hostel-confirm-actions .cancel-button:hover:not(:disabled){color:#000;background:#f8fafc;border-color:#cbd5e1}.hostel-page .hostel-confirm-actions .confirm-danger-button{color:#fff;background:#dc2626;border-color:#dc2626}.hostel-page .hostel-confirm-actions .confirm-danger-button svg{flex:none;width:15px;height:15px}.hostel-page .hostel-confirm-actions .confirm-danger-button:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.hostel-details-page{--details-primary:#171717;--details-primary-dark:#000;--details-primary-soft:#f1f5f9;--details-text:#172033;--details-muted:#64748b;--details-border:#e2e8f0;--details-background:#f5f7fb;--details-card:#fff;--details-success:#15803d;--details-success-bg:#dcfce7;--details-danger:#dc2626;--details-danger-bg:#fef2f2;width:100%;min-width:0;min-height:100%;color:var(--details-text);padding:24px;font-family:inherit}.hostel-details-page .details-state{border:1px solid var(--details-border);text-align:center;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:320px;padding:48px 24px;display:flex;position:relative}.hostel-details-page .details-state>.back-button:first-child{align-self:flex-start;margin-bottom:28px}.hostel-details-page .details-state .details-state-icon{color:#171717;width:32px;height:32px;margin-bottom:18px}.hostel-details-page .details-state h2{color:var(--details-text);margin:0;font-size:21px;font-weight:750;line-height:1.4}.hostel-details-page .details-state>p{max-width:460px;color:var(--details-muted);overflow-wrap:anywhere;margin:10px 0 0;font-size:13px;line-height:1.7}.hostel-details-page .details-state .spinning{animation:.9s linear infinite hostel-details-spin}.hostel-details-page .details-state-error-icon{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:17px;font-size:26px;display:flex}.hostel-details-page .details-state-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:24px;display:flex}.hostel-details-page .back-button,.hostel-details-page .edit-button,.hostel-details-page .structure-button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 15px;font-size:12.5px;font-weight:650;line-height:1.3;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.hostel-details-page .back-button svg,.hostel-details-page .edit-button svg,.hostel-details-page .structure-button svg{flex:none;width:17px;height:17px}.hostel-details-page .back-button:active,.hostel-details-page .edit-button:active,.hostel-details-page .structure-button:active{transform:translateY(0)}.hostel-details-page .back-button:disabled,.hostel-details-page .edit-button:disabled,.hostel-details-page .structure-button:disabled{opacity:.6;cursor:not-allowed}.hostel-details-page .back-button{color:#334155;background:#fff;border-color:#dbe3ed}.hostel-details-page .back-button:hover:not(:disabled){color:#000;background:#f1f5f9;border-color:#cbd5e1}.hostel-details-page .details-title-section>.back-button{border-radius:10px;flex:0 0 40px;width:40px;min-height:40px;padding:0}.hostel-details-page .details-title-section>.back-button svg{width:19px;height:19px}.hostel-details-page .edit-button,.hostel-details-page .structure-button{color:#fff;background:#171717;border-color:#171717}.hostel-details-page .edit-button:hover:not(:disabled),.hostel-details-page .structure-button:hover:not(:disabled){background:#000;border-color:#000;transform:translateY(-1px);box-shadow:0 4px 12px #00000029}.hostel-details-page .details-header{justify-content:space-between;align-items:center;gap:22px;min-width:0;margin-bottom:24px;display:flex}.hostel-details-page .details-title-section{align-items:center;gap:13px;min-width:0;display:flex}.hostel-details-page .details-title-icon{color:#171717;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:13px;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:50px;font-size:23px;display:flex}.hostel-details-page .details-heading{flex:auto;min-width:0}.hostel-details-page .page-breadcrumb{color:var(--details-muted);overflow-wrap:anywhere;margin-bottom:5px;font-size:11.5px;font-weight:500;line-height:1.5}.hostel-details-page .details-heading h1{color:var(--details-text);letter-spacing:-.55px;overflow-wrap:anywhere;margin:0;font-size:26px;font-weight:750;line-height:1.3}.hostel-details-page .details-subtitle{color:var(--details-muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:8px;font-size:12px;display:flex}.hostel-details-page .details-subtitle>span:first-child{overflow-wrap:anywhere}.hostel-details-page .status-badge{letter-spacing:.4px;overflow-wrap:anywhere;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:fit-content;max-width:100%;padding:5px 9px;font-size:10px;font-weight:750;line-height:1.3;display:inline-flex}.hostel-details-page .status-badge.active{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.hostel-details-page .status-badge.inactive,.hostel-details-page .status-badge.cancelled{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.hostel-details-page .status-badge.unknown{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.hostel-details-page .hostel-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;min-width:0;margin-bottom:24px;display:grid}.hostel-details-page .hostel-summary-card{border:1px solid var(--details-border);background:#fff;border-radius:12px;align-items:center;gap:14px;min-width:0;min-height:104px;padding:19px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 2px 7px #0f172a06}.hostel-details-page .hostel-summary-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 7px 20px #0f172a0d}.hostel-details-page .hostel-summary-icon{color:#171717;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex:0 0 45px;justify-content:center;align-items:center;width:45px;height:45px;font-size:21px;display:flex}.hostel-details-page .hostel-summary-content{flex-direction:column;gap:7px;min-width:0;display:flex}.hostel-details-page .hostel-summary-content span{color:var(--details-muted);overflow-wrap:anywhere;font-size:12px;font-weight:550;line-height:1.4}.hostel-details-page .hostel-summary-content strong{color:var(--details-text);overflow-wrap:anywhere;font-size:25px;font-weight:750;line-height:1.2}.hostel-details-page .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;min-width:0;margin-bottom:24px;display:grid}.hostel-details-page .details-card{border:1px solid var(--details-border);background:#fff;border-radius:13px;flex-direction:column;min-width:0;padding:22px;display:flex;box-shadow:0 2px 7px #0f172a06}.hostel-details-page .details-card-header{border-bottom:1px solid #edf1f6;align-items:center;gap:12px;min-width:0;padding-bottom:19px;display:flex}.hostel-details-page .details-card-header>div:last-child{min-width:0}.hostel-details-page .details-card-header h2{color:var(--details-text);margin:0;font-size:16px;font-weight:750;line-height:1.4}.hostel-details-page .details-card-header p{color:var(--details-muted);margin:5px 0 0;font-size:11.5px;line-height:1.5}.hostel-details-page .details-card-icon{color:#171717;background:#f1f5f9;border-radius:10px;flex:0 0 39px;justify-content:center;align-items:center;width:39px;height:39px;font-size:19px;display:flex}.hostel-details-page .information-list{flex-direction:column;min-width:0;padding-top:4px;display:flex}.hostel-details-page .information-item{border-bottom:1px solid #f0f3f8;justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;padding:13px 0;display:flex}.hostel-details-page .information-item:last-child{border-bottom:none}.hostel-details-page .information-item>span{min-width:0;color:var(--details-muted);overflow-wrap:anywhere;flex:0 0 37%;font-size:12px;font-weight:500;line-height:1.65}.hostel-details-page .information-item>strong{color:#334155;text-align:right;overflow-wrap:anywhere;word-break:normal;flex:auto;min-width:0;font-size:12px;font-weight:650;line-height:1.65}.hostel-details-page .information-item .status-text{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.hostel-details-page .information-item .status-text.active{color:#15803d}.hostel-details-page .information-item .status-text.inactive{color:#dc2626}.hostel-details-page .information-item .status-text.unknown{color:var(--details-muted)}.hostel-details-page .information-item .status-text svg{flex:none;width:14px;height:14px}.hostel-details-page .address-details{flex-direction:column;gap:11px;padding:20px 0 18px;display:flex}.hostel-details-page .address-details p{color:#475569;overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.75}.hostel-details-page .address-details p:first-child{color:#1e293b;font-weight:550}.hostel-details-page .location-summary{background:#f8fafc;border:1px solid #edf1f6;border-radius:9px;align-items:flex-start;gap:11px;margin-top:auto;padding:14px;display:flex}.hostel-details-page .location-summary>svg{color:#171717;flex:none;width:19px;height:19px;margin-top:1px}.hostel-details-page .location-summary>div{flex-direction:column;gap:5px;min-width:0;display:flex}.hostel-details-page .location-summary strong{color:#334155;font-size:12px;font-weight:700;line-height:1.4}.hostel-details-page .location-summary span{color:var(--details-muted);overflow-wrap:anywhere;font-size:11.5px;line-height:1.6}.hostel-details-page .structure-section{border:1px solid var(--details-border);background:#fff;border-radius:13px;min-width:0;padding:23px;box-shadow:0 2px 7px #0f172a06}.hostel-details-page .structure-header{justify-content:space-between;align-items:center;gap:20px;min-width:0;margin-bottom:22px;display:flex}.hostel-details-page .structure-header>div:first-child{min-width:0}.hostel-details-page .structure-header h2{color:var(--details-text);letter-spacing:-.25px;margin:6px 0 0;font-size:19px;font-weight:750;line-height:1.4}.hostel-details-page .structure-header p{max-width:540px;color:var(--details-muted);margin:7px 0 0;font-size:12px;line-height:1.7}.hostel-details-page .section-label{color:#171717;letter-spacing:1.1px;font-size:10px;font-weight:800;line-height:1.5}.hostel-details-page .structure-button{white-space:nowrap;flex:none}.hostel-details-page .structure-button svg:last-child{width:15px;height:15px}.hostel-details-page .hierarchy{flex-direction:column;align-items:center;width:100%;min-width:0;display:flex}.hostel-details-page .hierarchy-item{width:100%;min-width:0;min-height:75px;color:inherit;border:1px solid var(--details-border);text-align:left;background:#fff;border-radius:11px;align-items:center;gap:14px;padding:14px 17px;display:flex}.hostel-details-page .hierarchy-item.active{background:#f8fafc;border-color:#94a3b8}.hostel-details-page .hierarchy-item.active .hierarchy-icon{color:#171717;background:#e2e8f0}.hostel-details-page .hierarchy-item.muted{background:#fafbfd;border-color:#e8edf4}.hostel-details-page .hierarchy-item.muted .hierarchy-icon{color:#94a3b8;background:#f1f5f9}.hostel-details-page .hierarchy-item.muted .hierarchy-content strong{color:#475569}.hostel-details-page .hierarchy-item.muted .hierarchy-content span{color:#94a3b8}.hostel-details-page .hierarchy-action{font:inherit;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}.hostel-details-page .hierarchy-action:hover{background:#f8fafc;border-color:#94a3b8;box-shadow:0 4px 12px #0f172a0f}.hostel-details-page .hierarchy-action:hover .hierarchy-chevron{color:#171717;transform:translate(3px)}.hostel-details-page .hierarchy-action:focus-visible{outline-offset:2px;outline:3px solid #1717172e}.hostel-details-page .hierarchy-icon{color:#64748b;background:#f1f5f9;border-radius:11px;flex:0 0 43px;justify-content:center;align-items:center;width:43px;height:43px;font-size:20px;display:flex}.hostel-details-page .hierarchy-content{flex-direction:column;flex:auto;gap:5px;min-width:0;display:flex}.hostel-details-page .hierarchy-content strong{color:#1e293b;overflow-wrap:anywhere;font-size:13px;font-weight:750;line-height:1.4}.hostel-details-page .hierarchy-content span{color:var(--details-muted);overflow-wrap:anywhere;font-size:11.5px;line-height:1.6}.hostel-details-page .hierarchy-current{color:#171717;background:#e2e8f0;border-radius:999px;flex:none;padding:5px 9px;font-size:10px;font-weight:750}.hostel-details-page .hierarchy-chevron{color:#94a3b8;flex:none;width:18px;height:18px;transition:color .2s,transform .2s}.hostel-details-page .hierarchy-arrow{color:#94a3b8;flex:0 0 32px;justify-content:center;align-items:center;height:32px;font-size:19px;line-height:1;display:flex}@media (width<=1200px){.hostel-page{padding:22px}.hostel-page .hostels-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.hostel-page .hostel-structure-info{gap:9px;padding:13px 12px}.hostel-page .structure-step{padding:8px 9px;font-size:11.5px}.hostel-details-page{padding:22px}.hostel-details-page .hostel-summary-grid{gap:13px}.hostel-details-page .hostel-summary-card{gap:11px;padding:15px}.hostel-details-page .hostel-summary-icon{flex-basis:40px;width:40px;height:40px;font-size:19px}.hostel-details-page .hostel-summary-content strong{font-size:23px}.hostel-details-page .details-grid{gap:16px}.hostel-details-page .details-card{padding:19px}}@media (width<=1024px){.hostel-form-modal{max-width:760px}.hostel-form-modal .modal-header{padding:16px 20px}.hostel-form-modal .hostel-form{padding:17px 20px 0}.hostel-form-modal .form-actions{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.hostel-form-modal .form-grid{gap:14px 16px}.hostel-page{padding:20px}.hostel-page .hostel-header{gap:14px;margin-bottom:19px}.hostel-page .hostel-title-icon{flex-basis:48px;width:48px;height:48px;font-size:22px}.hostel-page .hostel-title-section h1{font-size:25px}.hostel-page .hostel-title-section p{font-size:12.5px}.hostel-page .hostel-structure-info{justify-content:space-between;gap:7px;padding:12px 10px}.hostel-page .structure-step{gap:5px;padding:8px 7px;font-size:11px}.hostel-page .structure-arrow{font-size:14px}.hostel-page .hostels-grid{gap:15px}.hostel-page .hostel-card{padding:16px}.hostel-page .hostel-card-content h2{font-size:16px}.hostel-details-page{padding:20px}.hostel-details-page .details-header{gap:14px;margin-bottom:20px}.hostel-details-page .details-title-section{gap:10px}.hostel-details-page .details-title-icon{flex-basis:44px;width:44px;height:44px;font-size:21px}.hostel-details-page .details-heading h1{font-size:23px}.hostel-details-page .hostel-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:20px}.hostel-details-page .hostel-summary-card{min-height:90px;padding:15px}.hostel-details-page .details-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:20px}.hostel-details-page .details-card{padding:20px}.hostel-details-page .information-item{padding:12px 0}.hostel-details-page .address-details{padding:17px 0}.hostel-details-page .structure-section{padding:20px}}@media (width<=767px){.modal-overlay{padding:calc(var(--navbar-height,72px) + 8px) 12px 12px;-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;overflow-y:auto}.hostel-form-modal{width:100%;max-width:560px;max-height:calc(100dvh - var(--navbar-height,72px) - 20px);border-radius:13px}.hostel-form-modal .modal-header{gap:10px;padding:14px 16px}.hostel-form-modal .modal-title{gap:10px}.hostel-form-modal .modal-icon{border-radius:10px;flex-basis:39px;width:39px;height:39px;font-size:19px}.hostel-form-modal .modal-title h2{font-size:18px}.hostel-form-modal .modal-title p{font-size:11.5px}.hostel-form-modal .modal-close{flex-basis:33px;width:33px;height:33px}.hostel-form-modal .form-error{margin:10px 16px 0;padding:9px 11px;font-size:12px}.hostel-form-modal .hostel-form{padding:16px 16px 0}.hostel-form-modal .form-section{gap:14px;padding-bottom:17px}.hostel-form-modal .form-section+.form-section{padding-top:16px}.hostel-form-modal .form-section-title{gap:9px}.hostel-form-modal .form-section-title>svg{flex-basis:31px;width:31px;height:31px;padding:7px}.hostel-form-modal .form-section-title h3{font-size:13.5px}.hostel-form-modal .form-section-title p{font-size:11px}.hostel-form-modal .form-grid{gap:13px 12px}.hostel-form-modal .form-group{gap:6px}.hostel-form-modal .form-group label{font-size:12px}.hostel-form-modal .form-group input,.hostel-form-modal .form-group textarea,.hostel-form-modal .form-group select{padding:9px 10px;font-size:12.5px}.hostel-form-modal .form-group input,.hostel-form-modal .form-group select{height:39px}.hostel-form-modal .form-group textarea{min-height:60px}.hostel-form-modal .form-actions{padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));gap:8px;margin-left:-16px;margin-right:-16px}.hostel-form-modal .cancel-button,.hostel-form-modal .save-button{min-height:39px;padding:9px 13px;font-size:12px}.hostel-page{padding:16px}.hostel-page .hostel-header{align-items:flex-start;gap:12px;margin-bottom:17px}.hostel-page .hostel-title-section{align-items:flex-start;gap:11px}.hostel-page .hostel-title-icon{border-radius:11px;flex-basis:42px;width:42px;height:42px;font-size:20px}.hostel-page .page-breadcrumb{margin-bottom:4px;font-size:11px}.hostel-page .hostel-title-section h1{letter-spacing:-.4px;font-size:22px}.hostel-page .hostel-title-section p{margin-top:5px;font-size:12px}.hostel-page .add-button{min-height:40px;padding:10px 12px;font-size:12px}.hostel-page .hostel-structure-info{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;justify-content:flex-start;gap:9px;margin-bottom:17px;padding:11px 12px;overflow-x:auto}.hostel-page .hostel-structure-info::-webkit-scrollbar{height:4px}.hostel-page .hostel-structure-info::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.hostel-page .structure-step{flex:none;padding:8px 10px;font-size:11.5px}.hostel-page .structure-arrow{flex:none}.hostel-page .hostel-toolbar{margin-bottom:16px}.hostel-page .search-box{max-width:none;min-height:43px}.hostel-page .search-box input{height:41px;font-size:12.5px}.hostel-page .hostels-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hostel-page .hostel-card{border-radius:11px;padding:14px}.hostel-page .hostel-card-top{margin-bottom:14px}.hostel-page .hostel-icon{flex-basis:39px;width:39px;height:39px;font-size:19px}.hostel-page .status-badge{padding:5px 7px;font-size:9px}.hostel-page .hostel-card-content h2{font-size:15px}.hostel-page .hostel-description{font-size:11.5px}.hostel-page .hostel-location{gap:6px;font-size:11.5px}.hostel-page .hostel-stats{gap:7px;margin-top:16px;padding:12px 0}.hostel-page .hostel-stat strong{font-size:16px}.hostel-page .hostel-stat span{font-size:10.5px}.hostel-page .hostel-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;gap:6px;margin-top:12px}.hostel-page .hostel-card-actions button{min-height:37px;padding:7px 8px;font-size:11px}.hostel-page .hostel-card-actions svg{width:14px;height:14px}.hostel-page .empty-state{min-height:260px;padding:30px 18px}.hostel-page .hostel-confirm-modal{max-width:400px;padding:24px 20px 20px}.hostel-details-page{padding:16px}.hostel-details-page .details-header{flex-wrap:wrap;align-items:flex-start;gap:15px;margin-bottom:18px}.hostel-details-page .details-title-section{flex:100%;align-items:flex-start;gap:10px}.hostel-details-page .details-title-section>.back-button{flex-basis:36px;width:36px;min-height:36px}.hostel-details-page .details-title-icon{border-radius:10px;flex-basis:39px;width:39px;height:39px;font-size:19px}.hostel-details-page .page-breadcrumb{font-size:10.5px}.hostel-details-page .details-heading h1{letter-spacing:-.3px;font-size:21px}.hostel-details-page .details-subtitle{gap:7px;margin-top:7px;font-size:11.5px}.hostel-details-page .details-header>.edit-button{width:100%;min-height:40px}.hostel-details-page .hostel-summary-grid{gap:11px;margin-bottom:17px}.hostel-details-page .hostel-summary-card{border-radius:10px;gap:10px;min-height:83px;padding:13px}.hostel-details-page .hostel-summary-icon{border-radius:9px;flex-basis:36px;width:36px;height:36px;font-size:17px}.hostel-details-page .hostel-summary-content{gap:5px}.hostel-details-page .hostel-summary-content span{font-size:11px}.hostel-details-page .hostel-summary-content strong{font-size:21px}.hostel-details-page .details-grid{gap:14px;margin-bottom:17px}.hostel-details-page .details-card{border-radius:11px;padding:17px}.hostel-details-page .details-card-header{gap:10px;padding-bottom:15px}.hostel-details-page .details-card-header h2{font-size:15px}.hostel-details-page .details-card-header p{font-size:11px}.hostel-details-page .details-card-icon{flex-basis:35px;width:35px;height:35px;font-size:17px}.hostel-details-page .information-item{gap:12px;padding:11px 0}.hostel-details-page .information-item>span,.hostel-details-page .information-item>strong{font-size:11.5px}.hostel-details-page .information-item>span{flex-basis:35%}.hostel-details-page .address-details{gap:9px;padding:15px 0}.hostel-details-page .address-details p{font-size:12px}.hostel-details-page .location-summary{padding:12px}.hostel-details-page .location-summary strong{font-size:11.5px}.hostel-details-page .location-summary span{font-size:11px}.hostel-details-page .structure-section{border-radius:11px;padding:17px}.hostel-details-page .structure-header{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:17px}.hostel-details-page .structure-header h2{font-size:17px}.hostel-details-page .structure-header p{font-size:11.5px}.hostel-details-page .structure-button{width:100%;min-height:41px}.hostel-details-page .hierarchy-item{border-radius:9px;gap:11px;min-height:68px;padding:11px 12px}.hostel-details-page .hierarchy-icon{border-radius:9px;flex-basis:37px;width:37px;height:37px;font-size:18px}.hostel-details-page .hierarchy-content{gap:4px}.hostel-details-page .hierarchy-content strong{font-size:12px}.hostel-details-page .hierarchy-content span{font-size:11px}.hostel-details-page .hierarchy-arrow{flex-basis:27px;height:27px;font-size:17px}.hostel-details-page .hierarchy-current{padding:5px 7px;font-size:9px}.hostel-details-page .details-state{min-height:270px;padding:35px 20px}.hostel-details-page .details-state h2{font-size:19px}.hostel-details-page .details-state>p{font-size:12px}}@media (width<=480px){.modal-overlay{padding:calc(var(--navbar-height,72px) + 6px) 8px 8px}.hostel-form-modal{max-height:calc(100dvh - var(--navbar-height,72px) - 14px);border-radius:11px}.hostel-form-modal .modal-header{padding:12px}.hostel-form-modal .modal-title{gap:8px}.hostel-form-modal .modal-icon{flex-basis:34px;width:34px;height:34px;font-size:17px}.hostel-form-modal .modal-title h2{letter-spacing:-.2px;font-size:16px}.hostel-form-modal .modal-title p{max-width:230px;font-size:10.5px}.hostel-form-modal .modal-close{flex-basis:31px;width:31px;height:31px;font-size:17px}.hostel-form-modal .form-error{margin:9px 12px 0;font-size:11.5px}.hostel-form-modal .hostel-form{padding:14px 12px 0}.hostel-form-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.hostel-form-modal .form-section{gap:12px;padding-bottom:15px}.hostel-form-modal .form-section+.form-section{padding-top:14px}.hostel-form-modal .form-group label{font-size:11.5px}.hostel-form-modal .form-group input,.hostel-form-modal .form-group textarea,.hostel-form-modal .form-group select{border-radius:7px;padding:9px;font-size:12px}.hostel-form-modal .form-group input,.hostel-form-modal .form-group select{height:38px}.hostel-form-modal .form-group textarea{min-height:55px}.hostel-form-modal .form-actions{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom));margin-left:-12px;margin-right:-12px}.hostel-form-modal .cancel-button,.hostel-form-modal .save-button{gap:6px;min-height:38px;padding:9px 10px;font-size:11.5px}.hostel-page{padding:12px}.hostel-page .hostel-header{flex-wrap:wrap;align-items:center;gap:12px}.hostel-page .hostel-title-section{flex:100%}.hostel-page .hostel-title-icon{flex-basis:39px;width:39px;height:39px;font-size:19px}.hostel-page .hostel-title-section h1{font-size:21px}.hostel-page .hostel-title-section p{max-width:100%;font-size:11.5px}.hostel-page .add-button{width:100%;min-height:42px}.hostel-page .hostel-structure-info{border-radius:10px;gap:8px;padding:10px}.hostel-page .structure-step{padding:8px 9px;font-size:11px}.hostel-page .hostel-toolbar{margin-bottom:14px}.hostel-page .search-box{padding:0 11px}.hostel-page .search-box input{font-size:12px}.hostel-page .hostels-grid{grid-template-columns:minmax(0,1fr);gap:13px}.hostel-page .hostel-card{padding:16px}.hostel-page .hostel-card-top{margin-bottom:13px}.hostel-page .hostel-card-content h2{font-size:16px}.hostel-page .hostel-description{-webkit-line-clamp:4}.hostel-page .hostel-stats{margin-top:15px}.hostel-page .hostel-stat strong{font-size:17px}.hostel-page .hostel-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:8px}.hostel-page .hostel-card-actions button{min-height:40px;padding:8px 10px;font-size:11.5px}.hostel-page .empty-state{min-height:250px;padding:27px 16px}.hostel-page .empty-state .empty-icon{width:57px;height:57px;font-size:26px}.hostel-page .empty-state h2{font-size:17px}.hostel-page .empty-state p{font-size:12px}.hostel-page .empty-state .empty-add-button{white-space:normal;width:100%;max-width:280px}.hostel-page .hostel-confirm-overlay{padding:14px}.hostel-page .hostel-confirm-modal{border-radius:13px;padding:22px 16px 17px}.hostel-page .hostel-confirm-icon{width:50px;height:50px;font-size:22px}.hostel-page .hostel-confirm-content h2{font-size:18px}.hostel-page .hostel-confirm-content p{font-size:12.5px}.hostel-page .hostel-confirm-actions{gap:8px;margin-top:20px}.hostel-page .hostel-confirm-actions button{min-height:40px;padding:9px 10px;font-size:11.5px}.hostel-details-page{padding:12px}.hostel-details-page .details-header{gap:12px}.hostel-details-page .details-title-section{gap:8px}.hostel-details-page .details-title-section>.back-button{border-radius:8px;flex-basis:33px;width:33px;min-height:33px}.hostel-details-page .details-title-section>.back-button svg{width:17px;height:17px}.hostel-details-page .details-title-icon{flex-basis:34px;width:34px;height:34px;font-size:17px}.hostel-details-page .page-breadcrumb{margin-bottom:4px;font-size:9.5px}.hostel-details-page .details-heading h1{font-size:19px}.hostel-details-page .details-subtitle{font-size:10.5px}.hostel-details-page .status-badge{padding:4px 7px;font-size:9px}.hostel-details-page .details-header>.edit-button{min-height:39px;padding:9px 12px;font-size:11.5px}.hostel-details-page .hostel-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.hostel-details-page .hostel-summary-card{gap:9px;min-height:77px;padding:11px}.hostel-details-page .hostel-summary-icon{flex-basis:32px;width:32px;height:32px;font-size:15px}.hostel-details-page .hostel-summary-content{gap:5px}.hostel-details-page .hostel-summary-content span{font-size:10px}.hostel-details-page .hostel-summary-content strong{font-size:20px}.hostel-details-page .details-grid{gap:12px;margin-bottom:14px}.hostel-details-page .details-card{padding:14px}.hostel-details-page .details-card-header{align-items:flex-start;gap:9px;padding-bottom:13px}.hostel-details-page .details-card-header h2{font-size:14px}.hostel-details-page .details-card-header p{font-size:10.5px}.hostel-details-page .details-card-icon{flex-basis:32px;width:32px;height:32px;font-size:16px}.hostel-details-page .information-item{gap:9px;padding:10px 0}.hostel-details-page .information-item>span{flex-basis:37%;font-size:10.5px}.hostel-details-page .information-item>strong{font-size:10.5px}.hostel-details-page .address-details{padding:13px 0}.hostel-details-page .address-details p{font-size:11.5px}.hostel-details-page .location-summary{gap:9px;padding:10px}.hostel-details-page .location-summary>svg{width:16px;height:16px}.hostel-details-page .location-summary strong{font-size:11px}.hostel-details-page .location-summary span{font-size:10.5px}.hostel-details-page .structure-section{padding:14px}.hostel-details-page .structure-header{gap:12px;margin-bottom:14px}.hostel-details-page .structure-header h2{font-size:16px}.hostel-details-page .structure-header p{font-size:11px;line-height:1.65}.hostel-details-page .section-label{font-size:9px}.hostel-details-page .structure-button{gap:7px;min-height:39px;padding:9px 12px;font-size:11.5px}.hostel-details-page .hierarchy-item{gap:9px;min-height:62px;padding:10px}.hostel-details-page .hierarchy-icon{flex-basis:32px;width:32px;height:32px;font-size:16px}.hostel-details-page .hierarchy-content strong{font-size:11.5px}.hostel-details-page .hierarchy-content span{font-size:10px}.hostel-details-page .hierarchy-current{padding:4px 6px;font-size:9px}.hostel-details-page .hierarchy-chevron{width:16px;height:16px}.hostel-details-page .hierarchy-arrow{flex-basis:24px;height:24px}.hostel-details-page .details-state{border-radius:12px;min-height:240px;padding:28px 15px}.hostel-details-page .details-state h2{font-size:17px}.hostel-details-page .details-state>p{font-size:11.5px}.hostel-details-page .details-state-actions{flex-direction:column;width:100%}.hostel-details-page .details-state-actions button{width:100%}}@media (width<=360px){.hostel-form-modal .form-grid{grid-template-columns:minmax(0,1fr)}.hostel-form-modal .form-group.full-width{grid-column:auto}.hostel-form-modal .form-actions{gap:7px}.hostel-form-modal .cancel-button,.hostel-form-modal .save-button{flex:1;min-width:0;padding-left:7px;padding-right:7px;font-size:11px}.hostel-page{padding:9px}.hostel-page .hostel-title-section{gap:9px}.hostel-page .hostel-title-icon{flex-basis:35px;width:35px;height:35px;font-size:17px}.hostel-page .hostel-title-section h1{font-size:19px}.hostel-page .hostel-title-section p{font-size:11px}.hostel-page .hostel-structure-info{gap:7px;padding:9px}.hostel-page .structure-step{padding:7px 8px;font-size:10.5px}.hostel-page .hostel-card{padding:13px}.hostel-page .hostel-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:5px}.hostel-page .hostel-card-actions button{gap:4px;padding:7px 5px;font-size:10.5px}.hostel-page .hostel-confirm-actions{flex-direction:column-reverse}.hostel-page .hostel-confirm-actions button{flex:auto;width:100%}.hostel-details-page{padding:9px}.hostel-details-page .details-title-section{gap:6px}.hostel-details-page .details-title-section>.back-button{flex-basis:30px;width:30px;min-height:30px}.hostel-details-page .details-title-icon{flex-basis:30px;width:30px;height:30px;font-size:15px}.hostel-details-page .details-heading h1{font-size:17px}.hostel-details-page .page-breadcrumb{font-size:9px}.hostel-details-page .hostel-summary-grid{gap:7px}.hostel-details-page .hostel-summary-card{gap:7px;padding:9px}.hostel-details-page .hostel-summary-icon{flex-basis:28px;width:28px;height:28px;font-size:14px}.hostel-details-page .hostel-summary-content span{font-size:9px}.hostel-details-page .hostel-summary-content strong{font-size:18px}.hostel-details-page .details-card{padding:11px}.hostel-details-page .information-item{gap:7px}.hostel-details-page .information-item>span,.hostel-details-page .information-item>strong{font-size:10px}.hostel-details-page .structure-section{padding:11px}.hostel-details-page .hierarchy-item{gap:7px;padding:9px 8px}.hostel-details-page .hierarchy-icon{flex-basis:29px;width:29px;height:29px;font-size:14px}.hostel-details-page .hierarchy-content strong{font-size:11px}.hostel-details-page .hierarchy-content span{font-size:9.5px}.hostel-details-page .hierarchy-current{padding:4px 5px;font-size:8px}}@media (width>=768px) and (height<=650px){.modal-overlay{padding-top:calc(var(--navbar-height,72px) + 6px);padding-bottom:8px}.hostel-form-modal{max-height:calc(100dvh - var(--navbar-height,72px) - 14px)}.hostel-form-modal .modal-header{padding-top:11px;padding-bottom:11px}.hostel-form-modal .hostel-form{padding-top:12px}.hostel-form-modal .form-section{gap:11px;padding-bottom:13px}.hostel-form-modal .form-section+.form-section{padding-top:12px}.hostel-form-modal .form-grid{gap:10px 16px}.hostel-form-modal .form-group{gap:5px}.hostel-form-modal .form-group input,.hostel-form-modal .form-group select{height:37px}.hostel-form-modal .form-group textarea{min-height:48px}.hostel-form-modal .form-actions{padding-top:10px;padding-bottom:10px}.hostel-page .hostel-header{margin-bottom:15px}.hostel-page .hostel-structure-info{margin-bottom:15px;padding-top:10px;padding-bottom:10px}.hostel-page .hostel-toolbar{margin-bottom:15px}.hostel-page .hostel-card{padding:15px}.hostel-page .hostel-card-top{margin-bottom:12px}.hostel-page .hostel-stats{margin-top:14px;padding:10px 0}.hostel-details-page .details-header,.hostel-details-page .hostel-summary-grid{margin-bottom:16px}.hostel-details-page .hostel-summary-card{min-height:82px;padding:13px}.hostel-details-page .details-grid{margin-bottom:16px}.hostel-details-page .details-card{padding:16px}.hostel-details-page .structure-section{padding:18px}.hostel-details-page .hierarchy-item{min-height:64px;padding:10px 13px}}@media (prefers-reduced-motion:reduce){.modal-overlay,.hostel-form-modal,.hostel-page *,.hostel-page :before,.hostel-page :after,.hostel-details-page *,.hostel-details-page :before,.hostel-details-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.buildings-page{box-sizing:border-box;background:#f6f7fb;width:100%;min-height:100%;padding:24px;overflow-x:hidden}.buildings-page .page-header{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1400px;margin:0 auto 24px;display:flex}.buildings-page .page-header-left{align-items:flex-start;gap:14px;min-width:0;display:flex}.buildings-page .page-header-left>div:last-child{min-width:0}.buildings-page .page-breadcrumb{color:#9ca3af;margin-bottom:6px;font-size:12px;font-weight:500;line-height:1.5}.buildings-page .page-header h1{color:#111827;overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:700;line-height:1.25}.buildings-page .page-header p{color:#6b7280;margin:7px 0 0;font-size:14px;line-height:1.5}.buildings-page .back-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.buildings-page .back-button svg{flex-shrink:0;width:18px;height:18px}.buildings-page .back-button:hover{color:#111827;background:#f9fafb;border-color:#9ca3af;transform:translate(-2px);box-shadow:0 3px 10px #0f172a14}.buildings-page .back-button:active{transform:translate(-1px)}.buildings-page .back-button:focus-visible{outline-offset:2px;outline:3px solid #3b82f62e}.add-building-button{color:#fff;cursor:pointer;white-space:nowrap;background:#111827;border:1px solid #111827;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:inline-flex}.add-building-button svg{flex-shrink:0;width:17px;height:17px}.add-building-button:hover{background:#1f2937;border-color:#1f2937;box-shadow:0 4px 12px #11182726}.add-building-button:active{transform:scale(.97)}.add-building-button:focus-visible{outline-offset:2px;outline:3px solid #3b82f62e}.building-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1400px;margin:0 auto 20px;display:grid}.summary-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:13px;align-items:center;gap:14px;min-width:0;min-height:92px;padding:18px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 2px #0f172a08}.summary-card:hover{border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 5px 18px #0f172a0d}.summary-icon{color:#374151;background:#f3f4f6;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.summary-card span{color:#6b7280;margin-bottom:5px;font-size:12px;font-weight:500;line-height:1.4;display:block}.summary-card strong{color:#111827;font-size:24px;font-weight:700;line-height:1.1;display:block}.building-toolbar{align-items:center;gap:12px;max-width:1400px;margin:0 auto 20px;display:flex}.building-toolbar input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:9px;outline:none;width:100%;max-width:440px;height:42px;padding:0 13px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.building-toolbar input::placeholder{color:#9ca3af}.building-toolbar input:hover{border-color:#d1d5db}.building-toolbar input:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #6b728014}.refresh-button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.spinning,.icon-spin{animation:1s linear infinite building-spin}@keyframes building-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.buildings-page .page-error{color:#b91c1c;box-sizing:border-box;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;max-width:1400px;margin:0 auto 20px;padding:13px 16px;font-size:14px;line-height:1.5;display:flex}.buildings-container{max-width:1400px;margin:0 auto}.loading-state{color:#6b7280;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;display:flex}.loading-state svg{width:28px;height:28px}.loading-state p{margin:0;font-size:14px}.buildings-page .empty-state{text-align:center;box-sizing:border-box;background:#fff;border:1px dashed #d1d5db;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:40px 24px;display:flex}.empty-icon{color:#6b7280;background:#f3f4f6;border-radius:13px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:14px;display:flex}.buildings-page .empty-state h3{color:#111827;margin:0 0 7px;font-size:18px;font-weight:700;line-height:1.3}.buildings-page .empty-state p{color:#6b7280;max-width:450px;margin:0 0 20px;font-size:14px;line-height:1.5}.buildings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.buildings-page .building-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;min-width:0;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 2px #0f172a08}.buildings-page .building-card:hover{border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 8px 24px #1118270f}.building-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.building-icon{color:#374151;background:#f3f4f6;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.building-icon svg{width:21px;height:21px}.buildings-page .status-badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:25px;padding:5px 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.buildings-page .status-badge.active{color:#047857;background:#ecfdf5}.buildings-page .status-badge.inactive{color:#b91c1c;background:#fef2f2}.building-card-content{flex:1;min-width:0}.buildings-page .building-card-content h3{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.35;overflow:hidden}.building-code{color:#4b5563;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;background:#f3f4f6;border-radius:6px;max-width:100%;margin-bottom:13px;padding:5px 8px;font-size:12px;font-weight:600;display:inline-block;overflow:hidden}.building-address{color:#6b7280;align-items:flex-start;gap:7px;margin-bottom:10px;font-size:13px;line-height:1.5;display:flex}.building-address svg{flex-shrink:0;width:15px;height:15px;margin-top:2px}.building-address span{word-break:break-word;min-width:0}.buildings-page .building-card-content>p{-webkit-line-clamp:3;color:#6b7280;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.building-card-footer{border-top:1px solid #f3f4f6;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.view-button,.edit-button,.delete-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.view-button svg,.edit-button svg,.delete-button svg{flex-shrink:0;width:14px;height:14px}.view-button:hover,.edit-button:hover{color:#111827;background:#f9fafb;border-color:#d1d5db}.view-button:active,.edit-button:active,.delete-button:active{transform:scale(.96)}.delete-button{color:#b91c1c;width:34px;padding:7px}.delete-button:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.building-modal-overlay{z-index:1000;box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1118278c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.building-modal{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #1118272e}.building-modal-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;display:flex}.building-modal-header>div{min-width:0}.building-modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:700;line-height:1.3}.building-modal-header p{color:#6b7280;margin:5px 0 0;font-size:13px;line-height:1.4}.building-form{box-sizing:border-box;flex-direction:column;gap:18px;padding:22px;display:flex;overflow-y:auto}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:11px 13px;font-size:13px;line-height:1.5}.building-form .form-group{flex-direction:column;gap:7px;min-width:0;display:flex}.building-form .form-group label{color:#374151;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.building-form .form-group label svg{color:#6b7280;flex-shrink:0;width:15px;height:15px}.building-form .form-group input,.building-form .form-group textarea{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.building-form .form-group input{height:42px}.building-form .form-group textarea{resize:vertical;min-height:100px;line-height:1.5}.building-form .form-group input::placeholder,.building-form .form-group textarea::placeholder{color:#9ca3af}.building-form .form-group input:hover,.building-form .form-group textarea:hover{border-color:#9ca3af}.building-form .form-group input:focus,.building-form .form-group textarea:focus{border-color:#6b7280;box-shadow:0 0 0 3px #6b72801a}.building-form .form-group input:disabled,.building-form .form-group textarea:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.building-form-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.btn-secondary,.btn-primary{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.btn-secondary svg,.btn-primary svg{flex-shrink:0;width:15px;height:15px}.btn-secondary:active:not(:disabled),.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.building-details{box-sizing:border-box;background:#f6f7fb;width:100%;min-height:100%;padding:24px;overflow-x:hidden}.building-details__header{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1400px;margin:0 auto 24px;display:flex}.building-details__header-left{align-items:flex-start;gap:14px;min-width:0;display:flex}.building-details__header-left>div:last-child{min-width:0}.building-details .back-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.building-details .back-button svg{width:18px;height:18px}.building-details .back-button:hover{color:#111827;background:#f9fafb;border-color:#9ca3af;transform:translate(-2px);box-shadow:0 3px 10px #0f172a14}.building-details .back-button:active{transform:translate(-1px)}.building-details .back-button:focus-visible{outline-offset:2px;outline:3px solid #3b82f62e}.building-details .breadcrumb{color:#9ca3af;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;font-size:12px;line-height:1.5;display:flex}.building-details .breadcrumb strong{color:#6b7280;overflow-wrap:anywhere;font-weight:600}.building-details__title-row{align-items:center;gap:12px;min-width:0;display:flex}.building-details__title-icon{color:#374151;background:#f3f4f6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.building-details__title-icon svg{width:23px;height:23px}.building-details__title-row>div:last-child{min-width:0}.building-details__title-row h1{color:#111827;overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:700;line-height:1.2}.building-details__title-row p{color:#6b7280;margin:6px 0 0;font-size:13px;line-height:1.5}.building-details__title-row p strong{color:#374151}.building-details__header-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.building-details .btn{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.building-details .btn svg{flex-shrink:0;width:15px;height:15px}.building-details .btn:active:not(:disabled){transform:scale(.97)}.building-details .btn:disabled{opacity:.6;cursor:not-allowed}.building-details .btn--secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.building-details .btn--secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.building-details .btn--primary{color:#fff;background:#111827;border:1px solid #111827}.building-details .btn--primary:hover:not(:disabled){background:#1f2937;border-color:#1f2937}.building-details__overview{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;max-width:1400px;margin:0 auto;display:grid}.building-details .building-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-width:0;padding:22px;box-shadow:0 1px 2px #0f172a08}.building-details .building-card--main{min-height:100%}.building-details .building-card__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.section-label{color:#9ca3af;letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:700;line-height:1.3;display:block}.building-details .building-card__header h2,.building-details .building-card__header h3{color:#111827;margin:0;font-weight:700}.building-details .building-card__header h2{font-size:19px;line-height:1.3}.building-details .building-card__header h3{font-size:17px;line-height:1.3}.building-details .status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:25px;padding:6px 10px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.building-details .status-badge svg{width:14px;height:14px}.building-details .status-badge--active{color:#047857;background:#ecfdf5}.building-details .status-badge--inactive{color:#b91c1c;background:#fef2f2}.building-card__body{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.info-item{align-items:flex-start;gap:11px;min-width:0;display:flex}.info-item__icon{color:#6b7280;background:#f3f4f6;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.info-item__icon svg{width:16px;height:16px}.info-item>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.info-item span{color:#9ca3af;font-size:11px;font-weight:500}.info-item strong{color:#111827;word-break:break-word;font-size:13px;font-weight:600;line-height:1.45}.building-card__description{color:#6b7280;font-size:14px;line-height:1.7}.building-card__description p{overflow-wrap:anywhere;margin:0}.building-card__description .muted{color:#9ca3af}.building-details .building-card--system{max-width:1400px;margin:18px auto 0}.system-info{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;display:grid}.system-info>div{border-right:1px solid #f3f4f6;flex-direction:column;gap:5px;min-width:0;padding-right:18px;display:flex}.system-info>div:last-child{border-right:none;padding-right:0}.system-info span{color:#9ca3af;font-size:11px;font-weight:500}.system-info strong{color:#111827;word-break:break-word;font-size:13px;font-weight:600;line-height:1.45}.building-details__loading{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:400px;display:flex}.building-details__loading p{color:#6b7280;margin:0;font-size:14px}.building-details__spinner{border:3px solid #e5e7eb;border-top-color:#374151;border-radius:50%;width:30px;height:30px;animation:.8s linear infinite building-spin}.building-details__error,.building-details__empty{text-align:center;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;max-width:600px;min-height:300px;margin:60px auto;padding:40px 24px;display:flex}.building-details__error{border-color:#fecaca}.building-details__error>svg{color:#dc2626;margin-bottom:12px}.building-details__empty>svg{color:#6b7280;margin-bottom:12px}.building-details__error h3,.building-details__empty h3{color:#111827;margin:0 0 7px;font-size:18px;font-weight:700;line-height:1.3}.building-details__error p,.building-details__empty p{color:#6b7280;overflow-wrap:anywhere;max-width:480px;margin:0 0 20px;font-size:14px;line-height:1.5}.building-details__error-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.building-confirm-overlay{z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-sizing:border-box;background:#11182799;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.building-confirm-modal{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;max-width:420px;padding:26px;animation:.2s ease-out building-confirm-appear;box-shadow:0 20px 60px #0000002e}.building-confirm-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.building-confirm-icon svg{width:24px;height:24px}.building-confirm-content h2{color:#111827;margin:0 0 12px;font-size:21px;font-weight:700;line-height:1.4}.building-confirm-content p{color:#4b5563;overflow-wrap:anywhere;margin:0 0 12px;font-size:14px;line-height:1.7}.building-confirm-content p strong{color:#111827}.building-confirm-content span{color:#6b7280;font-size:13px;line-height:1.6;display:block}.building-confirm-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.building-confirm-actions .btn-secondary,.building-confirm-actions .building-confirm-danger{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.building-confirm-actions .btn-secondary:disabled,.building-confirm-actions .building-confirm-danger:disabled{opacity:.6;cursor:not-allowed}.building-confirm-actions .btn-secondary:focus-visible,.building-confirm-actions .building-confirm-danger:focus-visible{outline-offset:2px;outline:3px solid #3b82f640}.building-confirm-actions .btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.building-confirm-actions .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.building-confirm-actions .building-confirm-danger{color:#fff;background:#dc2626;border:1px solid #dc2626}.building-confirm-actions .building-confirm-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.building-confirm-actions .building-confirm-danger svg{flex-shrink:0;width:15px;height:15px}@keyframes building-confirm-appear{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.building-confirm-overlay{padding:14px}.building-confirm-modal{padding:20px}.building-confirm-content h2{font-size:19px}.building-confirm-actions{flex-direction:column-reverse}.building-confirm-actions button{width:100%}}@media (width<=1200px){.buildings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-details__overview{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.system-info{grid-template-columns:repeat(3,minmax(0,1fr))}.system-info>div:nth-child(3){border-right:none;padding-right:0}}@media (width<=900px){.buildings-page,.building-details{padding:20px}.building-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-card{padding:15px}.summary-icon{width:40px;height:40px}.summary-card strong{font-size:21px}.building-details__overview{grid-template-columns:1fr}.building-card__body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.buildings-page,.building-details{padding:16px}.buildings-page .page-header{flex-direction:column;align-items:stretch;gap:16px}.buildings-page .page-header-left{width:100%}.buildings-page .page-header h1{font-size:26px}.add-building-button{width:100%}.building-summary{grid-template-columns:1fr;gap:10px}.summary-card{min-height:78px}.building-toolbar{align-items:stretch}.building-toolbar input{max-width:none}.buildings-grid{grid-template-columns:1fr;gap:14px}.building-details__header{flex-direction:column;align-items:stretch;gap:18px}.building-details__header-actions{width:100%}.building-details__header-actions .btn{flex:1}.building-details__title-row h1{font-size:26px}.building-card__body{grid-template-columns:1fr}.system-info{grid-template-columns:repeat(2,minmax(0,1fr))}.system-info>div{border-right:none;padding-right:0}.building-details .building-card--system{margin-top:16px}}@media (width<=640px){.building-toolbar{flex-direction:column}.building-toolbar input,.refresh-button{width:100%}.building-details__header-left{gap:10px}.building-details__header-actions{flex-direction:column;align-items:stretch}.building-details__header-actions .btn{flex:none;width:100%}.building-details .building-card__header{flex-direction:column;align-items:flex-start;gap:12px}.building-details .status-badge{align-self:flex-start}}@media (width<=520px){.buildings-page,.building-details{padding:12px}.buildings-page .page-header{margin-bottom:18px}.buildings-page .page-header-left{gap:10px}.buildings-page .page-header h1{font-size:23px}.buildings-page .page-header p{font-size:13px}.buildings-page .page-breadcrumb{font-size:11px}.buildings-page .back-button,.building-details .back-button{width:38px;min-width:38px;height:38px}.building-summary{margin-bottom:14px}.summary-card{padding:14px}.summary-icon{width:38px;height:38px}.summary-icon svg{width:18px;height:18px}.summary-card span{font-size:11px}.summary-card strong{font-size:20px}.buildings-page .building-card{padding:16px}.building-card-top{margin-bottom:15px}.building-card-content h3{font-size:17px}.building-card-footer{flex-wrap:wrap}.view-button,.edit-button{flex:1}.delete-button{flex:0 0 34px}.building-modal-overlay{align-items:flex-start;padding:12px}.building-modal{border-radius:13px;max-height:calc(100vh - 24px)}.building-modal-header{padding:17px}.building-modal-header h2{font-size:18px}.building-modal-header p{font-size:12px}.building-form{gap:16px;padding:17px}.building-form-actions{flex-direction:column-reverse}.building-form-actions button{width:100%}.building-details__title-icon{width:42px;height:42px}.building-details__title-icon svg{width:20px;height:20px}.building-details__title-row{gap:9px}.building-details__title-row h1{font-size:23px}.building-details__title-row p{font-size:12px}.building-details .building-card{padding:17px}.building-details .building-card__header{margin-bottom:17px}.system-info{grid-template-columns:1fr}.building-details__error,.building-details__empty{min-height:260px;margin:30px auto;padding:30px 18px}.building-details__error-actions{flex-direction:column;width:100%}.building-details__error-actions .btn{width:100%}}@media (width<=380px){.buildings-page,.building-details{padding:10px}.buildings-page .page-header-left{gap:8px}.buildings-page .page-header h1,.building-details__title-row h1{font-size:21px}.buildings-page .back-button,.building-details .back-button{width:36px;min-width:36px;height:36px}.summary-card{padding:12px}.buildings-page .building-card{padding:14px}.building-card-footer{gap:6px}.view-button,.edit-button{min-height:36px;padding:7px 8px;font-size:11px}.delete-button{width:36px;min-height:36px}.building-details .building-card{padding:14px}.building-modal-overlay{padding:8px}.building-modal{max-height:calc(100vh - 16px)}.building-modal-header,.building-form{padding:14px}}@media (hover:none){.buildings-page .back-button:hover,.add-building-button:hover,.refresh-button:hover,.buildings-page .building-card:hover{transform:none}}@media (prefers-reduced-motion:reduce){.buildings-page .back-button,.add-building-button,.refresh-button,.buildings-page .building-card,.view-button,.edit-button,.delete-button,.btn-primary,.btn-secondary{transition:none}.spinning,.icon-spin,.building-details__spinner,.building-confirm-modal{animation:none}.building-confirm-actions button{transition:none}}.floors-page,.floor-details-page,.floors-page *,.floor-details-page *{box-sizing:border-box}.floors-page,.floor-details-page{background:#f7f8fa;width:100%;min-width:0;min-height:100vh;padding:24px;overflow-x:hidden}.floors-page button:focus-visible,.floor-details-page button:focus-visible,.floor-form button:focus-visible{outline-offset:2px;outline:3px solid #11182724}.floors-header{justify-content:space-between;align-items:flex-start;gap:24px;width:100%;margin-bottom:24px;display:flex}.floors-title-section{align-items:flex-start;gap:14px;min-width:0;display:flex}.floors-title-section>div{min-width:0}.floors-title-section h1{color:#111827;letter-spacing:-.02em;margin:4px 0 6px;font-size:28px;font-weight:700;line-height:1.2}.floors-title-section p{color:#6b7280;margin:0;font-size:14px;line-height:1.5}.page-breadcrumb{color:#9ca3af;margin-bottom:5px;font-size:12px;font-weight:500;line-height:1.4}.add-button{color:#fff;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.add-button:hover{background:#1f2937;border-color:#1f2937}.add-button:active{transform:translateY(1px)}.add-button svg{width:16px;height:16px}.floors-toolbar{grid-template-columns:minmax(260px,1fr) 220px auto;align-items:center;gap:12px;width:100%;margin-bottom:20px;display:grid}.search-box{width:100%;min-width:0;height:42px;box-shadow:none;background:#fff;border:1px solid #e5e7eb;border-radius:9px;outline:none;align-items:center;gap:12px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.search-box:focus-within{background:#fff;border-color:#9ca3af;box-shadow:0 0 0 3px #6b728014}.search-box>svg{color:#9ca3af;pointer-events:none;flex-shrink:0;width:16px;min-width:16px;height:16px;display:block}.search-box input{color:#111827;vertical-align:middle;flex:auto;width:100%;min-width:0;height:100%;font-family:inherit;font-size:13px;line-height:normal;display:block;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;outline:none!important;margin:0!important;padding:0!important}.search-box input:focus,.search-box input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.search-box input::placeholder{color:#9ca3af;opacity:1}.floor-status-filter{width:100%;min-width:0}.floor-select{width:100%}.floor-select__control{min-height:42px!important;box-shadow:none!important;cursor:pointer!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:9px!important}.floor-select__control:hover{border-color:#d1d5db!important}.floor-select__control--is-focused{border-color:#9ca3af!important;box-shadow:0 0 0 3px #6b728014!important}.floor-select__value-container{padding:2px 12px!important}.floor-select__single-value{font-weight:500;color:#374151!important;font-size:13px!important}.floor-select__placeholder{color:#9ca3af!important;font-size:13px!important}.floor-select__indicator-separator{display:none}.floor-select__dropdown-indicator{color:#6b7280!important}.floor-select__dropdown-indicator:hover{color:#111827!important}.floor-select__menu{border:1px solid #e5e7eb;border-radius:9px;overflow:hidden;box-shadow:0 12px 28px #1118271f;z-index:1100!important;margin-top:5px!important}.floor-select__option{color:#374151;cursor:pointer;padding:10px 12px;font-size:13px}.floor-select__option--is-focused{color:#111827!important;background:#f3f4f6!important}.floor-select__option--is-selected{color:#fff!important;background:#111827!important}.refresh-button{color:#374151;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-width:104px;min-height:42px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;display:inline-flex}.refresh-button:focus-visible{outline-offset:2px;outline:3px solid #6b72802e}.refresh-button svg{flex-shrink:0;width:15px;height:15px;display:block}@keyframes floor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-error{box-sizing:border-box;color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;width:100%;margin-bottom:20px;padding:13px 15px;font-size:13px;line-height:1.5}.details-retry-button{color:#be123c;cursor:pointer;background:#fff;border:1px solid #fecdd3;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 13px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.details-retry-button:hover{background:#fff7f7;border-color:#fda4af}.details-retry-button svg{width:14px;height:14px}.page-loading{box-sizing:border-box;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:280px;font-size:14px;display:flex}.empty-state{box-sizing:border-box;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:320px;padding:40px 20px;display:flex}.empty-state>svg{box-sizing:content-box;color:#6b7280;background:#f3f4f6;border-radius:50%;width:46px;height:46px;margin-bottom:14px;padding:13px}.empty-state h2{color:#111827;margin:0 0 7px;font-size:18px;font-weight:650}.empty-state p{color:#6b7280;margin:0 0 18px;font-size:13px}.empty-state button{color:#fff;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,transform .15s;display:inline-flex}.empty-state button:active{transform:translateY(1px)}.floors-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;width:100%;display:grid}.floor-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;min-width:0;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.floor-card:hover{border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 6px 20px #1118270f}.floor-card-top{justify-content:space-between;align-items:center;gap:12px;padding:18px 18px 0;display:flex}.floor-icon{color:#374151;background:#f3f4f6;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.floor-icon svg{width:20px;height:20px}.status-badge{text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-width:60px;padding:5px 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.floor-card-content{flex:1;min-width:0;padding:18px}.floor-card-content .floor-number{color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.floor-card-content h3{color:#111827;overflow-wrap:anywhere;margin:0 0 7px;font-size:18px;font-weight:700;line-height:1.35}.floor-card-content .floor-code{color:#4b5563;overflow-wrap:anywhere;background:#f3f4f6;border-radius:5px;max-width:100%;margin:0 0 9px;padding:4px 7px;font-family:Consolas,Courier New,monospace;font-size:11px;font-weight:600;display:inline-flex}.floor-card-content .floor-description{color:#6b7280;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.floor-card-actions{border-top:1px solid #f0f1f3;align-items:center;gap:7px;padding:13px 14px;display:flex}.floor-card-actions button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.floor-card-actions button:first-child{flex:1}.floor-card-actions button:hover{color:#111827;background:#f9fafb;border-color:#d1d5db}.floor-card-actions button.danger{color:#be123c;width:36px;padding:0}.floor-card-actions button.danger:hover{color:#be123c;background:#fff1f2;border-color:#fecdd3}.floor-card-actions button svg{width:14px;height:14px}.floor-confirm-overlay{z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1118277a;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out floor-confirm-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes floor-confirm-overlay-in{0%{opacity:0}to{opacity:1}}.floor-confirm-modal{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(460px,100%);padding:24px;animation:.2s ease-out floor-confirm-modal-in;box-shadow:0 25px 70px #0000002e}@keyframes floor-confirm-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.floor-confirm-icon{color:#be123c;background:#fff1f2;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.floor-confirm-icon svg{width:23px;height:23px}.floor-confirm-content h2{color:#111827;margin:0 0 8px;font-size:19px;font-weight:700}.floor-confirm-content p{color:#6b7280;margin:0;font-size:13px;line-height:1.6}.floor-confirm-content strong{color:#374151}.floor-confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.confirm-danger-button{color:#fff;cursor:pointer;background:#be123c;border:1px solid #be123c;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.confirm-danger-button svg{width:15px;height:15px}.floor-modal-overlay{z-index:1000;background:#1118277a;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out floor-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes floor-overlay-in{0%{opacity:0}to{opacity:1}}.floor-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 48px);animation:.2s ease-out floor-modal-in;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}@keyframes floor-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.floor-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.floor-modal-header h2{color:#111827;margin:0 0 5px;font-size:19px;font-weight:700;line-height:1.3}.floor-modal-header p{color:#6b7280;margin:0;font-size:13px;line-height:1.4}.modal-close-button:hover:not(:disabled){color:#111827;background:#f3f4f6}.modal-close-button svg{width:17px;height:17px}.floor-form{flex-direction:column;gap:18px;padding:22px;display:flex;overflow-y:auto}.form-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;width:100%;padding:11px 13px;font-size:12px;line-height:1.5}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label{color:#374151;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.form-group label svg{color:#6b7280;width:14px;height:14px}.form-group input,.form-group textarea,.form-group select{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input{min-height:42px}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#6b7280;box-shadow:0 0 0 3px #6b72801a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.floor-form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:10px;padding-top:18px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.btn-primary svg,.btn-secondary svg{width:15px;height:15px}.floor-details-page{background:#f7f8fa;width:100%;min-height:100vh;padding:24px}.details-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:14px;margin-bottom:24px;display:grid}.details-header>div{min-width:0}.details-header h1{color:#111827;overflow-wrap:anywhere;margin:4px 0 6px;font-size:26px;font-weight:700;line-height:1.25}.details-header p{color:#6b7280;margin:0;font-size:13px}.details-header>.status-badge{margin-top:2px}.floor-details-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:18px;width:100%;margin-bottom:18px;display:grid}.details-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.details-card-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:9px;padding:17px 19px;display:flex}.details-card-header svg{color:#4b5563;flex-shrink:0;width:18px;height:18px}.details-card-header h2{color:#111827;margin:0;font-size:15px;font-weight:650}.details-row{border-bottom:1px solid #f0f1f3;justify-content:space-between;align-items:center;gap:20px;padding:14px 19px;display:flex}.details-row:last-child{border-bottom:none}.details-row span{color:#6b7280;font-size:13px}.details-row strong{color:#111827;text-align:right;overflow-wrap:anywhere;font-size:13px;font-weight:650}.details-status.active{color:#047857}.details-status.inactive{color:#b91c1c}.details-status.pending{color:#b45309}.parent-location{flex-direction:column;gap:7px;padding:20px;display:flex}.parent-location strong{color:#111827;overflow-wrap:anywhere;font-size:17px;font-weight:700}.parent-location span{color:#4b5563;overflow-wrap:anywhere;background:#f3f4f6;border-radius:6px;width:fit-content;max-width:100%;padding:5px 8px;font-family:Consolas,Courier New,monospace;font-size:11px;font-weight:600;display:inline-flex}.description-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:18px;padding:20px}.description-card h2{color:#111827;margin:0 0 9px;font-size:15px;font-weight:650}.rooms-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.section-header{justify-content:space-between;align-items:center;gap:20px;padding:19px 20px;display:flex}.section-header h2{color:#111827;margin:0 0 5px;font-size:16px;font-weight:650}.section-header p{color:#6b7280;margin:0;font-size:13px}.section-actions{align-items:center;gap:8px;display:flex}.section-actions button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 13px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.section-actions button:first-child{color:#fff;background:#111827;border-color:#111827}.section-actions button:first-child:hover{background:#1f2937;border-color:#1f2937}.section-actions button:last-child:hover{background:#f9fafb;border-color:#9ca3af}.section-actions button:active{transform:translateY(1px)}.section-actions button:disabled{opacity:.55;cursor:not-allowed}.section-actions svg{width:14px;height:14px}@media (width<=900px){.floors-page,.floor-details-page{padding:20px}.floors-toolbar{grid-template-columns:minmax(0,1fr) 190px auto;gap:10px}.floor-status-filter{width:100%}.floor-details-grid{grid-template-columns:1fr}.floors-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (width<=700px){.floors-page,.floor-details-page{padding:16px}.floors-header{flex-direction:column}.floors-title-section,.add-button{width:100%}.floors-toolbar{grid-template-columns:minmax(0,1fr);gap:10px}.search-box,.floor-status-filter,.refresh-button{width:100%;max-width:none}.refresh-button{min-width:0}.details-header>.status-badge{grid-column:2;width:fit-content;margin-top:-4px}.section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%}.section-actions button{flex:1}.floor-modal-overlay{align-items:flex-end;padding:0}.floor-modal{border-radius:16px 16px 0 0;max-width:none;max-height:94vh}.floor-confirm-overlay{align-items:flex-end;padding:12px}.floor-confirm-modal{border-radius:14px}}@media (width<=480px){.floors-title-section h1{font-size:23px}.floors-title-section p{font-size:13px}.floor-card-actions{flex-wrap:wrap}.floor-card-actions button:first-child{flex:100%}.floor-card-actions button:nth-child(2){flex:1}.floor-card-actions button.danger{flex:0 0 36px}.floor-modal-header,.floor-form{padding:17px}.floor-form-actions{flex-direction:column-reverse}.floor-form-actions button{width:100%}.details-row{flex-direction:column;align-items:flex-start;gap:4px}.details-row strong{text-align:left}.section-actions{flex-direction:column}.section-actions button{width:100%}.floor-confirm-modal{padding:20px}.floor-confirm-actions{flex-direction:column-reverse}.floor-confirm-actions button{width:100%}}.rooms-page,.room-details-page{box-sizing:border-box;color:#111827;background:#f6f7fb;width:100%;min-height:calc(100vh - 64px);padding:28px;font-family:inherit;overflow-x:hidden}.rooms-page *,.room-details-page *{box-sizing:border-box}.rooms-page button,.room-details-page button,.room-modal button{font-family:inherit}.rooms-page button:focus-visible,.room-details-page button:focus-visible,.room-modal button:focus-visible{outline-offset:2px;outline:3px solid #3b82f64d}.rooms-header{justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1400px;margin:0 auto 26px;display:flex}.rooms-title-section{align-items:center;gap:14px;min-width:0;display:flex}.rooms-title-section>div{min-width:0}.back-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.back-button svg{width:18px;height:18px;display:block}.back-button:active{transform:scale(.96)}.page-breadcrumb{color:#8b95a7;overflow-wrap:anywhere;margin-bottom:7px;font-size:12px;font-weight:500;line-height:1.5}.rooms-header h1,.room-details-page h1{color:#111827;letter-spacing:-.6px;margin:0;font-size:30px;font-weight:750;line-height:1.25}.rooms-header p,.details-header p{color:#6b7280;margin:7px 0 0;font-size:14px;line-height:1.55}.add-button{color:#fff;white-space:nowrap;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 17px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s;display:inline-flex}.add-button svg{flex-shrink:0;width:17px;height:17px}.add-button:hover:not(:disabled){background:#1f2937;border-color:#1f2937;box-shadow:0 4px 12px #1118271f}.add-button:active:not(:disabled){transform:scale(.97)}.add-button:disabled{opacity:.6;cursor:not-allowed}.rooms-toolbar{grid-template-columns:minmax(0,1fr) 220px auto;align-items:center;gap:12px;width:100%;max-width:1400px;margin:0 auto 24px;display:grid}.search-box{color:#9ca3af;background:#fff;border:1px solid #e1e5eb;border-radius:9px;align-items:center;gap:10px;width:100%;min-width:0;height:44px;padding:0 13px;transition:border-color .2s,box-shadow .2s;display:flex}.search-box>svg{flex-shrink:0;width:17px;height:17px}.search-box input{color:#111827;background:0 0;border:none;outline:none;width:100%;min-width:0;height:100%;padding:0;font-family:inherit;font-size:14px}.search-box:focus-within{border-color:#9ca3af;box-shadow:0 0 0 3px #6b728017}.room-status-filter{width:220px;min-width:0}.room-select{width:100%;font-family:inherit}.room-select__control{min-height:44px!important;box-shadow:none!important;cursor:pointer!important;background:#fff!important;border:1px solid #e1e5eb!important;border-radius:9px!important;transition:border-color .2s,box-shadow .2s!important}.room-select__control:hover{border-color:#d1d5db!important}.room-select__control--is-focused{border-color:#9ca3af!important;box-shadow:0 0 0 3px #6b728017!important}.room-select__value-container{min-width:0;padding:2px 12px!important}.room-select__single-value{color:#374151!important;margin:0!important;font-size:13px!important;font-weight:500!important}.room-select__placeholder{color:#9ca3af!important;font-size:13px!important}.room-select__indicator-separator{display:none!important}.room-select__dropdown-indicator{color:#6b7280!important;padding:8px!important}.room-select__menu{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 14px 35px #1118271f;z-index:1100!important;margin-top:5px!important}.room-select__option{color:#374151!important;cursor:pointer!important;padding:11px 12px!important;font-size:13px!important}.room-select__option--is-focused{color:#111827!important;background:#f3f4f6!important}.room-select__option--is-selected{color:#fff!important;background:#111827!important}.refresh-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e1e5eb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.refresh-button svg{flex-shrink:0;width:16px;height:16px}.refresh-button:hover:not(:disabled){color:#111827;background:#f9fafb;border-color:#d1d5db}.refresh-button:active:not(:disabled){transform:scale(.97)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}@keyframes room-spin{to{transform:rotate(360deg)}}.page-error{color:#b91c1c;overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;width:100%;max-width:1400px;margin:0 auto 20px;padding:14px 16px;font-size:14px;line-height:1.55}.page-error p{margin:0 0 12px}.retry-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.retry-button svg{width:15px;height:15px}.retry-button:hover{background:#f9fafb;border-color:#9ca3af}.page-loading{color:#6b7280;text-align:center;justify-content:center;align-items:center;gap:10px;width:100%;max-width:1400px;min-height:220px;margin:0 auto;padding:35px 20px;font-size:14px;display:flex}.page-loading svg{flex-shrink:0;width:19px;height:19px}.empty-state{text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:1400px;margin:30px auto;padding:64px 24px;display:flex}.empty-state>svg{color:#9ca3af;width:42px;height:42px;margin-bottom:16px}.empty-state h2{color:#111827;margin:0 0 8px;font-size:19px;font-weight:700;line-height:1.4}.empty-state p{color:#6b7280;max-width:480px;margin:0 0 20px;font-size:14px;line-height:1.6}.empty-state button{color:#fff;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 15px;font-size:13px;font-weight:600;display:inline-flex}.empty-state button svg{width:16px;height:16px}.empty-state button:hover{background:#1f2937}.rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;width:100%;max-width:1400px;margin:0 auto;display:grid}.room-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;min-width:0;min-height:220px;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.room-card:hover{border-color:#d7dbe1;transform:translateY(-2px);box-shadow:0 10px 28px #11182712}.room-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.room-icon{color:#374151;background:#f3f4f6;border:1px solid #eef0f3;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.room-icon svg{width:21px;height:21px;display:block}.status-badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;max-width:100%;min-height:25px;padding:6px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.status-badge.active{color:#047857;background:#ecfdf5}.status-badge.inactive{color:#b91c1c;background:#fef2f2}.status-badge.pending{color:#b45309;background:#fffbeb}.room-card-content{flex:1;min-width:0}.room-number{color:#9ca3af;margin-bottom:5px;font-size:12px;font-weight:600;line-height:1.5;display:block}.room-card-content h3{color:#111827;overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700;line-height:1.4}.room-code{color:#4b5563;overflow-wrap:anywhere;background:#f3f4f6;border-radius:6px;width:fit-content;max-width:100%;margin:9px 0 12px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-block}.room-description{-webkit-line-clamp:3;color:#6b7280;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.room-card-actions{border-top:1px solid #f1f2f4;align-items:center;gap:8px;margin-top:20px;padding-top:15px;display:flex}.room-card-actions button{color:#374151;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:36px;padding:8px 11px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.room-card-actions button svg{flex-shrink:0;width:14px;height:14px}.room-card-actions button:hover:not(:disabled){color:#111827;background:#f9fafb;border-color:#d1d5db}.room-card-actions button:active:not(:disabled){transform:scale(.97)}.room-card-actions button:disabled{opacity:.6;cursor:not-allowed}.room-card-actions button.danger{color:#b91c1c;width:36px;min-width:36px;padding:8px}.room-card-actions button.danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.room-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1118278c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.room-modal{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 48px);animation:.18s ease-out room-modal-enter;display:flex;overflow:hidden;box-shadow:0 25px 70px #11182733}@keyframes room-modal-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.room-modal-header{border-bottom:1px solid #f0f1f3;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.room-modal-header>div{min-width:0}.room-modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:700;line-height:1.35}.room-modal-header p{color:#6b7280;margin:5px 0 0;font-size:13px;line-height:1.5}.modal-close-button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.modal-close-button svg{width:17px;height:17px;display:block}.modal-close-button:hover:not(:disabled){color:#111827;background:#f9fafb;border-color:#d1d5db}.modal-close-button:disabled{opacity:.5;cursor:not-allowed}.room-form{overscroll-behavior:contain;flex-direction:column;gap:18px;width:100%;padding:22px;display:flex;overflow-y:auto}.form-error{color:#b91c1c;overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;width:100%;padding:11px 13px;font-size:13px;line-height:1.55}.form-group{flex-direction:column;gap:7px;width:100%;display:flex}.form-group label{color:#374151;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.form-group label svg{color:#6b7280;flex-shrink:0;width:16px;height:16px;display:block}.form-group input,.form-group textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;min-width:0;padding:11px 12px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:hover:not(:disabled),.form-group textarea:hover:not(:disabled){border-color:#bfc5cd}.form-group input:focus,.form-group textarea:focus{border-color:#6b7280;box-shadow:0 0 0 3px #6b72801a}.form-group input:disabled,.form-group textarea:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.form-group textarea{resize:vertical;min-height:105px;line-height:1.6}.form-group input[type=number]{appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button{margin:0}.form-group input[type=number]::-webkit-outer-spin-button{margin:0}.room-form-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.btn-primary,.btn-secondary{white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.btn-primary svg,.btn-secondary svg{flex-shrink:0;width:15px;height:15px}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background:#111827;border:1px solid #111827}.btn-primary:hover:not(:disabled){background:#1f2937;border-color:#1f2937}.btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.room-confirm-overlay{z-index:12000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1118278c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.room-confirm-modal{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(460px,100%);padding:25px;animation:.18s ease-out room-confirm-enter;box-shadow:0 25px 70px #11182733}@keyframes room-confirm-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.room-confirm-icon{color:#b91c1c;background:#fef2f2;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:17px;display:flex}.room-confirm-icon svg{width:23px;height:23px;display:block}.room-confirm-content h2{color:#111827;margin:0 0 9px;font-size:20px;font-weight:700;line-height:1.4}.room-confirm-content p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.room-confirm-content strong{color:#374151;font-weight:700}.room-confirm-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.confirm-danger-button{color:#fff;white-space:nowrap;cursor:pointer;background:#b91c1c;border:1px solid #b91c1c;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.confirm-danger-button svg{flex-shrink:0;width:15px;height:15px}.confirm-danger-button:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.confirm-danger-button:active:not(:disabled){transform:scale(.97)}.confirm-danger-button:disabled{opacity:.6;cursor:not-allowed}.room-details-page .details-header{align-items:center;gap:14px;width:100%;max-width:1400px;margin:0 auto 26px;display:flex}.details-header>div{flex:1;min-width:0}.details-header .status-badge{flex-shrink:0;margin-left:auto}.room-details-page .details-header p{color:#6b7280;overflow-wrap:anywhere;margin:7px 0 0;font-size:14px;line-height:1.55}.room-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;width:100%;max-width:1400px;margin:0 auto;display:grid}.details-card-header{color:#374151;align-items:center;gap:10px;margin-bottom:20px;display:flex}.details-card-header>svg{flex-shrink:0;width:19px;height:19px;display:block}.details-card-header h2{color:#111827;margin:0;font-size:16px;font-weight:700;line-height:1.4}.details-row{border-bottom:1px solid #f1f2f4;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:13px 0;display:flex}.details-row:first-of-type{padding-top:0}.details-row:last-child{border-bottom:none;padding-bottom:0}.details-row span{color:#6b7280;font-size:13px;line-height:1.5}.details-row strong{color:#111827;text-align:right;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.5}.status-text.active{color:#047857}.status-text.inactive{color:#b91c1c}.location-path{flex-direction:column;display:flex}.location-path>div{border-bottom:1px solid #f1f2f4;flex-direction:column;gap:5px;padding:12px 0;display:flex}.location-path>div:first-child{padding-top:0}.location-path>div:last-child{border-bottom:none;padding-bottom:0}.location-path>div span{color:#9ca3af;font-size:12px;font-weight:500;line-height:1.5}.location-path>div strong{color:#111827;overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.5}.room-details-page .description-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;max-width:1400px;margin:18px auto 0;padding:22px}.description-card h2{color:#111827;margin:0 0 11px;font-size:16px;font-weight:700;line-height:1.4}.description-card p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.75}.beds-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;max-width:1400px;margin:18px auto 0;padding:22px}.section-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-header>div{min-width:0}.section-header h2{color:#111827;margin:0;font-size:18px;font-weight:700;line-height:1.4}.section-header p{color:#6b7280;margin:6px 0 0;font-size:13px;line-height:1.6}.room-btn{white-space:nowrap;cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 15px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.room-btn svg{flex-shrink:0;width:16px;height:16px;display:block}.room-btn:active{transform:scale(.97)}.room-btn:disabled{opacity:.6;cursor:not-allowed}.room-btn-primary{color:#fff;background:#111827;border:1px solid #111827}.room-btn-primary:hover:not(:disabled){background:#1f2937;border-color:#1f2937;box-shadow:0 4px 12px #1118271f}.room-btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.room-btn-secondary:hover:not(:disabled){color:#111827;background:#f9fafb;border-color:#9ca3af}.coming-soon{color:#6b7280;background:#f3f4f6;border-radius:8px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.coming-soon svg{flex-shrink:0;width:15px;height:15px}@media (width<=1150px){.rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms-toolbar{grid-template-columns:minmax(0,1fr) 200px auto}.room-status-filter{width:200px}}@media (width<=800px){.rooms-page,.room-details-page{padding:20px}.rooms-header{flex-direction:column;align-items:flex-start;gap:18px}.add-button{width:fit-content}.rooms-toolbar{grid-template-columns:minmax(0,1fr) 200px;align-items:stretch}.rooms-toolbar .refresh-button{grid-column:1/-1;width:100%}.room-status-filter{width:200px}.rooms-grid,.room-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-details-page .details-header{align-items:flex-start}.details-header .status-badge{margin-left:auto}}@media (width<=600px){.rooms-page,.room-details-page{padding:15px}.rooms-title-section{align-items:flex-start;gap:11px}.back-button{width:38px;height:38px}.rooms-header h1,.room-details-page h1{font-size:25px}.rooms-header p,.details-header p{font-size:13px}.add-button{width:100%}.rooms-toolbar{flex-direction:column;align-items:stretch;display:flex}.search-box,.room-status-filter,.refresh-button{width:100%;min-width:0}.rooms-grid,.room-details-grid{grid-template-columns:minmax(0,1fr)}.room-card{padding:18px}.room-card-actions{gap:7px}.room-card-actions button{flex:1;padding:8px 9px}.room-card-actions button.danger{flex:0 0 36px}.room-details-page .details-header{flex-wrap:wrap;gap:11px}.room-details-page .details-header>div{flex:1}.room-details-page .details-header .status-badge{margin-left:49px}.section-header{flex-direction:column;align-items:stretch;gap:16px}.room-btn{width:100%}.room-confirm-modal{padding:21px}}@media (width<=480px){.rooms-page,.room-details-page{padding:12px}.page-breadcrumb{font-size:11px}.rooms-header h1,.room-details-page h1{font-size:23px}.room-card{padding:16px}.room-modal-overlay{z-index:9999;box-sizing:border-box;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.room-modal{box-sizing:border-box;border-radius:16px;width:100%;max-width:420px;max-height:calc(100dvh - 32px);margin:auto;position:relative;overflow-y:auto}.room-modal-header{gap:12px;padding:17px}.room-modal-header h2{font-size:18px}.room-modal-header p{font-size:12px}.room-form{gap:16px;padding:17px}.room-form-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.room-form-actions button{width:100%}.room-card-actions{gap:6px}.room-card-actions button{gap:5px;padding-left:6px;padding-right:6px}.room-card-actions button span{font-size:11px}.details-card,.room-details-page .description-card,.beds-section{padding:17px}.details-row{flex-direction:column;align-items:flex-start;gap:5px}.details-row strong{text-align:left}.room-confirm-overlay{padding:12px}.room-confirm-modal{border-radius:13px;padding:18px}.room-confirm-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.room-confirm-actions button{width:100%}}@media (prefers-reduced-motion:reduce){.rooms-page *,.room-details-page *,.room-modal,.room-confirm-modal{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.beds-page,.bed-details-page{box-sizing:border-box;background:#f6f7fb;width:100%;min-height:100%;padding:24px;overflow-x:hidden}.beds-container,.bed-details-container{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto}.beds-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.beds-header-left{flex:1;min-width:0}.beds-title{color:#111827;word-break:break-word;margin:8px 0 4px;font-size:30px;font-weight:700;line-height:1.2}.beds-subtitle{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.beds-back{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;margin-bottom:14px;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.beds-back svg{flex-shrink:0;width:18px;height:18px}.beds-back:hover{color:#111827;background:#f9fafb;border-color:#9ca3af;transform:translate(-2px);box-shadow:0 2px 8px #0f172a14}.beds-back:active{transform:translate(-1px)}.beds-back:focus-visible{outline-offset:2px;outline:3px solid #3b82f633}.beds-breadcrumb{color:#6b7280;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:8px;font-size:13px;line-height:1.5;display:flex}.beds-breadcrumb strong{color:#374151;overflow-wrap:anywhere;font-weight:600}.bed-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.bed-btn svg{flex-shrink:0;width:17px;height:17px}.bed-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bed-btn-primary{color:#fff;background:#111827;border-color:#111827}.bed-btn-primary:hover:not(:disabled){background:#1f2937;border-color:#1f2937;box-shadow:0 4px 12px #11182729}.bed-btn-secondary{color:#374151;background:#fff;border-color:#d1d5db}.bed-btn-secondary:hover:not(:disabled){color:#111827;background:#f9fafb;border-color:#9ca3af}.bed-hierarchy{color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:16px 18px;font-size:13px;display:flex;box-shadow:0 1px 2px #0f172a08}.bed-hierarchy>div{flex-direction:column;gap:3px;min-width:0;display:flex}.bed-hierarchy span{color:#9ca3af}.bed-hierarchy strong{color:#374151;overflow-wrap:anywhere;font-weight:600}.beds-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.beds-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:18px;box-shadow:0 1px 2px #0f172a08}.beds-summary-card-label{color:#6b7280;margin-bottom:8px;font-size:13px;font-weight:500}.beds-summary-card-value{color:#111827;font-size:26px;font-weight:700;line-height:1.2}.beds-toolbar{grid-template-columns:minmax(240px,1fr) 220px auto;align-items:center;gap:12px;margin-bottom:18px;display:grid}.bed-search-box{background:#fff;border:1px solid #d1d5db;border-radius:9px;align-items:center;gap:9px;min-width:0;height:42px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.bed-search-box:focus-within{border-color:#9ca3af;box-shadow:0 0 0 3px #6b72801a}.bed-search-box>svg{color:#9ca3af;flex-shrink:0;width:17px;height:17px}.bed-search-box input{color:#111827;background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0;font-size:14px}.bed-search-box input::placeholder{color:#9ca3af}.bed-status-select{width:100%;min-width:0;font-size:14px}.bed-status-select__control{height:42px;transition:border-color .2s,box-shadow .2s;min-height:42px!important;box-shadow:none!important;cursor:pointer!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:9px!important}.bed-status-select__control:hover{border-color:#9ca3af!important}.bed-status-select__control--is-focused{border-color:#9ca3af!important;box-shadow:0 0 0 3px #6b72801a!important}.bed-status-select__value-container{padding:0 10px!important}.bed-status-select__single-value{color:#374151!important}.bed-status-select__placeholder{color:#9ca3af!important}.bed-status-select__indicator-separator{display:none}.bed-status-select__dropdown-indicator{color:#6b7280!important;padding:8px!important}.bed-status-select__menu{overflow:hidden;z-index:30!important;border:1px solid #e5e7eb!important;border-radius:9px!important;margin-top:5px!important;box-shadow:0 10px 25px #0f172a1f!important}.bed-status-select__option{color:#374151!important;cursor:pointer!important;background:#fff!important;padding:10px 12px!important}.bed-status-select__option:hover,.bed-status-select__option--is-focused{background:#f3f4f6!important}.bed-status-select__option--is-selected{color:#fff!important;background:#111827!important}.bed-page-error{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.beds-loading{color:#6b7280;justify-content:center;align-items:center;min-height:240px;font-size:14px;display:flex}.beds-empty{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:50px 24px}.beds-empty h2{color:#111827;margin:0 0 8px;font-size:20px}.beds-empty p{color:#6b7280;margin:0 0 18px;font-size:14px}.beds-table-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;overflow-x:auto;box-shadow:0 1px 2px #0f172a08}.beds-table{border-collapse:collapse;width:100%;min-width:760px}.beds-table th{color:#6b7280;text-align:left;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:13px 16px;font-size:12px;font-weight:600}.beds-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:15px 16px;font-size:14px}.beds-table tbody tr:last-child td{border-bottom:0}.beds-table tbody tr{transition:background-color .15s}.beds-table tbody tr:hover{background:#fafafa}.bed-name-cell{min-width:150px}.bed-name-cell strong{color:#111827;overflow-wrap:anywhere;font-weight:600;display:block}.bed-name-cell small{color:#9ca3af;overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.bed-status{white-space:nowrap;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:4px 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.bed-status.available{color:#047857;background:#ecfdf5}.bed-status.occupied{color:#1d4ed8;background:#eff6ff}.bed-status.maintenance{color:#c2410c;background:#fff7ed}.bed-status.inactive{color:#6b7280;background:#f3f4f6}.bed-status.reserved{color:#6d28d9;background:#f5f3ff}.bed-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.bed-action{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.bed-action svg{width:16px;height:16px}.bed-action:hover{color:#111827;background:#f9fafb;border-color:#d1d5db}.bed-action:active{transform:scale(.96)}.bed-action.danger{color:#dc2626}.bed-action.danger:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.bed-action:disabled{opacity:.5;cursor:not-allowed}.bed-modal-overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.bed-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:720px;max-height:calc(100vh - 40px);display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a33}.bed-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.bed-modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:700}.bed-modal-close{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.bed-modal-close:hover{color:#111827;background:#f9fafb}.bed-parent-context{background:#f9fafb;border-bottom:1px solid #e5e7eb;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 20px;display:grid}.bed-parent-context-item{min-width:0}.bed-parent-context-item span{color:#9ca3af;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:500;display:block}.bed-parent-context-item strong{color:#374151;overflow-wrap:anywhere;font-size:13px;font-weight:600;display:block}.bed-form{padding:20px;overflow-y:auto}.bed-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.bed-form-group{min-width:0}.bed-form-group.full-width{grid-column:1/-1}.bed-form-group label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.bed-form-group input,.bed-form-group textarea,.bed-form-group select{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;font-size:14px;transition:border-color .2s,box-shadow .2s}.bed-form-group input,.bed-form-group select{height:42px;padding:0 12px}.bed-form-group textarea{resize:vertical;min-height:100px;padding:10px 12px}.bed-form-group input:focus,.bed-form-group textarea:focus,.bed-form-group select:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #6b72801a}.bed-form-group input::placeholder,.bed-form-group textarea::placeholder{color:#9ca3af}.bed-form-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}.bed-form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;display:flex}.bed-confirm-overlay{z-index:1100;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.bed-confirm-modal{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;max-width:460px;padding:24px;box-shadow:0 20px 50px #0f172a33}.bed-confirm-icon{color:#dc2626;background:#fef2f2;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;display:flex}.bed-confirm-icon svg{width:21px;height:21px}.bed-confirm-content h2{color:#111827;margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.3}.bed-confirm-content p{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.bed-confirm-content strong{color:#374151;overflow-wrap:anywhere;font-weight:600}.bed-confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.bed-confirm-deactivate{color:#fff;background:#dc2626;border-color:#dc2626}.bed-confirm-deactivate:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #dc26262e}.bed-confirm-deactivate:disabled{opacity:.65;cursor:not-allowed}.bed-spinning{animation:.8s linear infinite bed-spin}@keyframes bed-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bed-details-header{margin-bottom:22px}.bed-details-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.bed-details-title-row h1{color:#111827;overflow-wrap:anywhere;margin:7px 0 4px;font-size:30px;font-weight:700;line-height:1.2}.bed-details-title-row p{color:#6b7280;margin:0;font-size:14px}.bed-details-breadcrumb{color:#6b7280;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;display:flex}.bed-details-breadcrumb strong{color:#374151;overflow-wrap:anywhere}.bed-details-hierarchy{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:20px;padding:18px;display:flex}.bed-details-hierarchy>div{flex:1;min-width:100px}.bed-details-hierarchy>span{color:#d1d5db;align-items:center;display:flex}.bed-details-hierarchy div span{color:#9ca3af;text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.bed-details-hierarchy div strong{color:#374151;overflow-wrap:anywhere;font-size:13px;display:block}.bed-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.bed-details-card,.bed-description-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:20px;box-shadow:0 1px 2px #0f172a08}.bed-details-card-header{align-items:center;gap:9px;margin-bottom:18px;display:flex}.bed-details-card-header svg{color:#6b7280;flex-shrink:0;width:18px;height:18px}.bed-details-card-header h2{color:#111827;margin:0;font-size:17px;font-weight:700}.bed-details-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.bed-details-row:last-child{border-bottom:0;padding-bottom:0}.bed-details-row span{color:#6b7280;font-size:13px}.bed-details-row strong{color:#374151;text-align:right;overflow-wrap:anywhere;font-size:13px}.bed-parent-location{flex-direction:column;gap:7px;display:flex}.bed-parent-location strong{color:#111827;font-size:17px}.bed-parent-location span{color:#374151;font-size:13px}.bed-parent-location small{color:#6b7280;font-size:12px}.bed-description-card{margin-bottom:18px}.bed-description-card p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.bed-details-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=1200px){.beds-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.beds-toolbar{grid-template-columns:minmax(220px,1fr) 200px auto}}@media (width<=900px){.beds-page,.bed-details-page{padding:20px}.beds-header{flex-direction:column;align-items:stretch;gap:16px}.beds-header>.bed-btn-primary{width:100%}.beds-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,220px)}.beds-toolbar>.bed-btn{width:100%}.beds-toolbar>.bed-btn-secondary{grid-column:1/-1}.bed-parent-context{grid-template-columns:repeat(2,minmax(0,1fr))}.bed-details-grid{grid-template-columns:1fr}}@media (width<=768px){.beds-page,.bed-details-page{padding:16px}.beds-title,.bed-details-title-row h1{font-size:26px}.beds-subtitle{font-size:13px}.beds-summary{grid-template-columns:1fr;gap:12px}.beds-summary-card{padding:16px}.beds-toolbar{grid-template-columns:1fr;gap:10px}.beds-toolbar>.bed-btn-secondary{grid-column:auto}.bed-search-box,.bed-status-select{width:100%}.bed-hierarchy{align-items:flex-start;gap:8px;padding:14px}.bed-hierarchy>div{width:auto}.bed-details-title-row{flex-direction:column;gap:12px}.bed-details-title-row .bed-status{align-self:flex-start}.bed-details-hierarchy{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bed-details-hierarchy>span{display:none}.bed-details-hierarchy>div{min-width:0}.bed-details-card,.bed-description-card{padding:17px}.bed-details-actions{justify-content:stretch}.bed-details-actions .bed-btn{width:100%}.bed-modal-overlay,.bed-confirm-overlay{align-items:flex-start;padding:12px}.bed-modal{border-radius:12px;max-height:calc(100vh - 24px)}.bed-modal-header,.bed-form{padding:16px}.bed-confirm-modal{margin-top:10vh;padding:20px}}@media (width<=480px){.beds-page,.bed-details-page{padding:12px}.beds-title,.bed-details-title-row h1{font-size:23px}.beds-breadcrumb,.bed-details-breadcrumb{gap:5px;font-size:12px}.beds-back{width:38px;min-width:38px;height:38px;margin-bottom:11px}.bed-btn{width:100%;min-height:42px}.bed-hierarchy{grid-template-columns:1fr 1fr;display:grid}.bed-parent-context{grid-template-columns:1fr}.bed-form-grid{grid-template-columns:1fr;gap:13px}.bed-form-group.full-width{grid-column:auto}.bed-form-actions{flex-direction:column-reverse}.bed-form-actions .bed-btn{width:100%}.bed-confirm-actions{flex-direction:column-reverse}.bed-confirm-actions .bed-btn{width:100%}.bed-details-hierarchy{grid-template-columns:1fr}.bed-details-row{flex-direction:column;align-items:flex-start;gap:5px}.bed-details-row strong{text-align:left}.bed-details-card,.bed-description-card{padding:15px}.bed-details-actions{flex-direction:column}.bed-page-error{flex-direction:column;align-items:stretch}.bed-page-error .bed-btn{width:100%}.beds-empty{padding:35px 16px}}@media (hover:none){.beds-back:hover,.bed-btn:hover,.bed-action:hover{transform:none}}@media (prefers-reduced-motion:reduce){.beds-back,.bed-btn,.bed-action,.bed-search-box,.bed-status-select__control{transition:none}.bed-spinning{animation:none}}.students-page{--student-bg:#f7f7f5;--student-surface:#fff;--student-text:#242424;--student-muted:#777773;--student-border:#e4e4df;--student-soft:#fafaf8;--student-primary:#292929;--student-radius:14px;background:var(--student-bg);width:100%;min-width:0;min-height:100%;color:var(--student-text);box-sizing:border-box;padding:28px;font-family:inherit}.students-page *,.students-page :before,.students-page :after{box-sizing:border-box}.students-page button,.students-page input,.students-page select,.students-page textarea{font:inherit}.students-page button{-webkit-tap-highlight-color:transparent}.students-page button:focus-visible,.students-page input:focus-visible,.students-page select:focus-visible,.students-page textarea:focus-visible{outline-offset:2px;outline:3px solid #415fa038}.students-page img,.students-page svg{max-width:100%}.students-header,.student-form-header,.student-details-header{justify-content:space-between;align-items:flex-end;gap:24px;min-width:0;margin-bottom:26px;display:flex}.students-header h1,.student-form-header h1,.student-details-header h1{color:#242424;letter-spacing:-.6px;overflow-wrap:anywhere;margin:8px 0 6px;font-size:clamp(24px,2.2vw,30px);font-weight:700;line-height:1.25}.students-header p,.student-form-header p,.student-details-header p{color:#777773;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.page-breadcrumb{color:#8a8a85;flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;display:flex}.page-breadcrumb svg{flex:none;width:13px;height:13px}.students-header-actions,.student-details-header-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.primary-action,.secondary-action,.danger-action,.cancel-button,.refresh-button,.back-button,.retry-button,.students-back-btn,.students-primary-btn,.students-secondary-btn,.student-confirm-cancel,.student-confirm-danger{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.primary-action svg,.secondary-action svg,.danger-action svg,.cancel-button svg,.refresh-button svg,.back-button svg,.retry-button svg,.students-back-btn svg,.students-primary-btn svg,.students-secondary-btn svg,.student-confirm-cancel svg,.student-confirm-danger svg{flex:none;width:16px;height:16px}.primary-action:disabled,.secondary-action:disabled,.danger-action:disabled,.cancel-button:disabled,.refresh-button:disabled,.back-button:disabled,.retry-button:disabled,.students-back-btn:disabled,.students-primary-btn:disabled,.students-secondary-btn:disabled,.student-confirm-cancel:disabled,.student-confirm-danger:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.primary-action,.students-primary-btn{color:#fff;background:#292929;border-color:#292929}.primary-action:hover:not(:disabled),.students-primary-btn:hover:not(:disabled){background:#111;border-color:#111;transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.secondary-action,.cancel-button,.students-secondary-btn{color:#3e3e3b;background:#fff;border-color:#deded9}.secondary-action:hover:not(:disabled),.cancel-button:hover:not(:disabled),.students-secondary-btn:hover:not(:disabled){background:#f3f3f0;border-color:#c9c9c3}.danger-action{color:#9d3838;background:#fff7f7;border-color:#ead0d0}.danger-action:hover:not(:disabled){background:#fcecec;border-color:#dfb7b7}.back-button{color:#666;background:0 0;border:none;justify-content:flex-start;min-height:34px;padding:0;font-weight:500}.back-button:hover{color:#222}.retry-button{color:#923737;background:#fff;border-color:#e7caca;min-height:34px;margin-left:auto}.retry-button:hover:not(:disabled){background:#fff0f0}.student-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;min-width:0;margin-bottom:20px;display:grid}.summary-card{border:1px solid var(--student-border);background:#fff;border-radius:13px;align-items:center;gap:14px;min-width:0;padding:20px;transition:border-color .18s,box-shadow .18s;display:flex}.summary-card:hover{border-color:#d5d5cf;box-shadow:0 5px 16px #00000006}.summary-card>div:last-child{min-width:0}.summary-card span{color:#7b7b76;overflow-wrap:anywhere;margin-bottom:5px;font-size:12px;line-height:1.4;display:block}.summary-card strong{color:#282826;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.2;display:block}.summary-icon{color:#353535;background:#eeeeeb;border-radius:11px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.summary-icon svg{width:20px;height:20px}.summary-icon.active{color:#347242;background:#edf6ee}.summary-icon.inactive{color:#9c4444;background:#f8eeee}.summary-icon.vacation{color:#876b37;background:#f6f1e8}.students-card{border:1px solid var(--student-border);border-radius:var(--student-radius);background:#fff;min-width:0;overflow:hidden}.students-toolbar{border-bottom:1px solid #eeeeea;justify-content:space-between;align-items:center;gap:15px;min-width:0;padding:17px;display:flex}.search-box{width:100%;min-width:0;max-width:540px;position:relative}.search-box>svg{z-index:1;color:#999;pointer-events:none;width:17px;height:17px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-box input{color:#222;background:#fafaf8;border:1px solid #ddddda;border-radius:9px;outline:none;width:100%;min-width:0;height:43px;padding:0 14px 0 40px;font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s;display:block}.search-box input::placeholder{color:#999994}.search-box input:focus{background:#fff;border-color:#a7a7a2;box-shadow:0 0 0 3px #00000009}.refresh-button{color:#555;background:#fff;border-color:#deded9;flex:none}.refresh-button:hover:not(:disabled){background:#f3f3f0}.refresh-button svg{width:15px;height:15px}.spinning{animation:.8s linear infinite student-spin}.students-table-wrapper{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d3d3cd transparent;width:100%;min-width:0;overflow-x:auto}.students-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:900px}.students-table th{color:#777773;text-align:left;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap;background:#fafaf8;border-bottom:1px solid #eeeeea;padding:15px 17px;font-size:11px;font-weight:700}.students-table td{color:#4c4c4a;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #f0f0ed;padding:15px 17px;font-size:13px}.students-table tbody tr{transition:background .15s}.students-table tbody tr:hover{background:#fafaf8}.students-table tbody tr:last-child td{border-bottom:none}.students-table .student-phone{min-width:125px}.students-table .student-email{text-overflow:ellipsis;width:220px;max-width:220px;overflow:hidden}.student-name-cell{align-items:center;gap:11px;min-width:175px;display:flex}.student-name-cell>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.student-name-cell strong{color:#282828;text-overflow:ellipsis;max-width:220px;font-weight:600;overflow:hidden}.student-name-cell span{color:#92928e;font-size:11px}.student-avatar,.large-student-avatar{color:#3b3b39;background:#e9e9e5;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.student-avatar{width:37px;height:37px;font-size:13px}.food-badge{color:#5b5b58;white-space:nowrap;background:#f1f1ee;border-radius:6px;justify-content:center;align-items:center;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;max-width:100%;padding:5px 10px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.status-active{color:#317042;background:#edf7ef}.status-inactive{color:#a04343;background:#f9eeee}.status-vacation{color:#8b6b35;background:#f8f2e6}.status-offboarded{color:#666;background:#eee}.student-actions{align-items:center;gap:7px;display:flex}.student-actions button{color:#666;cursor:pointer;background:#fff;border:1px solid #e2e2de;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;transition:background .18s,border-color .18s,color .18s;display:grid}.student-actions button:hover{color:#222;background:#f1f1ee;border-color:#c9c9c3}.student-actions button svg{width:15px;height:15px}.students-pagination{background:#fff;border-top:1px solid #eeeeea;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:16px 18px;display:flex}.pagination-info{color:#777773;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.pagination-info strong{color:#333331;font-variant-numeric:tabular-nums;font-weight:700}.search-result-label{color:#92928e}.pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px;min-width:0;display:flex}.page-size-control{color:#777773;white-space:nowrap;align-items:center;gap:9px;font-size:12px;display:flex}.page-size-control select{color:#333331;cursor:pointer;background:#fff;border:1px solid #deded9;border-radius:7px;min-width:64px;height:35px;padding:0 8px;font-size:12px}.page-navigation{align-items:center;gap:11px;min-width:0;display:flex}.page-number{color:#555551;text-align:center;white-space:nowrap;min-width:95px;font-size:12px}.page-nav-button{color:#444440;cursor:pointer;background:#fff;border:1px solid #deded9;border-radius:8px;flex:none;place-items:center;width:35px;height:35px;transition:background .18s;display:grid}.page-nav-button:hover:not(:disabled){background:#f1f1ee}.page-nav-button:disabled{opacity:.4;cursor:not-allowed}.page-nav-button svg{width:16px;height:16px}.students-loading{color:#777773;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;font-size:13px;display:flex}.students-loading p{margin:0}.students-loading.full-page{min-height:500px}.loader,.students-loading-spinner{border:3px solid #e5e5e0;border-top-color:#333;border-radius:50%;width:30px;height:30px;animation:.75s linear infinite student-spin}.students-loading-spinner{width:32px;height:32px}@keyframes student-spin{to{transform:rotate(360deg)}}.students-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:40px 24px;display:flex}.students-empty h3{color:#333331;margin:14px 0 7px;font-size:18px}.students-empty p{color:#81817d;max-width:430px;margin:0 0 20px;font-size:13px;line-height:1.7}.empty-icon{color:#555;background:#eeeeeb;border-radius:15px;place-items:center;width:58px;height:58px;display:grid}.empty-icon svg{width:24px;height:24px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.students-error,.form-error,.student-details-error{color:#9a4040;background:#fff7f7;border:1px solid #ecd2d2;border-radius:9px;align-items:center;gap:10px;min-width:0;padding:12px 14px;font-size:13px;line-height:1.6;display:flex}.students-error>svg,.form-error>svg,.student-details-error>svg{flex:none}.students-error{margin:15px 17px}.students-error>span{overflow-wrap:anywhere;min-width:0}.form-error{margin:0 0 18px}.student-details-error{margin-bottom:18px}.student-details-error>span{overflow-wrap:anywhere;flex:1;min-width:0}.student-details-error button{color:#9a4040;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.student-details-error button:hover{background:#fbe7e7}.student-form-header{align-items:flex-start;margin-bottom:24px}.students-back-btn{color:#555;background:#fff;border-color:#deded9;min-height:39px;margin-bottom:19px;padding:0 13px}.students-back-btn:hover{color:#222;background:#f1f1ee;border-color:#cfcfca;transform:translate(-1px)}.student-form-title{align-items:center;gap:12px;min-width:0;display:flex}.student-form-title h1{color:#242424;letter-spacing:-.4px;overflow-wrap:anywhere;margin:0 0 5px;font-size:27px;font-weight:700}.student-form-title p{color:#858581;overflow-wrap:anywhere;margin:0;font-size:13px}.students-title-icon{color:#444;background:#eeeeeb;border-radius:12px;flex:none;place-items:center;width:45px;height:45px;display:grid}.students-title-icon svg{width:21px;height:21px}.student-form{width:100%;min-width:0}.student-form-card{background:#fff;border:1px solid #e4e4df;border-radius:14px;width:100%;min-width:0;max-width:1100px;margin:0 auto 20px;overflow:hidden;box-shadow:0 2px 7px #00000003}.student-form-card-header{background:#fafaf8;border-bottom:1px solid #eeeeea;align-items:flex-start;gap:13px;padding:21px 25px;display:flex}.student-form-card-header>div:last-child{min-width:0}.student-form-card-header h2{color:#333331;margin:0 0 5px;font-size:16px;font-weight:700;line-height:1.4}.student-form-card-header p{color:#858581;margin:0;font-size:12px;line-height:1.6}.student-form-card-icon{color:#444;background:#eeeeeb;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.student-form-card-icon svg{width:19px;height:19px}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;min-width:0;padding:25px;display:grid}.student-form-field{flex-direction:column;gap:8px;min-width:0;display:flex}.student-form-field label{color:#484844;font-size:12px;font-weight:600;line-height:1.5}.student-form-field label span{color:#b33d3d;margin-left:3px}.student-form-field input,.student-form-field select,.student-form-field textarea{color:#282826;background:#fff;border:1px solid #ddddda;border-radius:8px;outline:none;width:100%;min-width:0;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s;display:block}.student-form-field input::placeholder,.student-form-field select::placeholder,.student-form-field textarea::placeholder{color:#aaa9a4;opacity:1}.student-form-field input:focus,.student-form-field select:focus,.student-form-field textarea:focus{background:#fff;border-color:#999994;box-shadow:0 0 0 3px #0000000b}.student-form-field input:disabled,.student-form-field select:disabled,.student-form-field textarea:disabled{color:#888884;cursor:not-allowed;background:#f3f3f0}.student-form-field input,.student-form-field select{height:44px;padding:0 12px}.student-form-field select{cursor:pointer}.student-form-field textarea{resize:vertical;min-height:105px;padding:12px;line-height:1.6}.student-form-field small{color:#8b8b87;font-size:11px;line-height:1.6}.student-form-field-full{grid-column:1/-1}.student-input-wrapper{width:100%;min-width:0;position:relative}.student-input-wrapper>svg{z-index:2;color:#999995;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.student-input-wrapper input{padding-left:40px;padding-right:12px}.student-input-wrapper textarea{padding:12px 12px 12px 40px}.student-input-wrapper textarea+svg{pointer-events:none}.student-input-wrapper:has(textarea)>svg{top:14px;transform:none}.password-input-wrapper{width:100%;min-width:0;position:relative}.password-input-wrapper .password-left-icon{z-index:2;color:#999995;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.password-input-wrapper input{width:100%;min-width:0;height:44px;padding:0 46px 0 40px}.password-input-wrapper .password-toggle-btn{z-index:3;color:#777772;cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;width:32px;height:32px;padding:0;transition:background .18s,color .18s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input-wrapper .password-toggle-btn svg{width:17px;height:17px}.password-input-wrapper .password-toggle-btn:hover{color:#333;background:#f1f1ee}.password-input-wrapper .password-toggle-btn:focus-visible{outline-offset:1px;outline:2px solid #999994}.student-form-actions{justify-content:flex-end;align-items:center;gap:10px;max-width:1100px;margin:0 auto;padding:0 0 26px;display:flex}.students-secondary-btn,.students-primary-btn{min-height:44px;padding:0 19px}.students-secondary-btn{color:#555;background:#fff;border-color:#deded9}.students-secondary-btn:hover:not(:disabled){color:#222;background:#f1f1ee;border-color:#cfcfca}.students-primary-btn{color:#fff;background:#292929;border-color:#292929}.students-primary-btn:hover:not(:disabled){background:#171717;border-color:#171717;transform:translateY(-1px)}.form-section{border-bottom:1px solid #eeeeea;padding:26px}.form-section-header{align-items:flex-start;gap:13px;margin-bottom:23px;display:flex}.form-section-header h2{margin:0 0 4px;font-size:16px}.form-section-header p{color:#858581;margin:0;font-size:12px}.form-section-icon{color:#444;background:#eeeeeb;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-field{flex-direction:column;gap:7px;min-width:0;display:flex}.form-field.full-width{grid-column:1/-1}.form-field label{color:#484844;font-size:12px;font-weight:600}.form-field input,.form-field select,.form-field textarea{color:#282826;background:#fff;border:1px solid #ddddda;border-radius:8px;outline:none;width:100%;min-width:0;font-family:inherit;font-size:13px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#999994;box-shadow:0 0 0 3px #00000009}.form-field input,.form-field select{height:42px;padding:0 12px}.form-field textarea{resize:vertical;padding:11px 12px}.form-field small{color:#8b8b87;font-size:11px;line-height:1.5}.input-icon{min-width:0;position:relative}.input-icon>svg{z-index:1;color:#999995;width:15px;height:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon input{padding-left:36px}.input-icon.textarea-icon>svg{top:13px;transform:none}.input-icon.textarea-icon textarea{padding-left:36px}.form-footer{background:#fafaf8;justify-content:flex-end;gap:10px;padding:19px 26px;display:flex}.student-details-page{min-width:0}.student-details-page .student-details-header{align-items:flex-end;margin-bottom:24px}.student-details-heading{flex:1;min-width:0}.student-details-back-button{color:#555;cursor:pointer;background:#fff;border:1px solid #deded9;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;margin-bottom:15px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.student-details-back-button svg{flex:none;width:15px;height:15px}.student-details-back-button:hover{color:#222;background:#f1f1ee;border-color:#cfcfca}.student-details-title{min-width:0}.student-details-title h1{overflow-wrap:anywhere;margin:0 0 6px;font-size:clamp(23px,2.2vw,30px);line-height:1.25}.student-details-title p{color:#777773;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}.student-details-fallback{text-align:center;background:#fff;border:1px solid #e4e4df;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:550px;min-height:350px;margin:35px auto;padding:35px 25px;display:flex}.student-details-fallback h3{color:#292927;margin:17px 0 8px;font-size:20px}.student-details-fallback>p{color:#777773;overflow-wrap:anywhere;max-width:410px;margin:0;font-size:13px;line-height:1.7}.student-fallback-icon{color:#a66b19;background:#fff4e5;border-radius:16px;place-items:center;width:58px;height:58px;display:grid}.student-fallback-icon svg{width:27px;height:27px}.student-fallback-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.student-profile-card{background:#fff;border:1px solid #e4e4df;border-radius:14px;min-width:0;margin-bottom:19px;padding:26px}.student-profile-main{align-items:center;gap:18px;min-width:0;display:flex}.student-profile-main h2{color:#282826;overflow-wrap:anywhere;word-break:normal;margin:0 0 7px;font-size:22px;font-weight:700;line-height:1.35}.student-profile-main p{color:#858581;overflow-wrap:anywhere;margin:0 0 10px;font-size:12px;line-height:1.5}.large-student-avatar{width:72px;height:72px;font-size:25px}.student-profile-info{overflow-wrap:anywhere;flex:1;min-width:0}.student-profile-code{overflow-wrap:anywhere;word-break:break-word}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;min-width:0;display:grid}.details-card{background:#fff;border:1px solid #e4e4df;border-radius:14px;min-width:0;padding:24px;transition:border-color .18s,box-shadow .18s}.details-card:hover{border-color:#d9d9d3;box-shadow:0 4px 14px #00000005}.details-card-header{align-items:flex-start;gap:12px;min-width:0;margin-bottom:22px;display:flex}.details-card-header>svg{color:#555;flex:none;width:19px;height:19px;margin-top:2px}.details-card-header>div{min-width:0}.details-card-header h3{color:#333331;overflow-wrap:anywhere;margin:0 0 4px;font-size:15px;font-weight:700;line-height:1.4}.details-card-header p{color:#8b8b87;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.5}.details-list{flex-direction:column;gap:0;min-width:0;display:flex}.detail-item{border-bottom:1px solid #f0f0ed;justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;padding:14px 0;display:flex}.detail-item:first-child{padding-top:0}.detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-item strong{color:#30302e;text-align:right;overflow-wrap:anywhere;word-break:break-word;font-variant-numeric:tabular-nums;flex:0 62%;min-width:0;max-width:62%;margin:0;font-size:13px;font-weight:600;line-height:1.6;display:block}.detail-label{color:#858581;flex:38%;align-items:flex-start;gap:8px;min-width:0;font-size:12px;line-height:1.6;display:flex}.detail-label svg{flex:none;width:14px;height:14px;margin-top:2px}.detail-label span{overflow-wrap:anywhere;word-break:break-word;min-width:0}.student-confirm-overlay{z-index:9999;-webkit-backdrop-filter:blur(3px);background:#16161485;justify-content:center;align-items:center;padding:22px;animation:.18s student-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}.student-confirm-modal{background:#fff;border:1px solid #ffffffa6;border-radius:17px;width:100%;max-width:460px;max-height:calc(100dvh - 44px);padding:30px;animation:.22s student-modal-in;position:relative;overflow-y:auto;box-shadow:0 24px 75px #0003}.student-confirm-modal .student-confirm-close{color:#777773;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;transition:background .18s,color .18s;display:grid;position:absolute;top:14px;right:14px}.student-confirm-modal .student-confirm-close svg{width:18px;height:18px}.student-confirm-modal .student-confirm-close:hover:not(:disabled){color:#222;background:#f1f1ee}.student-confirm-modal .student-confirm-close:disabled{opacity:.5;cursor:not-allowed}.student-confirm-icon{color:#b23c3c;background:#fff0f0;border:1px solid #f0dada;border-radius:15px;place-items:center;width:55px;height:55px;margin-bottom:20px;display:grid}.student-confirm-icon svg{width:26px;height:26px}.student-confirm-content h2{color:#292927;margin:0 35px 10px 0;font-size:21px;font-weight:700;line-height:1.35}.student-confirm-content p{color:#73736e;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.8}.student-confirm-content strong{color:#3c3c38;font-weight:700}.student-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:27px;display:flex}.student-confirm-cancel{color:#4c4c48;background:#fff;border-color:#deded9}.student-confirm-cancel:hover:not(:disabled){background:#f3f3f0}.student-confirm-danger{color:#fff;background:#b63737;border-color:#a93535}.student-confirm-danger:hover:not(:disabled){background:#982a2a;border-color:#982a2a}@keyframes student-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes student-modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.import-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:19px;display:grid}.import-step{background:#fff;border:1px solid #e4e4df;border-radius:12px;align-items:flex-start;gap:12px;min-width:0;padding:18px;display:flex}.import-step.active{background:#fafaf8;border-color:#d5d5d0}.import-step strong{color:#333331;margin-bottom:5px;font-size:13px;line-height:1.5;display:block}.import-step span{color:#858581;font-size:11px;line-height:1.6;display:block}.step-number{color:#fff;background:#292929;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.import-card{background:#fff;border:1px solid #e4e4df;border-radius:14px;min-width:0;margin-bottom:19px;padding:25px}.import-card-header{align-items:flex-start;gap:13px;min-width:0;margin-bottom:21px;display:flex}.import-card-header>div:last-child{min-width:0}.import-card-header h2{color:#333331;margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.5}.import-card-header p{color:#858581;margin:0;font-size:12px;line-height:1.7}.import-icon{color:#444;background:#eeeeeb;border-radius:11px;flex:none;place-items:center;width:42px;height:42px;display:grid}.import-icon svg{width:20px;height:20px}.upload-zone{cursor:pointer;text-align:center;background:#fafaf8;border:2px dashed #d0d0cb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:235px;padding:28px 20px;transition:background .2s,border-color .2s;display:flex}.upload-zone:hover{background:#f4f4f1;border-color:#a7a7a0}.upload-zone:focus-within{border-color:#999994}.upload-zone h3{color:#333331;margin:14px 0 6px;font-size:15px;line-height:1.5}.upload-zone p{color:#858581;margin:0 0 9px;font-size:12px;line-height:1.6}.upload-zone>span{color:#a0a09b;font-size:11px}.upload-zone-icon{color:#4c4c49;background:#e9e9e5;border-radius:13px;place-items:center;width:51px;height:51px;display:grid}.upload-zone-icon svg{width:23px;height:23px}.selected-file{background:#fafaf8;border:1px solid #e0e0db;border-radius:10px;align-items:center;gap:13px;min-width:0;padding:15px;display:flex}.selected-file-icon{color:#444;background:#e9e9e5;border-radius:9px;flex:none;place-items:center;width:43px;height:43px;display:grid}.selected-file-icon svg{width:19px;height:19px}.selected-file-info{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.selected-file-info strong{overflow-wrap:anywhere;color:#333331;font-size:13px;line-height:1.5}.selected-file-info span{color:#8a8a86;font-size:11px}.remove-file{color:#777;cursor:pointer;background:#fff;border:1px solid #dfdfda;border-radius:8px;flex:none;place-items:center;width:35px;height:35px;transition:background .18s,color .18s;display:grid}.remove-file:hover{color:#a43d3d;background:#fff0f0}.remove-file svg{width:16px;height:16px}.import-action-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.validation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.validation-summary>div{background:#fafaf8;border:1px solid #e7e7e2;border-radius:10px;min-width:0;padding:17px}.validation-summary>div span{color:#858581;margin-bottom:7px;font-size:11px;display:block}.validation-summary>div strong{color:#333331;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;display:block}.validation-summary>div.valid{background:#f3f9f4;border-color:#dcebdd}.validation-summary>div.valid strong{color:#367443}.validation-summary>div.invalid{background:#fdf5f5;border-color:#eddada}.validation-summary>div.invalid strong{color:#a34343}.validation-table-wrapper,.credential-table-wrapper{overscroll-behavior-x:contain;scrollbar-width:thin;border:1px solid #e5e5e0;border-radius:10px;width:100%;min-width:0;overflow-x:auto}.validation-table,.credential-table{border-collapse:collapse;text-align:left;width:100%;min-width:700px}.validation-table th,.credential-table th{color:#777773;text-align:left;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap;background:#f8f8f5;border-bottom:1px solid #e5e5e0;padding:13px;font-size:10px;font-weight:700}.validation-table td,.credential-table td{color:#555551;vertical-align:top;border-bottom:1px solid #eeeeea;padding:13px;font-size:12px;line-height:1.6}.validation-table tbody tr:hover,.credential-table tbody tr:hover{background:#fafaf8}.validation-table tbody tr:last-child td,.credential-table tbody tr:last-child td{border-bottom:none}.validation-table{min-width:850px}.row-valid,.row-invalid{white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:inline-flex}.row-valid svg,.row-invalid svg{width:15px;height:15px}.row-valid{color:#367443}.row-invalid{color:#a34343}.error-list{color:#a34343;min-width:150px;margin:0;padding-left:17px}.error-list li{margin-bottom:4px;line-height:1.5}.error-list li:last-child{margin-bottom:0}.no-error{color:#8d8d88}.import-preview-footer{margin-top:19px}.preview-warning{color:#806b3d;background:#fcf8ed;border:1px solid #eadfc8;border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:15px;padding:12px 14px;font-size:12px;line-height:1.6;display:flex}.preview-warning svg{flex:none;width:16px;height:16px;margin-top:1px}.preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.cancel-button{color:#555;background:#fff;border-color:#deded9}.import-success-card{text-align:center;background:#fff;border:1px solid #dfe8df;border-radius:16px;width:100%;max-width:950px;margin:30px auto;padding:35px}.import-success-card h2{color:#292927;margin:17px 0 7px;font-size:22px;line-height:1.4}.import-success-card>p{color:#858581;margin:0;font-size:13px;line-height:1.7}.success-icon{color:#367443;background:#edf7ef;border-radius:50%;place-items:center;width:65px;height:65px;margin:0 auto;display:grid}.success-icon svg{width:30px;height:30px}.success-count{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:9px;margin:22px 0;display:flex}.success-count strong{color:#292927;font-size:32px;font-weight:700}.success-count span{color:#777773;font-size:13px}.credential-warning{color:#806b3d;text-align:left;background:#fcf8ed;border:1px solid #eadfc8;border-radius:9px;align-items:flex-start;gap:11px;margin:21px 0;padding:14px;display:flex}.credential-warning>svg{flex:none;width:18px;height:18px;margin-top:2px}.credential-warning>div{min-width:0}.credential-warning strong{margin-bottom:5px;font-size:12px;line-height:1.5;display:block}.credential-warning p{margin:0;font-size:11px;line-height:1.7}.credential-table{text-align:left}.credential-table code{color:#444;overflow-wrap:anywhere;white-space:normal;background:#f1f1ee;border-radius:5px;max-width:100%;padding:5px 8px;font-family:monospace;font-size:11px;display:inline-block}.success-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=1200px){.students-page{padding:24px}.student-summary-grid{gap:12px}.summary-card{gap:11px;padding:17px}.summary-icon{flex-basis:40px;width:40px;height:40px}.students-table th,.students-table td{padding-left:13px;padding-right:13px}}@media (width<=1000px){.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.students-header,.student-details-header{flex-direction:column;align-items:flex-start;gap:18px}.students-header-actions,.student-details-header-actions{width:100%}.students-header-actions>button,.student-details-header-actions>button{flex:0 auto}.students-pagination{flex-direction:column;align-items:flex-start}.pagination-controls{justify-content:space-between;width:100%}.import-steps{gap:10px}.import-step{padding:14px}.student-form-card,.student-form-actions{max-width:100%}}@media (width<=760px){.students-page{padding:18px}.students-header,.student-details-header{align-items:stretch;margin-bottom:21px}.students-header h1,.student-details-title h1{font-size:25px}.students-header p,.student-details-title p{font-size:13px}.students-toolbar{flex-direction:column;align-items:stretch;padding:14px}.search-box{max-width:none}.refresh-button{width:100%}.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.summary-card{gap:10px;padding:15px}.summary-card strong{font-size:22px}.summary-icon{border-radius:10px;flex-basis:38px;width:38px;height:38px}.students-table{min-width:850px}.details-grid{grid-template-columns:minmax(0,1fr);gap:14px}.student-profile-card{padding:20px}.student-profile-main h2{font-size:20px}.large-student-avatar{width:62px;height:62px;font-size:22px}.student-details-header{align-items:flex-start;gap:12px}.student-details-heading{width:100%}.student-details-back-button{margin-bottom:12px}.student-form-header{flex-direction:column;align-items:stretch;gap:14px}.student-form-title h1{font-size:24px}.student-form-grid{grid-template-columns:minmax(0,1fr);gap:18px;padding:21px}.student-form-field-full{grid-column:auto}.student-form-card-header{padding:18px 21px}.student-form-actions{padding-bottom:22px}.import-steps{grid-template-columns:minmax(0,1fr)}.import-step{align-items:center}.import-card{padding:20px}.validation-summary{gap:10px}.import-success-card{margin:20px auto;padding:25px 20px}.form-section{padding:20px}.form-footer{padding:16px 20px}}@media (width<=480px){.students-page{padding:13px}.students-header,.student-details-header{align-items:stretch;gap:12px;width:100%;margin-bottom:18px}.students-header h1,.student-details-title h1{letter-spacing:-.4px;font-size:23px;line-height:1.3}.students-header p,.student-details-title p{font-size:12px;line-height:1.6}.student-details-heading{width:100%;min-width:0}.student-details-back-button{width:fit-content;max-width:100%;min-height:38px;margin:0 0 14px;padding:0 12px;display:inline-flex}.student-details-title{width:100%;min-width:0}.students-header-actions,.student-details-header-actions{flex-direction:column;align-items:stretch;gap:9px;width:100%}.students-header-actions>button,.student-details-header-actions>button{width:100%}.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-bottom:16px;display:grid}.summary-card{border-radius:11px;align-items:center;gap:9px;min-width:0;min-height:90px;padding:12px 10px;display:flex}.summary-card>div:last-child{flex:1;min-width:0}.summary-card span{overflow-wrap:anywhere;margin-bottom:5px;font-size:11px;line-height:1.35}.summary-card strong{overflow-wrap:anywhere;font-size:21px;line-height:1.2}.summary-icon{border-radius:9px;flex:0 0 34px;width:34px;height:34px}.summary-icon svg{width:17px;height:17px}.students-card{border-radius:11px}.students-toolbar{gap:10px;padding:12px}.students-pagination{gap:13px;padding:14px}.pagination-controls{flex-direction:column;align-items:stretch;gap:13px}.page-size-control{justify-content:space-between}.page-navigation{justify-content:space-between;gap:8px}.page-number{flex:1;min-width:0}.students-error{flex-wrap:wrap;align-items:flex-start;margin:12px}.students-error .retry-button{margin-left:auto}.students-empty{min-height:300px;padding:28px 17px}.empty-actions{flex-direction:column;width:100%;max-width:280px}.empty-actions button{width:100%}.student-form-card{border-radius:11px;margin-bottom:15px}.student-form-card-header{gap:11px;padding:16px}.student-form-card-header h2{font-size:15px}.student-form-grid{gap:17px;padding:17px 16px}.student-form-title{align-items:flex-start;gap:10px}.student-form-title h1{font-size:21px}.student-form-title p{font-size:12px;line-height:1.6}.students-title-icon{border-radius:10px;width:39px;height:39px}.students-back-btn{max-width:100%;min-height:38px}.student-form-actions{flex-direction:column-reverse;gap:9px;width:100%;padding-bottom:17px}.students-secondary-btn,.students-primary-btn{width:100%;min-height:44px}.details-grid{grid-template-columns:minmax(0,1fr);gap:12px}.details-card{border-radius:11px;width:100%;min-width:0;padding:16px}.details-card-header{gap:10px;margin-bottom:17px}.details-card-header h3{font-size:14px}.details-card-header p{font-size:11px}.student-profile-card{border-radius:11px;width:100%;min-width:0;margin-bottom:14px;padding:16px}.student-profile-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.student-profile-info{flex:1;min-width:0}.student-profile-main h2{overflow-wrap:anywhere;margin-bottom:6px;font-size:18px;line-height:1.4}.student-profile-main p{overflow-wrap:anywhere;margin-bottom:8px;font-size:12px;line-height:1.5}.large-student-avatar{flex:0 0 52px;width:52px;height:52px;font-size:19px}.student-profile-code{overflow-wrap:anywhere;word-break:break-word}.detail-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px 0;display:grid}.detail-label{align-items:flex-start;gap:6px;min-width:0;font-size:11px;line-height:1.5;display:flex}.detail-label svg{flex:0 0 13px;width:13px;height:13px;margin-top:2px}.detail-label span{overflow-wrap:anywhere;word-break:break-word;min-width:0}.detail-item strong{text-align:right;overflow-wrap:anywhere;word-break:break-word;white-space:normal;width:100%;min-width:0;max-width:none;margin:0;font-size:12px;line-height:1.5;display:block}.status-badge{white-space:normal;text-align:center;overflow-wrap:anywhere}.student-details-error{flex-wrap:wrap;align-items:flex-start}.student-details-error>span{flex:calc(100% - 45px);min-width:0}.student-details-fallback{min-height:300px;margin:15px auto;padding:25px 17px}.student-fallback-actions{flex-direction:column;width:100%}.student-fallback-actions button{width:100%}.import-card{border-radius:11px;padding:16px}.import-card-header{gap:10px;margin-bottom:17px}.import-card-header h2{font-size:14px}.import-card-header p{font-size:11px}.import-icon{width:36px;height:36px}.upload-zone{min-height:205px;padding:20px 12px}.upload-zone h3{font-size:13px}.selected-file{gap:9px;padding:11px}.selected-file-icon{width:36px;height:36px}.selected-file-info strong{font-size:12px}.validation-summary{grid-template-columns:minmax(0,1fr)}.validation-summary>div{padding:13px}.validation-summary>div strong{font-size:21px}.preview-actions,.success-actions{flex-direction:column;align-items:stretch}.preview-actions button,.success-actions button{width:100%}.import-action-row{flex-direction:column;align-items:stretch}.import-action-row button{width:100%}.import-success-card{border-radius:12px;padding:23px 15px}.import-success-card h2{font-size:19px}.success-count strong{font-size:27px}.credential-warning{padding:11px}.form-section{padding:16px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-field.full-width{grid-column:auto}.form-footer{flex-direction:column-reverse;padding:15px 16px}.form-footer button{width:100%;min-height:43px}.student-confirm-overlay{align-items:center;padding:14px}.student-confirm-modal{border-radius:14px;max-height:calc(100dvh - 28px);padding:23px 19px}.student-confirm-icon{width:48px;height:48px;margin-bottom:16px}.student-confirm-icon svg{width:23px;height:23px}.student-confirm-content h2{font-size:19px}.student-confirm-content p{font-size:12px}.student-confirm-actions{flex-direction:column-reverse;margin-top:22px}.student-confirm-actions button{width:100%}}@media (width<=360px){.students-page{padding:10px}.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-card{gap:7px;min-height:82px;padding:10px 8px}.summary-card span{font-size:10px}.summary-card strong{font-size:19px}.summary-icon{flex-basis:30px;width:30px;height:30px}.summary-icon svg{width:15px;height:15px}.student-details-title h1{font-size:21px}.student-details-back-button{min-height:36px;margin-bottom:11px;padding:0 10px;font-size:11px}.student-form-grid,.student-form-card-header{padding-left:13px;padding-right:13px}.student-form-title h1{font-size:19px}.student-profile-card{padding:13px}.student-profile-main{gap:9px}.student-profile-main h2{font-size:16px}.large-student-avatar{flex-basis:43px;width:43px;height:43px;font-size:16px}.details-card{padding:13px}.detail-item{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7px}.detail-label{gap:5px;font-size:10px}.detail-label svg{flex-basis:12px;width:12px;height:12px}.detail-item strong{font-size:11px}.student-confirm-modal{padding:21px 16px}.student-confirm-content h2{font-size:18px}}@media (prefers-reduced-motion:reduce){.students-page *,.students-page :before,.students-page :after,.student-confirm-overlay,.student-confirm-modal{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.allocation-page,.allocate-bed-page,.allocation-page *,.allocate-bed-page *{box-sizing:border-box}.allocation-page,.allocate-bed-page{color:#111827;background:#f6f7f9;width:100%;min-width:0;min-height:100%;font-family:inherit}.allocation-page{padding:28px 32px 40px}.allocate-bed-page{padding:28px 32px 50px}.allocation-page button,.allocate-bed-page button,.allocation-page input,.allocate-bed-page input,.allocation-page select,.allocate-bed-page select,.allocation-page textarea,.allocate-bed-page textarea{font-family:inherit}.allocation-page button,.allocate-bed-page button{-webkit-tap-highlight-color:transparent}.allocation-page svg,.allocate-bed-page svg{flex-shrink:0}.allocation-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.allocation-page-header>div{min-width:0}.allocation-page-header h1{color:#111827;letter-spacing:-.02em;overflow-wrap:anywhere;margin:4px 0 8px;font-size:clamp(24px,2vw,32px);font-weight:700;line-height:1.2}.allocation-page-header p{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.allocation-eyebrow{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:24px;font-size:12px;font-weight:700;display:inline-flex}.allocate-bed-container{width:min(100%,1180px);min-width:0;margin:0 auto}.allocate-bed-page .page-header{margin-bottom:24px}.allocate-bed-page .page-header h1{color:#111827;letter-spacing:-.025em;overflow-wrap:anywhere;margin:14px 0 7px;font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.2}.allocate-bed-page .page-header p{color:#6b7280;max-width:700px;margin:0;font-size:14px;line-height:1.6}.allocation-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.allocation-header>div{min-width:0}.allocation-header-left{flex:1;min-width:0}.title-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.title-row h1{color:#111827;letter-spacing:-.02em;overflow-wrap:anywhere;margin:0 0 5px;font-size:clamp(24px,3vw,32px);font-weight:700;line-height:1.2}.title-row p{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.allocation-primary-button,.primary-button{color:#fff;text-align:center;cursor:pointer;background:#1f2937;border:1px solid #1f2937;border-radius:8px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:inline-flex}.allocation-primary-button svg,.primary-button svg{width:17px;height:17px}.allocation-primary-button:hover:not(:disabled),.primary-button:hover:not(:disabled){background:#111827;border-color:#111827}.allocation-primary-button:active:not(:disabled),.primary-button:active:not(:disabled){transform:translateY(1px)}.allocation-primary-button:focus-visible,.primary-button:focus-visible{outline-offset:2px;outline:3px solid #47556933}.allocation-primary-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed}.danger-button{color:#b91c1c;text-align:center;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:650;line-height:1.4;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.danger-button svg{width:17px;height:17px}.danger-button:hover:not(:disabled){color:#991b1b;background:#fecaca;border-color:#fca5a5}.danger-button:active:not(:disabled){transform:translateY(1px)}.danger-button:focus-visible{outline-offset:2px;outline:3px solid #b91c1c26}.danger-button:disabled{opacity:.55;cursor:not-allowed}.back-button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:40px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.back-button svg{width:16px;height:16px}.back-button:hover{color:#111827;background:#f8fafc;border-color:#9ca3af}.back-button:focus-visible{outline-offset:2px;outline:3px solid #47556926}.secondary-button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;max-width:100%;min-height:44px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.secondary-button:hover:not(:disabled){color:#111827;background:#f8fafc;border-color:#9ca3af}.secondary-button:focus-visible{outline-offset:2px;outline:3px solid #47556926}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.allocation-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.allocation-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:14px;min-width:0;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 2px #0f172a0a,0 6px 20px #0f172a0a}.allocation-stat-card:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0f172a0a,0 10px 24px #0f172a0d}.allocation-stat-card>div:last-child{min-width:0}.allocation-stat-card span{color:#6b7280;margin-bottom:5px;font-size:13px;font-weight:500;line-height:1.4;display:block}.allocation-stat-card strong{color:#111827;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.2;display:block}.allocation-stat-icon{color:#334155;background:#f1f5f9;border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.allocation-stat-icon svg{width:20px;height:20px}.allocation-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-width:0;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 6px 20px #0f172a0a}.allocation-table-toolbar{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.allocation-search{width:min(100%,440px);min-width:0;position:relative}.allocation-search svg{z-index:1;color:#6b7280;pointer-events:none;width:17px;height:17px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.allocation-search input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:9px;outline:none;width:100%;min-width:0;height:42px;padding:0 14px 0 42px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s;display:block}.allocation-search input::placeholder{color:#9ca3af}.allocation-search input:focus{border-color:#64748b;box-shadow:0 0 0 3px #64748b1f}.allocation-clear-search{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex}.allocation-clear-search:hover{background:#f8fafc}.allocation-clear-search:focus-visible{outline-offset:2px;outline:3px solid #47556926}.allocation-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;width:100%;max-width:100%;overflow:auto hidden}.allocation-table{border-collapse:collapse;border-spacing:0;width:100%;min-width:880px}.allocation-table th,.allocation-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef0f2;padding:15px 18px}.allocation-table th{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#fafafa;font-size:11px;font-weight:700}.allocation-table td{color:#4b5563;font-size:14px}.allocation-table tbody tr{transition:background .15s}.allocation-table tbody tr:hover{background:#fafafa}.allocation-table tbody tr:last-child td{border-bottom:none}.allocation-student-cell,.allocation-bed-cell,.allocation-location-cell{flex-direction:column;min-width:0;display:flex}.allocation-student-cell strong,.allocation-bed-cell strong,.allocation-location-cell strong{color:#111827;overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.45}.allocation-student-cell span,.allocation-bed-cell span,.allocation-location-cell span{color:#4b5563;overflow-wrap:anywhere;margin-top:2px;font-size:13px;line-height:1.4}.allocation-student-cell small,.allocation-bed-cell small,.allocation-location-cell small{color:#6b7280;overflow-wrap:anywhere;margin-top:2px;font-size:12px;line-height:1.4}.allocation-location-cell strong{max-width:180px}.allocation-status,.status-badge{letter-spacing:.03em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;width:fit-content;max-width:100%;min-height:28px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.3;display:inline-flex}.allocation-status svg,.status-badge svg{width:13px;height:13px}.allocation-status-active,.status-badge.active,.status-badge.allocation-status-active{color:#166534;background:#dcfce7}.allocation-status-released,.status-badge.released,.status-badge.allocation-status-released{color:#4b5563;background:#f3f4f6}.allocation-status-available{color:#166534;background:#dcfce7}.allocation-status-occupied{color:#b91c1c;background:#fee2e2}.allocation-status-maintenance{color:#92400e;background:#fef3c7}.allocation-status-reserved{color:#3730a3;background:#e0e7ff}.allocation-icon-button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.allocation-icon-button svg{width:16px;height:16px}.allocation-icon-button:hover{color:#111827;background:#f8fafc;border-color:#cbd5e1}.allocation-icon-button:focus-visible{outline-offset:2px;outline:3px solid #47556926}.allocation-icon-button:disabled{opacity:.5;cursor:not-allowed}.allocation-empty-state,.empty-state{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:40px 24px;display:flex}.allocation-empty-state h3,.empty-state h3{color:#111827;margin:0 0 8px;font-size:18px;font-weight:650;line-height:1.4}.allocation-empty-state p,.empty-state p{max-width:480px;margin:0;font-size:14px;line-height:1.6}.allocation-empty-state>svg,.empty-state>svg{color:#94a3b8;width:34px;height:34px;margin-bottom:14px}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#475569;border-radius:50%;width:30px;height:30px;margin-bottom:14px;animation:.8s linear infinite allocation-spin}@keyframes allocation-spin{to{transform:rotate(360deg)}}.allocation-form{flex-direction:column;gap:18px;min-width:0;display:flex}.form-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-width:0;padding:24px;box-shadow:0 1px 2px #0f172a0a,0 6px 20px #0f172a0a}.section-heading{align-items:flex-start;gap:13px;margin-bottom:22px;display:flex}.section-heading h2{color:#111827;margin:0 0 4px;font-size:17px;font-weight:700;line-height:1.35}.section-heading p{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.section-icon{color:#334155;background:#f1f5f9;border-radius:10px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.section-icon svg{width:18px;height:18px}.form-field{min-width:0}.form-field label{color:#4b5563;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:650;line-height:1.5;display:flex}.form-field label svg{width:14px;height:14px}.form-field label span{color:#b91c1c}.form-field .react-select__container,.form-field .css-b62m3t-container{width:100%;min-width:0}.form-field [class$=-container]{min-width:0}.form-field [class$=-control]{min-height:46px;box-shadow:none;border-color:#d1d5db;border-radius:10px;transition:border-color .2s,box-shadow .2s}.form-field [class$=-control]:hover{border-color:#9ca3af}.form-field [class$=-control--is-focused]{border-color:#64748b;box-shadow:0 0 0 3px #64748b1f}.form-field [class$=-value-container]{min-width:0;padding:6px 12px}.form-field [class$=-singleValue],.form-field [class$=-placeholder]{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 8px);overflow:hidden}.form-field [class$=-menu]{z-index:30;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px #0f172a1f}.form-field [class$=-option]{overflow-wrap:anywhere;cursor:pointer}.hierarchy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.date-field{width:100%;min-width:0;max-width:420px}.date-input-wrapper{align-items:center;width:100%;min-width:0;display:flex;position:relative}.date-input-wrapper svg{z-index:1;color:#6b7280;pointer-events:none;width:17px;height:17px;position:absolute;left:14px}.date-input-wrapper input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;min-width:0;height:46px;padding:0 14px 0 42px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s;display:block}.date-input-wrapper input:focus{border-color:#64748b;box-shadow:0 0 0 3px #64748b1f}.date-input-wrapper input:disabled{color:#6b7280;cursor:not-allowed;background:#f3f4f6}.allocation-summary{background:#f8fafc;border:1px solid #dbe2e8;border-radius:16px;min-width:0;padding:24px}.summary-heading{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.summary-heading>svg{color:#166534;width:21px;height:21px;margin-top:1px}.summary-heading h3{color:#111827;margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.4}.summary-heading p{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.summary-grid{background:#e5e7eb;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.summary-grid>div{background:#fff;min-width:0;padding:16px}.summary-grid span{color:#6b7280;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.summary-grid strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:1.45;display:block;overflow:hidden}.summary-grid small{color:#6b7280;margin-top:3px;font-size:12px;line-height:1.4;display:block}.form-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.status-badge{flex-shrink:0}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-width:0;padding:22px;box-shadow:0 1px 2px #0f172a0a,0 6px 20px #0f172a0a}.detail-card-header{border-bottom:1px solid #eef0f2;align-items:flex-start;gap:12px;margin-bottom:4px;padding-bottom:17px;display:flex}.detail-card-header>div:last-child{min-width:0}.detail-card-header h2{color:#111827;margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.4}.detail-card-header p{color:#6b7280;margin:0;font-size:12px;line-height:1.5}.detail-card-icon{color:#334155;background:#f1f5f9;border-radius:10px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.detail-card-icon svg{width:18px;height:18px}.detail-list{flex-direction:column;min-width:0;display:flex}.detail-item{border-bottom:1px solid #f1f3f5;justify-content:space-between;align-items:center;gap:20px;min-width:0;min-height:48px;display:flex}.detail-item:last-child{border-bottom:none}.detail-item>span:first-child{color:#6b7280;flex:none;font-size:13px;line-height:1.5}.detail-item>strong{color:#111827;text-align:right;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:650;line-height:1.5}.location-summary{background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-width:0;margin-top:18px;padding:22px;box-shadow:0 1px 2px #0f172a0a,0 6px 20px #0f172a0a}.location-summary-header{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.location-summary-header>svg{color:#4b5563;width:20px;height:20px;margin-top:1px}.location-summary-header>div{min-width:0}.location-summary-header span{color:#111827;font-size:13px;font-weight:700;line-height:1.5}.location-path{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;min-width:0;padding:16px;display:flex}.location-path div{color:#111827;overflow-wrap:anywhere;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:600;display:inline-flex}.location-path div svg{color:#4b5563;width:15px;height:15px}.location-path strong{color:#111827;overflow-wrap:anywhere;font-size:13px;font-weight:650}.location-path span{color:#94a3b8;font-size:14px}.location-separator{flex-shrink:0}.release-modal-overlay{z-index:10000;overscroll-behavior:contain;-webkit-backdrop-filter:blur(3px);background:#0f172a7a;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out release-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}.release-modal{overscroll-behavior:contain;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(100%,460px);max-height:calc(100dvh - 48px);padding:28px;animation:.2s ease-out release-modal-in;overflow-y:auto;box-shadow:0 20px 45px #0f172a29,0 8px 20px #0f172a14}.release-modal-icon{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:18px;display:flex}.release-modal-icon svg{width:24px;height:24px}.release-modal-content h2{color:#111827;letter-spacing:-.01em;overflow-wrap:anywhere;margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.3}.release-modal-content p{color:#4b5563;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.release-modal-content strong{color:#111827;font-weight:700}.release-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;display:flex}.modal-cancel-button,.modal-release-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;max-width:100%;min-height:42px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.modal-cancel-button:focus-visible,.modal-release-button:focus-visible{outline-offset:2px}.modal-cancel-button:disabled,.modal-release-button:disabled{opacity:.55;cursor:not-allowed}.modal-cancel-button{color:#4b5563;background:#fff;border:1px solid #d1d5db}.modal-cancel-button:hover:not(:disabled){color:#111827;background:#f8fafc;border-color:#9ca3af}.modal-cancel-button:focus-visible{outline:3px solid #47556926}.modal-release-button{color:#fff;background:#b91c1c;border:1px solid #b91c1c}.modal-release-button:hover:not(:disabled){background:#991b1b;border-color:#991b1b;box-shadow:0 4px 10px #b91c1c29}.modal-release-button:active:not(:disabled){transform:translateY(1px)}.modal-release-button:focus-visible{outline:3px solid #b91c1c2e}@keyframes release-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes release-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.allocation-pagination{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:18px 20px;display:flex}.allocation-pagination-info{color:#64748b;min-width:0;font-size:14px;line-height:1.5}.allocation-pagination-controls{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.allocation-pagination-controls button{color:#334155;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:0 12px;font-family:inherit;font-size:14px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.allocation-pagination-controls button:hover:not(:disabled){background:#f8fafc}.allocation-pagination-controls button:focus-visible{outline-offset:2px;outline:3px solid #47556926}.allocation-pagination-controls button:disabled{opacity:.45;cursor:not-allowed}.allocation-pagination-controls button.active{color:#fff;background:#334155;border-color:#334155}.allocation-pagination-ellipsis{color:#6b7280;justify-content:center;align-items:center;min-width:24px;min-height:36px;display:inline-flex}@media (width<=1024px){.allocation-page,.allocate-bed-page{padding:24px}.allocation-stats{gap:12px}.allocation-stat-card{padding:17px}.hierarchy-grid{gap:16px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid{gap:14px}.detail-card{padding:19px}.allocation-table th,.allocation-table td{padding:14px}}@media (width<=768px){.allocation-page,.allocate-bed-page{padding:20px 16px 32px}.allocation-page-header{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:20px}.allocation-primary-button{width:100%}.allocation-header{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:22px}.allocation-header .danger-button{width:100%}.title-row{flex-direction:column;align-items:flex-start;gap:10px}.allocation-stats{grid-template-columns:1fr;gap:10px;margin-bottom:18px}.allocation-stat-card{padding:15px 16px}.allocation-stat-icon{flex-basis:40px;width:40px;height:40px}.allocation-table-card{border-radius:12px}.allocation-table-toolbar{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.allocation-search{width:100%}.allocation-table{min-width:820px}.allocate-bed-page .page-header{margin-bottom:18px}.allocate-bed-page .page-header h1{margin-top:10px}.allocation-form{gap:14px}.form-section{border-radius:13px;padding:18px}.hierarchy-grid{grid-template-columns:minmax(0,1fr);gap:15px}.date-field{max-width:none}.allocation-summary{padding:18px}.summary-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions button{width:100%}.details-grid{grid-template-columns:minmax(0,1fr)}.detail-card,.location-summary{padding:18px}.allocation-pagination{flex-direction:column;align-items:flex-start;gap:12px;padding:15px}.allocation-pagination-controls{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;max-width:100%;padding:2px 2px 6px;overflow-x:auto}.allocation-pagination-controls button{flex:none}.release-modal-overlay{align-items:center;padding:16px}.release-modal{border-radius:14px;max-height:calc(100dvh - 32px);padding:22px}.release-modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-cancel-button,.modal-release-button{width:100%}}@media (width<=576px){.allocation-page,.allocate-bed-page{padding:16px 12px 28px}.allocation-page-header h1,.allocate-bed-page .page-header h1{font-size:25px}.allocation-page-header p,.allocate-bed-page .page-header p{font-size:13px}.title-row h1{font-size:25px}.allocation-table-toolbar{padding:12px}.allocation-search input{height:40px;font-size:13px}.allocation-table{min-width:800px}.allocation-table th,.allocation-table td{padding:12px 14px}.allocation-pagination-info{font-size:12px}.allocation-pagination-controls button{min-width:34px;min-height:34px;padding:0 10px;font-size:13px}.form-section{padding:16px}.section-heading{gap:10px;margin-bottom:17px}.section-icon{flex-basis:35px;width:35px;height:35px}.section-icon svg{width:16px;height:16px}.section-heading h2{font-size:15px}.section-heading p,.form-field label{font-size:12px}.allocation-summary{padding:16px}.summary-heading{gap:9px}.summary-grid>div{padding:14px}.allocation-header{margin-bottom:20px}.detail-card{padding:16px}.detail-card-header{gap:10px}.detail-item{flex-direction:column;align-items:flex-start;gap:4px;padding:11px 0}.detail-item>strong{text-align:left;width:100%}.location-summary{padding:16px}.location-path{flex-direction:column;align-items:flex-start;gap:8px}.location-path .location-separator{display:none}.release-modal{padding:20px}.release-modal-icon{width:46px;height:46px;margin-bottom:15px}.release-modal-icon svg{width:21px;height:21px}.release-modal-content h2{font-size:18px}.release-modal-content p{font-size:13px}}@media (width<=400px){.allocation-page,.allocate-bed-page{padding-left:10px;padding-right:10px}.allocation-page-header h1,.allocate-bed-page .page-header h1,.title-row h1{font-size:23px}.form-section,.detail-card,.allocation-summary,.location-summary{border-radius:11px;padding:14px}.allocation-stat-card{padding:13px}.allocation-stat-card strong{font-size:21px}.allocation-primary-button,.primary-button,.secondary-button,.danger-button{min-height:42px;padding:0 12px;font-size:13px}.release-modal{padding:18px}.release-modal-actions{margin-top:20px}.detail-item{gap:5px}}@media (width>=1440px){.allocation-page,.allocate-bed-page{padding-left:40px;padding-right:40px}.allocation-page{padding-top:28px}.allocate-bed-container{width:min(100%,1240px)}.allocation-page-header{margin-bottom:32px}.form-section{padding:28px}.details-grid{gap:20px}}@media (prefers-reduced-motion:reduce){.allocation-page *,.allocation-page :before,.allocation-page :after,.allocate-bed-page *,.allocate-bed-page :before,.allocate-bed-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.allocation-page,.allocate-bed-page{background:#fff;padding:0}.allocation-primary-button,.back-button,.danger-button,.form-actions,.allocation-table-toolbar,.allocation-icon-button,.allocation-pagination,.release-modal-overlay{display:none!important}.allocation-table-card,.form-section,.detail-card,.allocation-summary,.location-summary{box-shadow:none;break-inside:avoid}.allocation-table-wrapper{overflow:visible}.allocation-table{width:100%;min-width:0}}.warden-vacation-page{box-sizing:border-box;color:#1f2937;background:#f7f8fc;width:100%;min-width:0;min-height:100%;padding:clamp(14px,2.2vw,28px)}.warden-vacation-page button,.warden-vacation-page input,.warden-vacation-page select,.warden-vacation-page textarea{font:inherit}.warden-vacation-page button{-webkit-tap-highlight-color:transparent}.warden-vacation-page button:focus-visible,.warden-vacation-page input:focus-visible,.warden-vacation-page select:focus-visible,.warden-vacation-page textarea:focus-visible{outline-offset:2px;outline:3px solid #47556933}.warden-vacation-header{width:100%;margin-bottom:24px}.warden-vacation-header>div{max-width:100%}.warden-vacation-header h1{color:#111827;letter-spacing:-.5px;overflow-wrap:anywhere;margin:5px 0 8px;font-size:clamp(23px,2.1vw,30px);font-weight:750;line-height:1.2}.warden-vacation-header p{color:#6b7280;max-width:700px;margin:0;font-size:14px;line-height:1.65}.warden-vacation-eyebrow{color:#667085;letter-spacing:1.1px;text-transform:uppercase;font-size:11px;font-weight:750;line-height:1.4;display:inline-block}.vacation-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.vacation-stat-card{box-sizing:border-box;background:#fff;border:1px solid #e7e9ef;border-radius:14px;align-items:center;gap:14px;min-width:0;padding:20px;display:flex}.vacation-stat-icon{border-radius:12px;justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;font-size:21px;display:flex}.vacation-stat-icon.pending{color:#a96f00;background:#fff7df}.vacation-stat-icon.approved{color:#20834b;background:#eaf8ef}.vacation-stat-icon.rejected{color:#c83b3b;background:#fff0f0}.vacation-stat-content{min-width:0}.vacation-stat-content span{color:#6b7280;margin-bottom:4px;font-size:13px;display:block}.vacation-stat-content strong{color:#111827;font-variant-numeric:tabular-nums;font-size:25px;font-weight:750;line-height:1.1;display:block}.warden-vacation-table-card{box-sizing:border-box;background:#fff;border:1px solid #e7e9ef;border-radius:16px;width:100%;min-width:0;overflow:hidden}.warden-vacation-toolbar{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:22px;padding:22px;display:flex}.vacation-toolbar-title{min-width:0;padding-top:2px}.vacation-toolbar-title h2{color:#111827;margin:0 0 5px;font-size:18px;font-weight:750;line-height:1.4}.vacation-toolbar-title>span{color:#8a93a3;font-size:12px;line-height:1.5;display:block}.vacation-toolbar-controls{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:flex-start;gap:12px;min-width:0;display:flex}.vacation-month-filter{box-sizing:border-box;background:#fafbfc;border:1px solid #e5e8ee;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.vacation-month-filter label{color:#697386;white-space:nowrap;align-items:center;gap:6px;padding:0 4px;font-size:11px;font-weight:650;display:inline-flex}.vacation-month-filter label svg{flex-shrink:0;width:14px;height:14px}.vacation-month-filter input[type=month]{color:#374151;box-sizing:border-box;background:#fff;border:1px solid #dfe3ea;border-radius:7px;outline:none;width:145px;min-width:0;max-width:100%;height:34px;padding:0 8px;font-size:12px}.vacation-month-filter input[type=month]:focus{border-color:#98a4b7;box-shadow:0 0 0 3px #47556914}.vacation-filter-reset{color:#5f6878;cursor:pointer;background:#fff;border:1px solid #e0e4ea;border-radius:7px;min-height:32px;padding:0 9px;font-size:11px;font-weight:650;transition:background .18s,border-color .18s,color .18s}.vacation-filter-reset:hover:not(:disabled){color:#1f2937;background:#f1f3f6;border-color:#cbd2dc}.vacation-filter-reset:disabled{opacity:.5;cursor:not-allowed}.vacation-search{flex:230px;width:min(310px,100%);min-width:0;position:relative}.vacation-search>svg{color:#98a1b2;pointer-events:none;width:17px;height:17px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.vacation-search input{color:#1f2937;box-sizing:border-box;background:#fff;border:1px solid #dfe3ea;border-radius:9px;outline:none;width:100%;height:42px;padding:0 39px;font-size:12px;transition:border-color .2s,box-shadow .2s;display:block}.vacation-search input::placeholder{color:#a0a8b7}.vacation-search input:focus{border-color:#98a4b7;box-shadow:0 0 0 3px #47556914}.vacation-search-clear{color:#7b8494;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;padding:0;font-size:19px;line-height:1;display:flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.vacation-search-clear:hover{color:#111827;background:#f1f3f6}.vacation-filter-summary{background:#fcfcfd;border-bottom:1px solid #edf0f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;display:flex}.vacation-filter-summary>div{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.vacation-filter-summary>div>svg{color:#8992a2;width:15px;height:15px}.vacation-filter-summary>div>span{color:#697386;font-size:11px;line-height:1.5}.vacation-sort-indicator{color:#697386;border-left:1px solid #e1e5eb;align-items:center;gap:5px;padding-left:12px;font-size:11px;display:inline-flex}.vacation-sort-indicator svg{width:13px;height:13px}.vacation-reset-all{color:#596779;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:11px;font-weight:700}.vacation-reset-all:hover{color:#111827;text-decoration:underline}.vacation-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd2dc #f7f8fa;width:100%;min-width:0;overflow:auto hidden}.vacation-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1050px}.vacation-table th{color:#7b8494;letter-spacing:.55px;text-align:left;text-transform:uppercase;white-space:nowrap;background:#fafbfc;border-bottom:1px solid #e8ebf0;padding:14px 15px;font-size:10px;font-weight:800;line-height:1.4}.vacation-table td{color:#374151;vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #eef0f4;padding:15px;font-size:12px}.vacation-table tbody tr{transition:background .15s}.vacation-table tbody tr:hover{background:#fafbfc}.vacation-table tbody tr:last-child td{border-bottom:0}.vacation-table th:first-child,.vacation-table td:first-child{width:18%}.vacation-table th:nth-child(2),.vacation-table td:nth-child(2){width:22%}.vacation-table th:nth-child(3),.vacation-table td:nth-child(3),.vacation-table th:nth-child(4),.vacation-table td:nth-child(4){width:12%}.vacation-table th:nth-child(5),.vacation-table td:nth-child(5){width:18%}.vacation-table th:nth-child(6),.vacation-table td:nth-child(6){width:11%}.vacation-table th:nth-child(7),.vacation-table td:nth-child(7){text-align:center;width:7%}.vacation-student-cell{align-items:center;gap:10px;min-width:0;display:flex}.vacation-student-cell>div:last-child{flex:1;min-width:0}.vacation-student-cell strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;line-height:1.45;display:block;overflow:hidden}.vacation-student-cell span{color:#8a93a3;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;line-height:1.4;display:block;overflow:hidden}.vacation-avatar{color:#4b5563;background:#eef1f5;border:1px solid #e5e8ee;border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:13px;font-weight:750;display:flex}.vacation-location-cell{min-width:0}.vacation-location-cell strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750;line-height:1.5;display:block;overflow:hidden}.vacation-location-cell span{color:#8a93a3;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;line-height:1.5;display:block;overflow:hidden}.vacation-date-cell{align-items:flex-start;gap:7px;min-width:0;display:flex}.vacation-date-cell svg{color:#8b95a5;width:14px;min-width:14px;height:14px;margin-top:1px}.vacation-date-cell span{color:#4b5563;white-space:nowrap;font-size:11px;line-height:1.5}.vacation-reason{color:#5f6878;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.6;overflow:hidden}.vacation-status{letter-spacing:.3px;text-align:center;text-transform:uppercase;white-space:nowrap;box-sizing:border-box;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:76px;max-width:100%;padding:6px 9px;font-size:9px;font-weight:800;line-height:1.35;display:inline-flex}.vacation-status-pending{color:#956300;background:#fff6dc}.vacation-status-approved{color:#237b49;background:#e9f8ef}.vacation-status-rejected{color:#c03939;background:#fff0f0}.vacation-status-cancelled{color:#6b7280;background:#eef0f3}.vacation-icon-button{color:#5e6878;cursor:pointer;background:#fff;border:1px solid #e0e4ea;border-radius:8px;justify-content:center;align-items:center;width:35px;height:35px;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.vacation-icon-button svg{width:16px;height:16px}.vacation-icon-button:hover{color:#111827;background:#f5f6f8;border-color:#ccd2db}.vacation-icon-button:active{transform:translateY(1px)}.vacation-pagination{background:#fff;border-top:1px solid #edf0f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.vacation-pagination-info{flex-wrap:wrap;align-items:center;gap:20px;min-width:0;display:flex}.vacation-pagination-count{color:#7b8494;font-size:11px;line-height:1.6}.vacation-pagination-count strong{color:#374151;font-variant-numeric:tabular-nums;font-weight:750}.vacation-page-size{color:#7b8494;white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:inline-flex}.vacation-page-size select{color:#374151;cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #dfe3ea;border-radius:7px;outline:none;min-width:64px;height:34px;padding:0 25px 0 9px;font-size:12px}.vacation-page-size select:focus{border-color:#98a4b7}.vacation-pagination-controls{justify-content:flex-end;align-items:center;gap:10px;display:flex}.vacation-page-button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #dfe3ea;border-radius:8px;justify-content:center;align-items:center;width:35px;height:35px;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.vacation-page-button svg{width:16px;height:16px}.vacation-page-button:hover:not(:disabled){color:#111827;background:#f5f6f8;border-color:#c5ccd6}.vacation-page-button:disabled{color:#c0c6d0;cursor:not-allowed;background:#f8f9fb}.vacation-page-indicator{color:#7b8494;text-align:center;white-space:nowrap;min-width:90px;font-size:11px}.vacation-page-indicator strong{color:#374151;font-variant-numeric:tabular-nums;font-weight:750}.vacation-loading{color:#7b8494;text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;padding:24px;font-size:13px;display:flex}.vacation-spinner{border:3px solid #e5e7eb;border-top-color:#64748b;border-radius:50%;width:28px;height:28px;animation:.75s linear infinite vacationSpin}@keyframes vacationSpin{to{transform:rotate(360deg)}}.vacation-empty{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:290px;padding:36px 20px;display:flex}.vacation-empty h3{color:#1f2937;margin:15px 0 7px;font-size:17px;line-height:1.4}.vacation-empty p{color:#8a93a3;max-width:450px;margin:0;font-size:12px;line-height:1.7}.vacation-empty-icon{color:#7a8494;background:#f0f2f5;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;font-size:24px;display:flex}.vacation-primary-button,.vacation-secondary-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;margin-top:20px;padding:0 16px;font-size:12px;font-weight:700;transition:background .15s;display:inline-flex}.vacation-primary-button{color:#fff;background:#374151;border:1px solid #374151}.vacation-primary-button:hover{background:#1f2937}.vacation-secondary-button{color:#4b5563;background:#fff;border:1px solid #dfe3e8}.vacation-secondary-button:hover{background:#f7f8fa}.warden-vacation-details{width:100%;min-width:0;max-width:1180px;margin:0 auto}.vacation-back-button{color:#657080;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:36px;margin-bottom:20px;padding:0 3px;font-size:12px;font-weight:700;display:inline-flex}.vacation-back-button svg{flex-shrink:0;width:16px;height:16px}.vacation-back-button:hover{color:#111827}.warden-vacation-details-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.vacation-details-title{flex:1;min-width:0}.vacation-details-title h1{color:#111827;letter-spacing:-.5px;overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(24px,2.3vw,30px);font-weight:750;line-height:1.25}.vacation-details-title p{color:#7b8494;margin:8px 0 0;font-size:12px;line-height:1.6}.warden-vacation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;width:100%;margin-bottom:18px;display:grid}.vacation-detail-card{box-sizing:border-box;background:#fff;border:1px solid #e7e9ef;border-radius:14px;width:100%;min-width:0;margin-bottom:18px;padding:22px}.warden-vacation-detail-grid .vacation-detail-card{flex-direction:column;height:100%;margin-bottom:0;display:flex}.vacation-detail-card-heading{box-sizing:border-box;align-items:center;gap:12px;width:100%;min-width:0;margin-bottom:18px;display:flex}.vacation-detail-card-heading>div:last-child{flex:1;min-width:0}.vacation-detail-card-heading>div:last-child>span{color:#9aa2af;letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;line-height:1.4;display:block}.vacation-detail-card-heading h2{color:#1f2937;overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:750;line-height:1.4}.vacation-heading-icon{color:#596474;background:#f1f3f6;border-radius:10px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;font-size:18px;display:flex}.vacation-detail-list{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;min-width:0;margin-top:auto;display:flex}.vacation-detail-list>div{box-sizing:border-box;background:#fafbfc;border:1px solid #edf0f3;border-radius:9px;grid-template-columns:minmax(85px,110px) minmax(0,1fr);align-items:center;column-gap:16px;width:100%;min-height:58px;padding:12px 15px;display:grid}.vacation-detail-list span{color:#8a93a3;min-width:0;margin:0;font-size:11px;line-height:1.5;display:block}.vacation-detail-list strong{color:#273142;overflow-wrap:anywhere;min-width:0;margin:0;font-size:12px;font-weight:750;line-height:1.55;display:block}.vacation-location-path{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.vacation-location-item{flex:120px;min-width:100px}.vacation-location-item span{color:#8a93a3;margin-bottom:5px;font-size:11px;line-height:1.4;display:block}.vacation-location-item strong{color:#273142;overflow-wrap:anywhere;font-size:12px;font-weight:750;line-height:1.5;display:block}.vacation-location-divider{color:#c4c9d1;font-size:18px}.vacation-detail-reason-box{box-sizing:border-box;background:#fafbfc;border:1px solid #edf0f3;border-radius:10px;min-width:0;padding:16px}.vacation-detail-reason{color:#4b5563;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.8}.vacation-review-card{box-sizing:border-box;background:#fff;border:1px solid #e7e9ef;border-radius:14px;width:100%;min-width:0;margin-bottom:18px;padding:22px}.vacation-review-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.vacation-review-heading>div{min-width:0}.vacation-review-heading>div>span{color:#9aa2af;letter-spacing:.8px;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.vacation-review-heading h2{color:#1f2937;margin:0;font-size:17px;line-height:1.4}.vacation-review-heading p{color:#8a93a3;text-align:right;max-width:430px;margin:0;font-size:12px;line-height:1.7}.vacation-field{width:100%;min-width:0;margin-bottom:20px}.vacation-field label{color:#374151;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:12px;font-weight:750;line-height:1.5;display:flex}.vacation-field textarea{resize:vertical;color:#374151;box-sizing:border-box;background:#fff;border:1px solid #dfe3e8;border-radius:9px;outline:none;width:100%;min-height:120px;padding:12px 13px;font-family:inherit;font-size:12px;line-height:1.7;transition:border-color .2s,box-shadow .2s;display:block}.vacation-field textarea::placeholder{color:#a0a8b7}.vacation-field textarea:focus{border-color:#98a4b7;box-shadow:0 0 0 3px #47556914}.vacation-field textarea:disabled{cursor:not-allowed;background:#f7f8fa}.optional-label{color:#9aa2af;font-size:11px;font-weight:500}.vacation-field-hint{color:#8992a2;margin-top:7px;font-size:11px;line-height:1.5;display:block}.vacation-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.vacation-reject-button,.vacation-approve-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:12px;font-weight:750;line-height:1.4;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.vacation-reject-button svg,.vacation-approve-button svg{flex-shrink:0;width:16px;height:16px}.vacation-reject-button:disabled,.vacation-approve-button:disabled{opacity:.55;cursor:not-allowed}.vacation-reject-button{color:#bd3c3c;background:#fff;border:1px solid #e3c6c6}.vacation-reject-button:hover:not(:disabled){background:#fff5f5;border-color:#dcaeae}.vacation-approve-button{color:#fff;background:#3f7a59;border:1px solid #3f7a59}.vacation-approve-button:hover:not(:disabled){background:#35694c}.vacation-confirmation-overlay{z-index:9999;box-sizing:border-box;overscroll-behavior:contain;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.vacation-confirmation-modal{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(520px,100%);max-height:calc(100dvh - 48px);padding:28px;overflow:hidden auto;box-shadow:0 20px 50px #0f172a2e}.vacation-confirmation-modal.confirmation-approve .vacation-confirmation-icon{color:#25804c;background:#eaf8ef}.vacation-confirmation-modal.confirmation-reject .vacation-confirmation-icon{color:#c33e3e;background:#fff0f0}.vacation-confirmation-icon{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:18px;font-size:21px;display:flex}.vacation-confirmation-icon svg{width:21px;height:21px}.vacation-confirmation-content{min-width:0}.vacation-confirmation-content h2{color:#111827;overflow-wrap:anywhere;margin:0 0 9px;font-size:20px;line-height:1.4}.vacation-confirmation-content>p{color:#687282;margin:0;font-size:12px;line-height:1.8}.confirmation-remarks-preview{background:#fafbfc;border:1px solid #eceff3;border-radius:9px;margin-top:18px;padding:13px}.confirmation-remarks-preview span{color:#8b94a3;letter-spacing:.7px;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.confirmation-remarks-preview p{color:#4b5563;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.7}.vacation-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.confirmation-cancel-button,.confirmation-confirm-approve,.confirmation-confirm-reject{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-size:12px;font-weight:750;line-height:1.4;display:inline-flex}.confirmation-cancel-button svg,.confirmation-confirm-approve svg,.confirmation-confirm-reject svg{flex-shrink:0;width:15px;height:15px}.confirmation-cancel-button:disabled,.confirmation-confirm-approve:disabled,.confirmation-confirm-reject:disabled{opacity:.55;cursor:not-allowed}.confirmation-cancel-button{color:#596474;background:#fff;border-color:#dfe3e8}.confirmation-cancel-button:hover:not(:disabled){background:#f6f7f9}.confirmation-confirm-approve{color:#fff;background:#3f7a59;border-color:#3f7a59}.confirmation-confirm-approve:hover:not(:disabled){background:#35694c}.confirmation-confirm-reject{color:#fff;background:#c43d3d;border-color:#c43d3d}.confirmation-confirm-reject:hover:not(:disabled){background:#ad3333}.button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite vacationSpin;display:inline-block}@media (width<=1200px){.warden-vacation-page{padding:22px}.warden-vacation-toolbar{gap:16px;padding:19px}.vacation-toolbar-controls{gap:10px}.vacation-month-filter{gap:6px}.vacation-month-filter input[type=month]{width:135px}.vacation-table{min-width:1000px}.vacation-detail-card,.vacation-review-card{padding:20px}.vacation-detail-list>div{grid-template-columns:minmax(80px,100px) minmax(0,1fr);column-gap:12px}}@media (width<=900px){.warden-vacation-page{padding:18px}.vacation-stats{gap:12px}.vacation-stat-card{gap:11px;padding:15px}.vacation-stat-icon{width:40px;min-width:40px;height:40px;font-size:18px}.vacation-stat-content strong{font-size:22px}.warden-vacation-toolbar{flex-direction:column;align-items:stretch;gap:16px}.vacation-toolbar-controls{justify-content:flex-start;width:100%}.vacation-month-filter{flex:100%}.vacation-search{flex:100%;width:100%}.vacation-table{min-width:1000px}.vacation-filter-summary{padding:12px 18px}.vacation-pagination{padding:15px 18px}.warden-vacation-detail-grid{gap:14px}.vacation-detail-card{padding:18px}.vacation-detail-list>div{grid-template-columns:minmax(75px,90px) minmax(0,1fr);column-gap:10px;padding:11px}.vacation-location-path{gap:10px}.vacation-location-item{flex-basis:100px}.vacation-review-heading{gap:16px}}@media (width<=640px){.warden-vacation-page{padding:14px}.warden-vacation-header{margin-bottom:18px}.warden-vacation-header h1{font-size:24px}.warden-vacation-header p{font-size:12px}.vacation-stats{grid-template-columns:1fr;gap:9px;margin-bottom:18px}.vacation-stat-card{min-height:65px;padding:12px 14px}.vacation-stat-icon{width:39px;min-width:39px;height:39px}.vacation-stat-content{flex:1;justify-content:space-between;align-items:center;display:flex}.vacation-stat-content span{margin:0;font-size:12px}.vacation-stat-content strong{font-size:21px}.warden-vacation-table-card{border-radius:12px}.warden-vacation-toolbar{gap:14px;padding:15px}.vacation-toolbar-title h2{font-size:16px}.vacation-toolbar-controls{flex-direction:column;align-items:stretch;gap:10px}.vacation-month-filter{align-items:center;gap:7px;padding:9px;display:flex}.vacation-month-filter label{flex:100%;font-size:11px}.vacation-month-filter input[type=month]{flex:135px;width:auto;min-width:0}.vacation-month-filter .vacation-filter-reset{flex:none}.vacation-search{flex:none;width:100%}.vacation-search input{height:41px;font-size:12px}.vacation-filter-summary{align-items:flex-start;gap:9px;padding:12px 15px}.vacation-filter-summary>div{gap:8px}.vacation-filter-summary>div>span{font-size:10px}.vacation-sort-indicator{padding-left:8px;font-size:10px}.vacation-table-wrapper{overflow:visible}.vacation-table{table-layout:auto;width:100%;min-width:0;display:block}.vacation-table thead{display:none}.vacation-table tbody{width:100%;display:block}.vacation-table tr{box-sizing:border-box;border-bottom:1px solid #edf0f3;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;padding:12px;display:grid}.vacation-table tr:hover{background:#fff}.vacation-table tr:last-child{border-bottom:0}.vacation-table td{box-sizing:border-box;border:0;min-width:0;padding:10px 6px;display:block;text-align:left!important;width:auto!important}.vacation-table td:before{color:#9aa2af;letter-spacing:.45px;text-transform:uppercase;content:attr(data-label);margin-bottom:6px;font-size:9px;font-weight:800;line-height:1.4;display:block}.vacation-table td:first-child{grid-column:1/-1;padding-top:5px;padding-bottom:11px}.vacation-table td:first-child:before{display:none}.vacation-table td:nth-child(2),.vacation-table td:nth-child(5){grid-column:1/-1}.vacation-table td:nth-child(6){align-self:center}.vacation-table td:nth-child(7){place-self:center end}.vacation-student-cell{gap:10px}.vacation-student-cell strong{white-space:normal;overflow-wrap:anywhere;font-size:13px}.vacation-student-cell span{font-size:10px}.vacation-avatar{width:35px;min-width:35px;height:35px}.vacation-location-cell{background:#fafbfc;border:1px solid #edf0f3;border-radius:8px;padding:9px 10px}.vacation-location-cell strong{white-space:normal;overflow-wrap:anywhere;font-size:11px}.vacation-location-cell span{white-space:normal;overflow-wrap:anywhere;font-size:10px}.vacation-date-cell{gap:5px}.vacation-date-cell svg{width:13px;min-width:13px;height:13px}.vacation-date-cell span{white-space:normal;overflow-wrap:anywhere;font-size:11px}.vacation-reason{white-space:normal;overflow-wrap:anywhere;background:#fafbfc;border:1px solid #edf0f3;border-radius:8px;padding:9px 10px;font-size:11px;line-height:1.6}.vacation-status{min-width:70px;padding:5px 8px;font-size:9px}.vacation-icon-button{width:35px;height:35px}.vacation-pagination{flex-direction:column;align-items:stretch;gap:13px;padding:14px 15px}.vacation-pagination-info{justify-content:space-between;gap:10px}.vacation-pagination-count{font-size:10px}.vacation-page-size{gap:6px;font-size:10px}.vacation-page-size select{min-width:60px;height:33px;font-size:11px}.vacation-pagination-controls{justify-content:space-between;gap:10px;width:100%}.vacation-page-button{width:38px;height:36px}.vacation-page-indicator{flex:1;font-size:11px}.warden-vacation-details{width:100%}.vacation-back-button{margin-bottom:16px}.warden-vacation-details-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px}.vacation-details-title h1{font-size:25px}.warden-vacation-detail-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:0}.vacation-detail-card,.vacation-review-card{border-radius:12px;margin-bottom:14px;padding:16px}.warden-vacation-detail-grid .vacation-detail-card{height:auto;margin-bottom:14px}.vacation-detail-card-heading{gap:10px;margin-bottom:15px}.vacation-detail-card-heading h2{font-size:15px}.vacation-detail-card-heading>div:last-child>span{font-size:9px}.vacation-heading-icon{width:36px;min-width:36px;height:36px;font-size:16px}.vacation-detail-list{gap:8px;margin-top:0}.vacation-detail-list>div{grid-template-columns:minmax(78px,95px) minmax(0,1fr);column-gap:10px;min-height:53px;padding:10px 11px}.vacation-detail-list span{font-size:10px}.vacation-detail-list strong{font-size:12px}.vacation-location-path{flex-direction:column;align-items:stretch;gap:8px}.vacation-location-item{background:#fafbfc;border:1px solid #edf0f3;border-radius:8px;flex:none;min-width:0;padding:11px 12px}.vacation-location-item span{font-size:10px}.vacation-location-item strong{font-size:12px}.vacation-location-divider{display:none}.vacation-detail-reason-box{padding:12px}.vacation-detail-reason{font-size:12px;line-height:1.7}.vacation-review-heading{flex-direction:column;gap:9px;margin-bottom:17px}.vacation-review-heading h2{font-size:16px}.vacation-review-heading p{text-align:left;max-width:none;font-size:11px}.vacation-field textarea{min-height:110px;font-size:12px}.vacation-review-actions{flex-direction:column-reverse;align-items:stretch;gap:9px}.vacation-review-actions button{width:100%;min-height:43px}.vacation-confirmation-overlay{align-items:center;padding:14px}.vacation-confirmation-modal{border-radius:14px;width:100%;max-height:calc(100dvh - 28px);padding:20px}.vacation-confirmation-icon{width:43px;height:43px;margin-bottom:15px}.vacation-confirmation-content h2{font-size:18px}.vacation-confirmation-content>p{font-size:12px}.confirmation-remarks-preview{margin-top:14px;padding:11px}.vacation-confirmation-actions{flex-direction:column-reverse;align-items:stretch;gap:9px;margin-top:20px}.vacation-confirmation-actions button{width:100%;min-height:43px}.vacation-empty{min-height:250px;padding:28px 15px}.vacation-empty h3{font-size:15px}.vacation-empty p{font-size:11px}}@media (width<=380px){.warden-vacation-page{padding:10px}.warden-vacation-header h1{font-size:21px}.vacation-stat-card{padding:11px}.vacation-stat-content strong{font-size:19px}.warden-vacation-toolbar{padding:12px}.vacation-month-filter{gap:6px;padding:7px}.vacation-month-filter input[type=month]{flex-basis:120px;font-size:11px}.vacation-month-filter .vacation-filter-reset{padding:0 7px;font-size:10px}.vacation-filter-summary{padding:10px 12px}.vacation-table tr{padding:10px}.vacation-table td{padding:8px 5px}.vacation-pagination{padding:12px}.vacation-pagination-info{flex-direction:column;align-items:flex-start;gap:10px}.vacation-detail-card,.vacation-review-card{padding:13px}.vacation-detail-list>div{grid-template-columns:minmax(72px,82px) minmax(0,1fr);column-gap:8px;padding:10px}.vacation-detail-list span{font-size:9px}.vacation-detail-list strong{font-size:11px}.vacation-confirmation-modal{padding:17px}.vacation-confirmation-content h2{font-size:17px}}@media (height<=500px) and (orientation:landscape){.vacation-confirmation-overlay{align-items:flex-start;padding:12px}.vacation-confirmation-modal{max-height:none}}@media (prefers-reduced-motion:reduce){.vacation-spinner,.button-spinner{animation:none}.vacation-icon-button,.vacation-search input,.vacation-reject-button,.vacation-approve-button,.vacation-page-button{transition:none}}.food-expense-page{box-sizing:border-box;background:#f5f7fb;width:100%;min-height:100vh;padding:28px 24px 50px}.food-expense-page *{box-sizing:border-box}.food-expense-container{width:100%;max-width:1500px;margin:0 auto}.food-expense-header{align-items:flex-start;gap:22px;margin-bottom:28px;display:flex}.food-expense-back{color:#344054;cursor:pointer;background:#fff;border:1px solid #d9dee8;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.food-expense-back svg{width:17px;height:17px}.food-expense-back:hover{color:#1d2939;background:#f8fafc;border-color:#c8ceda}.food-expense-back:active{transform:translateY(1px)}.food-expense-header-content{min-width:0}.food-expense-eyebrow{color:#667085;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.food-expense-header h1{color:#101828;letter-spacing:-.025em;margin:0;font-size:clamp(26px,3vw,36px);font-weight:750;line-height:1.2}.food-expense-header p{color:#667085;max-width:760px;margin:8px 0 0;font-size:14px;line-height:1.65}.food-expense-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;width:100%;margin-bottom:22px;overflow:hidden;box-shadow:0 2px 8px #10182809}.food-expense-card-header{border-bottom:1px solid #eef0f4;padding:22px 24px}.food-expense-card-heading{align-items:center;gap:14px;display:flex}.food-expense-icon{color:#3b63d3;background:#eef4ff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.food-expense-icon svg{width:21px;height:21px}.food-expense-card-heading h2{color:#101828;margin:0;font-size:17px;font-weight:700}.food-expense-card-heading p{color:#667085;margin:5px 0 0;font-size:13px;line-height:1.5}.food-expense-period-grid{grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) minmax(220px,.9fr);align-items:end;gap:20px;padding:24px;display:grid}.food-expense-field{min-width:0}.food-expense-field label{color:#344054;margin-bottom:8px;font-size:13px;font-weight:650;display:block}.food-expense-current-year{color:#344054;background:#f9fafb;border:1px solid #d0d5dd;border-radius:8px;align-items:center;width:100%;min-height:42px;padding:0 13px;font-size:14px;font-weight:600;display:flex}.food-expense-action{justify-content:flex-end;min-width:0;display:flex}.food-expense-primary{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2457d6;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:43px;padding:0 20px;font-size:14px;font-weight:650;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.food-expense-primary svg{width:17px;height:17px}.food-expense-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 10px #2563eb2e}.food-expense-primary:active:not(:disabled){transform:translateY(1px)}.food-expense-primary:disabled{opacity:.65;cursor:not-allowed}.food-expense-field .react-select__control{min-height:43px;box-shadow:none;cursor:pointer;border:1px solid #d0d5dd;border-radius:8px}.food-expense-field .react-select__value-container{padding:0 12px}.food-expense-field .react-select__single-value{color:#344054;font-size:14px}.food-expense-field .react-select__placeholder{color:#98a2b3;font-size:14px}.food-expense-field .react-select__menu{z-index:50;border:1px solid #e4e7ec;border-radius:9px;overflow:hidden;box-shadow:0 10px 25px #1018281f}.food-expense-field .react-select__option{color:#344054;cursor:pointer;padding:10px 12px;font-size:14px}.food-expense-field .react-select__option--is-focused{background:#f2f4f7}.food-expense-field .react-select__option--is-selected{color:#fff;background:#2563eb}.food-expense-period-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.food-expense-period-info>div{background:#fff;border:1px solid #e4e7ec;border-radius:12px;align-items:center;gap:12px;min-width:0;padding:17px 18px;display:flex;box-shadow:0 2px 7px #10182806}.food-expense-period-info>div>svg{color:#667085;flex-shrink:0;width:20px;height:20px}.food-expense-period-info>div>div{flex-direction:column;gap:4px;min-width:0;display:flex}.food-expense-period-info>div span{color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:650}.food-expense-period-info>div strong{color:#344054;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.food-expense-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.food-expense-stat{background:#fff;border:1px solid #e4e7ec;border-radius:13px;align-items:flex-start;gap:14px;min-width:0;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #10182808}.food-expense-stat-icon{color:#475467;background:#f2f4f7;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.food-expense-stat-icon svg{width:19px;height:19px}.food-expense-stat>div:last-child{flex-direction:column;min-width:0;display:flex}.food-expense-stat strong{color:#101828;overflow-wrap:anywhere;margin-top:5px;font-size:clamp(19px,2vw,25px);font-weight:750;line-height:1.2}.food-expense-stat small{color:#98a2b3;margin-top:5px;font-size:11px;line-height:1.4}.food-expense-stat.base .food-expense-stat-icon{color:#2563eb;background:#eff6ff}.food-expense-stat.nonveg .food-expense-stat-icon{color:#ea580c;background:#fff4ed}.food-expense-stat.total .food-expense-stat-icon{color:#039855;background:#ecfdf3}.food-expense-stat.students .food-expense-stat-icon{color:#6941c6;background:#f4f3ff}.food-expense-section-title{color:#101828;border-bottom:1px solid #eef0f4;align-items:center;gap:9px;padding:20px 24px;font-size:16px;font-weight:700;display:flex}.food-expense-section-title svg{color:#667085;width:18px;height:18px}.food-expense-collapsible-header{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef0f4;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;transition:background .2s;display:flex}.food-expense-collapsible-header:focus-visible{outline-offset:-3px;outline:3px solid #2563eb2e}.food-expense-collapsible-header>svg{color:#667085;flex-shrink:0;width:19px;height:19px}.food-expense-section-heading{align-items:center;gap:13px;min-width:0;display:flex}.food-expense-section-icon{color:#475467;background:#f2f4f7;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.food-expense-section-icon svg{width:18px;height:18px}.food-expense-section-heading h2{color:#101828;margin:0;font-size:16px;font-weight:700}.food-expense-section-heading p{color:#667085;margin:4px 0 0;font-size:12px;line-height:1.5}.food-expense-card-content{width:100%}.food-expense-resident-toolbar{background:#fff;border-bottom:1px solid #eef0f4;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.food-expense-resident-search{background:#fff;border:1px solid #d0d5dd;border-radius:9px;align-items:center;width:min(430px,100%);min-height:42px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.food-expense-resident-search>svg{color:#98a2b3;flex-shrink:0;width:17px;height:17px;margin-left:12px}.food-expense-resident-search input{color:#344054;background:0 0;border:0;outline:0;width:100%;min-width:0;height:40px;padding:0 38px 0 10px;font-family:inherit;font-size:13px}.food-expense-search-clear{color:#667085;cursor:pointer;background:#f2f4f7;border:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:17px;line-height:1;transition:background .2s,color .2s;display:inline-flex;position:absolute;right:9px}.food-expense-search-clear:hover{color:#344054;background:#e4e7ec}.food-expense-resident-toolbar-right{justify-content:flex-end;align-items:center;gap:18px;min-width:0;display:flex}.food-expense-result-count{color:#667085;white-space:nowrap;font-size:12px}.food-expense-result-count strong{color:#344054}.food-expense-page-size{color:#667085;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.food-expense-page-size select{color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:7px;outline:0;min-width:62px;height:36px;padding:0 26px 0 9px;font-family:inherit;font-size:12px;font-weight:600}.food-expense-page-size select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.food-expense-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;overflow:auto hidden}.food-expense-table{border-collapse:collapse;width:100%;min-width:850px}.food-expense-table th,.food-expense-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #eef0f4;padding:14px 18px}.food-expense-table th{color:#667085;letter-spacing:.045em;text-transform:uppercase;background:#f9fafb;font-size:11px;font-weight:750}.food-expense-table td{color:#475467;font-size:13px}.food-expense-table tfoot td{color:#344054;background:#f9fafb;border-bottom:0;font-size:13px}.food-expense-resident-table{min-width:980px}.food-expense-row-number{width:55px;font-weight:600;color:#98a2b3!important;text-align:center!important;font-size:12px!important}.food-expense-item-cell,.food-expense-student-cell,.food-expense-source-cell,.food-expense-period-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.food-expense-item-cell strong,.food-expense-student-cell strong,.food-expense-source-cell strong,.food-expense-period-cell strong{color:#344054;font-size:13px;font-weight:650}.food-expense-item-cell small,.food-expense-student-cell small,.food-expense-source-cell small,.food-expense-period-cell small{color:#98a2b3;font-size:11px}.food-expense-source-cell strong{color:#667085;font-size:12px}.food-expense-search-empty{text-align:center;color:#667085;border-bottom:1px solid #eef0f4;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:35px 20px;display:flex}.food-expense-search-empty>svg{color:#98a2b3;width:25px;height:25px;margin-bottom:10px}.food-expense-search-empty strong{color:#344054;font-size:14px;font-weight:700}.food-expense-search-empty span{color:#98a2b3;margin-top:5px;font-size:12px}.food-expense-pagination{background:#fff;border-top:1px solid #eef0f4;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;display:flex}.food-expense-pagination-info{color:#667085;white-space:nowrap;font-size:12px}.food-expense-pagination-info strong{color:#344054;font-weight:700}.food-expense-pagination-controls{justify-content:flex-end;align-items:center;gap:5px;display:flex}.food-expense-page-numbers{align-items:center;gap:4px;display:flex}.food-expense-pagination-button{color:#475467;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:7px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 9px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.food-expense-pagination-button svg{width:15px;height:15px}.food-expense-pagination-button:hover:not(:disabled):not(.active){color:#344054;background:#f8fafc;border-color:#98a2b3}.food-expense-pagination-button:focus-visible{outline-offset:1px;outline:3px solid #2563eb26}.food-expense-pagination-button:disabled{opacity:.45;cursor:not-allowed}.food-expense-pagination-button.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 5px #2563eb2e}.food-expense-pagination-button.navigation{gap:5px;padding:0 10px}.food-expense-pagination-button.number{width:34px;padding:0}.food-expense-pagination-ellipsis{color:#98a2b3;justify-content:center;align-items:center;width:26px;height:34px;font-size:12px;font-weight:600;display:inline-flex}.food-type-badge{letter-spacing:.035em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.food-type-badge.veg{color:#027a48;background:#ecfdf3}.food-type-badge.non-veg{color:#b42318;background:#fff1f0}.food-type-badge.common{color:#475467;background:#f2f4f7}.food-expense-days-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:20px 24px 24px;display:grid}.food-expense-day-card{background:#fafbfc;border:1px solid #e4e7ec;border-radius:11px;min-width:0;padding:17px}.food-expense-day-card span{color:#667085;letter-spacing:.04em;font-size:10px;font-weight:750;display:block}.food-expense-day-card strong{color:#101828;overflow-wrap:anywhere;margin-top:8px;font-size:21px;font-weight:750;display:block}.food-expense-day-card small{color:#98a2b3;margin-top:5px;font-size:11px;line-height:1.4;display:block}.food-expense-empty{color:#667085;text-align:center;justify-content:center;align-items:center;gap:9px;min-height:150px;padding:30px;font-size:13px;display:flex}.food-expense-empty svg{width:17px;height:17px}.food-expense-lock-row{justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.food-expense-lock-info{min-width:0}.food-expense-lock-info .food-expense-section-title{border:0;padding:0}.food-expense-lock-info p{color:#667085;margin:8px 0 0;font-size:13px}.food-expense-lock-info p strong{color:#344054}.food-expense-lock-info small{color:#98a2b3;max-width:700px;margin-top:6px;font-size:12px;line-height:1.5;display:block}.food-expense-lock-button{color:#b42318;cursor:pointer;background:#fff;border:1px solid #d92d20;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:13px;font-weight:650;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.food-expense-lock-button svg{width:16px;height:16px}.food-expense-lock-button:hover:not(:disabled){background:#fef3f2;border-color:#b42318}.food-expense-lock-button:disabled{opacity:.6;cursor:not-allowed}.food-expense-locked-badge{color:#027a48;background:#ecfdf3;border:1px solid #abefc6;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.food-expense-locked-badge svg{width:15px;height:15px}.food-expense-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-width:70px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.food-expense-status.draft{color:#c2410c;background:#fff7ed}.food-expense-status.locked{color:#027a48;background:#ecfdf3}.spin{animation:1s linear infinite food-expense-spin}@keyframes food-expense-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1200px){.food-expense-page{padding:24px 20px 45px}.food-expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-expense-days-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.food-expense-period-grid{grid-template-columns:minmax(150px,.7fr) minmax(200px,1fr) minmax(200px,.9fr)}}@media (width<=900px){.food-expense-page{padding:20px 16px 40px}.food-expense-header{gap:15px;margin-bottom:22px}.food-expense-header h1{font-size:28px}.food-expense-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.food-expense-action{grid-column:1/-1;justify-content:stretch}.food-expense-primary{width:100%}.food-expense-period-info{grid-template-columns:1fr}.food-expense-days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-expense-lock-row{align-items:flex-start}.food-expense-resident-toolbar{flex-direction:column;align-items:stretch}.food-expense-resident-search{width:100%}.food-expense-resident-toolbar-right{justify-content:space-between}.food-expense-pagination{flex-direction:column;align-items:flex-start}.food-expense-pagination-controls{justify-content:flex-end;width:100%}}@media (width<=640px){.food-expense-page{padding:14px 10px 30px}.food-expense-container{max-width:100%}.food-expense-header{margin-bottom:18px;display:block}.food-expense-back{width:100%;margin-bottom:15px}.food-expense-header h1{font-size:24px}.food-expense-header p{margin-top:7px;font-size:13px}.food-expense-eyebrow{font-size:10px}.food-expense-card{border-radius:11px;margin-bottom:15px}.food-expense-card-header{padding:17px}.food-expense-card-heading{align-items:flex-start}.food-expense-icon{border-radius:9px;width:39px;height:39px}.food-expense-icon svg{width:18px;height:18px}.food-expense-card-heading h2{font-size:15px}.food-expense-card-heading p{font-size:12px}.food-expense-period-grid{grid-template-columns:1fr;gap:14px;padding:17px}.food-expense-action{grid-column:auto}.food-expense-primary{min-height:44px}.food-expense-period-info{gap:10px;margin-bottom:15px}.food-expense-period-info>div{padding:14px}.food-expense-period-info strong{font-size:12px}.food-expense-summary-grid{grid-template-columns:1fr;gap:10px;margin-bottom:15px}.food-expense-stat{padding:16px}.food-expense-stat strong{font-size:21px}.food-expense-stat small{font-size:10px}.food-expense-collapsible-header{padding:16px 17px}.food-expense-section-heading{gap:10px}.food-expense-section-icon{width:34px;height:34px}.food-expense-section-icon svg{width:16px;height:16px}.food-expense-section-heading h2{font-size:14px}.food-expense-section-heading p{display:none}.food-expense-section-title{padding:16px 17px;font-size:14px}.food-expense-days-grid{grid-template-columns:1fr;gap:10px;padding:15px 17px 17px}.food-expense-day-card{padding:15px}.food-expense-day-card strong{font-size:20px}.food-expense-resident-toolbar{gap:12px;padding:13px 14px}.food-expense-resident-toolbar-right{flex-direction:column;align-items:flex-start;gap:10px}.food-expense-result-count{font-size:11px}.food-expense-page-size{width:100%}.food-expense-page-size select{flex:none}.food-expense-search-empty{min-height:150px;padding:25px 15px}.food-expense-table-wrapper{margin:0;overflow-x:auto}.food-expense-table{min-width:850px}.food-expense-table th,.food-expense-table td{padding:12px 13px}.food-expense-table th{font-size:10px}.food-expense-table td{font-size:12px}.food-expense-resident-table{min-width:980px}.food-expense-pagination{gap:13px;padding:13px 14px}.food-expense-pagination-info{text-align:center;width:100%;font-size:11px}.food-expense-pagination-controls{justify-content:center;gap:3px;width:100%}.food-expense-page-numbers{gap:2px}.food-expense-pagination-button{min-width:32px;height:32px;padding:0 7px;font-size:11px}.food-expense-pagination-button.navigation{min-width:32px;padding:0 7px}.food-expense-pagination-button.navigation span{display:none}.food-expense-pagination-button.number{width:32px}.food-expense-pagination-ellipsis{width:20px;height:32px}.food-expense-lock-row{flex-direction:column;align-items:stretch;gap:16px;padding:17px}.food-expense-lock-button,.food-expense-locked-badge{width:100%}.food-expense-locked-badge{min-height:40px}.food-expense-empty{min-height:120px;padding:25px 15px;font-size:12px}}@media (width<=400px){.food-expense-page{padding:10px 8px 25px}.food-expense-header h1{font-size:22px}.food-expense-header p{font-size:12px}.food-expense-card-header,.food-expense-period-grid{padding:14px}.food-expense-stat{gap:11px;padding:14px}.food-expense-stat-icon{width:36px;height:36px}.food-expense-stat-icon svg{width:17px;height:17px}.food-expense-stat strong,.food-expense-day-card strong{font-size:19px}.food-expense-table{min-width:820px}.food-expense-resident-table{min-width:980px}.food-expense-pagination{padding-left:10px;padding-right:10px}.food-expense-pagination-button{min-width:29px;height:30px}.food-expense-pagination-button.number{width:29px}.food-expense-pagination-ellipsis{width:16px}}.food-expense-page{--fe-ink:#172033;--fe-muted:#667085;--fe-border:#e4e9f1;--fe-surface:#fff;--fe-primary:#3157d5;--fe-primary-dark:#2446b8;--fe-green:#15803d;--fe-orange:#c2410c;--fe-shadow:0 8px 28px #1720330e;color:var(--fe-ink);background:radial-gradient(at 0 0,#dbeafe80,#0000 38%),#f5f7fb}.food-expense-container{max-width:1540px}.food-expense-header{align-items:flex-start;gap:20px;margin-bottom:26px}.food-expense-back{border-color:#dbe2ed;border-radius:11px;min-height:42px;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 2px 5px #10182806}.food-expense-back:hover{border-color:#b8c5d8;transform:translateY(-1px);box-shadow:0 5px 12px #1018280f}.food-expense-eyebrow{color:#3157b7;letter-spacing:.09em;background:#edf3ff;border:1px solid #dbe7ff;border-radius:999px;align-items:center;gap:7px;margin-bottom:10px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.food-expense-eyebrow svg{width:14px;height:14px}.food-expense-header h1{color:#172033;letter-spacing:-.035em;font-size:clamp(25px,2.4vw,34px);font-weight:800;line-height:1.2}.food-expense-header p{color:#667085;max-width:760px;line-height:1.7}.food-expense-card{box-shadow:var(--fe-shadow);background:#fffffffa;border:1px solid #e0e6eff2;border-radius:16px;transition:box-shadow .2s,border-color .2s}.food-expense-card:hover{border-color:#d9e1ed;box-shadow:0 10px 32px #17203313}.food-expense-card-header{border-bottom:1px solid #edf0f5}.food-expense-card-heading,.food-expense-section-heading{gap:13px}.food-expense-icon,.food-expense-section-icon{color:#3157d5;background:linear-gradient(145deg,#f0f5ff,#e8efff);border:1px solid #dce7ff;border-radius:13px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;box-shadow:inset 0 1px #ffffffe6}.food-expense-icon svg,.food-expense-section-icon svg{stroke-width:2.1px;width:20px;height:20px}.food-expense-card-heading h2,.food-expense-section-heading h2{color:#172033;letter-spacing:-.015em;font-size:16px;font-weight:750}.food-expense-card-heading p,.food-expense-section-heading p{color:#7a8496;margin-top:5px;font-size:12.5px;line-height:1.55}.food-expense-section-note{color:#7a8496;margin-top:7px;font-size:11px;font-weight:600;display:inline-block}.food-expense-period-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:20px}.food-expense-field label{color:#475467;letter-spacing:.025em;margin-bottom:8px;font-size:12px;font-weight:750;display:block}.food-expense-current-year{color:#344054;background:#f8faff;border:1px solid #dce2ec;border-radius:9px;align-items:center;min-height:44px;padding:0 13px;font-size:14px;font-weight:700;display:flex}.food-expense-month-select,.food-expense-field{min-width:0}.food-expense-primary{letter-spacing:.005em;background:linear-gradient(135deg,#3d64e4,#294fc6);border:1px solid #3157d5;border-radius:10px;min-height:44px;font-weight:750;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 5px 12px #3157d533}.food-expense-primary:hover:not(:disabled){background:linear-gradient(135deg,#3157d5,#2446b8);transform:translateY(-1px);box-shadow:0 8px 18px #3157d540}.food-expense-primary:disabled{cursor:wait;opacity:.72}.food-expense-period-info{gap:14px;margin:18px 0}.food-expense-period-info>div{background:#fff;border:1px solid #e2e8f2;border-radius:13px;flex:1 1 0;gap:12px;min-width:0;padding:17px 19px;box-shadow:0 4px 14px #17203309}.food-expense-period-info>div>svg{color:#3157d5;flex:none;width:19px;height:19px}.food-expense-period-info span{color:#7a8496;letter-spacing:.055em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:750;display:block}.food-expense-period-info strong{color:#273449;overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.5}.food-expense-summary-grid{gap:16px;margin:18px 0 22px}.food-expense-stat{background:#fff;border:1px solid #e5eaf2;border-radius:15px;gap:14px;min-width:0;padding:21px;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 5px 18px #1720330a}.food-expense-stat:before{content:"";background:#94a3b8;border-radius:0 0 5px 5px;height:3px;position:absolute;top:0;left:18px;right:18px}.food-expense-stat:hover{transform:translateY(-2px);box-shadow:0 10px 25px #17203314}.food-expense-stat.base:before{background:#16a34a}.food-expense-stat.nonveg:before{background:#ea580c}.food-expense-stat.total:before{background:#3157d5}.food-expense-stat.students:before{background:#7c3aed}.food-expense-stat-icon{background:#f7f9fc;border:1px solid #e4e9f2;border-radius:13px;flex:0 0 46px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.food-expense-stat.base .food-expense-stat-icon{color:#15803d;background:#ecfdf3;border-color:#d1fae0}.food-expense-stat.nonveg .food-expense-stat-icon{color:#c2410c;background:#fff4eb;border-color:#ffdfc7}.food-expense-stat.total .food-expense-stat-icon{color:#3157d5;background:#edf3ff;border-color:#dbe5ff}.food-expense-stat.students .food-expense-stat-icon{color:#7c3aed;background:#f5edff;border-color:#e9d5ff}.food-expense-stat-icon svg{stroke-width:2px;width:22px;height:22px}.food-expense-stat span{color:#7a8496;letter-spacing:.07em;font-size:10.5px;font-weight:800}.food-expense-stat strong{color:#172033;letter-spacing:-.035em;overflow-wrap:anywhere;margin:7px 0 6px;font-size:clamp(20px,1.7vw,26px);font-weight:800;line-height:1.2;display:block}.food-expense-stat small{color:#8992a2;font-size:11px;line-height:1.45}.food-expense-collapsible-header{min-height:84px;transition:background .18s}.food-expense-collapsible-header:hover{background:#fafbfe}.food-expense-section-title{color:#263348;align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.food-expense-section-title>svg{color:#3157d5;width:19px;height:19px}.food-expense-card-content{padding-top:4px}.food-expense-table-wrapper{scrollbar-color:#c4ccda #f4f6fa;background:#fff;border:1px solid #e7ebf2;border-radius:11px}.food-expense-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.food-expense-table thead th{color:#667085;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;border-bottom:1px solid #e3e8f0;padding:13px 15px;font-size:10.5px;font-weight:800}.food-expense-table tbody td{color:#475467;vertical-align:middle;border-bottom:1px solid #edf0f5;padding:13px 15px;font-size:12.5px}.food-expense-table tbody tr:last-child td{border-bottom:0}.food-expense-table tbody tr{transition:background .15s}.food-expense-table tbody tr:hover{background:#f8faff}.food-expense-table tfoot td{color:#273449;background:#f7f9fc;border-top:1px solid #e1e7f0;padding:14px 15px;font-size:12.5px}.food-expense-table strong{color:#273449;font-weight:750}.food-type-badge,.food-expense-status{letter-spacing:.035em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:25px;padding:4px 9px;font-size:10px;font-weight:800;display:inline-flex}.food-type-badge.veg{color:#15803d;background:#ecfdf3;border-color:#bbf7d0}.food-type-badge.non-veg{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.food-expense-status.draft{color:#b45309;background:#fff7ed;border-color:#fed7aa}.food-expense-status.locked{color:#15803d;background:#ecfdf3;border-color:#bbf7d0}.food-expense-days-grid{gap:14px}.food-expense-day-card{background:linear-gradient(#fff,#fbfcff);border:1px solid #e4e9f2;border-radius:13px;min-width:0;padding:19px;transition:border-color .18s,transform .18s}.food-expense-day-card:hover{border-color:#cbd7ea;transform:translateY(-1px)}.food-expense-day-card span{color:#778196;letter-spacing:.055em;font-size:10px;font-weight:800;line-height:1.5}.food-expense-day-card strong{color:#172033;letter-spacing:-.025em;overflow-wrap:anywhere;margin:9px 0 5px;font-size:clamp(19px,1.6vw,24px);font-weight:800;display:block}.food-expense-day-card small{color:#8992a2;font-size:11px;line-height:1.5}.food-expense-resident-toolbar{gap:14px;margin-bottom:16px}.food-expense-resident-search{background:#fff;border:1px solid #dfe5ef;border-radius:10px;min-height:42px;transition:border-color .18s,box-shadow .18s}.food-expense-resident-search:focus-within{border-color:#8ca6f5;box-shadow:0 0 0 3px #3157d51a}.food-expense-resident-search input{color:#344054;min-width:0;font-size:12.5px}.food-expense-resident-search input::placeholder{color:#98a2b3}.food-expense-page-size select{color:#344054;background:#fff;border:1px solid #dfe5ef;border-radius:8px;min-height:34px}.food-expense-pagination{gap:14px;padding-top:17px}.food-expense-pagination-button{color:#475467;background:#fff;border:1px solid #e0e6ef;border-radius:8px;min-width:34px;min-height:34px;transition:background .15s,border-color .15s,color .15s}.food-expense-pagination-button:hover:not(:disabled){color:#3157d5;background:#f1f5ff;border-color:#b8c7f6}.food-expense-pagination-button.active{color:#fff;background:#3157d5;border-color:#3157d5}.food-expense-lock-row{gap:20px}.food-expense-lock-info p{color:#667085;margin-top:9px;line-height:1.6}.food-expense-lock-info small{color:#8992a2;margin-top:6px;line-height:1.55;display:block}.food-expense-lock-button{background:#172033;border-radius:10px;min-height:42px;font-weight:750;transition:transform .18s,background .18s;box-shadow:0 4px 10px #17203321}.food-expense-lock-button:hover:not(:disabled){background:#263348;transform:translateY(-1px)}.food-expense-locked-badge{color:#15803d;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.food-expense-empty{color:#7a8496;text-align:center;background:#fafbfe;border:1px dashed #dce3ed;border-radius:11px;padding:28px 18px;line-height:1.6}.food-expense-search-empty{color:#7a8496;background:#fafbfe;border:1px dashed #dce3ed;border-radius:11px;align-items:center;gap:8px;padding:30px 18px;display:flex}.food-expense-search-empty>svg{color:#3157d5}.food-expense-table-wrapper::-webkit-scrollbar{width:9px;height:9px}.food-expense-table-wrapper::-webkit-scrollbar-thumb{background:#c4ccda;border:2px solid #f4f6fa;border-radius:999px}.food-expense-field,.food-expense-field .food-expense-month-select{width:100%;min-width:0}.food-expense-field .react-select__control{min-height:44px;box-shadow:none;border-color:#d0d5dd;border-radius:9px}.food-expense-field .react-select__control:hover{border-color:#98a2b3}.food-expense-field .react-select__control--is-focused{border-color:#3157d5;box-shadow:0 0 0 3px #3157d51a}.food-expense-field .react-select__value-container{min-width:0;padding:2px 12px}.food-expense-field .react-select__single-value,.food-expense-field .react-select__placeholder{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 8px);font-size:13px;overflow:hidden}.react-select__menu{background:#fff;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px #10182826;z-index:9999!important}.react-select__menu-list{max-height:250px;padding:5px;overflow-y:auto}.react-select__option{color:#344054;cursor:pointer;border-radius:6px;padding:10px 12px;font-size:13px}.react-select__option--is-focused{color:#263f9f;background:#f1f5ff}.react-select__option--is-selected{color:#fff;background:#3157d5}@media (width<=1100px){.food-expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.food-expense-page{padding:22px 16px 38px}.food-expense-header{flex-direction:column;gap:16px}.food-expense-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-expense-action{grid-column:1/-1}.food-expense-primary{justify-content:center;width:100%}.food-expense-period-info{flex-direction:column}.food-expense-days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.food-expense-page{padding:15px 10px 28px;overflow-x:clip}.food-expense-header h1{font-size:25px}.food-expense-header p{font-size:13px}.food-expense-card{border-radius:13px}.food-expense-card-header,.food-expense-section-title,.food-expense-collapsible-header{padding-left:15px;padding-right:15px}.food-expense-period-grid,.food-expense-summary-grid,.food-expense-days-grid{grid-template-columns:minmax(0,1fr)}.food-expense-period-grid{gap:14px;padding:16px}.food-expense-action{grid-column:auto}.food-expense-summary-grid{gap:12px}.food-expense-stat{padding:17px}.food-expense-stat strong{font-size:23px}.food-expense-days-grid{gap:11px}.food-expense-day-card{padding:16px}.food-expense-resident-toolbar,.food-expense-resident-toolbar-right{flex-direction:column;align-items:stretch}.food-expense-resident-search{width:100%}.food-expense-pagination{flex-direction:column;align-items:flex-start}.food-expense-pagination-controls{flex-wrap:wrap;max-width:100%}.food-expense-lock-row{flex-direction:column;align-items:flex-start}.food-expense-lock-button{justify-content:center;width:100%}.food-expense-table{min-width:760px}.food-expense-resident-table{min-width:920px}}@media (width<=400px){.food-expense-page{padding:12px 8px 22px}.food-expense-back{min-height:39px;padding:0 11px;font-size:12px}.food-expense-header h1{font-size:23px}.food-expense-icon,.food-expense-section-icon{flex-basis:39px;width:39px;height:39px}.food-expense-period-grid{padding:13px}.food-expense-stat{gap:11px;padding:15px}.food-expense-stat-icon{flex-basis:40px;width:40px;height:40px}.food-expense-stat strong{font-size:21px}}@media (prefers-reduced-motion:reduce){.food-expense-page *,.food-expense-page :before,.food-expense-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.maintenance-expense-page{color:#111827;overflow-wrap:anywhere;background:#f6f7f9;width:100%;min-width:0;max-width:100%;padding:24px}.maintenance-expense-page *,.maintenance-expense-page :before,.maintenance-expense-page :after{box-sizing:border-box}.maintenance-expense-page button,.maintenance-expense-page input,.maintenance-expense-page select,.maintenance-expense-page textarea{font:inherit}.maintenance-expense-page button{cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.maintenance-expense-page button:disabled{cursor:not-allowed;opacity:.6;transform:none}.maintenance-expense-page button:focus-visible{outline-offset:2px;outline:3px solid #3b82f64d}.maintenance-expense-page input,.maintenance-expense-page select,.maintenance-expense-page textarea{min-width:0;max-width:100%}.maintenance-expense-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;min-width:0;max-width:100%;margin-bottom:24px;display:flex}.maintenance-expense-page .page-header-left{flex:320px;align-items:center;gap:15px;min-width:0;max-width:100%;display:flex}.maintenance-expense-page .page-header-icon{color:#fff;background:#2563eb;border-radius:14px;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex}.maintenance-expense-page .page-header-copy{flex:auto;min-width:0;max-width:100%}.maintenance-expense-page .page-header-copy h1{color:#111827;letter-spacing:-.5px;overflow-wrap:anywhere;margin:0 0 7px;font-size:clamp(21px,2.2vw,28px);font-weight:750;line-height:1.3}.maintenance-expense-page .page-header-copy p{color:#6b7280;overflow-wrap:anywhere;max-width:720px;margin:0;font-size:14px;line-height:1.6}.maintenance-expense-page .month-control{flex-direction:column;flex:0 230px;gap:7px;min-width:0;max-width:100%;display:flex}.maintenance-expense-page .month-control label{color:#4b5563;font-size:13px;font-weight:650}.maintenance-expense-page .month-control input{color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;font-size:16px;line-height:1.4;display:block}.maintenance-expense-page .month-control input:focus{border-color:#2563eb;outline:3px solid #2563eb1a}.maintenance-expense-page .month-control input[type=month]{width:100%;appearance:auto;min-inline-size:0;max-inline-size:100%}.maintenance-expense-page .expense-list-card,.maintenance-expense-page .resident-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;max-width:100%;box-shadow:0 4px 18px #0f172a0d}.maintenance-expense-page .expense-list-card{margin-bottom:22px;overflow:hidden}.maintenance-expense-page .section-header{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:22px;display:flex}.maintenance-expense-page .section-heading-copy{flex:220px;min-width:0}.maintenance-expense-page .section-heading-copy h2{color:#111827;margin:0 0 6px;font-size:19px;font-weight:750;line-height:1.4}.maintenance-expense-page .section-heading-copy p{color:#6b7280;margin:0;font-size:13px;line-height:1.6}.maintenance-expense-page .expense-list-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;max-width:100%;display:flex}.maintenance-expense-page .expense-total{background:#f9fafb;border:1px solid #e5e7eb;border-radius:9px;flex-direction:column;gap:5px;min-width:130px;padding:10px 14px;display:flex}.maintenance-expense-page .expense-total span{color:#6b7280;font-size:12px}.maintenance-expense-page .expense-total strong{color:#111827;font-variant-numeric:tabular-nums;font-size:17px;font-weight:750}.maintenance-expense-page .add-maintenance-btn,.maintenance-expense-page .calculate-btn,.maintenance-expense-page .lock-btn,.maintenance-expense-page .save-expense-btn,.maintenance-expense-page .confirm-delete-btn{text-align:center;overflow-wrap:anywhere;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-width:0;min-height:44px;padding:11px 16px;font-size:14px;font-weight:700;line-height:1.4;display:inline-flex}.maintenance-expense-page .add-maintenance-btn,.maintenance-expense-page .calculate-btn,.maintenance-expense-page .save-expense-btn{color:#fff;background:#2563eb}.maintenance-expense-page .add-maintenance-btn:hover:not(:disabled),.maintenance-expense-page .calculate-btn:hover:not(:disabled),.maintenance-expense-page .save-expense-btn:hover:not(:disabled){background:#1d4ed8}.maintenance-expense-page .lock-btn{color:#fff;background:#166534}.maintenance-expense-page .lock-btn:hover:not(:disabled){background:#14532d}.maintenance-expense-page .modal-cancel-btn{color:#4b5563;background:#fff;border:1px solid #d1d5db;border-radius:9px;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:10px 16px;font-size:14px;font-weight:650;display:inline-flex}.maintenance-expense-page .modal-cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.maintenance-expense-page .confirm-delete-btn{color:#fff;background:#b91c1c}.maintenance-expense-page .confirm-delete-btn:hover:not(:disabled){background:#991b1b}.maintenance-expense-page .table-wrapper{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.maintenance-expense-page .table-wrapper table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:700px}.maintenance-expense-page .table-wrapper th,.maintenance-expense-page .table-wrapper td{vertical-align:middle;border-bottom:1px solid #edf0f2;padding:14px 16px;font-size:13px}.maintenance-expense-page .table-wrapper th{color:#4b5563;white-space:nowrap;background:#f9fafb;font-size:12px;font-weight:750}.maintenance-expense-page .table-wrapper td{color:#111827}.maintenance-expense-page .table-wrapper tbody tr{transition:background-color .15s}.maintenance-expense-page .table-wrapper tbody tr:hover{background:#fafafa}.maintenance-expense-page .table-wrapper tbody tr:last-child td{border-bottom:0}.maintenance-expense-page .table-wrapper .amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750}.maintenance-expense-page .table-wrapper .description-cell{white-space:normal;overflow-wrap:anywhere;min-width:180px;max-width:360px}.maintenance-expense-page .table-wrapper .empty{color:#6b7280;text-align:center;white-space:normal;padding:34px 18px}.maintenance-expense-page .table-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.maintenance-expense-page .edit-btn,.maintenance-expense-page .delete-btn{border:1px solid #0000;border-radius:8px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.maintenance-expense-page .edit-btn{color:#1d4ed8;background:#eff6ff}.maintenance-expense-page .edit-btn:hover:not(:disabled){background:#dbeafe}.maintenance-expense-page .delete-btn{color:#b91c1c;background:#fef2f2}.maintenance-expense-page .delete-btn:hover:not(:disabled){background:#fee2e2}.maintenance-expense-page .action-bar{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;margin:22px 0;display:flex}.maintenance-expense-page .summary-grid{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;width:100%;min-width:0;margin-bottom:22px;padding:16px;display:grid;box-shadow:0 4px 18px #0f172a0d}.maintenance-expense-page .summary-card{width:100%;min-width:0;min-height:100px;box-shadow:none;overflow-wrap:anywhere;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:18px;display:flex}.maintenance-expense-page .summary-card span{color:#6b7280;letter-spacing:.4px;width:100%;margin:0;font-size:12px;font-weight:700;line-height:1.5;display:block}.maintenance-expense-page .summary-card strong{color:#111827;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;max-width:100%;margin:0;font-size:clamp(20px,2vw,24px);font-weight:800;line-height:1.4;display:block}.maintenance-expense-page .summary-card .locked{color:#166534;font-size:17px}.maintenance-expense-page .summary-card .draft{color:#b45309;font-size:17px}.maintenance-expense-page .resident-section{min-width:0;overflow:hidden}.maintenance-expense-page .resident-section-header{width:100%;min-width:0;color:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.maintenance-expense-page .resident-section-header:hover{background:#fafafa}.maintenance-expense-page .resident-section-header:focus-visible{outline-offset:-3px;outline:3px solid #3b82f64d}.maintenance-expense-page .resident-section-heading{flex:auto;align-items:center;gap:13px;min-width:0;display:flex}.maintenance-expense-page .resident-section-icon{color:#2563eb;background:#f3f4f6;border-radius:11px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.maintenance-expense-page .resident-section-copy{flex:auto;min-width:0}.maintenance-expense-page .resident-section-copy h2{overflow-wrap:anywhere;margin:0 0 5px;font-size:17px;font-weight:750;line-height:1.4}.maintenance-expense-page .resident-section-copy p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:400;line-height:1.5}.maintenance-expense-page .resident-header-right{flex:none;align-items:center;gap:12px;display:flex}.maintenance-expense-page .resident-count{color:#4b5563;white-space:nowrap;background:#f3f4f6;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.maintenance-expense-page .resident-section-toggle{color:#6b7280;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.maintenance-expense-page .resident-section-content{width:100%;min-width:0;padding:20px}.maintenance-expense-page .resident-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-width:0;margin-bottom:18px;display:flex}.maintenance-expense-page .resident-search{color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:9px;flex:300px;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0 12px;display:flex}.maintenance-expense-page .resident-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.maintenance-expense-page .resident-search input{color:#111827;background:0 0;border:0;outline:none;flex:auto;width:100%;min-width:0;min-height:40px;padding:8px 0;font-size:16px}.maintenance-expense-page .resident-search-clear{color:#6b7280;background:0 0;border:0;border-radius:6px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.maintenance-expense-page .resident-search-clear:hover{color:#111827;background:#f3f4f6}.maintenance-expense-page .resident-page-size{color:#4b5563;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.maintenance-expense-page .resident-page-size select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:68px;min-height:40px;padding:7px 9px}.maintenance-expense-page .resident-table-wrapper{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:10px;width:100%;min-width:0;max-width:100%;display:block;overflow:auto hidden}.maintenance-expense-page .resident-table-wrapper .resident-table{table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:700px}.maintenance-expense-page .resident-table-wrapper .resident-table .resident-col-number{width:64px}.maintenance-expense-page .resident-table-wrapper .resident-table .resident-col-name{width:42%}.maintenance-expense-page .resident-table-wrapper .resident-table .resident-col-days{width:22%}.maintenance-expense-page .resident-table-wrapper .resident-table .resident-col-charge{width:auto}.maintenance-expense-page .resident-table-wrapper .resident-table th,.maintenance-expense-page .resident-table-wrapper .resident-table td{box-sizing:border-box;vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #edf0f2;padding:15px 16px;font-size:13px;line-height:1.5}.maintenance-expense-page .resident-table-wrapper .resident-table th{color:#4b5563;white-space:normal;background:#f9fafb;font-size:12px;font-weight:750}.maintenance-expense-page .resident-table-wrapper .resident-table td{color:#111827}.maintenance-expense-page .resident-table-wrapper .resident-table th:first-child,.maintenance-expense-page .resident-table-wrapper .resident-table td:first-child{text-align:center}.maintenance-expense-page .resident-table-wrapper .resident-table th:nth-child(2),.maintenance-expense-page .resident-table-wrapper .resident-table td:nth-child(2){text-align:left}.maintenance-expense-page .resident-table-wrapper .resident-table th:nth-child(3),.maintenance-expense-page .resident-table-wrapper .resident-table td:nth-child(3){text-align:center;font-variant-numeric:tabular-nums}.maintenance-expense-page .resident-table-wrapper .resident-table th:nth-child(4),.maintenance-expense-page .resident-table-wrapper .resident-table td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.maintenance-expense-page .resident-table-wrapper .resident-table tbody tr{transition:background-color .15s}.maintenance-expense-page .resident-table-wrapper .resident-table tbody tr:hover{background:#fafafa}.maintenance-expense-page .resident-table-wrapper .resident-table tbody tr:last-child td{border-bottom:0}.maintenance-expense-page .resident-table-wrapper .resident-table tfoot td{vertical-align:middle;font-variant-numeric:tabular-nums;background:#f9fafb;border-top:1px solid #d1d5db;border-bottom:0;padding:15px 16px;font-weight:750}.maintenance-expense-page .resident-table-wrapper .resident-table tfoot .resident-total-label{text-align:left;white-space:nowrap}.maintenance-expense-page .resident-table-wrapper .resident-table tfoot .resident-total-days{text-align:center;white-space:nowrap}.maintenance-expense-page .resident-table-wrapper .resident-table tfoot .resident-total-charge{text-align:right;white-space:nowrap}.maintenance-expense-page .resident-table-wrapper .resident-table .amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750}.maintenance-expense-page .resident-student-cell{flex-direction:column;align-items:flex-start;gap:5px;width:100%;min-width:0;display:flex}.maintenance-expense-page .resident-student-cell strong{color:#111827;overflow-wrap:anywhere;max-width:100%;font-size:13px;font-weight:700;line-height:1.5;display:block}.maintenance-expense-page .resident-student-cell span{color:#6b7280;overflow-wrap:anywhere;max-width:100%;font-size:12px;line-height:1.5;display:block}.maintenance-expense-page .resident-empty{color:#6b7280;text-align:center;overflow-wrap:anywhere;background:#fafafa;border:1px dashed #d1d5db;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:120px;padding:24px;display:flex}.maintenance-expense-page .resident-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-width:0;margin-top:18px;display:flex}.maintenance-expense-page .resident-pagination-info{color:#6b7280;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.maintenance-expense-page .resident-pagination-info strong{color:#111827}.maintenance-expense-page .resident-pagination-controls{align-items:center;gap:12px;display:flex}.maintenance-expense-page .resident-pagination-controls button{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.maintenance-expense-page .resident-pagination-controls button:hover:not(:disabled){background:#f3f4f6}.maintenance-expense-page .resident-page-number{color:#6b7280;white-space:nowrap;font-size:13px}.maintenance-expense-page .resident-page-number strong{color:#111827}.maintenance-modal-overlay{z-index:3000;box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0f172a99;justify-content:center;align-items:center;width:100%;min-width:0;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden auto}.maintenance-modal-overlay *,.maintenance-modal-overlay :before,.maintenance-modal-overlay :after{box-sizing:border-box}.maintenance-modal{background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;flex:0 560px;width:100%;min-width:0;max-width:560px;max-height:calc(100dvh - 40px);margin:auto;display:flex;overflow:hidden;box-shadow:0 24px 70px #00000038}.expense-entry-modal{width:100%;min-width:0;max-width:560px}.maintenance-modal-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;padding:20px 22px;display:flex}.maintenance-modal-title-group{flex:auto;align-items:flex-start;gap:12px;min-width:0;display:flex}.maintenance-modal-icon{color:#fff;background:#2563eb;border-radius:10px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;display:flex}.maintenance-modal-title-copy{flex:auto;min-width:0}.maintenance-modal-title-copy h2{color:#111827;overflow-wrap:anywhere;margin:0 0 6px;font-size:20px;font-weight:750;line-height:1.35}.maintenance-modal-title-copy p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}.maintenance-modal-title-copy strong{color:#374151}.maintenance-modal-close{color:#6b7280;background:0 0;border:1px solid #0000;border-radius:8px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:17px;display:inline-flex}.maintenance-modal-close:hover:not(:disabled){color:#111827;background:#f3f4f6;border-color:#e5e7eb}.maintenance-modal-close:focus-visible{outline-offset:2px;outline:3px solid #3b82f64d}.expense-form{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.maintenance-modal-body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px;width:100%;min-width:0;max-width:100%;padding:24px;display:grid;overflow:hidden auto}.maintenance-modal .form-group,.maintenance-expense-page .form-group{flex-direction:column;gap:7px;width:100%;min-width:0;max-width:100%;display:flex}.maintenance-modal .form-group label,.maintenance-expense-page .form-group label{color:#374151;overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.5;display:block}.maintenance-modal .form-group input,.maintenance-modal .form-group select,.maintenance-modal .form-group textarea,.maintenance-expense-page .form-group input,.maintenance-expense-page .form-group select,.maintenance-expense-page .form-group textarea{box-sizing:border-box;color:#111827;width:100%;min-width:0;max-width:100%;min-height:44px;box-shadow:none;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:16px;line-height:1.4;display:block}.maintenance-modal .form-group input:focus,.maintenance-modal .form-group select:focus,.maintenance-modal .form-group textarea:focus,.maintenance-expense-page .form-group input:focus,.maintenance-expense-page .form-group select:focus,.maintenance-expense-page .form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.maintenance-modal .form-group input:disabled,.maintenance-modal .form-group select:disabled,.maintenance-modal .form-group textarea:disabled,.maintenance-expense-page .form-group input:disabled,.maintenance-expense-page .form-group select:disabled,.maintenance-expense-page .form-group textarea:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.maintenance-modal .form-group select,.maintenance-expense-page .form-group select{text-overflow:ellipsis}.maintenance-modal .form-group input[type=date],.maintenance-modal .form-group input[type=month],.maintenance-expense-page .form-group input[type=date],.maintenance-expense-page .form-group input[type=month]{width:100%;min-width:0;max-width:100%;color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;appearance:auto;background:#fff;min-inline-size:0;max-inline-size:100%;margin:0;padding:10px 8px}.maintenance-modal .form-group input[type=number],.maintenance-expense-page .form-group input[type=number]{color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;width:100%;min-width:0;max-width:100%}.maintenance-modal .form-group textarea,.maintenance-expense-page .form-group textarea{resize:vertical;min-height:90px}.maintenance-modal .form-group small,.maintenance-expense-page .form-group small{color:#6b7280;overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:block}.maintenance-modal .form-group .required-mark,.maintenance-expense-page .form-group .required-mark{color:#dc2626}.maintenance-category-select{width:100%;min-width:0;max-width:100%;font-size:16px}.maintenance-category-select .maintenance-select__control{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;box-shadow:none;cursor:pointer;border:1px solid #d1d5db;border-radius:8px;display:flex}.maintenance-category-select .maintenance-select__control:hover{border-color:#9ca3af}.maintenance-category-select .maintenance-select__control--is-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.maintenance-category-select .maintenance-select__value-container{min-width:0;padding:6px 8px;overflow:hidden}.maintenance-category-select .maintenance-select__single-value{color:#111827;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 8px);overflow:hidden}.maintenance-category-select .maintenance-select__placeholder{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.maintenance-category-select .maintenance-select__input-container{min-width:2px;margin:0;padding:0}.maintenance-category-select .maintenance-select__indicators{flex:none}.maintenance-category-select .maintenance-select__indicator{padding:8px 5px}.maintenance-category-select .maintenance-select__menu{z-index:4000;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-width:100%;overflow:hidden;box-shadow:0 8px 24px #0f172a1f}.maintenance-category-select .maintenance-select__menu-list{max-width:100%;padding:4px;overflow-x:hidden}.maintenance-category-select .maintenance-select__option{overflow-wrap:anywhere;cursor:pointer;padding:10px 12px}.maintenance-category-select .maintenance-select__option--is-focused{background:#eff6ff}.maintenance-category-select .maintenance-select__option--is-selected{color:#fff;background:#2563eb}.maintenance-select__menu-portal{z-index:4000!important}.maintenance-modal-footer{background:#fff;border-top:1px solid #e5e7eb;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;display:flex}.maintenance-modal-footer button{overflow-wrap:anywhere;max-width:100%;min-height:44px}.delete-modal-overlay{z-index:3100}.delete-confirmation-modal{flex:0 460px;max-width:460px}.delete-modal-content{min-width:0;padding:26px 26px 20px}.delete-modal-content h2{color:#111827;overflow-wrap:anywhere;margin:0 0 10px;font-size:21px;font-weight:800;line-height:1.4}.delete-modal-content>p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.delete-warning-icon{color:#b91c1c;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:18px;font-size:21px;display:flex}.delete-expense-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;margin-top:22px;padding:16px;display:grid}.delete-expense-details>div{flex-direction:column;gap:5px;min-width:0;display:flex}.delete-expense-details span{color:#6b7280;text-transform:uppercase;letter-spacing:.35px;font-size:11px;font-weight:650}.delete-expense-details strong{color:#111827;overflow-wrap:anywhere;word-break:break-word;font-size:13px;font-weight:700;line-height:1.5}.delete-modal-footer{padding:16px 26px 22px}@media (width<=1200px){.maintenance-expense-page .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.maintenance-expense-page .summary-card{padding:16px}}@media (width<=768px){.maintenance-expense-page{padding:16px}.maintenance-expense-page .page-header{flex-direction:column;align-items:stretch;gap:18px}.maintenance-expense-page .page-header-left{flex:auto}.maintenance-expense-page .month-control{flex:100%;width:100%;min-width:0;max-width:100%}.maintenance-expense-page .month-control input,.maintenance-expense-page .month-control input[type=month]{box-sizing:border-box;color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;width:100%;min-width:0;max-width:100%;min-height:44px}.maintenance-expense-page .section-header{flex-direction:column;align-items:stretch;padding:18px}.maintenance-expense-page .expense-list-header-actions{justify-content:space-between;width:100%}.maintenance-expense-page .resident-toolbar{flex-direction:column;align-items:stretch}.maintenance-expense-page .resident-search{flex-basis:auto;width:100%}.maintenance-expense-page .resident-page-size{align-self:flex-start}.maintenance-expense-page .resident-section-content{padding:16px}.maintenance-expense-page .resident-pagination{align-items:flex-start}.maintenance-expense-page .resident-table-wrapper .resident-table{min-width:700px}.maintenance-modal-overlay{padding:14px}.maintenance-modal,.maintenance-modal-overlay>.maintenance-modal.expense-entry-modal{flex:0 560px;width:100%;min-width:0;max-width:560px;max-height:calc(100dvh - 28px)}.maintenance-modal-header{padding:16px 18px}.maintenance-modal-body,.maintenance-modal.expense-entry-modal .maintenance-modal-body{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px}.maintenance-modal-footer{padding:14px 18px}.delete-modal-content{padding:22px}.delete-modal-footer{padding:14px 22px 20px}}@media (width<=480px){.maintenance-expense-page{padding:12px 10px}.maintenance-expense-page .page-header{gap:16px;margin-bottom:18px}.maintenance-expense-page .page-header-left{align-items:flex-start;gap:11px}.maintenance-expense-page .page-header-icon{border-radius:10px;flex-basis:42px;width:42px;height:42px;font-size:18px}.maintenance-expense-page .page-header-copy h1{letter-spacing:-.3px;font-size:21px;line-height:1.35}.maintenance-expense-page .page-header-copy p{font-size:13px}.maintenance-expense-page .month-control{flex:100%;width:100%;min-width:0;max-width:100%}.maintenance-expense-page .month-control input,.maintenance-expense-page .month-control input[type=month]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;max-inline-size:100%;color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border-color:#d1d5db;min-height:46px;margin:0;padding:10px 6px;font-size:16px;display:block}.maintenance-expense-page .section-header{gap:14px;padding:15px}.maintenance-expense-page .section-heading-copy h2{font-size:17px}.maintenance-expense-page .section-heading-copy p{font-size:12px}.maintenance-expense-page .expense-list-header-actions{flex-direction:column;align-items:stretch;gap:10px}.maintenance-expense-page .expense-total{width:100%}.maintenance-expense-page .add-maintenance-btn{width:100%;min-height:46px}.maintenance-expense-page .table-wrapper:not(.resident-table-wrapper) table{min-width:700px}.maintenance-expense-page .table-wrapper:not(.resident-table-wrapper) th,.maintenance-expense-page .table-wrapper:not(.resident-table-wrapper) td{padding:12px}.maintenance-expense-page .action-bar{flex-direction:column;align-items:stretch;gap:10px;margin:16px 0}.maintenance-expense-page .action-bar button{width:100%;min-height:46px}.maintenance-expense-page .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;padding:8px}.maintenance-expense-page .summary-card{gap:6px;min-height:90px;padding:10px}.maintenance-expense-page .summary-card span{letter-spacing:.2px;font-size:10px}.maintenance-expense-page .summary-card strong{font-size:17px}.maintenance-expense-page .summary-card .locked,.maintenance-expense-page .summary-card .draft{font-size:15px}.maintenance-expense-page .resident-section-header{align-items:flex-start;gap:10px;padding:14px}.maintenance-expense-page .resident-section-heading{align-items:flex-start;gap:10px}.maintenance-expense-page .resident-section-icon{flex-basis:36px;width:36px;height:36px;font-size:15px}.maintenance-expense-page .resident-section-copy h2{font-size:15px}.maintenance-expense-page .resident-section-copy p{font-size:12px}.maintenance-expense-page .resident-header-right{gap:5px}.maintenance-expense-page .resident-count{padding:6px 8px;font-size:11px}.maintenance-expense-page .resident-section-toggle{width:22px;height:28px}.maintenance-expense-page .resident-section-content{padding:12px}.maintenance-expense-page .resident-search{flex-basis:auto;gap:7px;width:100%;padding:0 9px}.maintenance-expense-page .resident-search input{font-size:16px}.maintenance-expense-page .resident-page-size{white-space:normal;flex-wrap:wrap}.maintenance-expense-page .resident-table-wrapper .resident-table{min-width:700px}.maintenance-expense-page .resident-table-wrapper .resident-table th,.maintenance-expense-page .resident-table-wrapper .resident-table td,.maintenance-expense-page .resident-table-wrapper .resident-table tfoot td{padding:12px}.maintenance-expense-page .resident-pagination{flex-direction:column;align-items:stretch;gap:12px}.maintenance-expense-page .resident-pagination-controls{justify-content:space-between;gap:8px}.maintenance-expense-page .resident-pagination-info,.maintenance-expense-page .resident-page-number{font-size:12px}.maintenance-modal-overlay{justify-content:center;align-items:center;padding:8px}.maintenance-modal,.expense-entry-modal,.delete-confirmation-modal,.maintenance-modal-overlay>.maintenance-modal.expense-entry-modal{box-sizing:border-box;border-radius:10px;flex:0 560px;width:100%;min-width:0;max-width:560px;max-height:calc(100dvh - 16px);margin:auto}.maintenance-modal-header{gap:8px;padding:13px}.maintenance-modal-title-group{gap:9px}.maintenance-modal-icon{border-radius:8px;flex-basis:34px;width:34px;height:34px;font-size:14px}.maintenance-modal-title-copy h2{margin-bottom:5px;font-size:17px;line-height:1.4}.maintenance-modal-title-copy p{font-size:12px}.maintenance-modal-close{flex-basis:34px;width:34px;height:34px}.maintenance-modal-body,.maintenance-modal.expense-entry-modal .maintenance-modal-body{grid-template-columns:minmax(0,1fr);gap:15px;padding:14px}.maintenance-modal .form-group,.maintenance-expense-page .form-group{gap:6px;width:100%;min-width:0;max-width:100%}.maintenance-modal .form-group label,.maintenance-expense-page .form-group label{font-size:13px}.maintenance-modal .form-group input,.maintenance-modal .form-group select,.maintenance-modal .form-group textarea,.maintenance-expense-page .form-group input,.maintenance-expense-page .form-group select,.maintenance-expense-page .form-group textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px 8px;font-size:16px}.maintenance-modal .form-group input[type=date],.maintenance-modal .form-group input[type=month],.maintenance-expense-page .form-group input[type=date],.maintenance-expense-page .form-group input[type=month]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;appearance:auto;background:#fff;border-color:#d1d5db;min-inline-size:0;max-inline-size:100%;margin:0;padding:10px 5px;display:block}.maintenance-modal .form-group input[type=number],.maintenance-expense-page .form-group input[type=number]{color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;width:100%;min-width:0;max-width:100%}.maintenance-modal .form-group small,.maintenance-expense-page .form-group small{font-size:11px}.maintenance-category-select,.maintenance-category-select .maintenance-select__control{width:100%;min-width:0;max-width:100%}.maintenance-modal-footer{flex-direction:column-reverse;align-items:stretch;gap:9px;padding:13px 14px}.maintenance-modal-footer button{width:100%;min-height:46px}.delete-modal-content{padding:18px 16px}.delete-modal-content h2{font-size:19px}.delete-modal-content>p{font-size:13px}.delete-warning-icon{width:44px;height:44px;margin-bottom:14px;font-size:18px}.delete-expense-details{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:17px;padding:13px}.delete-modal-footer{padding:13px 16px 16px}}@media (width<=350px){.maintenance-expense-page{padding-left:7px;padding-right:7px}.maintenance-expense-page .page-header-left{gap:8px}.maintenance-expense-page .page-header-icon{flex-basis:36px;width:36px;height:36px;font-size:16px}.maintenance-expense-page .page-header-copy h1{font-size:19px}.maintenance-expense-page .resident-section-header{flex-direction:column}.maintenance-expense-page .resident-header-right{align-self:flex-end}.maintenance-expense-page .month-control input[type=month]{width:100%;min-width:0;max-width:100%;color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;min-inline-size:0;max-inline-size:100%;padding-inline:3px;font-size:15px}.maintenance-expense-page .summary-grid{gap:6px;padding:6px}.maintenance-expense-page .summary-card{padding:8px}.maintenance-expense-page .summary-card span{font-size:9px}.maintenance-expense-page .summary-card strong{font-size:15px}.maintenance-expense-page .resident-table-wrapper .resident-table{min-width:700px}.maintenance-modal-overlay{padding:6px}.maintenance-modal,.expense-entry-modal,.delete-confirmation-modal,.maintenance-modal-overlay>.maintenance-modal.expense-entry-modal{max-height:calc(100dvh - 12px)}.maintenance-modal-header{padding:11px}.maintenance-modal-title-copy h2{font-size:16px}.maintenance-modal-body,.maintenance-modal.expense-entry-modal .maintenance-modal-body,.maintenance-modal-footer{padding:11px}.delete-modal-content{padding:15px 12px}.delete-modal-footer{padding:11px 12px 14px}.maintenance-modal .form-group input[type=date],.maintenance-modal .form-group input[type=month],.maintenance-expense-page .form-group input[type=date],.maintenance-expense-page .form-group input[type=month]{width:100%;min-width:0;max-width:100%;color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;min-inline-size:0;max-inline-size:100%;padding-inline:3px;font-size:15px}}@media (prefers-reduced-motion:reduce){.maintenance-expense-page *,.maintenance-expense-page :before,.maintenance-expense-page :after,.maintenance-modal-overlay *,.maintenance-modal-overlay :before,.maintenance-modal-overlay :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.total-expense-page{box-sizing:border-box;color:#343840;background:#f8f9fc;width:100%;min-height:100%;padding:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.total-expense-page *,.total-expense-page :before,.total-expense-page :after{box-sizing:border-box}.total-expense-page .page-header{background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;width:100%;margin-bottom:20px;padding:22px 24px;display:flex;box-shadow:0 4px 18px #0f172a0f}.total-expense-page .header-title{align-items:center;gap:16px;min-width:0;display:flex}.total-expense-page .header-icon{color:#4f46e5;background:#eef0ff;border-radius:12px;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:50px;font-size:21px;display:flex}.total-expense-page .header-title h1{color:#171a21;letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700;line-height:1.25}.total-expense-page .header-title p{color:#737984;margin:6px 0 0;font-size:13px;line-height:1.5}.total-expense-page .month-control{flex-direction:column;flex-shrink:0;gap:7px;display:flex}.total-expense-page .month-control label{color:#737984;font-size:12px;font-weight:650;line-height:1.2}.total-expense-page .month-control input{color:#171a21;background:#fff;border:1px solid #d7dae0;border-radius:8px;outline:none;min-width:180px;height:40px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:border-color .2s,box-shadow .2s}.total-expense-page .month-control input:hover{border-color:#b8bcc5}.total-expense-page .month-control input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.total-expense-page .action-bar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.total-expense-page .calculate-btn,.total-expense-page .lock-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 17px;font-family:inherit;font-size:13px;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s,opacity .18s;display:inline-flex}.total-expense-page .calculate-btn{color:#fff;background:#4f46e5;border:0;box-shadow:0 4px 10px #4f46e533}.total-expense-page .calculate-btn:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 6px 14px #4f46e540}.total-expense-page .lock-btn{color:#fff;background:#374151;border:1px solid #d1d5db;box-shadow:0 4px 10px #37415129}.total-expense-page .lock-btn:hover:not(:disabled){background:#1f2937;border-color:#1f2937;transform:translateY(-1px);box-shadow:0 6px 14px #37415138}.total-expense-page .calculate-btn:disabled,.total-expense-page .lock-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.total-expense-page .calculate-btn svg,.total-expense-page .lock-btn svg{width:14px;height:14px}.total-expense-page .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;width:100%;margin-bottom:20px;display:grid}.total-expense-page .summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:14px;width:100%;min-width:0;min-height:112px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 18px #0f172a0f}.total-expense-page .summary-card:hover{transform:translateY(-2px);box-shadow:0 7px 22px #0f172a14}.total-expense-page .summary-card .card-icon{border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:17px;display:flex}.total-expense-page .summary-card.food{border-top:3px solid #ea580c}.total-expense-page .summary-card.food .card-icon{color:#ea580c;background:#fff7ed}.total-expense-page .summary-card.maintenance{border-top:3px solid #2563eb}.total-expense-page .summary-card.maintenance .card-icon{color:#2563eb;background:#eff6ff}.total-expense-page .summary-card.total{border-top:3px solid #4f46e5}.total-expense-page .summary-card.total .card-icon{color:#4f46e5;background:#eef0ff}.total-expense-page .summary-card.student-days{border-top:3px solid #6b7280}.total-expense-page .summary-card.student-days .card-icon{color:#4b5563;background:#f3f4f6}.total-expense-page .summary-card>div:last-child{min-width:0}.total-expense-page .summary-card span{color:#737984;margin-bottom:7px;font-size:12px;font-weight:600;line-height:1.4;display:block}.total-expense-page .summary-card strong{color:#171a21;word-break:break-word;font-size:19px;font-weight:700;line-height:1.25;display:block}.total-expense-page .summary-card.total strong{color:#4f46e5}.total-expense-page .resident-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;margin-bottom:20px;overflow:hidden;box-shadow:0 4px 18px #0f172a0f}.total-expense-page .resident-section-header{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font-family:inherit;transition:background-color .18s,border-color .18s;display:flex}.total-expense-page .resident-section-header:hover{background:#fafbff}.total-expense-page .resident-section-heading{align-items:center;gap:13px;min-width:0;display:flex}.total-expense-page .resident-section-icon{color:#4f46e5;background:#eef0ff;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.total-expense-page .resident-section-heading h2{color:#171a21;margin:0;font-size:16px;font-weight:700;line-height:1.35}.total-expense-page .resident-section-heading p{color:#737984;margin:5px 0 0;font-size:12px;line-height:1.5}.total-expense-page .resident-section-toggle{color:#626873;background:#f8f9fc;border:1px solid #e5e7eb;border-radius:8px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;transition:background-color .18s,border-color .18s,color .18s;display:flex}.total-expense-page .resident-section-header:hover .resident-section-toggle{color:#4f46e5;background:#eef0ff;border-color:#c7d2fe}.total-expense-page .resident-section-content{width:100%}.total-expense-page .resident-toolbar{background:#fcfcfe;border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.total-expense-page .resident-search{align-items:center;width:min(420px,100%);display:flex;position:relative}.total-expense-page .resident-search>svg{color:#9298a2;pointer-events:none;width:14px;height:14px;position:absolute;left:12px}.total-expense-page .resident-search input{color:#343840;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;height:40px;padding:0 38px 0 36px;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s}.total-expense-page .resident-search input::placeholder{color:#a0a5ae}.total-expense-page .resident-search input:hover{border-color:#cbd0d9}.total-expense-page .resident-search input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e517}.total-expense-page .clear-search{color:#8b919b;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:25px;height:25px;padding:0;font-size:18px;line-height:1;display:flex;position:absolute;right:8px}.total-expense-page .clear-search:hover{color:#171a21;background:#f1f2f4}.total-expense-page .resident-toolbar-right{align-items:center;gap:14px;display:flex}.total-expense-page .resident-count{align-items:center;gap:7px;display:flex}.total-expense-page .resident-count span{color:#737984;text-transform:uppercase;letter-spacing:.35px;font-size:11px;font-weight:650}.total-expense-page .resident-count strong{color:#4f46e5;background:#eef0ff;border-radius:7px;justify-content:center;align-items:center;min-width:30px;height:28px;padding:0 8px;font-size:12px;display:inline-flex}.total-expense-page .page-size-control{align-items:center;gap:7px;display:flex}.total-expense-page .page-size-control span{color:#737984;font-size:12px;font-weight:600}.total-expense-page .page-size-control select{color:#343840;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;height:34px;padding:0 28px 0 9px;font-family:inherit;font-size:12px;transition:border-color .18s,box-shadow .18s}.total-expense-page .page-size-control select:hover{border-color:#cbd0d9}.total-expense-page .page-size-control select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e514}.total-expense-page .table-wrapper{-webkit-overflow-scrolling:touch;width:100%;max-height:540px;overflow:auto}.total-expense-page table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.total-expense-page thead{z-index:2;background:#f8f9fb;position:sticky;top:0}.total-expense-page th{color:#666c76;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f8f9fb;border-bottom:1px solid #e5e7eb;padding:13px 16px;font-size:10.5px;font-weight:750;line-height:1.2}.total-expense-page td{color:#343840;white-space:nowrap;border-bottom:1px solid #f0f1f3;padding:14px 16px;font-size:13px;font-weight:500}.total-expense-page tbody tr{transition:background-color .15s}.total-expense-page tbody tr:hover{background:#fafbff}.total-expense-page tbody tr:last-child td{border-bottom:0}.total-expense-page th:first-child,.total-expense-page td:first-child{color:#9298a2;text-align:center;width:60px}.total-expense-page .serial-number{color:#9298a2;text-align:center;font-size:12px;font-weight:600}.total-expense-page th:nth-child(2),.total-expense-page td:nth-child(2){min-width:180px}.total-expense-page .student-id-cell{color:#171a21;font-size:14px;font-weight:700}.total-expense-page .student-id-cell strong{color:#171a21;letter-spacing:.01em;font-size:14px;font-weight:700}.total-expense-page th:nth-child(3),.total-expense-page th:nth-child(4),.total-expense-page th:nth-child(5),.total-expense-page td:nth-child(3),.total-expense-page td:nth-child(4),.total-expense-page td:nth-child(5){text-align:right}.total-expense-page td.total-amount{color:#4f46e5;font-size:13px;font-weight:750}.total-expense-page tfoot{z-index:1;position:sticky;bottom:0}.total-expense-page tfoot td{color:#171a21;text-align:right;font-variant-numeric:tabular-nums;background:#f8f9fc;border-top:1px solid #e5e7eb;border-bottom:0;padding:13px 16px;font-size:12px;font-weight:700}.total-expense-page tfoot td:first-child{text-align:left}.total-expense-page tfoot td.total-amount{color:#4f46e5;text-align:right}.total-expense-page .resident-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:230px;padding:35px 20px;display:flex}.total-expense-page .resident-empty>svg{color:#a5aab4;width:28px;height:28px;margin-bottom:5px}.total-expense-page .resident-empty strong{color:#343840;font-size:14px;font-weight:700}.total-expense-page .resident-empty span{color:#737984;max-width:420px;font-size:12px;line-height:1.5}.total-expense-page .resident-empty button{color:#4f46e5;cursor:pointer;background:#eef0ff;border:1px solid #c7d2fe;border-radius:7px;min-height:34px;margin-top:7px;padding:0 13px;font-family:inherit;font-size:12px;font-weight:650;transition:background-color .18s,border-color .18s}.total-expense-page .resident-empty button:hover{background:#e0e7ff;border-color:#a5b4fc}.total-expense-page .pagination-bar{background:#fcfcfe;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;display:flex}.total-expense-page .pagination-info{color:#737984;font-size:12px;line-height:1.4}.total-expense-page .pagination-info strong{color:#171a21;font-weight:700}.total-expense-page .pagination-controls{align-items:center;gap:9px;display:flex}.total-expense-page .pagination-btn{color:#5f6570;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .18s,border-color .18s,color .18s,opacity .18s;display:inline-flex}.total-expense-page .pagination-btn svg{width:11px;height:11px}.total-expense-page .pagination-btn:hover:not(:disabled){color:#4f46e5;background:#eef0ff;border-color:#c7d2fe}.total-expense-page .pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f5f5f6}.total-expense-page .page-number{color:#737984;text-align:center;min-width:90px;font-size:12px}.total-expense-page .page-number strong{color:#171a21;font-weight:700}.total-expense-page .table-wrapper::-webkit-scrollbar{width:7px;height:7px}.total-expense-page .table-wrapper::-webkit-scrollbar-track{background:#f1f2f4}.total-expense-page .table-wrapper::-webkit-scrollbar-thumb{background:#c7cad1;border-radius:10px}.total-expense-page .table-wrapper::-webkit-scrollbar-thumb:hover{background:#aeb2bb}.total-expense-page button:focus-visible,.total-expense-page input:focus-visible,.total-expense-page select:focus-visible{outline-offset:2px;outline:2px solid #818cf8}@media (width<=1100px){.total-expense-page .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.total-expense-page .page-header{align-items:flex-start}}@media (width<=768px){.total-expense-page{padding:16px}.total-expense-page .page-header{flex-direction:column;align-items:stretch;padding:18px}.total-expense-page .header-title{align-items:flex-start}.total-expense-page .month-control,.total-expense-page .month-control input{width:100%}.total-expense-page .action-bar{flex-wrap:wrap}.total-expense-page .summary-grid{gap:12px}.total-expense-page .summary-card{min-height:105px;padding:16px}.total-expense-page .resident-toolbar{flex-direction:column;align-items:stretch}.total-expense-page .resident-search{width:100%}.total-expense-page .resident-toolbar-right{justify-content:space-between}.total-expense-page .table-wrapper{max-height:480px}}@media (width<=520px){.total-expense-page{padding:12px}.total-expense-page .page-header{border-radius:11px;padding:16px}.total-expense-page .header-icon{border-radius:10px;flex-basis:43px;width:43px;height:43px;font-size:18px}.total-expense-page .header-title{gap:12px}.total-expense-page .header-title h1{font-size:18px}.total-expense-page .header-title p{font-size:12px}.total-expense-page .summary-grid{grid-template-columns:1fr}.total-expense-page .summary-card{min-height:96px}.total-expense-page .action-bar{flex-direction:column;align-items:stretch}.total-expense-page .calculate-btn,.total-expense-page .lock-btn{width:100%}.total-expense-page .resident-section-header{align-items:flex-start;padding:15px 16px}.total-expense-page .resident-section-heading{gap:10px}.total-expense-page .resident-section-icon{flex-basis:36px;width:36px;height:36px;font-size:14px}.total-expense-page .resident-section-heading h2{font-size:14px}.total-expense-page .resident-section-heading p{font-size:11px}.total-expense-page .resident-section-toggle{flex-basis:30px;width:30px;height:30px}.total-expense-page .resident-toolbar{padding:13px}.total-expense-page .resident-toolbar-right{gap:10px}.total-expense-page .resident-count span{display:none}.total-expense-page .table-wrapper{max-height:420px}.total-expense-page th,.total-expense-page td{padding:12px 13px}.total-expense-page .pagination-bar{flex-direction:column;align-items:stretch;padding:13px}.total-expense-page .pagination-info{text-align:center}.total-expense-page .pagination-controls{justify-content:center}}@media (width<=380px){.total-expense-page{padding:10px}.total-expense-page .header-title h1{font-size:17px}.total-expense-page .resident-toolbar-right{flex-direction:column;align-items:stretch}.total-expense-page .resident-count,.total-expense-page .page-size-control{justify-content:space-between}.total-expense-page .page-size-control select{flex:1}}@media (prefers-reduced-motion:reduce){.total-expense-page *,.total-expense-page :before,.total-expense-page :after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.billing-calculation-page{box-sizing:border-box;color:#1f2937;width:100%;min-height:100%;padding:24px}.billing-calculation-page .billing-header h2 svg{flex-shrink:0;font-size:22px}.billing-calculation-page .billing-controls{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;width:100%;margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 8px #0f172a0a}.billing-calculation-page .billing-controls .control-group{flex-direction:column;gap:7px;min-width:180px;display:flex}.billing-calculation-page .billing-controls .control-group label{color:#374151;font-size:13px;font-weight:600;line-height:1.2}.billing-calculation-page .billing-controls .control-group .billing-react-select{width:100%;min-width:180px}.billing-calculation-page .billing-controls .calculate-btn,.billing-calculation-page .billing-controls .lock-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-size:14px;font-weight:600;line-height:1;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .15s,opacity .2s;display:inline-flex}.billing-calculation-page .billing-controls .calculate-btn svg,.billing-calculation-page .billing-controls .lock-btn svg{flex-shrink:0;font-size:14px}.billing-calculation-page .billing-controls .calculate-btn:hover:not(:disabled),.billing-calculation-page .billing-controls .lock-btn:hover:not(:disabled){transform:translateY(-1px)}.billing-calculation-page .billing-controls .calculate-btn:active:not(:disabled),.billing-calculation-page .billing-controls .lock-btn:active:not(:disabled){transform:translateY(0)}.billing-calculation-page .billing-controls .calculate-btn:focus-visible,.billing-calculation-page .billing-controls .lock-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f633}.billing-calculation-page .billing-controls .calculate-btn:disabled,.billing-calculation-page .billing-controls .lock-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.billing-calculation-page .billing-controls .calculate-btn{color:#fff;background:#2563eb;border-color:#2563eb}.billing-calculation-page .billing-controls .calculate-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 10px #2563eb33}.billing-calculation-page .billing-controls .lock-btn{color:#374151;background:#fff;border-color:#d1d5db}.billing-calculation-page .billing-controls .lock-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 10px #0f172a14}.billing-calculation-page .billing-select__control,.billing-calculation-page .page-size__control{min-height:42px;box-shadow:none;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;transition:border-color .2s,box-shadow .2s}.billing-calculation-page .billing-select__control:hover,.billing-calculation-page .page-size__control:hover{border-color:#9ca3af}.billing-calculation-page .billing-select__control--is-focused,.billing-calculation-page .page-size__control--is-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.billing-calculation-page .billing-select__value-container{padding:2px 12px}.billing-calculation-page .billing-select__single-value{color:#111827;font-size:14px;font-weight:500}.billing-calculation-page .billing-select__placeholder{color:#9ca3af;font-size:14px}.billing-calculation-page .billing-select__input-container{margin:0;padding:0}.billing-calculation-page .billing-select__input{color:#111827}.billing-calculation-page .billing-select__indicators{padding-right:4px}.billing-calculation-page .billing-select__indicator{color:#6b7280;padding:7px}.billing-calculation-page .billing-select__indicator:hover{color:#374151}.billing-calculation-page .billing-select__menu{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:5px;overflow:hidden;box-shadow:0 10px 25px #0f172a1f,0 4px 8px #0f172a0d}.billing-calculation-page .billing-select__menu-list{max-height:240px;padding:5px}.billing-calculation-page .billing-select__option{color:#374151;cursor:pointer;border-radius:6px;padding:9px 11px;font-size:14px}.billing-calculation-page .billing-select__option--is-focused{color:#1d4ed8;background:#eff6ff}.billing-calculation-page .billing-select__option--is-selected{color:#fff;background:#2563eb}.billing-calculation-page .period-title{justify-content:space-between;align-items:center;gap:15px;margin:24px 0 18px;display:flex}.billing-calculation-page .status{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:5px 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.billing-calculation-page .status.calculated{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.billing-calculation-page .status.locked{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.billing-calculation-page .summary-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:18px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0f172a0a}.billing-calculation-page .summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f172a14}.billing-calculation-page .summary-card span{color:#6b7280;margin-bottom:8px;font-size:13px;font-weight:500;line-height:1.4;display:block}.billing-calculation-page .summary-card strong{color:#111827;overflow-wrap:anywhere;font-size:21px;font-weight:700;line-height:1.3;display:block}.billing-calculation-page .summary-card.total{background:#f8fbff;border:2px solid #2563eb}.billing-calculation-page .summary-card.total strong{color:#1d4ed8}.billing-calculation-page .billing-table-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:20px;overflow:visible;box-shadow:0 2px 8px #0f172a0a}.billing-calculation-page .table-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.billing-calculation-page .table-header p strong{color:#374151}.billing-calculation-page .billing-search{align-items:center;width:320px;max-width:100%;display:flex;position:relative}.billing-calculation-page .billing-search svg{color:#9ca3af;pointer-events:none;font-size:14px;position:absolute;left:13px}.billing-calculation-page .billing-search input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;height:42px;padding:0 38px;font-size:14px;transition:border-color .2s,box-shadow .2s}.billing-calculation-page .billing-search input::placeholder{color:#9ca3af}.billing-calculation-page .billing-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.billing-calculation-page .billing-search .clear-search{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:20px;line-height:1;display:flex;position:absolute;right:8px}.billing-calculation-page .billing-search .clear-search:hover{color:#111827;background:#f3f4f6}.billing-calculation-page .table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;border:1px solid #e5e7eb;border-radius:8px;width:100%;overflow:auto hidden}.billing-calculation-page .table-wrapper table{border-collapse:collapse;background:#fff;width:100%;min-width:1050px}.billing-calculation-page .table-wrapper table th,.billing-calculation-page .table-wrapper table td{text-align:left;white-space:nowrap;vertical-align:middle;border-bottom:1px solid #eef0f3;padding:13px 14px}.billing-calculation-page .table-wrapper table th{color:#475569;text-transform:uppercase;letter-spacing:.3px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:12px;font-weight:700}.billing-calculation-page .table-wrapper table td{color:#374151;font-size:13px}.billing-calculation-page .table-wrapper table td:first-child{color:#6b7280;font-weight:600}.billing-calculation-page .table-wrapper table td:last-child{color:#111827}.billing-calculation-page .table-wrapper table tbody tr{transition:background-color .15s}.billing-calculation-page .table-wrapper table td small{color:#9ca3af;margin-top:3px;font-size:11px;font-weight:500;display:block}.billing-calculation-page .table-wrapper table td strong{color:#111827;font-weight:700}.billing-calculation-page .student-cell{flex-direction:column;gap:3px;min-width:150px;display:flex}.billing-calculation-page .student-cell strong{color:#111827;font-size:13px;font-weight:600}.billing-calculation-page .student-cell small{color:#6b7280;margin:0;font-size:11px}.billing-calculation-page .empty{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:30px;display:flex}.billing-calculation-page .empty svg{color:#9ca3af;margin-bottom:5px;font-size:26px}.billing-calculation-page .empty strong{color:#374151;font-size:15px}.billing-calculation-page .empty button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;margin-top:8px;padding:8px 14px;font-size:13px;font-weight:600}.billing-calculation-page .empty button:hover{background:#f9fafb}.billing-calculation-page .pagination-bar{border-top:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:16px;display:flex}.billing-calculation-page .pagination-info{color:#6b7280;white-space:nowrap;font-size:13px;line-height:1.5}.billing-calculation-page .pagination-info strong{color:#374151;font-weight:700}.billing-calculation-page .pagination-controls{align-items:center;gap:10px;display:flex}.billing-calculation-page .page-size-control{align-items:center;gap:8px;margin-right:4px;display:flex}.billing-calculation-page .page-size-control span{color:#6b7280;font-size:13px;font-weight:500}.billing-calculation-page .page-size-select{width:82px}.billing-calculation-page .page-size-select .page-size__control{min-height:36px}.billing-calculation-page .page-size-select .page-size__value-container{padding:0 8px}.billing-calculation-page .page-size-select .page-size__single-value{color:#374151;font-size:13px;font-weight:600}.billing-calculation-page .page-size-select .page-size__indicator{padding:5px}.billing-calculation-page .page-size-select .page-size__menu{z-index:110}.billing-calculation-page .page-size-select .page-size__option{cursor:pointer;border-radius:5px;padding:7px 9px;font-size:13px}.billing-calculation-page .page-size-select .page-size__option--is-focused{color:#1d4ed8;background:#eff6ff}.billing-calculation-page .page-size-select .page-size__option--is-selected{color:#fff;background:#2563eb}.billing-calculation-page .pagination-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:12px;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.billing-calculation-page .pagination-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb1f}.billing-calculation-page .pagination-btn:disabled{color:#cbd5e1;cursor:not-allowed;background:#f9fafb;border-color:#e5e7eb}.billing-calculation-page .page-number{color:#6b7280;text-align:center;white-space:nowrap;min-width:100px;font-size:13px}.billing-calculation-page .page-number strong{color:#111827;font-weight:700}@media (width<=1024px){.billing-calculation-page{padding:20px}.billing-calculation-page .billing-header h2{font-size:22px}.billing-calculation-page .billing-controls{gap:12px}.billing-calculation-page .billing-controls .control-group,.billing-calculation-page .billing-controls .control-group .billing-react-select{min-width:160px}.billing-calculation-page .billing-controls .calculate-btn,.billing-calculation-page .billing-controls .lock-btn{padding:0 15px}.billing-calculation-page .summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-calculation-page .table-header{align-items:flex-start}.billing-calculation-page .billing-search{width:280px}}@media (width<=768px){.billing-calculation-page{padding:16px}.billing-calculation-page .billing-header{flex-direction:column;margin-bottom:18px}.billing-calculation-page .billing-header h2{font-size:20px}.billing-calculation-page .billing-header p{font-size:13px}.billing-calculation-page .billing-controls{align-items:stretch;padding:16px}.billing-calculation-page .billing-controls .control-group{width:100%;min-width:100%}.billing-calculation-page .billing-controls .control-group .billing-react-select{min-width:100%}.billing-calculation-page .billing-controls .calculate-btn,.billing-calculation-page .billing-controls .lock-btn{width:100%}.billing-calculation-page .period-title{margin:20px 0 15px}.billing-calculation-page .period-title h3{font-size:18px}.billing-calculation-page .summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.billing-calculation-page .summary-card{padding:15px}.billing-calculation-page .summary-card strong{font-size:18px}.billing-calculation-page .billing-table-card{padding:15px}.billing-calculation-page .table-header{flex-direction:column;align-items:stretch;gap:12px}.billing-calculation-page .table-header .billing-search{width:100%}.billing-calculation-page .pagination-bar{flex-direction:column;align-items:stretch;gap:14px}.billing-calculation-page .pagination-info{text-align:center}.billing-calculation-page .pagination-controls{flex-wrap:wrap;justify-content:center}}@media (width<=480px){.billing-calculation-page{padding:12px}.billing-calculation-page .billing-header h2,.billing-calculation-page .billing-header h2 svg{font-size:18px}.billing-calculation-page .billing-header p{font-size:12px}.billing-calculation-page .billing-controls{padding:14px}.billing-calculation-page .billing-controls .control-group label{font-size:12px}.billing-calculation-page .period-title{align-items:flex-start}.billing-calculation-page .period-title h3{font-size:16px}.billing-calculation-page .period-title .status{min-height:27px;padding:5px 9px;font-size:10px}.billing-calculation-page .summary-cards{grid-template-columns:1fr;gap:10px}.billing-calculation-page .summary-card{padding:14px}.billing-calculation-page .summary-card span{font-size:12px}.billing-calculation-page .summary-card strong{font-size:18px}.billing-calculation-page .billing-table-card{padding:12px}.billing-calculation-page .table-header h3{font-size:16px}.billing-calculation-page .table-header p{font-size:12px}.billing-calculation-page .billing-search input{height:40px;font-size:13px}.billing-calculation-page .table-wrapper table{min-width:1000px}.billing-calculation-page .table-wrapper table th,.billing-calculation-page .table-wrapper table td{padding:11px 12px}.billing-calculation-page .pagination-info{white-space:normal;text-align:center;font-size:12px}.billing-calculation-page .pagination-controls{gap:7px}.billing-calculation-page .page-size-control{margin-right:0}.billing-calculation-page .page-size-control span{font-size:12px}.billing-calculation-page .page-size-select{width:75px}.billing-calculation-page .pagination-btn{width:34px;height:34px}.billing-calculation-page .page-number{min-width:85px;font-size:12px}}.billing-calculation-page{color:#111827;box-sizing:border-box;width:100%;min-width:0;padding:24px}.billing-calculation-page *,.billing-calculation-page :before,.billing-calculation-page :after{box-sizing:border-box}.billing-calculation-page .billing-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.billing-calculation-page .billing-header h2{color:#111827;align-items:center;gap:11px;margin:0;font-size:24px;font-weight:700;line-height:1.35;display:flex}.billing-calculation-page .billing-header h2 svg{color:#2563eb;flex-shrink:0;font-size:23px}.billing-calculation-page .billing-header p{color:#6b7280;max-width:680px;margin:7px 0 0;font-size:14px;line-height:1.6}.billing-calculation-page .billing-controls{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:minmax(150px,200px) minmax(150px,200px) auto;align-items:end;gap:16px;margin-bottom:24px;padding:18px;display:grid}.billing-calculation-page .control-group{flex-direction:column;gap:7px;min-width:0;display:flex}.billing-calculation-page .control-group label{color:#374151;font-size:12px;font-weight:600;line-height:1.4}.billing-calculation-page .control-group>div[class*=container]{width:100%;min-width:0}.billing-calculation-page .control-group [class*=control]{min-height:42px;box-shadow:none;cursor:pointer;border-color:#d1d5db;border-radius:8px}.billing-calculation-page .control-group [class*=control]:hover{border-color:#9ca3af}.billing-calculation-page .control-group [class*=control--is-focused]{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.billing-calculation-page .control-group [class*=value-container]{padding-left:11px;padding-right:9px}.billing-calculation-page .control-group [class*=singleValue],.billing-calculation-page .control-group [class*=placeholder],.billing-calculation-page .control-group [class*=input]{font-size:13px}.billing-calculation-page .control-group [class*=menu]{z-index:50;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #0f172a1a}.billing-calculation-page .control-group [class*=option]{cursor:pointer;padding:10px 12px;font-size:13px}.billing-calculation-page .generate-bills-btn{color:#fff;white-space:nowrap;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.billing-calculation-page .generate-bills-btn svg{flex-shrink:0;font-size:14px}.billing-calculation-page .generate-bills-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 3px 8px #2563eb2e}.billing-calculation-page .generate-bills-btn:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.billing-calculation-page .generate-bills-btn:disabled{color:#64748b;cursor:not-allowed;box-shadow:none;background:#cbd5e1;border-color:#cbd5e1}.billing-calculation-page .period-title{background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:18px 20px;display:flex}.billing-calculation-page .period-title>div{min-width:0}.billing-calculation-page .period-title h3{color:#111827;margin:0;font-size:19px;font-weight:700;line-height:1.4}.billing-calculation-page .period-title p{color:#6b7280;margin:6px 0 0;font-size:12px;line-height:1.5}.billing-calculation-page .period-title .status{color:#4b5563;text-transform:uppercase;white-space:nowrap;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-height:28px;padding:5px 11px;font-size:10px;font-weight:700;line-height:1.3;display:inline-flex}.billing-calculation-page .period-title .status.locked{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.billing-calculation-page .period-title .status.calculated{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.billing-calculation-page .period-title .status.cancelled{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.billing-calculation-page .summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.billing-calculation-page .summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;justify-content:center;min-width:0;min-height:108px;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.billing-calculation-page .summary-card:hover{border-color:#dbe3ef;box-shadow:0 4px 14px #0f172a0a}.billing-calculation-page .summary-card>span{color:#6b7280;font-size:13px;font-weight:500;line-height:1.5}.billing-calculation-page .summary-card>strong{color:#111827;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:8px;font-size:24px;font-weight:700;line-height:1.3;display:block}.billing-calculation-page .summary-card.total{background:#f8fbff;border-color:#bfdbfe}.billing-calculation-page .summary-card.total>strong{color:#1d4ed8}.billing-calculation-page .billing-warning,.billing-calculation-page .billing-success{border:1px solid;border-radius:9px;align-items:flex-start;gap:13px;margin-bottom:20px;padding:16px 18px;display:flex}.billing-calculation-page .billing-warning>svg,.billing-calculation-page .billing-success>svg{flex-shrink:0;margin-top:2px;font-size:18px}.billing-calculation-page .billing-warning>div,.billing-calculation-page .billing-success>div{min-width:0}.billing-calculation-page .billing-warning strong,.billing-calculation-page .billing-success strong{font-size:13px;font-weight:700;line-height:1.5;display:block}.billing-calculation-page .billing-warning p,.billing-calculation-page .billing-success p{margin:5px 0 0;font-size:12px;line-height:1.6}.billing-calculation-page .billing-warning{color:#9a3412;background:#fffaf5;border-color:#fed7aa}.billing-calculation-page .billing-warning>svg{color:#ea580c}.billing-calculation-page .billing-warning p{color:#9a3412}.billing-calculation-page .billing-success{color:#166534;background:#f0fdf4;border-color:#a7f3d0}.billing-calculation-page .billing-success>svg{color:#16a34a}.billing-calculation-page .billing-success p{color:#15803d}.billing-calculation-page .billing-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;min-width:0}.billing-calculation-page .table-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:20px;padding:19px 20px;display:flex}.billing-calculation-page .table-header>div:first-child{min-width:0}.billing-calculation-page .table-header h3{color:#111827;margin:0;font-size:16px;font-weight:700;line-height:1.4}.billing-calculation-page .table-header p{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.5}.billing-calculation-page .table-header .billing-search{flex:0 300px;align-items:center;min-width:180px;display:flex;position:relative}.billing-calculation-page .table-header .billing-search>svg{z-index:1;color:#9ca3af;pointer-events:none;font-size:13px;position:absolute;left:12px}.billing-calculation-page .table-header .billing-search input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;min-width:0;height:40px;padding:0 12px 0 35px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s;display:block}.billing-calculation-page .table-header .billing-search input::placeholder{color:#9ca3af}.billing-calculation-page .table-header .billing-search input:hover{border-color:#9ca3af}.billing-calculation-page .table-header .billing-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.billing-calculation-page .table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;width:100%;min-width:0;overflow:auto visible}.billing-calculation-page .table-wrapper::-webkit-scrollbar{height:7px}.billing-calculation-page .table-wrapper::-webkit-scrollbar-track{background:#f8fafc}.billing-calculation-page .table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.billing-calculation-page .table-wrapper table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1120px;margin:0}.billing-calculation-page .table-wrapper table th,.billing-calculation-page .table-wrapper table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef0f3;padding:14px 12px}.billing-calculation-page .table-wrapper table th{color:#64748b;letter-spacing:.035em;text-transform:uppercase;white-space:normal;overflow-wrap:break-word;background:#f8fafc;font-size:10px;font-weight:700;line-height:1.45}.billing-calculation-page .table-wrapper table td{color:#374151;font-size:12px;line-height:1.5}.billing-calculation-page .table-wrapper table tbody tr{background:#fff;transition:background-color .15s}.billing-calculation-page .table-wrapper table tbody tr:hover{background:#f8fbff}.billing-calculation-page .table-wrapper table tbody tr:last-child td{border-bottom:none}.billing-calculation-page .table-wrapper table th:first-child,.billing-calculation-page .table-wrapper table td:first-child{color:#64748b;text-align:center;width:55px;padding-left:15px;padding-right:6px}.billing-calculation-page .table-wrapper table th:nth-child(2),.billing-calculation-page .table-wrapper table td:nth-child(2){text-align:left;width:205px}.billing-calculation-page .table-wrapper table th:nth-child(3),.billing-calculation-page .table-wrapper table td:nth-child(3){width:100px}.billing-calculation-page .table-wrapper table th:nth-child(4),.billing-calculation-page .table-wrapper table td:nth-child(4){text-align:center;width:125px}.billing-calculation-page .table-wrapper table th:nth-child(5),.billing-calculation-page .table-wrapper table td:nth-child(5),.billing-calculation-page .table-wrapper table th:nth-child(6),.billing-calculation-page .table-wrapper table td:nth-child(6){text-align:right;width:135px}.billing-calculation-page .table-wrapper table th:nth-child(7),.billing-calculation-page .table-wrapper table td:nth-child(7){text-align:right;width:155px}.billing-calculation-page .table-wrapper table th:nth-child(8),.billing-calculation-page .table-wrapper table td:nth-child(8){text-align:right;width:145px;padding-right:16px}.billing-calculation-page .student-cell{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;width:100%;min-width:0;display:flex}.billing-calculation-page .student-cell strong{color:#111827;white-space:normal;overflow-wrap:anywhere;width:100%;margin:0;font-size:12px;font-weight:600;line-height:1.5;display:block}.billing-calculation-page .student-cell small{color:#64748b;white-space:normal;overflow-wrap:anywhere;width:100%;margin:0;font-size:11px;font-weight:500;line-height:1.4;display:block}.billing-calculation-page .table-wrapper td:nth-child(4){font-variant-numeric:tabular-nums;text-align:center}.billing-calculation-page .table-wrapper td:nth-child(5),.billing-calculation-page .table-wrapper td:nth-child(6),.billing-calculation-page .table-wrapper td:nth-child(7),.billing-calculation-page .table-wrapper td:nth-child(8){font-variant-numeric:tabular-nums;white-space:nowrap}.billing-calculation-page .table-wrapper td:nth-child(8) strong{color:#111827;font-size:12px;font-weight:700}.billing-calculation-page .pagination-bar{border-top:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:15px 18px;display:flex}.billing-calculation-page .pagination-bar>div:first-child{color:#64748b;flex:auto;min-width:0;font-size:12px;line-height:1.6}.billing-calculation-page .pagination-bar>div:first-child strong{color:#111827;font-variant-numeric:tabular-nums;font-weight:700}.billing-calculation-page .pagination-controls{flex:none;justify-content:flex-end;align-items:center;gap:9px;min-width:0;display:flex}.billing-calculation-page .pagination-controls>span{color:#64748b;text-align:center;white-space:nowrap;min-width:90px;font-size:12px}.billing-calculation-page .pagination-controls>span strong{color:#111827;font-weight:700}.billing-calculation-page .page-size-select{width:78px;min-width:78px;font-size:12px}.billing-calculation-page .page-size-select [class*=control]{min-height:35px;box-shadow:none;cursor:pointer;border-color:#d1d5db;border-radius:7px}.billing-calculation-page .page-size-select [class*=control]:hover{border-color:#9ca3af}.billing-calculation-page .page-size-select [class*=control--is-focused]{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.billing-calculation-page .page-size-select [class*=value-container]{padding-left:8px;padding-right:4px}.billing-calculation-page .page-size-select [class*=singleValue],.billing-calculation-page .page-size-select [class*=option]{font-size:12px}.billing-calculation-page .page-size-select [class*=menu]{z-index:50}.billing-calculation-page .pagination-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.billing-calculation-page .pagination-btn:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.billing-calculation-page .pagination-btn:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.billing-calculation-page .pagination-btn:disabled{opacity:.4;cursor:not-allowed}.billing-calculation-page .empty{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:220px;padding:28px 20px;font-size:13px;line-height:1.6;display:flex}.billing-calculation-page .empty>svg{color:#94a3b8;flex-shrink:0;margin-bottom:4px;font-size:34px}.billing-calculation-page .empty>strong{color:#111827;font-size:15px;font-weight:700}.billing-calculation-page .empty>p{color:#64748b;max-width:400px;margin:0;font-size:12px;line-height:1.6}@media (width>=1400px){.billing-calculation-page{padding:28px 32px}.billing-calculation-page .billing-header h2{font-size:26px}.billing-calculation-page .billing-controls{padding:20px}.billing-calculation-page .summary-card{padding:22px}}@media (width<=1200px){.billing-calculation-page{padding:22px}.billing-calculation-page .billing-controls{grid-template-columns:minmax(130px,180px) minmax(130px,180px) auto;gap:12px}.billing-calculation-page .generate-bills-btn{padding:0 13px;font-size:12px}.billing-calculation-page .table-header{gap:14px}.billing-calculation-page .table-header .billing-search{flex-basis:260px}}@media (width<=900px){.billing-calculation-page{padding:18px}.billing-calculation-page .billing-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.billing-calculation-page .generate-bills-btn{grid-column:1/-1;width:100%}.billing-calculation-page .summary-cards{gap:12px}.billing-calculation-page .summary-card{padding:16px}.billing-calculation-page .table-header{flex-direction:column;align-items:flex-start}.billing-calculation-page .table-header .billing-search{flex:0 auto;width:100%;min-width:0}.billing-calculation-page .pagination-bar{flex-direction:column;align-items:flex-start;gap:12px}.billing-calculation-page .pagination-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}}@media (width<=600px){.billing-calculation-page{padding:14px}.billing-calculation-page .billing-header{margin-bottom:18px}.billing-calculation-page .billing-header h2{align-items:flex-start;gap:9px;font-size:21px}.billing-calculation-page .billing-header h2 svg{margin-top:3px;font-size:20px}.billing-calculation-page .billing-header p{font-size:12px}.billing-calculation-page .billing-controls{border-radius:10px;gap:12px;padding:13px}.billing-calculation-page .control-group label{font-size:11px}.billing-calculation-page .period-title{align-items:flex-start;padding:15px}.billing-calculation-page .period-title h3{font-size:17px}.billing-calculation-page .summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.billing-calculation-page .summary-card{min-height:88px;padding:13px}.billing-calculation-page .summary-card>span{font-size:11px}.billing-calculation-page .summary-card>strong{margin-top:6px;font-size:20px}.billing-calculation-page .summary-card.total{grid-column:1/-1;min-height:82px}.billing-calculation-page .billing-warning,.billing-calculation-page .billing-success{gap:10px;padding:13px}.billing-calculation-page .table-header{padding:15px}.billing-calculation-page .table-header h3{font-size:15px}.billing-calculation-page .billing-table-card{border-radius:10px}.billing-calculation-page .pagination-bar{padding:13px}.billing-calculation-page .pagination-controls{gap:7px}.billing-calculation-page .pagination-controls>span{min-width:80px;font-size:11px}.billing-calculation-page .pagination-btn{flex-basis:32px;width:32px;height:32px}}@media (width<=380px){.billing-calculation-page{padding:10px}.billing-calculation-page .billing-header h2{font-size:19px}.billing-calculation-page .billing-controls{grid-template-columns:minmax(0,1fr);padding:12px}.billing-calculation-page .generate-bills-btn{grid-column:auto}.billing-calculation-page .period-title{gap:8px;padding:12px}.billing-calculation-page .period-title h3{font-size:15px}.billing-calculation-page .period-title .status{padding:4px 7px;font-size:9px}.billing-calculation-page .summary-card{padding:11px}.billing-calculation-page .summary-card>strong{font-size:18px}.billing-calculation-page .pagination-controls{gap:6px}.billing-calculation-page .pagination-controls>span{min-width:70px}}.generated-bills-page{box-sizing:border-box;color:#111827;width:100%;min-width:0;padding:24px}.generated-bills-page *,.generated-bills-page :before,.generated-bills-page :after{box-sizing:border-box}.generated-bills-page .billing-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.generated-bills-page .billing-header h2{color:#111827;align-items:center;gap:11px;margin:0;font-size:24px;font-weight:700;line-height:1.3;display:flex}.generated-bills-page .billing-header h2 svg{color:#2563eb;flex-shrink:0;font-size:23px}.generated-bills-page .billing-header p{color:#6b7280;margin:7px 0 0;font-size:14px;line-height:1.5}.generated-bills-page .billing-filter-bar{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:16px;margin-bottom:22px;display:grid}.generated-bills-page .billing-search{align-items:center;width:100%;min-width:0;display:flex;position:relative}.generated-bills-page .billing-search>svg{z-index:1;color:#9ca3af;pointer-events:none;font-size:14px;position:absolute;left:14px}.generated-bills-page .billing-search input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;min-width:0;height:44px;padding:0 14px 0 40px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s;display:block}.generated-bills-page .billing-search input::placeholder{color:#9ca3af}.generated-bills-page .billing-search input:hover{border-color:#9ca3af}.generated-bills-page .billing-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.generated-bills-page .status-select{width:100%;min-width:0;font-size:13px}.generated-bills-page .status-select .status__control,.generated-bills-page .status-select .status__control--is-focused,.generated-bills-page .status-select .select__control,.generated-bills-page .status-select .select__control--is-focused{min-height:44px}.generated-bills-page .status-select .select__value-container{padding-left:12px}.generated-bills-page .status-select .select__placeholder{color:#9ca3af}.generated-bills-page .status-select .select__control{box-shadow:none;cursor:pointer;border-color:#d1d5db;border-radius:8px}.generated-bills-page .status-select .select__control:hover{border-color:#9ca3af}.generated-bills-page .status-select .select__control--is-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.generated-bills-page .status-select .select__menu{z-index:20;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.generated-bills-page .status-select .select__option{cursor:pointer;padding:10px 12px;font-size:13px}.generated-bills-page .summary-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.generated-bills-page .summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:0;min-height:104px;padding:19px 20px;transition:border-color .2s,box-shadow .2s,transform .2s}.generated-bills-page .summary-card:hover{border-color:#dbe3ef;transform:translateY(-2px);box-shadow:0 5px 16px #0f172a0d}.generated-bills-page .summary-card span{color:#6b7280;font-size:13px;font-weight:500;line-height:1.5;display:block}.generated-bills-page .summary-card strong{color:#111827;overflow-wrap:anywhere;margin-top:8px;font-size:24px;font-weight:700;line-height:1.25;display:block}.generated-bills-page .billing-table-card{z-index:1;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;min-width:0;position:relative}.generated-bills-page .table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;border-radius:12px 12px 0 0;width:100%;min-width:0;overflow:auto visible}.generated-bills-page .table-wrapper::-webkit-scrollbar{height:7px}.generated-bills-page .table-wrapper::-webkit-scrollbar-track{background:#f8fafc}.generated-bills-page .table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.generated-bills-page .table-wrapper table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1060px;margin:0}.generated-bills-page .table-wrapper table thead{background:#f8fafc}.generated-bills-page .table-wrapper table th,.generated-bills-page .table-wrapper table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef0f3;height:auto;padding:15px 14px;font-family:inherit}.generated-bills-page .table-wrapper table th{color:#64748b;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;font-size:11px;font-weight:700;line-height:1.4}.generated-bills-page .table-wrapper table td{color:#374151;font-size:13px;line-height:1.5}.generated-bills-page .table-wrapper table tbody tr{background:#fff;transition:background-color .15s}.generated-bills-page .table-wrapper table tbody tr:hover{background:#f8fbff}.generated-bills-page .table-wrapper table tbody tr:last-child td{border-bottom:none}.generated-bills-page .table-wrapper table th:first-child,.generated-bills-page .table-wrapper table td:first-child{color:#64748b;text-align:center;width:55px;padding-left:16px;padding-right:8px}.generated-bills-page .table-wrapper table th:nth-child(2),.generated-bills-page .table-wrapper table td:nth-child(2){width:165px}.generated-bills-page .table-wrapper table th:nth-child(3),.generated-bills-page .table-wrapper table td:nth-child(3){text-align:left;width:205px}.generated-bills-page .table-wrapper table th:nth-child(4),.generated-bills-page .table-wrapper table td:nth-child(4){width:235px}.generated-bills-page .table-wrapper table th:nth-child(5),.generated-bills-page .table-wrapper table td:nth-child(5){text-align:right;width:145px}.generated-bills-page .table-wrapper table th:nth-child(6),.generated-bills-page .table-wrapper table td:nth-child(6){text-align:center;width:145px}.generated-bills-page .table-wrapper table th:nth-child(7),.generated-bills-page .table-wrapper table td:nth-child(7){text-align:center;width:110px;padding-right:14px}.generated-bills-page .table-wrapper td:nth-child(2) strong{color:#1f2937;overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:12px;font-weight:650;display:inline-block}.generated-bills-page .student-cell{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;width:100%;min-width:0;display:flex}.generated-bills-page .student-cell strong{color:#111827;overflow-wrap:anywhere;white-space:normal;width:100%;margin:0;font-size:13px;font-weight:600;line-height:1.45;display:block}.generated-bills-page .student-cell small{color:#64748b;overflow-wrap:anywhere;white-space:normal;width:100%;margin:0;font-size:11px;font-weight:500;line-height:1.4;display:block}.generated-bills-page .period-cell{color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-start;align-items:center;gap:6px;width:100%;min-width:0;font-size:12px;font-weight:500;display:flex}.generated-bills-page .period-cell span{flex-shrink:0}.generated-bills-page .period-cell span:nth-child(2){color:#94a3b8}.generated-bills-page .table-wrapper td:nth-child(5) strong{color:#111827;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:700;display:block}.generated-bills-page .bill-status{text-align:center;text-transform:capitalize;white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;max-width:100%;min-height:27px;padding:5px 10px;font-size:10px;font-weight:700;line-height:1.3;display:inline-flex}.generated-bills-page .bill-status.pending{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.generated-bills-page .bill-status.paid{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.generated-bills-page .bill-status.partially-paid{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.generated-bills-page .view-btn{color:#2563eb;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:7px 11px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.generated-bills-page .view-btn svg{flex-shrink:0;font-size:12px}.generated-bills-page .view-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.generated-bills-page .view-btn:active{background:#dbeafe}.generated-bills-page .view-btn:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.generated-bills-page .pagination-bar{background:#fff;border-top:1px solid #eef0f3;border-radius:0 0 12px 12px;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:16px 18px;display:flex}.generated-bills-page .pagination-bar>span{color:#64748b;flex:auto;min-width:0;font-size:12px;line-height:1.6}.generated-bills-page .pagination-bar>span strong{color:#111827;font-variant-numeric:tabular-nums;font-weight:700}.generated-bills-page .pagination-controls{flex:none;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.generated-bills-page .pagination-controls>.status-select,.generated-bills-page .pagination-controls>.css-b62m3t-container{width:80px;min-width:80px}.generated-bills-page .pagination-controls>span{color:#64748b;text-align:center;white-space:nowrap;min-width:94px;font-size:12px}.generated-bills-page .pagination-controls>span strong{color:#111827;font-weight:700}.generated-bills-page .pagination-controls>div:has(>.select__control){width:80px;min-width:80px}.generated-bills-page .pagination-controls .select__control{min-height:36px;box-shadow:none;cursor:pointer;border-color:#d1d5db;border-radius:7px}.generated-bills-page .pagination-controls .select__control:hover{border-color:#9ca3af}.generated-bills-page .pagination-controls .select__control--is-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.generated-bills-page .pagination-controls .select__value-container{padding:0 7px}.generated-bills-page .pagination-controls .select__single-value,.generated-bills-page .pagination-controls .select__option{font-size:12px}.generated-bills-page .pagination-controls .select__menu{z-index:30}.generated-bills-page .pagination-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;flex:0 0 35px;justify-content:center;align-items:center;width:35px;height:35px;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.generated-bills-page .pagination-btn:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.generated-bills-page .pagination-btn:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.generated-bills-page .pagination-btn:disabled{opacity:.4;cursor:not-allowed}.generated-bills-page .loading{color:#64748b;text-align:center;justify-content:center;align-items:center;min-height:240px;padding:30px;font-size:14px;display:flex}.generated-bills-page .empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:30px 20px;display:flex}.generated-bills-page .empty>svg{color:#94a3b8;margin-bottom:15px;font-size:35px}.generated-bills-page .empty>strong{color:#111827;font-size:16px;font-weight:700}.generated-bills-page .empty>p{color:#64748b;max-width:380px;margin:8px 0 0;font-size:13px;line-height:1.6}@media (width>=1400px){.generated-bills-page{padding:28px 32px}.generated-bills-page .billing-header h2{font-size:26px}.generated-bills-page .summary-card{padding:21px 22px}.generated-bills-page .table-wrapper table th,.generated-bills-page .table-wrapper table td{padding-top:16px;padding-bottom:16px}}@media (width<=1200px){.generated-bills-page{padding:22px}.generated-bills-page .summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.generated-bills-page .billing-filter-bar{grid-template-columns:minmax(0,1fr) 210px}}@media (width<=900px){.generated-bills-page{padding:18px}.generated-bills-page .billing-filter-bar{grid-template-columns:minmax(0,1fr) 200px;gap:12px}.generated-bills-page .summary-cards{gap:12px}.generated-bills-page .pagination-bar{flex-direction:column;align-items:flex-start;gap:14px}.generated-bills-page .pagination-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}}@media (width<=700px){.generated-bills-page{padding:15px}.generated-bills-page .billing-header{margin-bottom:19px}.generated-bills-page .billing-header h2{gap:9px;font-size:21px}.generated-bills-page .billing-header p{font-size:13px}.generated-bills-page .billing-filter-bar{grid-template-columns:minmax(0,1fr);gap:12px}.generated-bills-page .summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.generated-bills-page .summary-card{min-height:90px;padding:15px}.generated-bills-page .summary-card strong{font-size:21px}.generated-bills-page .billing-table-card{border-radius:10px}.generated-bills-page .table-wrapper{border-radius:10px 10px 0 0}.generated-bills-page .pagination-bar{padding:14px}.generated-bills-page .pagination-controls{gap:8px}}@media (width<=480px){.generated-bills-page{padding:12px}.generated-bills-page .billing-header h2{font-size:19px}.generated-bills-page .billing-header h2 svg{font-size:20px}.generated-bills-page .billing-header p{max-width:340px;font-size:12px}.generated-bills-page .billing-search input{height:42px;font-size:12px}.generated-bills-page .status-select .select__control{min-height:42px}.generated-bills-page .summary-cards{gap:8px}.generated-bills-page .summary-card{border-radius:9px;min-height:82px;padding:12px}.generated-bills-page .summary-card span{font-size:11px}.generated-bills-page .summary-card strong{margin-top:6px;font-size:19px}.generated-bills-page .pagination-bar{padding:13px 11px}.generated-bills-page .pagination-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.generated-bills-page .pagination-controls>span{min-width:78px;font-size:11px}.generated-bills-page .pagination-btn{flex-basis:32px;width:32px;height:32px}}@media (width<=360px){.generated-bills-page{padding:9px}.generated-bills-page .summary-card{padding:10px}.generated-bills-page .summary-card span{font-size:10px}.generated-bills-page .summary-card strong{font-size:17px}.generated-bills-page .pagination-bar>span{font-size:11px}.generated-bills-page .pagination-controls{gap:6px}}:root{--inv-primary:#2563eb;--inv-primary-hover:#1d4ed8;--inv-primary-light:#eff6ff;--inv-text:#1f2937;--inv-text-secondary:#64748b;--inv-muted:#94a3b8;--inv-border:#e2e8f0;--inv-border-strong:#cbd5e1;--inv-background:#f8fafc;--inv-surface:#fff;--inv-success:#15803d;--inv-success-bg:#dcfce7;--inv-warning:#b45309;--inv-warning-bg:#fef3c7;--inv-danger:#b91c1c;--inv-danger-bg:#fee2e2;--inv-radius-sm:6px;--inv-radius-md:10px;--inv-radius-lg:14px;--inv-shadow-sm:0 1px 3px #0f172a0f;--inv-shadow-md:0 4px 16px #0f172a12;--inv-shadow-modal:0 20px 60px #0f172a38}.inventory-items-page,.inventory-page.inventory-dashboard{width:100%;min-width:0;color:var(--inv-text);box-sizing:border-box;font-family:inherit}.inventory-items-page *,.inventory-items-page :before,.inventory-items-page :after,.inventory-page.inventory-dashboard *,.inventory-page.inventory-dashboard :before,.inventory-page.inventory-dashboard :after{box-sizing:border-box}.inventory-items-page button,.inventory-items-page input,.inventory-items-page select,.inventory-items-page textarea,.inventory-page.inventory-dashboard button,.inventory-page.inventory-dashboard input,.inventory-page.inventory-dashboard select,.inventory-page.inventory-dashboard textarea{font:inherit}.inventory-items-page button,.inventory-page.inventory-dashboard button{-webkit-tap-highlight-color:transparent}.inventory-items-page button:focus-visible,.inventory-items-page input:focus-visible,.inventory-items-page select:focus-visible,.inventory-page.inventory-dashboard button:focus-visible,.inventory-page.inventory-dashboard input:focus-visible,.inventory-page.inventory-dashboard select:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.inventory-items-page p,.inventory-page.inventory-dashboard p{overflow-wrap:anywhere}.inventory-items-page,.inventory-page.inventory-dashboard{background:var(--inv-background);border-radius:var(--inv-radius-lg);padding:24px}.inventory-page-header{justify-content:space-between;align-items:center;gap:20px;min-width:0;margin-bottom:24px;display:flex}.inventory-page-title{align-items:center;gap:14px;min-width:0;display:flex}.inventory-page-title>div:last-child{min-width:0}.inventory-page-icon{background:var(--inv-primary-light);width:48px;height:48px;color:var(--inv-primary);border-radius:12px;flex:0 0 48px;justify-content:center;align-items:center;font-size:23px;display:flex}.inventory-page-header h1,.inventory-page-header h2{color:var(--inv-text);letter-spacing:-.4px;margin:0;font-size:clamp(21px,2vw,28px);font-weight:700;line-height:1.3}.inventory-page-header p{color:var(--inv-text-secondary);margin:6px 0 0;font-size:14px;line-height:1.6}.inventory-eyebrow{color:var(--inv-primary);letter-spacing:1.4px;margin-bottom:6px;font-size:11px;font-weight:700;display:inline-block}.inventory-page-actions,.inventory-dashboard-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.inventory-items-page .inventory-btn,.inventory-page.inventory-dashboard .inventory-btn,.inventory-refresh-btn,.inventory-export-btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,opacity .2s;display:inline-flex}.inventory-items-page .inventory-btn svg,.inventory-page.inventory-dashboard .inventory-btn svg,.inventory-refresh-btn svg,.inventory-export-btn svg{flex-shrink:0;font-size:16px}.inventory-items-page .inventory-btn:disabled,.inventory-page.inventory-dashboard .inventory-btn:disabled,.inventory-refresh-btn:disabled,.inventory-export-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.inventory-items-page .inventory-btn-primary,.inventory-page.inventory-dashboard .inventory-btn-primary,.inventory-export-btn{border-color:var(--inv-primary);background:var(--inv-primary);color:#fff}.inventory-items-page .inventory-btn-primary:hover:not(:disabled),.inventory-page.inventory-dashboard .inventory-btn-primary:hover:not(:disabled),.inventory-export-btn:hover:not(:disabled){border-color:var(--inv-primary-hover);background:var(--inv-primary-hover);box-shadow:0 3px 8px #2563eb2b}.inventory-items-page .inventory-btn-secondary,.inventory-page.inventory-dashboard .inventory-btn-secondary,.inventory-refresh-btn{border-color:var(--inv-border-strong);background:var(--inv-surface);color:#374151}.inventory-items-page .inventory-btn-secondary:hover:not(:disabled),.inventory-page.inventory-dashboard .inventory-btn-secondary:hover:not(:disabled),.inventory-refresh-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.inventory-refresh-btn,.inventory-export-btn{min-height:42px}.inventory-alert{border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 18px;padding:13px 15px;font-size:13px;line-height:1.6;display:flex}.inventory-alert>span{overflow-wrap:anywhere;min-width:0}.inventory-alert>button{width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.inventory-alert>button:hover{background:#0000000d}.inventory-alert-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.inventory-alert-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.inventory-error-message,.inventory-warning-message{border:1px solid;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;font-size:13px;line-height:1.6;display:flex}.inventory-error-message span,.inventory-warning-message span{overflow-wrap:anywhere;min-width:0}.inventory-error-message button,.inventory-warning-message button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:600}.inventory-error-message{color:#991b1b;background:#fef2f2;border-color:#fecaca}.inventory-warning-message{color:#92400e;background:#fffbeb;border-color:#fde68a;justify-content:flex-start}.inventory-warning-message svg{flex-shrink:0}.inventory-items-page .inventory-card{border:1px solid var(--inv-border);border-radius:var(--inv-radius-lg);background:var(--inv-surface);min-width:0;box-shadow:var(--inv-shadow-sm);overflow:hidden}.inventory-items-page .inventory-card-header,.inventory-dashboard-table-header{border-bottom:1px solid var(--inv-border);justify-content:space-between;align-items:center;gap:15px;padding:20px 22px;display:flex}.inventory-items-page .inventory-card-header h3,.inventory-dashboard-table-header h2{color:var(--inv-text);margin:0;font-size:16px;font-weight:700}.inventory-items-page .inventory-card-header p,.inventory-dashboard-table-header p{color:var(--inv-text-secondary);margin:5px 0 0;font-size:12px;line-height:1.6}.inventory-items-toolbar,.inventory-toolbar{border-bottom:1px solid var(--inv-border);flex-wrap:wrap;align-items:center;gap:12px;min-width:0;padding:18px 20px;display:flex}.inventory-search-box{border:1px solid var(--inv-border-strong);min-width:0;min-height:42px;color:var(--inv-text-secondary);background:#fff;border-radius:8px;flex:250px;align-items:center;gap:10px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.inventory-search-box>svg{color:#94a3b8;flex-shrink:0;font-size:17px}.inventory-search-box:focus-within{border-color:var(--inv-primary);box-shadow:0 0 0 3px #2563eb1a}.inventory-search-box input{width:100%;min-width:0;min-height:40px;color:var(--inv-text);box-shadow:none;background:0 0;border:none;outline:none;padding:9px 0;font-size:13px}.inventory-search-box input::placeholder{color:#9ca3af}.inventory-search-box input:focus{box-shadow:none;outline:none}.inventory-search-box input::-webkit-search-cancel-button{cursor:pointer}.inventory-search-box>button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;padding:0;display:inline-flex}.inventory-search-box>button:hover{color:#1f2937;background:#f1f5f9}.inventory-filter-group{flex-wrap:wrap;gap:9px;display:flex}.inventory-filter-group select,.inventory-items-page .inventory-toolbar select,.inventory-toolbar>select,.inventory-pagination select,.inventory-pagination-controls select,.inventory-page-size select{border:1px solid var(--inv-border-strong);color:#374151;cursor:pointer;background-color:#fff;border-radius:8px;outline:none;min-width:0;min-height:40px;padding:8px 30px 8px 11px;font-size:12px;transition:border-color .2s,box-shadow .2s}.inventory-filter-group select:focus,.inventory-items-page .inventory-toolbar select:focus,.inventory-toolbar>select:focus,.inventory-pagination select:focus,.inventory-pagination-controls select:focus,.inventory-page-size select:focus{border-color:var(--inv-primary);box-shadow:0 0 0 3px #2563eb1a}.inventory-filter-group select{min-width:135px;max-width:210px}.inventory-clear-filters{white-space:nowrap;flex-shrink:0}.inventory-table-wrapper{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;-webkit-overflow-scrolling:touch;width:100%;min-width:0;overflow-x:auto}.inventory-table-wrapper::-webkit-scrollbar{height:7px}.inventory-table-wrapper::-webkit-scrollbar-track{background:#f8fafc}.inventory-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.inventory-table{border-collapse:separate;border-spacing:0;color:#374151;text-align:left;background:#fff;width:100%;min-width:1000px;font-size:12px}.inventory-table thead{background:#f8fafc}.inventory-table th{border-bottom:1px solid var(--inv-border);color:#64748b;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap;padding:14px 13px;font-size:10px;font-weight:700;line-height:1.5}.inventory-table td{vertical-align:middle;border-bottom:1px solid #edf1f5;padding:14px 13px;line-height:1.5}.inventory-table tbody tr{transition:background-color .15s}.inventory-table tbody tr:hover{background:#f8fafc}.inventory-table tbody tr:last-child td{border-bottom:none}.inventory-item-name{color:#111827;overflow-wrap:anywhere;min-width:150px;font-weight:600}.inventory-table td strong{color:#1f2937;font-weight:600}.inventory-table .inventory-empty{color:var(--inv-text-secondary);text-align:center;white-space:normal;padding:38px 20px}.inventory-row-actions{justify-content:center;align-items:center;gap:8px;display:flex}.inventory-action-btn{cursor:pointer;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:33px;padding:0;font-size:15px;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.inventory-action-btn.edit{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.inventory-action-btn.edit:hover{background:#dbeafe;border-color:#93c5fd}.inventory-action-btn.deactivate{color:#dc2626;background:#fef2f2;border-color:#fecaca}.inventory-action-btn.deactivate:hover{background:#fee2e2;border-color:#fca5a5}.inventory-stock-badge,.inventory-stock-status,.inventory-status-badge,.inventory-status,.inventory-food-badge{white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;max-width:100%;padding:5px 9px;font-size:11px;font-weight:600;line-height:1.35;display:inline-flex}.inventory-stock-badge.normal,.inventory-stock-status.available{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.inventory-stock-badge.low-stock,.inventory-stock-status.low-stock{color:#92400e;background:#fffbeb;border-color:#fde68a}.inventory-stock-badge.out-of-stock,.inventory-stock-status.out-of-stock{color:#991b1b;background:#fef2f2;border-color:#fecaca}.inventory-stock-badge.inactive,.inventory-stock-status.inactive{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.inventory-stock-badge.unknown{color:#64748b;background:#f8fafc;border-color:#e5e7eb}.inventory-status-badge.active,.inventory-status.active{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.inventory-status-badge.inactive,.inventory-status.inactive{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.inventory-food-badge.veg{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.inventory-food-badge.non-veg{color:#991b1b;background:#fef2f2;border-color:#fecaca}.inventory-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:270px;padding:35px 22px;display:flex}.inventory-state .inventory-state-icon{color:#94a3b8;width:36px;height:36px;margin-bottom:3px}.inventory-state h3{color:#1f2937;margin:0;font-size:17px;font-weight:700}.inventory-state p{color:#64748b;max-width:420px;margin:0 0 8px;font-size:13px;line-height:1.7}.inventory-state.inventory-state-error .inventory-state-icon{color:#dc2626}.inventory-loading{color:#64748b;justify-content:center;align-items:center;gap:12px;min-height:240px;padding:25px;font-size:14px;display:flex}.inventory-pagination{border-top:1px solid var(--inv-border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;display:flex}.inventory-pagination-info,.inventory-pagination-controls,.inventory-page-size{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.inventory-pagination-info{color:#64748b;font-size:12px}.inventory-pagination-info strong{color:#374151}.inventory-pagination-controls{color:#64748b;font-size:12px}.inventory-pagination-controls>span{white-space:nowrap}.inventory-pagination-controls button{border:1px solid var(--inv-border-strong);color:#374151;cursor:pointer;background:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:5px 9px;font-size:15px;display:inline-flex}.inventory-pagination-controls button:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.inventory-pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.inventory-pagination-controls select,.inventory-page-size select{min-height:34px;padding-top:6px;padding-bottom:6px}.inventory-page-count{white-space:nowrap}.inventory-page-size{color:#64748b;font-size:12px}.inventory-dashboard .inventory-page-header{align-items:flex-end}.inventory-dashboard .inventory-dashboard-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inventory-dashboard .inventory-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.inventory-dashboard .inventory-stat-card{border:1px solid var(--inv-border);border-radius:var(--inv-radius-lg);min-width:0;min-height:115px;box-shadow:var(--inv-shadow-sm);background:#fff;align-items:center;gap:16px;padding:22px;transition:box-shadow .2s,transform .2s;display:flex}.inventory-dashboard .inventory-stat-card:hover{box-shadow:var(--inv-shadow-md);transform:translateY(-2px)}.inventory-dashboard .inventory-stat-card>div:last-child{min-width:0}.inventory-dashboard .inventory-stat-card span{color:#64748b;margin-bottom:7px;font-size:12px;font-weight:500;line-height:1.5;display:block}.inventory-dashboard .inventory-stat-card strong{color:#111827;overflow-wrap:anywhere;font-size:clamp(24px,2.5vw,31px);font-weight:700;line-height:1.2;display:block}.inventory-dashboard .inventory-stat-icon{color:#2563eb;background:#eff6ff;border-radius:12px;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.inventory-dashboard .inventory-stat-icon.warning{color:#d97706;background:#fffbeb}.inventory-dashboard .inventory-stat-icon.danger{color:#dc2626;background:#fef2f2}.inventory-dashboard .inventory-monthly-summary{border:1px solid var(--inv-border);border-radius:var(--inv-radius-lg);box-shadow:var(--inv-shadow-sm);background:#fff;margin-bottom:24px;padding:22px}.inventory-dashboard .inventory-monthly-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.inventory-dashboard .inventory-monthly-heading h2{color:#1f2937;margin:0;font-size:17px;font-weight:700}.inventory-dashboard .inventory-monthly-heading p{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.6}.inventory-dashboard .inventory-month-filter{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inventory-dashboard .inventory-month-filter span{color:#64748b;font-size:12px;font-weight:600}.inventory-dashboard .inventory-month-filter input{border:1px solid var(--inv-border-strong);color:#374151;background:#fff;border-radius:8px;outline:none;min-width:165px;min-height:40px;padding:8px 11px;font-size:13px}.inventory-dashboard .inventory-month-filter input:focus{border-color:var(--inv-primary);box-shadow:0 0 0 3px #2563eb1a}.inventory-dashboard .inventory-movement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.inventory-dashboard .inventory-movement-card{border:1px solid var(--inv-border);background:#fafcff;border-radius:11px;align-items:flex-start;gap:15px;min-width:0;min-height:112px;padding:19px;display:flex}.inventory-dashboard .inventory-movement-card.usage{border-left:4px solid #3b82f6}.inventory-dashboard .inventory-movement-card.wastage{border-left:4px solid #f59e0b}.inventory-dashboard .inventory-movement-icon{color:#2563eb;background:#eff6ff;border-radius:10px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:21px;display:flex}.wastage .inventory-dashboard .inventory-movement-icon{color:#b45309;background:#fffbeb}.inventory-dashboard .inventory-movement-content{flex:1;min-width:0}.inventory-dashboard .inventory-movement-content>span{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.inventory-dashboard .inventory-movement-content>strong{color:#1f2937;overflow-wrap:anywhere;word-break:break-word;font-size:clamp(14px,1.5vw,18px);font-weight:700;line-height:1.6;display:block}.inventory-dashboard .inventory-table-card{border:1px solid var(--inv-border);border-radius:var(--inv-radius-lg);min-width:0;box-shadow:var(--inv-shadow-sm);background:#fff;overflow:hidden}.inventory-dashboard .inventory-card-header{background:#fff}.inventory-dashboard .inventory-dashboard-table-header{align-items:center}.inventory-dashboard .inventory-result-count{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;flex-shrink:0;padding:7px 11px;font-size:12px;font-weight:600}.inventory-dashboard .inventory-toolbar{align-items:center;padding:16px 20px}.inventory-dashboard .inventory-toolbar .inventory-search-box{flex:220px}.inventory-dashboard .inventory-toolbar>select{flex:0 auto;min-width:145px;max-width:220px}.inventory-dashboard .inventory-sort-direction{border:1px solid var(--inv-border-strong);color:#475569;cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-height:40px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.inventory-dashboard .inventory-sort-direction:hover{background:#f8fafc;border-color:#94a3b8}.inventory-dashboard .inventory-table-sort{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.inventory-dashboard .inventory-table-sort:hover{color:var(--inv-primary)}.inventory-dashboard .inventory-table-sort:focus-visible{outline:2px solid var(--inv-primary);outline-offset:3px}.inventory-dashboard .inventory-overview-table{min-width:1120px}.inventory-dashboard .inventory-overview-table th,.inventory-dashboard .inventory-overview-table td{padding:15px 14px}.inventory-dashboard .inventory-overview-table th{background:#f8fafc}.inventory-dashboard .inventory-overview-table td{white-space:nowrap}.inventory-dashboard .inventory-overview-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;min-width:150px;max-width:240px}.inventory-dashboard .inventory-overview-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;max-width:180px}.inventory-modal-overlay{z-index:2500;-webkit-backdrop-filter:blur(3px);background:#0f172a94;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0;overflow-y:auto}.inventory-modal{overscroll-behavior:contain;width:100%;max-width:570px;max-height:calc(100dvh - 44px);box-shadow:var(--inv-shadow-modal);background:#fff;border:1px solid #e2e8f0e6;border-radius:14px;animation:.18s ease-out inventory-modal-appear;overflow:hidden auto}.inventory-modal-header{border-bottom:1px solid var(--inv-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:23px 25px;display:flex}.inventory-modal-header>div{min-width:0}.inventory-modal-header h3{color:#111827;margin:0;font-size:19px;font-weight:700;line-height:1.4}.inventory-modal-header p{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.6}.inventory-modal-close{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;padding:0;font-size:19px;display:inline-flex}.inventory-modal-close:hover:not(:disabled){color:#1f2937;background:#f1f5f9;border-color:#cbd5e1}.inventory-modal-close:disabled{opacity:.5;cursor:not-allowed}.inventory-form{flex-direction:column;gap:18px;padding:24px 25px 25px;display:flex}.inventory-form>.inventory-alert{margin:0}.inventory-form-group{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.inventory-form-group label{color:#374151;font-size:12px;font-weight:700;line-height:1.5}.inventory-form-group>input,.inventory-form-group>select{border:1px solid var(--inv-border-strong);color:#1f2937;background:#fff;border-radius:8px;outline:none;width:100%;min-width:0;min-height:43px;padding:10px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.inventory-form-group>input::placeholder,.inventory-form-group>select::placeholder{color:#9ca3af}.inventory-form-group>input:focus,.inventory-form-group>select:focus{border-color:var(--inv-primary);box-shadow:0 0 0 3px #2563eb1a}.inventory-form-group>input:disabled,.inventory-form-group>select:disabled{cursor:not-allowed;background:#f8fafc}.inventory-form-group small{color:#64748b;font-size:11px;line-height:1.6}.inventory-required{color:#dc2626}.inventory-form-row{align-items:flex-start;gap:16px;display:flex}.inventory-form-row>.inventory-form-group{flex:1 1 0}.inventory-form-group .css-b62m3t-container,.inventory-form-group [class*=-container]{width:100%;min-width:0}.inventory-form-group [class*=-control]{border-radius:8px;min-height:43px;font-size:13px}.inventory-form-group [class*=-menu]{z-index:3000}.inventory-form-note{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;align-items:flex-start;gap:11px;padding:13px;font-size:11px;line-height:1.7;display:flex}.inventory-form-note svg{color:#64748b;flex-shrink:0;margin-top:2px;font-size:17px}.inventory-form-note span{min-width:0}.inventory-modal-actions{border-top:1px solid var(--inv-border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:18px;display:flex}.inventory-modal-actions .inventory-btn{min-width:105px}@keyframes inventory-modal-appear{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.inventory-spinning,.inventory-page .spin{animation:1s linear infinite inventory-spin}@keyframes inventory-spin{to{transform:rotate(360deg)}}@media (width<=1200px){.inventory-items-page,.inventory-page.inventory-dashboard{padding:20px}.inventory-items-toolbar,.inventory-dashboard .inventory-toolbar{gap:10px;padding:16px}.inventory-filter-group{flex:100%}.inventory-filter-group select{flex:150px;max-width:none}.inventory-clear-filters{align-self:flex-start}.inventory-dashboard .inventory-toolbar .inventory-search-box{flex-basis:100%}.inventory-dashboard .inventory-toolbar>select{flex:160px;max-width:none}}@media (width<=900px){.inventory-items-page,.inventory-page.inventory-dashboard{padding:18px}.inventory-page-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px}.inventory-page-actions,.inventory-dashboard .inventory-dashboard-actions{justify-content:flex-start;width:100%}.inventory-dashboard .inventory-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.inventory-dashboard .inventory-stat-card{min-height:100px;padding:17px}.inventory-dashboard .inventory-stat-card:last-child{grid-column:1/-1}.inventory-dashboard .inventory-movement-grid{gap:12px}.inventory-dashboard .inventory-monthly-summary{padding:18px}.inventory-items-page .inventory-card-header,.inventory-dashboard-table-header{padding:17px}.inventory-pagination{padding:15px 17px}}@media (width<=600px){.inventory-items-page,.inventory-page.inventory-dashboard{border-radius:9px;padding:12px}.inventory-page-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:17px}.inventory-page-title{align-items:flex-start;gap:11px}.inventory-page-icon{border-radius:10px;flex-basis:40px;width:40px;height:40px;font-size:20px}.inventory-page-header h1,.inventory-page-header h2{font-size:21px}.inventory-page-header p{font-size:12px}.inventory-page-actions,.inventory-dashboard .inventory-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.inventory-items-page .inventory-btn,.inventory-page.inventory-dashboard .inventory-btn,.inventory-refresh-btn,.inventory-export-btn{min-width:0;min-height:40px;padding:9px 10px;font-size:12px}.inventory-items-page .inventory-card,.inventory-dashboard .inventory-table-card,.inventory-dashboard .inventory-monthly-summary{border-radius:10px}.inventory-items-page .inventory-card-header,.inventory-dashboard-table-header{align-items:flex-start;padding:15px 13px}.inventory-items-page .inventory-card-header h3,.inventory-dashboard-table-header h2{font-size:14px}.inventory-items-page .inventory-card-header p,.inventory-dashboard-table-header p{font-size:11px}.inventory-items-toolbar,.inventory-dashboard .inventory-toolbar{gap:10px;padding:13px}.inventory-search-box{flex:100%;min-height:42px}.inventory-filter-group{grid-template-columns:minmax(0,1fr);gap:9px;width:100%;display:grid}.inventory-filter-group select{width:100%;max-width:none;min-height:41px}.inventory-clear-filters{width:100%}.inventory-dashboard .inventory-toolbar>select,.inventory-dashboard .inventory-toolbar .inventory-sort-direction{width:100%;max-width:none}.inventory-dashboard .inventory-stat-grid{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:17px}.inventory-dashboard .inventory-stat-card,.inventory-dashboard .inventory-stat-card:last-child{grid-column:auto;min-height:85px;padding:15px}.inventory-dashboard .inventory-stat-icon{flex-basis:44px;width:44px;height:44px;font-size:21px}.inventory-dashboard .inventory-stat-card strong{font-size:25px}.inventory-dashboard .inventory-monthly-summary{margin-bottom:17px;padding:15px}.inventory-dashboard .inventory-monthly-heading{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:15px}.inventory-dashboard .inventory-monthly-heading h2{font-size:15px}.inventory-dashboard .inventory-monthly-heading p{font-size:11px}.inventory-dashboard .inventory-month-filter{flex-direction:column;align-items:flex-start;gap:7px}.inventory-dashboard .inventory-month-filter input{width:100%}.inventory-dashboard .inventory-movement-grid{grid-template-columns:minmax(0,1fr);gap:10px}.inventory-dashboard .inventory-movement-card{min-height:95px;padding:14px}.inventory-dashboard .inventory-movement-icon{flex-basis:38px;width:38px;height:38px;font-size:19px}.inventory-dashboard .inventory-movement-content>strong{font-size:14px}.inventory-dashboard .inventory-result-count{padding:6px 8px;font-size:10px}.inventory-table{min-width:960px}.inventory-dashboard .inventory-overview-table{min-width:1080px}.inventory-table th{padding:12px 10px;font-size:10px}.inventory-table td{padding:12px 10px;font-size:11px}.inventory-pagination{flex-direction:column;align-items:flex-start;gap:12px;padding:13px}.inventory-pagination-info{font-size:11px}.inventory-pagination-controls{justify-content:space-between;gap:6px;width:100%;font-size:11px;display:flex}.inventory-pagination-controls button{min-width:30px;min-height:32px;padding:4px 7px}.inventory-pagination-controls select{max-width:125px}.inventory-page-size{justify-content:space-between;width:100%}.inventory-page-size select{max-width:100px}.inventory-modal-overlay{justify-content:center;align-items:flex-start;padding:10px}.inventory-modal{border-radius:11px;max-height:calc(100dvh - 20px)}.inventory-modal-header{padding:17px 15px}.inventory-modal-header h3{font-size:17px}.inventory-form{gap:15px;padding:17px 15px 18px}.inventory-form-row{flex-direction:column;gap:15px}.inventory-form-row>.inventory-form-group{width:100%}.inventory-modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:15px;display:grid}.inventory-modal-actions .inventory-btn{width:100%;min-width:0}.inventory-error-message,.inventory-warning-message{align-items:flex-start;font-size:12px}.inventory-state{min-height:230px;padding:28px 15px}}@media (width<=360px){.inventory-items-page,.inventory-page.inventory-dashboard{padding:9px}.inventory-page-header h1,.inventory-page-header h2{font-size:19px}.inventory-page-actions,.inventory-dashboard .inventory-dashboard-actions{grid-template-columns:minmax(0,1fr)}.inventory-dashboard .inventory-stat-card{gap:12px;padding:13px}.inventory-dashboard .inventory-stat-card strong{font-size:23px}.inventory-dashboard .inventory-monthly-summary{padding:12px}.inventory-pagination-controls{flex-wrap:wrap;justify-content:flex-start}.inventory-modal-overlay{padding:6px}.inventory-modal{max-height:calc(100dvh - 12px)}.inventory-modal-header,.inventory-form{padding-left:12px;padding-right:12px}.inventory-modal-actions{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.inventory-items-page *,.inventory-page.inventory-dashboard *,.inventory-modal{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.inventory-items-page .inventory-confirm-overlay{z-index:5100}.inventory-items-page .inventory-confirm-modal{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;width:min(460px,100vw - 32px);padding:30px;animation:.2s ease-out inventory-confirm-appear;box-shadow:0 24px 70px #0f172a38}.inventory-items-page .inventory-confirm-icon{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:28px;display:flex}.inventory-items-page .inventory-confirm-content h3{color:#111827;margin:0 0 12px;font-size:21px;font-weight:700;line-height:1.4}.inventory-items-page .inventory-confirm-content p{color:#4b5563;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.inventory-items-page .inventory-confirm-content strong{color:#111827;font-weight:700}.inventory-items-page .inventory-confirm-content .inventory-confirm-note{color:#6b7280;margin-top:10px;font-size:12px}.inventory-items-page .inventory-confirm-actions{justify-content:center;gap:12px;margin-top:26px;display:flex}.inventory-items-page .inventory-confirm-actions .inventory-btn{justify-content:center;min-height:42px}.inventory-items-page .inventory-confirm-actions .inventory-btn-danger{color:#fff;font:inherit;cursor:pointer;background:#dc2626;border:1px solid #dc2626;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.inventory-items-page .inventory-confirm-actions .inventory-btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.inventory-items-page .inventory-confirm-actions .inventory-btn-danger:active:not(:disabled){transform:translateY(1px)}.inventory-items-page .inventory-confirm-actions .inventory-btn-danger:focus-visible{outline-offset:2px;outline:3px solid #dc262640}.inventory-items-page .inventory-confirm-actions .inventory-btn-danger:disabled{opacity:.65;cursor:not-allowed}@keyframes inventory-confirm-appear{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.inventory-items-page .inventory-confirm-overlay{justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.inventory-items-page .inventory-confirm-modal{width:100%;max-width:460px;max-height:calc(100dvh - 32px);margin:auto;padding:24px 18px;overflow-y:auto}.inventory-items-page .inventory-confirm-actions{flex-direction:column-reverse}.inventory-items-page .inventory-confirm-actions .inventory-btn{width:100%}}@media (prefers-reduced-motion:reduce){.inventory-items-page .inventory-confirm-modal{animation:none}}.purchase-entry-page{--purchase-primary:#4f46e5;--purchase-primary-dark:#4338ca;--purchase-primary-light:#eef2ff;--purchase-success:#059669;--purchase-danger:#dc2626;--purchase-text:#1e293b;--purchase-muted:#64748b;--purchase-border:#e2e8f0;--purchase-surface:#fff;--purchase-background:#f8fafc;--purchase-radius:14px;width:100%;min-width:0;color:var(--purchase-text);background:var(--purchase-background);box-sizing:border-box;padding:24px}.purchase-entry-page *,.purchase-entry-page :before,.purchase-entry-page :after{box-sizing:border-box}.purchase-entry-page button,.purchase-entry-page input,.purchase-entry-page select{font:inherit}.purchase-entry-page button{-webkit-tap-highlight-color:transparent}.purchase-page-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.purchase-page-header h2{color:#0f172a;letter-spacing:-.7px;align-items:center;gap:12px;margin:0;font-size:clamp(22px,2vw,28px);font-weight:750;display:flex}.purchase-page-header h2 svg{color:var(--purchase-primary);flex-shrink:0;font-size:25px}.purchase-page-header p{color:var(--purchase-muted);margin:8px 0 0;font-size:14px;line-height:1.6}.purchase-form-card,.purchase-history-card{background:var(--purchase-surface);border:1px solid var(--purchase-border);border-radius:var(--purchase-radius);width:100%;min-width:0;margin-bottom:24px;padding:24px;overflow:visible;box-shadow:0 4px 18px #0f172a0a}.purchase-section-heading{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:18px;display:flex}.purchase-section-heading h3{color:#0f172a;margin:0;font-size:18px;font-weight:700}.purchase-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px;display:grid}.purchase-form-group{flex-direction:column;gap:9px;min-width:0;display:flex}.purchase-form-group>label{color:#334155;align-items:center;gap:7px;font-size:13px;font-weight:650;line-height:1.4;display:flex}.purchase-form-group>label svg{color:var(--purchase-primary)}.purchase-form-group>input,.purchase-form-group>select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;min-width:0;height:44px;padding:0 13px;transition:border-color .2s,box-shadow .2s,background .2s}.purchase-form-group>input:hover,.purchase-form-group>select:hover{border-color:#94a3b8}.purchase-form-group>input:focus,.purchase-form-group>select:focus{border-color:var(--purchase-primary);box-shadow:0 0 0 3px #4f46e51f}.purchase-form-group>input::placeholder,.purchase-form-group>select::placeholder{color:#94a3b8}.purchase-form-group>input:disabled,.purchase-form-group>select:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.purchase-form-group>input[type=date],.purchase-form-group>input[type=month],.purchase-form-group>select{cursor:pointer}.purchase-lines-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.purchase-lines-heading h4{color:#1e293b;margin:0;font-size:15px;font-weight:700}.purchase-add-line-btn,.purchase-submit-btn,.purchase-refresh-btn{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:650;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.purchase-add-line-btn:focus-visible,.purchase-submit-btn:focus-visible,.purchase-refresh-btn:focus-visible{outline-offset:2px;outline:3px solid #4f46e540}.purchase-add-line-btn:disabled,.purchase-submit-btn:disabled,.purchase-refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.purchase-add-line-btn svg,.purchase-submit-btn svg,.purchase-refresh-btn svg{flex-shrink:0;font-size:13px}.purchase-add-line-btn{color:var(--purchase-primary);background:var(--purchase-primary-light);border-color:#c7d2fe}.purchase-add-line-btn:hover:not(:disabled){color:#fff;background:var(--purchase-primary);border-color:var(--purchase-primary)}.purchase-lines{flex-direction:column;gap:12px;display:flex}.purchase-line{background:#f8fafc;border:1px solid #e8edf4;border-radius:12px;grid-template-columns:minmax(200px,2.1fr) minmax(100px,.8fr) minmax(115px,.9fr) minmax(125px,.9fr) 38px;align-items:end;gap:14px;padding:17px;transition:border-color .2s,box-shadow .2s;display:grid}.purchase-line:hover{border-color:#c7d2fe;box-shadow:0 3px 12px #0f172a08}.purchase-line .purchase-form-group>input{height:42px}.purchase-item-select .react-select__control{min-height:44px}.purchase-line .css-b62m3t-container,.purchase-line .css-13cymwt-control,.purchase-line .css-t3ipsp-control,.purchase-line .react-select-container{width:100%}.purchase-line .css-13cymwt-control,.purchase-line .css-t3ipsp-control{min-height:44px;box-shadow:none;cursor:pointer;border-color:#cbd5e1;border-radius:9px;transition:border-color .2s,box-shadow .2s}.purchase-line .css-13cymwt-control:hover,.purchase-line .css-t3ipsp-control:hover{border-color:#94a3b8}.purchase-line .css-t3ipsp-control{border-color:var(--purchase-primary);box-shadow:0 0 0 3px #4f46e51f}.purchase-line .css-1dimb5e-singleValue,.purchase-line .css-19bb58m{color:#1e293b;font-size:13px}.purchase-line .css-1jqq78o-placeholder,.purchase-line .css-1wa3eu0-placeholder{color:#94a3b8;font-size:13px}.purchase-line .css-1nmdiq5-menu,.purchase-line .css-1n6sfyn-MenuList{z-index:20}.purchase-line-total{flex-direction:column;justify-content:center;gap:9px;min-width:0;min-height:44px;display:flex}.purchase-line-total>label{color:#64748b;font-size:12px;font-weight:650}.purchase-line-total>strong{color:#047857;white-space:nowrap;text-overflow:ellipsis;background:#ecfdf5;border:1px solid #d1fae5;border-radius:9px;align-items:center;min-height:42px;padding:0 12px;font-size:13px;font-weight:750;display:flex;overflow:hidden}.purchase-remove-line-btn{color:#dc2626;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;justify-content:center;align-items:center;width:38px;height:42px;margin-bottom:1px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.purchase-remove-line-btn svg{font-size:13px}.purchase-remove-line-btn:hover{color:#fff;background:#dc2626;border-color:#dc2626}.purchase-remove-line-btn:focus-visible{outline-offset:2px;outline:3px solid #dc262633}.purchase-form-footer{border-top:1px solid #edf0f5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding-top:22px;display:flex}.purchase-current-total{flex-direction:column;gap:5px;display:flex}.purchase-current-total>span{color:var(--purchase-muted);font-size:13px;font-weight:600}.purchase-current-total>strong{color:#047857;letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:800}.purchase-submit-btn{color:#fff;background:var(--purchase-primary);min-width:160px;min-height:46px;padding:12px 22px;box-shadow:0 4px 10px #4f46e52b}.purchase-submit-btn:hover:not(:disabled){background:var(--purchase-primary-dark);transform:translateY(-1px);box-shadow:0 6px 15px #4f46e53b}.purchase-submit-btn:active:not(:disabled){transform:translateY(0)}.purchase-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin:18px 0 0;padding:12px 14px;font-size:13px;line-height:1.6}.purchase-history-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.purchase-history-header h3{color:#0f172a;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:750;display:flex}.purchase-history-header h3 svg{color:var(--purchase-primary);font-size:19px}.purchase-history-header p{color:var(--purchase-muted);margin:7px 0 0;font-size:13px;line-height:1.5}.purchase-refresh-btn{color:#334155;background:#fff;border-color:#cbd5e1;flex-shrink:0}.purchase-refresh-btn:hover:not(:disabled){color:var(--purchase-primary);background:var(--purchase-primary-light);border-color:#c7d2fe}.purchase-spinning{animation:1s linear infinite purchase-spin}@keyframes purchase-spin{to{transform:rotate(360deg)}}.purchase-history-filters{background:#f8fafc;border:1px solid #edf0f5;border-radius:12px;grid-template-columns:minmax(180px,1.2fr) minmax(145px,.8fr) minmax(125px,.8fr) minmax(150px,.9fr);align-items:end;gap:16px;margin-bottom:20px;padding:18px;display:grid}.purchase-history-filters .purchase-form-group>input,.purchase-history-filters .purchase-form-group>select{background-color:#fff;height:42px}.purchase-history-summary{border:1px solid var(--purchase-border);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;gap:7px;min-width:0;min-height:74px;padding:12px 14px;display:flex}.purchase-history-summary>span{color:var(--purchase-muted);font-size:12px;font-weight:600}.purchase-history-summary>strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:19px;font-weight:800;overflow:hidden}.purchase-history-summary:last-child>strong{color:#047857}.purchase-history-table-wrapper{border:1px solid var(--purchase-border);scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;border-radius:11px;width:100%;overflow-x:auto}.purchase-history-table-wrapper::-webkit-scrollbar{height:7px}.purchase-history-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.purchase-history-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.purchase-history-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.purchase-history-table{border-collapse:separate;border-spacing:0;text-align:left;background:#fff;width:100%;min-width:850px}.purchase-history-table thead{background:#f1f5f9}.purchase-history-table thead th{color:#475569;border-bottom:1px solid var(--purchase-border);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;padding:15px 16px;font-size:11px;font-weight:750}.purchase-history-table thead th:first-child{border-top-left-radius:10px}.purchase-history-table thead th:last-child{text-align:right;border-top-right-radius:10px}.purchase-history-table tbody tr{transition:background .15s}.purchase-history-table tbody tr:hover:not(:has(.purchase-empty-state)){background:#f8faff}.purchase-history-table tbody tr:last-child td{border-bottom:none}.purchase-history-table tbody td{color:#334155;vertical-align:top;border-bottom:1px solid #edf0f5;padding:16px;font-size:13px;line-height:1.55}.purchase-history-table tbody td:first-child{color:#475569;white-space:nowrap;font-weight:650}.purchase-history-table tbody td:nth-child(2){overflow-wrap:anywhere;min-width:130px;font-weight:600}.purchase-history-table tbody td:nth-child(3){color:#64748b;overflow-wrap:anywhere}.purchase-history-items{flex-direction:column;gap:10px;min-width:180px;display:flex}.purchase-history-item{border-left:2px solid #c7d2fe;flex-direction:column;gap:3px;padding-left:10px;display:flex}.purchase-history-item>span{color:#334155;overflow-wrap:anywhere;font-size:13px;font-weight:650}.purchase-history-item>small{color:#64748b;font-size:11px;line-height:1.5}.purchase-history-table .purchase-amount-cell{color:#047857;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.purchase-history-table .purchase-table-message{height:180px;color:var(--purchase-muted);text-align:center;vertical-align:middle;padding:28px 20px}.purchase-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:10px;max-width:430px;margin:0 auto;display:flex}.purchase-empty-state>svg{color:#94a3b8;margin-bottom:4px;font-size:30px}.purchase-empty-state>strong{color:#334155;font-size:15px;font-weight:750}.purchase-empty-state>span{color:#64748b;font-size:13px;line-height:1.7}.purchase-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.purchase-pagination-info{color:var(--purchase-muted);font-size:12px;font-weight:550}.purchase-pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.purchase-pagination-controls>span{color:#334155;white-space:nowrap;font-size:12px;font-weight:700}.purchase-pagination-controls>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:8px 12px;font-size:12px;font-weight:650;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.purchase-pagination-controls>button:hover:not(:disabled){color:var(--purchase-primary);background:var(--purchase-primary-light);border-color:#c7d2fe}.purchase-pagination-controls>button:disabled{color:#a1a1aa;cursor:not-allowed;opacity:.75;background:#f8fafc;border-color:#e5e7eb}.purchase-pagination-controls>button:focus-visible{outline-offset:2px;outline:3px solid #4f46e533}@media (width<=1100px){.purchase-entry-page,.purchase-form-card,.purchase-history-card{padding:20px}.purchase-line{grid-template-columns:minmax(170px,1.6fr) minmax(90px,.8fr) minmax(105px,.9fr) minmax(115px,.9fr) 36px;gap:10px;padding:14px}.purchase-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.purchase-entry-page{padding:16px}.purchase-page-header{margin-bottom:18px}.purchase-page-header h2{font-size:23px}.purchase-form-card,.purchase-history-card{border-radius:12px;margin-bottom:18px;padding:18px}.purchase-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.purchase-line{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:15px}.purchase-line .purchase-item-select{grid-column:1/-1}.purchase-line .purchase-line-total{grid-column:1}.purchase-line .purchase-remove-line-btn{grid-column:2;justify-self:end;width:42px}.purchase-history-header{align-items:flex-start}.purchase-history-header h3{font-size:17px}.purchase-history-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.purchase-history-summary{min-height:70px}}@media (width<=480px){.purchase-entry-page{padding:12px}.purchase-page-header{align-items:flex-start}.purchase-page-header h2{gap:9px;font-size:21px}.purchase-page-header h2 svg{font-size:22px}.purchase-page-header p{font-size:12px}.purchase-form-card,.purchase-history-card{border-radius:11px;padding:14px}.purchase-section-heading{margin-bottom:18px;padding-bottom:14px}.purchase-section-heading h3{font-size:16px}.purchase-form-grid{grid-template-columns:minmax(0,1fr);gap:15px}.purchase-form-group{gap:7px}.purchase-form-group>label{font-size:12px}.purchase-lines-heading{align-items:center}.purchase-lines-heading h4{font-size:14px}.purchase-add-line-btn{min-height:38px;padding:8px 11px;font-size:12px}.purchase-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px}.purchase-line .purchase-item-select{grid-column:1/-1}.purchase-form-footer{flex-direction:column;align-items:stretch;gap:16px}.purchase-current-total>strong{font-size:23px}.purchase-submit-btn{width:100%}.purchase-history-header{flex-direction:column;align-items:flex-start;gap:14px}.purchase-history-header .purchase-refresh-btn{align-self:flex-start}.purchase-history-filters{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px}.purchase-history-summary{min-height:64px}.purchase-pagination{flex-direction:column;align-items:flex-start;gap:13px}.purchase-pagination-controls{justify-content:space-between;gap:7px;width:100%}.purchase-pagination-controls>button{padding:8px 9px}.purchase-history-table{min-width:760px}}@media (prefers-reduced-motion:reduce){.purchase-entry-page *,.purchase-entry-page :before,.purchase-entry-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.stock-usage-page{--usage-primary:#4f46e5;--usage-primary-dark:#4338ca;--usage-primary-light:#eef2ff;--usage-success:#047857;--usage-text:#1e293b;--usage-muted:#64748b;--usage-border:#e2e8f0;--usage-background:#f8fafc;--usage-danger:#dc2626;width:100%;min-width:0;color:var(--usage-text);background:var(--usage-background);box-sizing:border-box;padding:24px}.stock-usage-page *,.stock-usage-page :before,.stock-usage-page :after{box-sizing:border-box}.stock-usage-page button,.stock-usage-page input,.stock-usage-page select,.stock-usage-page textarea{font:inherit}.stock-usage-page button{-webkit-tap-highlight-color:transparent}.stock-usage-header{align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.stock-usage-back-button{color:#475569;border:1px solid var(--usage-border);cursor:pointer;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;font-size:13px;font-weight:650;transition:all .2s;display:inline-flex}.stock-usage-back-button svg{font-size:17px}.stock-usage-back-button:hover{color:var(--usage-primary);background:var(--usage-primary-light);border-color:#c7d2fe}.stock-usage-back-button:focus-visible{outline-offset:2px;outline:3px solid #4f46e533}.stock-usage-heading{min-width:0}.stock-usage-heading h1{color:#0f172a;letter-spacing:-.7px;align-items:center;gap:10px;margin:5px 0 8px;font-size:clamp(23px,2vw,29px);font-weight:800;display:flex}.stock-usage-heading h1 svg{color:var(--usage-primary);flex-shrink:0;font-size:25px}.stock-usage-heading p{color:var(--usage-muted);margin:0;font-size:13px;line-height:1.7}.stock-usage-eyebrow{color:var(--usage-primary);letter-spacing:1.4px;font-size:10px;font-weight:800}.stock-usage-form-card,.stock-usage-history-card{border:1px solid var(--usage-border);background:#fff;border-radius:14px;width:100%;min-width:0;margin-bottom:24px;padding:24px;box-shadow:0 4px 18px #0f172a0a}.stock-usage-section-heading,.stock-usage-history-title{align-items:center;gap:13px;min-width:0;display:flex}.stock-usage-section-heading{border-bottom:1px solid #edf0f5;margin-bottom:22px;padding-bottom:20px}.stock-usage-section-icon{width:43px;height:43px;color:var(--usage-primary);background:var(--usage-primary-light);border:1px solid #e0e7ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stock-usage-section-icon svg{font-size:20px}.stock-usage-section-heading h2,.stock-usage-history-title h2{color:#0f172a;letter-spacing:-.3px;margin:0;font-size:18px;font-weight:750}.stock-usage-section-heading p,.stock-usage-history-title p{color:var(--usage-muted);margin:6px 0 0;font-size:12px;line-height:1.6}.stock-usage-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.stock-usage-field{flex-direction:column;gap:9px;min-width:0;display:flex}.stock-usage-field>label{color:#334155;align-items:center;gap:7px;font-size:12px;font-weight:700;line-height:1.5;display:flex}.stock-usage-field>label svg{color:var(--usage-primary);font-size:14px}.stock-usage-field>input,.stock-usage-field>select,.stock-usage-field>textarea{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;min-width:0;padding:11px 13px;font-size:13px;transition:border-color .2s,box-shadow .2s}.stock-usage-field>input:hover,.stock-usage-field>select:hover,.stock-usage-field>textarea:hover{border-color:#94a3b8}.stock-usage-field>input:focus,.stock-usage-field>select:focus,.stock-usage-field>textarea:focus{border-color:var(--usage-primary);box-shadow:0 0 0 3px #4f46e51f}.stock-usage-field>input::placeholder,.stock-usage-field>select::placeholder,.stock-usage-field>textarea::placeholder{color:#94a3b8}.stock-usage-field>input:disabled,.stock-usage-field>select:disabled,.stock-usage-field>textarea:disabled{cursor:not-allowed;background:#f1f5f9}.stock-usage-field>input,.stock-usage-field>select{height:44px}.stock-usage-field>input[type=date],.stock-usage-field>input[type=month],.stock-usage-field>select{cursor:pointer}.stock-usage-field>textarea{resize:vertical;min-height:92px;line-height:1.6}.stock-usage-field-full{grid-column:1/-1}.stock-usage-character-count{color:#94a3b8;align-self:flex-end;margin-top:-4px;font-size:11px}.stock-usage-page .stock-usage-select__control{min-height:44px;box-shadow:none;cursor:pointer;border:1px solid #cbd5e1;border-radius:9px;transition:border-color .2s,box-shadow .2s}.stock-usage-page .stock-usage-select__control:hover{border-color:#94a3b8}.stock-usage-page .stock-usage-select__control--is-focused{border-color:var(--usage-primary);box-shadow:0 0 0 3px #4f46e51f}.stock-usage-page .stock-usage-select__control--is-disabled{cursor:not-allowed;background:#f1f5f9}.stock-usage-page .stock-usage-select__value-container{padding:2px 12px}.stock-usage-page .stock-usage-select__single-value{color:#1e293b;font-size:13px}.stock-usage-page .stock-usage-select__placeholder{color:#94a3b8;font-size:13px}.stock-usage-page .stock-usage-select__input-container{color:#1e293b;font-size:13px}.stock-usage-page .stock-usage-select__indicator{color:#64748b;padding:7px}.stock-usage-page .stock-usage-select__indicator:hover{color:var(--usage-primary)}.stock-usage-page .stock-usage-select__menu{z-index:50;border:1px solid var(--usage-border);background:#fff;border-radius:10px;margin-top:5px;overflow:hidden;box-shadow:0 12px 28px #0f172a1f}.stock-usage-page .stock-usage-select__option{color:#334155;cursor:pointer;padding:11px 13px;font-size:13px}.stock-usage-page .stock-usage-select__option--is-focused{background:#f1f5ff}.stock-usage-page .stock-usage-select__option--is-selected{color:#fff;background:var(--usage-primary)}.stock-usage-page .stock-usage-select__menu-notice{color:var(--usage-muted);padding:14px;font-size:12px}.stock-usage-available{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:11px;align-items:center;gap:13px;margin-top:23px;padding:15px 17px;display:flex}.stock-usage-available-icon{width:39px;height:39px;color:var(--usage-success);background:#dcfce7;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stock-usage-available-icon svg{font-size:19px}.stock-usage-available-details{flex-direction:column;gap:4px;display:flex}.stock-usage-available-details>span{color:#166534;font-size:11px;font-weight:650}.stock-usage-available-details>strong{color:#047857;font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.stock-usage-form-actions{border-top:1px solid #edf0f5;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px;padding-top:22px;display:flex}.stock-usage-cancel-button,.stock-usage-submit-button,.stock-usage-refresh-button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 17px;font-size:12px;font-weight:700;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.stock-usage-cancel-button svg,.stock-usage-submit-button svg,.stock-usage-refresh-button svg{flex-shrink:0;font-size:15px}.stock-usage-cancel-button:disabled,.stock-usage-submit-button:disabled,.stock-usage-refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.stock-usage-cancel-button:focus-visible,.stock-usage-submit-button:focus-visible,.stock-usage-refresh-button:focus-visible{outline-offset:2px;outline:3px solid #4f46e533}.stock-usage-cancel-button{color:#475569;background:#fff;border-color:#cbd5e1}.stock-usage-cancel-button:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.stock-usage-submit-button{color:#fff;background:var(--usage-primary);min-width:150px;box-shadow:0 4px 10px #4f46e529}.stock-usage-submit-button:hover:not(:disabled){background:var(--usage-primary-dark);transform:translateY(-1px);box-shadow:0 6px 15px #4f46e538}.stock-usage-submit-button:active:not(:disabled){transform:translateY(0)}.stock-usage-spin{animation:1s linear infinite stock-usage-spin}@keyframes stock-usage-spin{to{transform:rotate(360deg)}}.stock-usage-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.stock-usage-history-title .stock-usage-section-icon{width:42px;height:42px}.stock-usage-refresh-button{color:#334155;background:#fff;border-color:#cbd5e1;flex-shrink:0}.stock-usage-refresh-button:hover:not(:disabled){color:var(--usage-primary);background:var(--usage-primary-light);border-color:#c7d2fe}.stock-usage-filters{background:#f8fafc;border:1px solid #edf0f5;border-radius:12px;grid-template-columns:minmax(180px,1.1fr) minmax(155px,.9fr) minmax(130px,.7fr);align-items:end;gap:16px;margin-bottom:20px;padding:18px;display:grid}.stock-usage-month-field>input,.stock-usage-page-size-field>select{height:43px}.stock-usage-stat{border:1px solid var(--usage-border);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;gap:7px;min-height:72px;padding:12px 15px;display:flex}.stock-usage-stat>span{color:var(--usage-muted);font-size:11px;font-weight:650}.stock-usage-stat>strong{color:var(--usage-primary);font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.stock-usage-table-wrapper{border:1px solid var(--usage-border);scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;border-radius:11px;width:100%;overflow-x:auto}.stock-usage-table-wrapper::-webkit-scrollbar{height:7px}.stock-usage-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9}.stock-usage-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.stock-usage-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.stock-usage-table{border-collapse:separate;border-spacing:0;text-align:left;background:#fff;width:100%;min-width:690px}.stock-usage-table thead{background:#f1f5f9}.stock-usage-table thead th{color:#475569;border-bottom:1px solid var(--usage-border);letter-spacing:.7px;text-transform:uppercase;white-space:nowrap;padding:15px 17px;font-size:10px;font-weight:800}.stock-usage-table thead th:first-child{border-top-left-radius:10px}.stock-usage-table thead th:last-child{border-top-right-radius:10px}.stock-usage-table tbody tr{transition:background .15s}.stock-usage-table tbody tr:hover{background:#f8faff}.stock-usage-table tbody tr:last-child td{border-bottom:none}.stock-usage-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #edf0f5;padding:16px 17px;font-size:12px;line-height:1.6}.stock-usage-date-cell{white-space:nowrap;font-weight:650;color:#475569!important}.stock-usage-item-cell{align-items:center;gap:10px;min-width:150px;display:flex}.stock-usage-item-cell>span:last-child{color:#1e293b;overflow-wrap:anywhere;font-size:12px;font-weight:700}.stock-usage-item-icon{width:33px;height:33px;color:var(--usage-primary);background:var(--usage-primary-light);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stock-usage-item-icon svg{font-size:16px}.stock-usage-quantity{color:#047857;white-space:nowrap;font-variant-numeric:tabular-nums;background:#ecfdf5;border:1px solid #d1fae5;border-radius:7px;align-items:center;padding:6px 10px;font-size:12px;font-weight:750;display:inline-flex}.stock-usage-remarks-cell{overflow-wrap:anywhere;min-width:170px;max-width:320px;color:#64748b!important}.stock-usage-table .stock-usage-table-message{text-align:center;vertical-align:middle;height:185px;padding:25px}.stock-usage-empty-state,.stock-usage-loading-state{flex-direction:column;justify-content:center;align-items:center;gap:11px;max-width:440px;margin:0 auto;display:flex}.stock-usage-empty-icon{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.stock-usage-empty-icon svg{font-size:25px}.stock-usage-empty-state>strong{color:#334155;font-size:14px;font-weight:750}.stock-usage-empty-state>span{color:var(--usage-muted);font-size:12px;line-height:1.8}.stock-usage-loading-state{color:var(--usage-muted);flex-direction:row;font-size:12px}.stock-usage-loading-state svg{color:var(--usage-primary);font-size:17px}.stock-usage-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding-top:20px;display:flex}.stock-usage-pagination-info{color:var(--usage-muted);font-size:12px;font-weight:550}.stock-usage-pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:11px;display:flex}.stock-usage-pagination-controls>span{color:#334155;white-space:nowrap;font-size:12px;font-weight:700}.stock-usage-pagination-controls>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:8px 12px;font-size:12px;font-weight:650;transition:all .2s;display:inline-flex}.stock-usage-pagination-controls>button svg{font-size:15px}.stock-usage-pagination-controls>button:hover:not(:disabled){color:var(--usage-primary);background:var(--usage-primary-light);border-color:#c7d2fe}.stock-usage-pagination-controls>button:disabled{color:#a1a1aa;cursor:not-allowed;opacity:.75;background:#f8fafc;border-color:#e5e7eb}.stock-usage-pagination-controls>button:focus-visible{outline-offset:2px;outline:3px solid #4f46e533}@media (width<=1000px){.stock-usage-page,.stock-usage-form-card,.stock-usage-history-card{padding:20px}.stock-usage-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stock-usage-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.stock-usage-page{padding:13px}.stock-usage-header{flex-direction:column;gap:14px;margin-bottom:18px}.stock-usage-heading h1{font-size:23px}.stock-usage-form-card,.stock-usage-history-card{border-radius:11px;margin-bottom:17px;padding:15px}.stock-usage-section-heading{align-items:flex-start;gap:10px;margin-bottom:18px;padding-bottom:16px}.stock-usage-section-heading h2,.stock-usage-history-title h2{font-size:16px}.stock-usage-section-icon{width:38px;height:38px}.stock-usage-form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.stock-usage-field-full{grid-column:auto}.stock-usage-form-actions{flex-direction:column-reverse;align-items:stretch}.stock-usage-cancel-button,.stock-usage-submit-button{width:100%}.stock-usage-history-header{flex-direction:column;align-items:flex-start;gap:14px}.stock-usage-history-title{align-items:flex-start}.stock-usage-filters{grid-template-columns:minmax(0,1fr);gap:14px;padding:13px}.stock-usage-stat{min-height:65px}.stock-usage-pagination{flex-direction:column;align-items:flex-start;gap:13px}.stock-usage-pagination-controls{justify-content:space-between;gap:7px;width:100%}.stock-usage-pagination-controls>button{padding:8px 9px}.stock-usage-table{min-width:650px}}@media (prefers-reduced-motion:reduce){.stock-usage-page *,.stock-usage-page :before,.stock-usage-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.stock-wastage-page{--wastage-primary:#2563eb;--wastage-primary-dark:#1d4ed8;--wastage-text:#172033;--wastage-muted:#667085;--wastage-border:#e4e7ec;--wastage-surface:#fff;--wastage-background:#f7f9fc;--wastage-danger:#dc2626;width:100%;min-width:0;color:var(--wastage-text);background:var(--wastage-background);border-radius:12px;padding:24px}.stock-wastage-page *{box-sizing:border-box}.stock-wastage-page button,.stock-wastage-page input,.stock-wastage-page textarea,.stock-wastage-page select{font:inherit}.stock-wastage-page button{-webkit-tap-highlight-color:transparent}.stock-wastage-page .stock-wastage-header{align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.stock-wastage-page .stock-wastage-back-button{color:#344054;border:1px solid var(--wastage-border);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;transition:background .2s,border-color .2s;display:inline-flex}.stock-wastage-page .stock-wastage-back-button svg{width:17px;height:17px}.stock-wastage-page .stock-wastage-back-button:hover{background:#f2f4f7;border-color:#cbd5e1}.stock-wastage-page .stock-wastage-heading{min-width:0}.stock-wastage-page .stock-wastage-heading h1{color:var(--wastage-text);letter-spacing:-.7px;margin:5px 0 7px;font-size:clamp(24px,2.4vw,30px);font-weight:750;line-height:1.25}.stock-wastage-page .stock-wastage-heading p{color:var(--wastage-muted);margin:0;font-size:14px;line-height:1.6}.stock-wastage-page .stock-wastage-eyebrow{color:var(--wastage-primary);letter-spacing:1.4px;font-size:11px;font-weight:800}.stock-wastage-page .stock-wastage-form-card,.stock-wastage-page .stock-wastage-history-card{background:var(--wastage-surface);border:1px solid var(--wastage-border);border-radius:14px;min-width:0;padding:24px;box-shadow:0 3px 12px #1018280a}.stock-wastage-page .stock-wastage-form-card{margin-bottom:24px}.stock-wastage-page .stock-wastage-section-heading{align-items:center;gap:13px;min-width:0;display:flex}.stock-wastage-page .stock-wastage-section-heading h2{color:var(--wastage-text);margin:0 0 5px;font-size:18px;font-weight:750;line-height:1.35}.stock-wastage-page .stock-wastage-section-heading p{color:var(--wastage-muted);margin:0;font-size:13px;line-height:1.5}.stock-wastage-page .stock-wastage-section-icon{width:43px;height:43px;color:var(--wastage-primary);background:#eff6ff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stock-wastage-page .stock-wastage-section-icon svg{width:21px;height:21px}.stock-wastage-page .stock-wastage-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin-top:27px;display:grid}.stock-wastage-page .stock-wastage-field{flex-direction:column;gap:8px;min-width:0;display:flex}.stock-wastage-page .stock-wastage-field>label{color:#344054;font-size:13px;font-weight:650}.stock-wastage-page .stock-wastage-field>input,.stock-wastage-page .stock-wastage-field>textarea,.stock-wastage-page .stock-wastage-field>select{width:100%;min-height:44px;color:var(--wastage-text);background:#fff;border:1px solid #d0d5dd;border-radius:8px;outline:none;padding:11px 12px;transition:border-color .2s,box-shadow .2s}.stock-wastage-page .stock-wastage-field>input:focus,.stock-wastage-page .stock-wastage-field>textarea:focus,.stock-wastage-page .stock-wastage-field>select:focus{border-color:var(--wastage-primary);box-shadow:0 0 0 3px #2563eb1a}.stock-wastage-page .stock-wastage-field>input:disabled,.stock-wastage-page .stock-wastage-field>textarea:disabled,.stock-wastage-page .stock-wastage-field>select:disabled{color:#98a2b3;cursor:not-allowed;background:#f2f4f7}.stock-wastage-page .stock-wastage-field>input::placeholder,.stock-wastage-page .stock-wastage-field>textarea::placeholder,.stock-wastage-page .stock-wastage-field>select::placeholder{color:#98a2b3}.stock-wastage-page .stock-wastage-field>textarea{resize:vertical;min-height:110px;line-height:1.55}.stock-wastage-page .stock-wastage-field-full{grid-column:1/-1}.stock-wastage-page .stock-wastage-character-count{color:#98a2b3;align-self:flex-end;font-size:11px}.stock-wastage-page .stock-wastage-select{width:100%}.stock-wastage-page .stock-wastage-select .stock-wastage-select__control{min-height:44px;box-shadow:none;cursor:pointer;border-color:#d0d5dd;border-radius:8px}.stock-wastage-page .stock-wastage-select .stock-wastage-select__control:hover{border-color:#98a2b3}.stock-wastage-page .stock-wastage-select .stock-wastage-select__control--is-focused{border-color:var(--wastage-primary);box-shadow:0 0 0 3px #2563eb1a}.stock-wastage-page .stock-wastage-select .stock-wastage-select__control--is-disabled{cursor:not-allowed;background:#f2f4f7}.stock-wastage-page .stock-wastage-select .stock-wastage-select__value-container{padding:3px 12px}.stock-wastage-page .stock-wastage-select .stock-wastage-select__single-value{color:var(--wastage-text);font-size:13px}.stock-wastage-page .stock-wastage-select .stock-wastage-select__placeholder{color:#98a2b3;font-size:13px}.stock-wastage-page .stock-wastage-select .stock-wastage-select__menu{z-index:30;border:1px solid var(--wastage-border);border-radius:9px;overflow:hidden;box-shadow:0 10px 25px #1018281f}.stock-wastage-page .stock-wastage-select .stock-wastage-select__option{cursor:pointer;padding:11px 13px;font-size:13px}.stock-wastage-page .stock-wastage-select .stock-wastage-select__option--is-focused{background:#eff6ff}.stock-wastage-page .stock-wastage-select .stock-wastage-select__option--is-selected{color:#fff;background:var(--wastage-primary)}.stock-wastage-page .stock-wastage-available-box{background:#f0f7ff;border:1px solid #dbeafe;border-radius:10px;align-items:center;gap:13px;margin-top:22px;padding:14px 16px;display:flex}.stock-wastage-page .stock-wastage-available-box>div:last-child{flex-direction:column;gap:4px;display:flex}.stock-wastage-page .stock-wastage-available-box span{color:#475467;font-size:12px}.stock-wastage-page .stock-wastage-available-box strong{color:#1d4ed8;font-size:15px;font-weight:750}.stock-wastage-page .stock-wastage-available-icon{width:38px;height:38px;color:var(--wastage-primary);background:#dbeafe;border-radius:9px;justify-content:center;align-items:center;display:flex}.stock-wastage-page .stock-wastage-available-icon svg{width:19px;height:19px}.stock-wastage-page .stock-wastage-form-actions{border-top:1px solid #eaecf0;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:26px;padding-top:20px;display:flex}.stock-wastage-page .stock-wastage-primary-button,.stock-wastage-page .stock-wastage-secondary-button,.stock-wastage-page .stock-wastage-refresh-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.stock-wastage-page .stock-wastage-primary-button svg,.stock-wastage-page .stock-wastage-secondary-button svg,.stock-wastage-page .stock-wastage-refresh-button svg{width:16px;height:16px}.stock-wastage-page .stock-wastage-primary-button:disabled,.stock-wastage-page .stock-wastage-secondary-button:disabled,.stock-wastage-page .stock-wastage-refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.stock-wastage-page .stock-wastage-primary-button{color:#fff;background:var(--wastage-primary);border:1px solid var(--wastage-primary)}.stock-wastage-page .stock-wastage-primary-button:hover:not(:disabled){background:var(--wastage-primary-dark);border-color:var(--wastage-primary-dark)}.stock-wastage-page .stock-wastage-secondary-button,.stock-wastage-page .stock-wastage-refresh-button{color:#344054;background:#fff;border:1px solid #d0d5dd}.stock-wastage-page .stock-wastage-secondary-button:hover:not(:disabled),.stock-wastage-page .stock-wastage-refresh-button:hover:not(:disabled){background:#f9fafb;border-color:#98a2b3}.stock-wastage-page .stock-wastage-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.stock-wastage-page .stock-wastage-refresh-button{flex-shrink:0}.stock-wastage-page .stock-wastage-history-filters{background:#f9fafb;border:1px solid #eaecf0;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:20px;padding:17px;display:flex}.stock-wastage-page .stock-wastage-filter-field{flex-direction:column;gap:8px;min-width:180px;display:flex}.stock-wastage-page .stock-wastage-filter-field label{color:#475467;align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex}.stock-wastage-page .stock-wastage-filter-field label svg{width:14px;height:14px}.stock-wastage-page .stock-wastage-filter-field input,.stock-wastage-page .stock-wastage-filter-field select{min-height:39px;color:var(--wastage-text);background:#fff;border:1px solid #d0d5dd;border-radius:7px;outline:none;padding:8px 10px}.stock-wastage-page .stock-wastage-filter-field input:focus,.stock-wastage-page .stock-wastage-filter-field select:focus{border-color:var(--wastage-primary);box-shadow:0 0 0 3px #2563eb1a}.stock-wastage-page .stock-wastage-record-count{flex-direction:column;gap:4px;min-width:110px;margin-left:auto;padding:0 4px 3px;display:flex}.stock-wastage-page .stock-wastage-record-count span{color:var(--wastage-muted);font-size:11px}.stock-wastage-page .stock-wastage-record-count strong{color:var(--wastage-primary);font-size:22px;line-height:1.2}.stock-wastage-page .stock-wastage-table-wrapper{border:1px solid var(--wastage-border);scrollbar-width:thin;border-radius:10px;width:100%;overflow-x:auto}.stock-wastage-page .stock-wastage-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:690px}.stock-wastage-page .stock-wastage-table th{color:#475467;border-bottom:1px solid var(--wastage-border);letter-spacing:.45px;text-transform:uppercase;white-space:nowrap;background:#f9fafb;padding:14px 16px;font-size:11px;font-weight:750}.stock-wastage-page .stock-wastage-table td{color:#344054;vertical-align:middle;border-bottom:1px solid #eaecf0;padding:15px 16px;font-size:13px}.stock-wastage-page .stock-wastage-table tbody tr:last-child td{border-bottom:none}.stock-wastage-page .stock-wastage-table tbody tr:hover:not(:has(.stock-wastage-empty-state,.stock-wastage-table-message)){background:#fafcff}.stock-wastage-page .stock-wastage-date{color:#475467;white-space:nowrap;font-weight:600}.stock-wastage-page .stock-wastage-item-cell{align-items:center;gap:10px;min-width:160px;font-weight:650;display:flex}.stock-wastage-page .stock-wastage-item-icon{color:#667085;background:#f2f4f7;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stock-wastage-page .stock-wastage-item-icon svg{width:16px;height:16px}.stock-wastage-page .stock-wastage-quantity{color:#b42318;white-space:nowrap;background:#fef3f2;border:1px solid #fee4e2;border-radius:6px;padding:6px 9px;font-weight:750;display:inline-block}.stock-wastage-page .stock-wastage-reason{color:#475467;overflow-wrap:anywhere;max-width:320px;line-height:1.55;display:inline-block}.stock-wastage-page .stock-wastage-table-message{min-height:150px;color:var(--wastage-muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.stock-wastage-page .stock-wastage-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:245px;padding:30px 20px;display:flex}.stock-wastage-page .stock-wastage-empty-state h3{color:var(--wastage-text);margin:15px 0 7px;font-size:16px;font-weight:750}.stock-wastage-page .stock-wastage-empty-state p{max-width:400px;color:var(--wastage-muted);margin:0;font-size:13px;line-height:1.7}.stock-wastage-page .stock-wastage-empty-icon{color:#98a2b3;background:#f2f4f7;border-radius:15px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.stock-wastage-page .stock-wastage-empty-icon svg{width:25px;height:25px}.stock-wastage-page .stock-wastage-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;display:flex}.stock-wastage-page .stock-wastage-pagination-info{color:var(--wastage-muted);font-size:12px}.stock-wastage-page .stock-wastage-pagination-info strong{color:#344054;font-weight:750}.stock-wastage-page .stock-wastage-pagination-controls{align-items:center;gap:10px;display:flex}.stock-wastage-page .stock-wastage-pagination-controls button{color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.stock-wastage-page .stock-wastage-pagination-controls button svg{width:15px;height:15px}.stock-wastage-page .stock-wastage-pagination-controls button:hover:not(:disabled){background:#f9fafb;border-color:#98a2b3}.stock-wastage-page .stock-wastage-pagination-controls button:disabled{color:#b0b7c3;cursor:not-allowed;background:#f9fafb}.stock-wastage-page .stock-wastage-page-indicator{color:#475467;white-space:nowrap;font-size:12px}.stock-wastage-page .stock-wastage-spinning{animation:1s linear infinite stock-wastage-spin}@keyframes stock-wastage-spin{to{transform:rotate(360deg)}}@media (width<=900px){.stock-wastage-page{padding:18px}.stock-wastage-page .stock-wastage-form-card,.stock-wastage-page .stock-wastage-history-card{padding:19px}.stock-wastage-page .stock-wastage-history-filters{gap:14px}.stock-wastage-page .stock-wastage-record-count{margin-left:0}}@media (width<=600px){.stock-wastage-page{padding:12px}.stock-wastage-page .stock-wastage-header{flex-direction:column;gap:15px}.stock-wastage-page .stock-wastage-heading h1{font-size:24px}.stock-wastage-page .stock-wastage-form-card,.stock-wastage-page .stock-wastage-history-card{border-radius:11px;padding:15px}.stock-wastage-page .stock-wastage-form-grid{grid-template-columns:minmax(0,1fr);gap:17px;margin-top:22px}.stock-wastage-page .stock-wastage-field-full{grid-column:auto}.stock-wastage-page .stock-wastage-history-header{align-items:flex-start}.stock-wastage-page .stock-wastage-history-header .stock-wastage-section-heading{flex:100%}.stock-wastage-page .stock-wastage-history-filters{flex-direction:column;align-items:stretch;gap:14px;padding:13px}.stock-wastage-page .stock-wastage-filter-field{width:100%;min-width:0}.stock-wastage-page .stock-wastage-record-count{padding-top:3px}.stock-wastage-page .stock-wastage-form-actions{flex-direction:column-reverse}.stock-wastage-page .stock-wastage-form-actions button{width:100%}.stock-wastage-page .stock-wastage-pagination{flex-direction:column;align-items:flex-start}.stock-wastage-page .stock-wastage-pagination-controls{justify-content:space-between;gap:6px;width:100%}.stock-wastage-page .stock-wastage-pagination-controls button{padding:8px}.stock-wastage-page .stock-wastage-page-indicator{text-align:center}}@media (prefers-reduced-motion:reduce){.stock-wastage-page *,.stock-wastage-page :before,.stock-wastage-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.guest-food-sales-page{--sales-primary:#2563eb;--sales-primary-dark:#1d4ed8;--sales-text:#172033;--sales-muted:#667085;--sales-border:#e4e7ec;--sales-surface:#fff;--sales-background:#f7f9fc;width:100%;min-width:0;color:var(--sales-text);background:var(--sales-background);border-radius:12px;padding:24px}.guest-food-sales-page *{box-sizing:border-box}.guest-food-sales-page button,.guest-food-sales-page input,.guest-food-sales-page textarea,.guest-food-sales-page select{font:inherit}.guest-food-sales-page .guest-food-sales-header{align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.guest-food-sales-page .guest-food-sales-back-button{color:#344054;border:1px solid var(--sales-border);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;transition:background .2s,border-color .2s;display:inline-flex}.guest-food-sales-page .guest-food-sales-back-button svg{width:17px;height:17px}.guest-food-sales-page .guest-food-sales-back-button:hover{background:#f2f4f7;border-color:#cbd5e1}.guest-food-sales-page .guest-food-sales-heading{min-width:0}.guest-food-sales-page .guest-food-sales-heading h1{color:var(--sales-text);letter-spacing:-.7px;margin:5px 0 7px;font-size:clamp(24px,2.4vw,30px);font-weight:750;line-height:1.25}.guest-food-sales-page .guest-food-sales-heading p{color:var(--sales-muted);margin:0;font-size:14px;line-height:1.6}.guest-food-sales-page .guest-food-sales-eyebrow{color:var(--sales-primary);letter-spacing:1.4px;font-size:11px;font-weight:800}.guest-food-sales-page .guest-food-sales-form-card,.guest-food-sales-page .guest-food-sales-history-card{background:var(--sales-surface);border:1px solid var(--sales-border);border-radius:14px;min-width:0;padding:24px;box-shadow:0 3px 12px #1018280a}.guest-food-sales-page .guest-food-sales-form-card{margin-bottom:24px}.guest-food-sales-page .guest-food-sales-section-heading{align-items:center;gap:13px;min-width:0;display:flex}.guest-food-sales-page .guest-food-sales-section-heading h2{color:var(--sales-text);margin:0 0 5px;font-size:18px;font-weight:750;line-height:1.35}.guest-food-sales-page .guest-food-sales-section-heading p{color:var(--sales-muted);margin:0;font-size:13px;line-height:1.5}.guest-food-sales-page .guest-food-sales-section-icon{width:43px;height:43px;color:var(--sales-primary);background:#eff6ff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.guest-food-sales-page .guest-food-sales-section-icon svg{width:21px;height:21px}.guest-food-sales-page .guest-food-sales-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin-top:27px;display:grid}.guest-food-sales-page .guest-food-sales-field{flex-direction:column;gap:8px;min-width:0;display:flex}.guest-food-sales-page .guest-food-sales-field>label{color:#344054;font-size:13px;font-weight:650}.guest-food-sales-page .guest-food-sales-field>input,.guest-food-sales-page .guest-food-sales-field>textarea{width:100%;min-height:44px;color:var(--sales-text);background:#fff;border:1px solid #d0d5dd;border-radius:8px;outline:none;padding:11px 12px;transition:border-color .2s,box-shadow .2s}.guest-food-sales-page .guest-food-sales-field>input:focus,.guest-food-sales-page .guest-food-sales-field>textarea:focus{border-color:var(--sales-primary);box-shadow:0 0 0 3px #2563eb1a}.guest-food-sales-page .guest-food-sales-field>input:disabled,.guest-food-sales-page .guest-food-sales-field>textarea:disabled{color:#98a2b3;cursor:not-allowed;background:#f2f4f7}.guest-food-sales-page .guest-food-sales-field>input::placeholder,.guest-food-sales-page .guest-food-sales-field>textarea::placeholder{color:#98a2b3}.guest-food-sales-page .guest-food-sales-field>textarea{resize:vertical;min-height:110px;line-height:1.55}.guest-food-sales-page .guest-food-sales-field-full{grid-column:1/-1}.guest-food-sales-page .guest-food-sales-character-count{color:#98a2b3;align-self:flex-end;font-size:11px}.guest-food-sales-page .guest-food-sales-select{width:100%}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__control{min-height:44px;box-shadow:none;cursor:pointer;border-color:#d0d5dd;border-radius:8px}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__control:hover{border-color:#98a2b3}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__control--is-focused{border-color:var(--sales-primary);box-shadow:0 0 0 3px #2563eb1a}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__control--is-disabled{cursor:not-allowed;background:#f2f4f7}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__value-container{padding:3px 12px}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__single-value{color:var(--sales-text);font-size:13px}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__placeholder{color:#98a2b3;font-size:13px}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__menu{z-index:30;border:1px solid var(--sales-border);border-radius:9px;overflow:hidden;box-shadow:0 10px 25px #1018281f}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__option{cursor:pointer;padding:11px 13px;font-size:13px}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__option--is-focused{background:#eff6ff}.guest-food-sales-page .guest-food-sales-select .guest-food-sales-select__option--is-selected{color:#fff;background:var(--sales-primary)}.guest-food-sales-page .guest-food-sales-form-actions{border-top:1px solid #eaecf0;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:26px;padding-top:20px;display:flex}.guest-food-sales-page .guest-food-sales-primary-button,.guest-food-sales-page .guest-food-sales-secondary-button,.guest-food-sales-page .guest-food-sales-refresh-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.guest-food-sales-page .guest-food-sales-primary-button svg,.guest-food-sales-page .guest-food-sales-secondary-button svg,.guest-food-sales-page .guest-food-sales-refresh-button svg{width:16px;height:16px}.guest-food-sales-page .guest-food-sales-primary-button:disabled,.guest-food-sales-page .guest-food-sales-secondary-button:disabled,.guest-food-sales-page .guest-food-sales-refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.guest-food-sales-page .guest-food-sales-primary-button{color:#fff;background:var(--sales-primary);border:1px solid var(--sales-primary)}.guest-food-sales-page .guest-food-sales-primary-button:hover:not(:disabled){background:var(--sales-primary-dark);border-color:var(--sales-primary-dark)}.guest-food-sales-page .guest-food-sales-secondary-button,.guest-food-sales-page .guest-food-sales-refresh-button{color:#344054;background:#fff;border:1px solid #d0d5dd}.guest-food-sales-page .guest-food-sales-secondary-button:hover:not(:disabled),.guest-food-sales-page .guest-food-sales-refresh-button:hover:not(:disabled){background:#f9fafb;border-color:#98a2b3}.guest-food-sales-page .guest-food-sales-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.guest-food-sales-page .guest-food-sales-refresh-button{flex-shrink:0}.guest-food-sales-page .guest-food-sales-summary{background:#f0f7ff;border:1px solid #dbeafe;border-radius:11px;align-items:center;gap:14px;margin-bottom:20px;padding:17px 19px;display:flex}.guest-food-sales-page .guest-food-sales-summary>div:last-child{flex-direction:column;gap:5px;display:flex}.guest-food-sales-page .guest-food-sales-summary span{color:#475467;font-size:12px}.guest-food-sales-page .guest-food-sales-summary strong{color:#1d4ed8;overflow-wrap:anywhere;font-size:23px;font-weight:800;line-height:1.3}.guest-food-sales-page .guest-food-sales-summary-icon{width:45px;height:45px;color:var(--sales-primary);background:#dbeafe;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.guest-food-sales-page .guest-food-sales-summary-icon svg{width:22px;height:22px}.guest-food-sales-page .guest-food-sales-history-filters{background:#f9fafb;border:1px solid #eaecf0;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:20px;padding:17px;display:flex}.guest-food-sales-page .guest-food-sales-filter-field{flex-direction:column;gap:8px;min-width:180px;display:flex}.guest-food-sales-page .guest-food-sales-filter-field label{color:#475467;align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex}.guest-food-sales-page .guest-food-sales-filter-field label svg{width:14px;height:14px}.guest-food-sales-page .guest-food-sales-filter-field input,.guest-food-sales-page .guest-food-sales-filter-field select{min-height:39px;color:var(--sales-text);background:#fff;border:1px solid #d0d5dd;border-radius:7px;outline:none;padding:8px 10px}.guest-food-sales-page .guest-food-sales-filter-field input:focus,.guest-food-sales-page .guest-food-sales-filter-field select:focus{border-color:var(--sales-primary);box-shadow:0 0 0 3px #2563eb1a}.guest-food-sales-page .guest-food-sales-record-count{flex-direction:column;gap:4px;min-width:110px;margin-left:auto;padding:0 4px 3px;display:flex}.guest-food-sales-page .guest-food-sales-record-count span{color:var(--sales-muted);font-size:11px}.guest-food-sales-page .guest-food-sales-record-count strong{color:var(--sales-primary);font-size:22px;line-height:1.2}.guest-food-sales-page .guest-food-sales-table-wrapper{border:1px solid var(--sales-border);scrollbar-width:thin;border-radius:10px;width:100%;overflow-x:auto}.guest-food-sales-page .guest-food-sales-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:760px}.guest-food-sales-page .guest-food-sales-table th{color:#475467;border-bottom:1px solid var(--sales-border);letter-spacing:.45px;text-transform:uppercase;white-space:nowrap;background:#f9fafb;padding:14px 16px;font-size:11px;font-weight:750}.guest-food-sales-page .guest-food-sales-table td{color:#344054;vertical-align:middle;border-bottom:1px solid #eaecf0;padding:15px 16px;font-size:13px}.guest-food-sales-page .guest-food-sales-table tbody tr:last-child td{border-bottom:none}.guest-food-sales-page .guest-food-sales-table tbody tr:hover:not(:has(.guest-food-sales-empty-state,.guest-food-sales-table-message)){background:#fafcff}.guest-food-sales-page .guest-food-sales-date{color:#475467;white-space:nowrap;font-weight:600}.guest-food-sales-page .guest-food-sales-food-badge{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:750;display:inline-flex}.guest-food-sales-page .guest-food-sales-food-badge.veg{color:#15803d;background:#f0fdf4;border-color:#dcfce7}.guest-food-sales-page .guest-food-sales-food-badge.non-veg{color:#b42318;background:#fef3f2;border-color:#fee4e2}.guest-food-sales-page .guest-food-sales-quantity{color:#344054;font-weight:650}.guest-food-sales-page .guest-food-sales-amount{color:#15803d;white-space:nowrap;font-weight:750}.guest-food-sales-page .guest-food-sales-remarks{color:#475467;overflow-wrap:anywhere;max-width:300px;line-height:1.55;display:inline-block}.guest-food-sales-page .guest-food-sales-table-message{min-height:150px;color:var(--sales-muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.guest-food-sales-page .guest-food-sales-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:245px;padding:30px 20px;display:flex}.guest-food-sales-page .guest-food-sales-empty-state h3{color:var(--sales-text);margin:15px 0 7px;font-size:16px;font-weight:750}.guest-food-sales-page .guest-food-sales-empty-state p{max-width:400px;color:var(--sales-muted);margin:0;font-size:13px;line-height:1.7}.guest-food-sales-page .guest-food-sales-empty-icon{color:#98a2b3;background:#f2f4f7;border-radius:15px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.guest-food-sales-page .guest-food-sales-empty-icon svg{width:25px;height:25px}.guest-food-sales-page .guest-food-sales-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;display:flex}.guest-food-sales-page .guest-food-sales-pagination-info{color:var(--sales-muted);font-size:12px}.guest-food-sales-page .guest-food-sales-pagination-info strong{color:#344054;font-weight:750}.guest-food-sales-page .guest-food-sales-pagination-controls{align-items:center;gap:10px;display:flex}.guest-food-sales-page .guest-food-sales-pagination-controls button{color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.guest-food-sales-page .guest-food-sales-pagination-controls button svg{width:15px;height:15px}.guest-food-sales-page .guest-food-sales-pagination-controls button:hover:not(:disabled){background:#f9fafb;border-color:#98a2b3}.guest-food-sales-page .guest-food-sales-pagination-controls button:disabled{color:#b0b7c3;cursor:not-allowed;background:#f9fafb}.guest-food-sales-page .guest-food-sales-page-indicator{color:#475467;white-space:nowrap;font-size:12px}.guest-food-sales-page .guest-food-sales-spinning{animation:1s linear infinite guest-food-sales-spin}@keyframes guest-food-sales-spin{to{transform:rotate(360deg)}}@media (width<=900px){.guest-food-sales-page{padding:18px}.guest-food-sales-page .guest-food-sales-form-card,.guest-food-sales-page .guest-food-sales-history-card{padding:19px}.guest-food-sales-page .guest-food-sales-history-filters{gap:14px}.guest-food-sales-page .guest-food-sales-record-count{margin-left:0}}@media (width<=600px){.guest-food-sales-page{padding:12px}.guest-food-sales-page .guest-food-sales-header{flex-direction:column;gap:15px}.guest-food-sales-page .guest-food-sales-heading h1{font-size:24px}.guest-food-sales-page .guest-food-sales-form-card,.guest-food-sales-page .guest-food-sales-history-card{border-radius:11px;padding:15px}.guest-food-sales-page .guest-food-sales-form-grid{grid-template-columns:minmax(0,1fr);gap:17px;margin-top:22px}.guest-food-sales-page .guest-food-sales-field-full{grid-column:auto}.guest-food-sales-page .guest-food-sales-history-header{align-items:flex-start}.guest-food-sales-page .guest-food-sales-history-header .guest-food-sales-section-heading{flex:100%}.guest-food-sales-page .guest-food-sales-history-filters{flex-direction:column;align-items:stretch;gap:14px;padding:13px}.guest-food-sales-page .guest-food-sales-filter-field{width:100%;min-width:0}.guest-food-sales-page .guest-food-sales-record-count{padding-top:3px}.guest-food-sales-page .guest-food-sales-form-actions{flex-direction:column-reverse}.guest-food-sales-page .guest-food-sales-form-actions button{width:100%}.guest-food-sales-page .guest-food-sales-pagination{flex-direction:column;align-items:flex-start}.guest-food-sales-page .guest-food-sales-pagination-controls{justify-content:space-between;gap:6px;width:100%}.guest-food-sales-page .guest-food-sales-pagination-controls button{padding:8px}.guest-food-sales-page .guest-food-sales-page-indicator{text-align:center}}@media (prefers-reduced-motion:reduce){.guest-food-sales-page *,.guest-food-sales-page :before,.guest-food-sales-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sidebar{top:var(--navbar-height,72px);z-index:900;width:var(--sidebar-width,260px);height:calc(100dvh - var(--navbar-height,72px));box-sizing:border-box;background:#fff;border-right:1px solid #1f2937;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;position:fixed;left:0;overflow:hidden;box-shadow:2px 0 6px #0f172a06}.sidebar__brand{box-sizing:border-box;background:#fff;border-bottom:1px solid #d1d5db;flex:0 0 76px;align-items:center;gap:12px;width:100%;padding:0 20px;display:flex}.sidebar__logo{color:#fff;letter-spacing:-.5px;background:linear-gradient(135deg,#4f46e5,#6366f1 55%,#7c3aed);border-radius:10px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;font-weight:800;display:flex;box-shadow:0 3px 9px #4f46e529}.sidebar__logo .customer-logo{object-fit:contain;border-radius:inherit;width:100%;height:100%;display:block}.sidebar__brand-text{flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar__brand-text h2{color:#171a21;letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:800;line-height:1.2;overflow:hidden}.sidebar__brand-text span{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;font-weight:500;line-height:1;overflow:hidden}.sidebar__role{box-sizing:border-box;color:#5558c9;letter-spacing:.6px;text-transform:uppercase;background:#f5f6ff;border:1px solid #d5d7f5;border-radius:8px;flex:none;align-items:center;min-height:32px;margin:17px 18px 11px;padding:7px 11px;font-size:10px;font-weight:800;line-height:1.2;display:flex}.sidebar__nav{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5c9d1 transparent;flex:1;width:100%;min-height:0;padding:6px 12px 20px;overflow:hidden auto}.sidebar__nav::-webkit-scrollbar{width:5px}.sidebar__nav::-webkit-scrollbar-track{background:0 0}.sidebar__nav::-webkit-scrollbar-thumb{background:#c5c9d1;border-radius:10px}.sidebar__nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}.sidebar__item{box-sizing:border-box;color:#626873;background:0 0;border-radius:8px;align-items:center;gap:13px;width:100%;min-height:44px;margin:0 0 4px;padding:0 13px;font-size:13.5px;font-weight:500;line-height:1.25;text-decoration:none;transition:background-color .18s,color .18s,transform .18s;display:flex;position:relative}.sidebar__item:hover{color:#242830;background:#f3f4f6}.sidebar__item:active{transform:translateY(1px)}.sidebar__item--active{color:#4338ca;background:#eef0ff;font-weight:650}.sidebar__item--active:hover{color:#4338ca;background:#eef0ff}.sidebar__item--active:before{content:"";background:#4338ca;border-radius:0 4px 4px 0;width:3px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar__icon{color:currentColor;stroke-width:1.9px;flex:0 0 18px;width:18px;height:18px;transition:color .18s,transform .18s}.sidebar__item:hover .sidebar__icon{transform:translate(1px)}.sidebar__group{width:100%;margin:0 0 4px}.sidebar__group-header{box-sizing:border-box;color:#626873;text-align:left;cursor:pointer;appearance:none;background:0 0;border:0;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 13px;font-family:inherit;font-size:13.5px;font-weight:500;line-height:1.25;transition:background-color .18s,color .18s;display:flex;position:relative}.sidebar__group-header:hover{color:#242830;background:#f3f4f6}.sidebar__group-left{align-items:center;gap:13px;min-width:0;display:flex;overflow:hidden}.sidebar__group-left span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar__group-header--active{color:#4338ca;font-weight:600}.sidebar__group-header--active .sidebar__icon{color:#4338ca}.sidebar__group-header--open{color:#4338ca;background:#f5f6ff}.sidebar__group-header--open .sidebar__icon{color:#4338ca}.sidebar__chevron{color:#9aa0aa;flex:0 0 15px;width:15px;height:15px;transition:transform .22s,color .18s;transform:rotate(0)}.sidebar__group-header:hover .sidebar__chevron{color:#636873}.sidebar__chevron--open{color:#4338ca;transform:rotate(180deg)}.sidebar__submenu-wrapper{width:100%;display:block}.sidebar__submenu{box-sizing:border-box;border-left:1px solid #d1d5db;width:100%;margin:2px 0 7px 21px;padding:3px 0 3px 14px;position:relative}.sidebar__submenu-item{box-sizing:border-box;color:#737984;background:0 0;border-radius:7px;align-items:center;width:100%;min-height:38px;margin:2px 0;padding:7px 10px;font-size:12.5px;font-weight:500;line-height:1.3;text-decoration:none;transition:background-color .18s,color .18s,padding-left .18s;display:flex;position:relative}.sidebar__submenu-item:hover{color:#343840;background:#f3f4f6;padding-left:12px}.sidebar__submenu-item--active{color:#4338ca;background:#f0f1ff;font-weight:650}.sidebar__submenu-item--active:hover{color:#4338ca;background:#f0f1ff;padding-left:10px}.sidebar__submenu-item--active:before{content:"";background:#4338ca;border-radius:0 4px 4px 0;width:3px;height:18px;position:absolute;top:50%;left:-15px;transform:translateY(-50%)}.sidebar__empty{color:#6b7280;text-align:center;background:#fafafa;border:1px dashed #d1d5db;border-radius:8px;margin:14px 8px;padding:14px 12px;font-size:12px;line-height:1.5}.sidebar-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);background:#0f172a61;display:none;position:fixed;inset:0}@media (width>=1440px){.sidebar__brand{padding:0 22px}.sidebar__nav{padding-left:14px;padding-right:14px}.sidebar__item,.sidebar__group-header{min-height:46px;font-size:14px}.sidebar__submenu-item{font-size:13px}}@media (width>=768px) and (width<=1023px){.sidebar{z-index:1200;border-right-color:#1f2937;width:260px;height:100dvh;top:0;transform:translate(-100%);box-shadow:8px 0 28px #0f172a29}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar__brand{flex-basis:72px;padding:0 18px}.sidebar__role{margin-left:17px;margin-right:17px}.sidebar__nav{padding-left:11px;padding-right:11px}.sidebar__item,.sidebar__group-header{min-height:45px}.sidebar__submenu-item{min-height:39px}}@media (width>=481px) and (width<=767px){.sidebar{z-index:1200;border-right-color:#1f2937;width:min(280px,82vw);height:100dvh;top:0;transform:translate(-100%);box-shadow:8px 0 28px #0f172a29}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar__brand{flex-basis:70px;padding:0 17px}.sidebar__logo{flex-basis:40px;width:40px;height:40px}.sidebar__role{margin:15px 16px 10px}.sidebar__nav{padding:5px 10px 18px}.sidebar__item,.sidebar__group-header{min-height:44px}.sidebar__submenu-item{min-height:39px}}@media (width>=381px) and (width<=480px){.sidebar{z-index:1200;border-right-color:#1f2937;width:min(285px,86vw);height:100dvh;top:0;transform:translate(-100%);box-shadow:8px 0 28px #0f172a2b}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar__brand{flex-basis:68px;padding:0 16px}.sidebar__logo{flex-basis:40px;width:40px;height:40px}.sidebar__brand-text h2{font-size:15px}.sidebar__brand-text span{font-size:9px}.sidebar__role{margin:14px 15px 9px}.sidebar__nav{padding:5px 9px 18px}.sidebar__item,.sidebar__group-header{min-height:44px;font-size:13px}.sidebar__submenu-item{min-height:38px;font-size:12px}}@media (width<=380px){.sidebar{z-index:1200;border-right-color:#1f2937;width:88vw;height:100dvh;top:0;transform:translate(-100%);box-shadow:8px 0 28px #0f172a2b}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar__brand{flex-basis:66px;padding:0 14px}.sidebar__logo{flex-basis:38px;width:38px;height:38px;font-size:16px}.sidebar__brand-text h2{font-size:14px}.sidebar__brand-text span{font-size:9px}.sidebar__role{min-height:30px;margin:13px 14px 9px;padding:6px 9px;font-size:9px}.sidebar__nav{padding:4px 8px 16px}.sidebar__item,.sidebar__group-header{min-height:43px;padding-left:11px;padding-right:11px;font-size:12.5px}.sidebar__icon{flex-basis:17px;width:17px;height:17px}.sidebar__submenu{margin-left:19px;padding-left:12px}.sidebar__submenu-item{min-height:37px;font-size:11.5px}}@media (hover:none) and (pointer:coarse){.sidebar__item,.sidebar__group-header,.sidebar__submenu-item{-webkit-tap-highlight-color:transparent}.sidebar__item:hover,.sidebar__group-header:hover,.sidebar__submenu-item:hover{transform:none}.sidebar__item:active,.sidebar__group-header:active,.sidebar__submenu-item:active{background:#f0f1f5}}.sidebar__item:focus-visible,.sidebar__group-header:focus-visible,.sidebar__submenu-item:focus-visible{outline-offset:2px;outline:2px solid #6366f1}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar__item,.sidebar__group-header,.sidebar__submenu-item,.sidebar__chevron,.sidebar__icon{transition:none!important}}@media print{.sidebar,.sidebar-overlay,.navbar{display:none!important}}.navbar{z-index:2000;width:100%;min-height:var(--navbar-height,80px);box-sizing:border-box;background:#f3f4f6;border-bottom:1px solid #d1d5db;justify-content:space-between;align-items:center;padding:10px 24px;display:flex;position:fixed;inset:0 0 auto;overflow:visible;box-shadow:0 2px 8px #0f172a0a}.nav-left{width:var(--sidebar-width,260px);flex:0 0 var(--sidebar-width,260px);justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.menu-toggle{color:#374151;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:30px;line-height:1;transition:background-color .2s,color .2s;display:none}.menu-toggle:hover{color:#111827;background:#e5e7eb}.menu-toggle:focus-visible{outline-offset:2px;outline:2px solid #4f46e5}.logo-icon{color:#4f46e5;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:800;display:flex;overflow:hidden}.customer-logo{object-fit:contain;border-radius:inherit;width:100%;height:100%;display:block}.brand-name{color:#000;text-align:center;letter-spacing:.3px;overflow-wrap:anywhere;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:max-content;min-width:0;max-width:min(46%,760px);font-size:clamp(18px,1.6vw,26px);font-weight:750;line-height:1.25;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-title{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;display:block}.brand-underline{background:#1f2937;border-radius:4px;flex:none;width:38px;height:3px;margin-top:6px;display:block}.nav-right{z-index:2;flex:0 260px;justify-content:flex-end;align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex;position:relative}.user-info{text-align:right;flex-direction:column;flex:0 220px;justify-content:center;align-items:flex-end;min-width:0;max-width:220px;display:flex}.admin{color:#030405;overflow-wrap:anywhere;width:100%;max-width:100%;font-size:14px;font-weight:650;line-height:20px;display:block}.user-role{color:#030405;overflow-wrap:anywhere;max-width:100%;margin-top:1px;font-size:11px;font-weight:500;line-height:16px;display:block}.avatar{color:#fff;cursor:pointer;background:#4f46e5;border:1px solid #4f46e526;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 6px #4f46e52e}.avatar:hover{transform:translateY(-1px);box-shadow:0 5px 12px #4f46e540}.avatar:active{transform:translateY(0)}.avatar:focus-visible{outline-offset:3px;outline:2px solid #4f46e5}.profile-dropdown{z-index:1200;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:230px;max-width:calc(100vw - 24px);padding:8px;animation:.16s ease-out navbarDropdownIn;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 10px 30px #0f172a1f}.dropdown-arrow{background:#fff;border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;width:11px;height:11px;position:absolute;top:-6px;right:16px;transform:rotate(45deg)}.dropdown-item{color:#374151;text-align:left;box-sizing:border-box;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;width:100%;min-height:46px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .2s,color .2s;display:flex;position:relative}.dropdown-item:hover{color:#111827;background:#f3f4f6}.dropdown-item:focus-visible{outline-offset:-2px;outline:2px solid #4f46e5}.dropdown-icon-wrap{color:#4f46e5;background:#f3f4ff;border-radius:7px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;margin-right:10px;font-size:14px;display:flex}.dropdown-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dropdown-chevron{color:#9ca3af;margin-left:8px;font-size:20px;font-weight:400;line-height:1;transition:transform .2s,color .2s}.dropdown-item:hover .dropdown-chevron{color:#4f46e5;transform:translate(2px)}.dropdown-item--logout{color:#dc2626;margin-top:2px}.dropdown-item--logout:hover{color:#b91c1c;background:#fef2f2}.dropdown-item--logout .dropdown-icon-wrap{color:#dc2626;background:#fef2f2}.dropdown-item--logout:hover .dropdown-icon-wrap{color:#b91c1c;background:#fee2e2}.dropdown-item--logout .dropdown-chevron{color:#ef4444}.dropdown-item--logout:hover .dropdown-chevron{color:#dc2626}@keyframes navbarDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width>=1440px){.navbar{padding-left:28px;padding-right:32px}.logo-icon{flex-basis:46px;width:46px;height:46px}.brand-name{max-width:min(48%,820px);font-size:clamp(22px,1.7vw,28px)}.brand-underline{width:42px}}@media (width<=1023px){.navbar{min-height:var(--navbar-height,64px);padding:8px 20px}.nav-left{flex:0 140px;gap:8px;width:auto}.menu-toggle{display:flex}.logo-icon{flex-basis:36px;width:36px;height:36px}.brand-name{letter-spacing:.15px;max-width:40%;font-size:clamp(16px,2vw,22px)}.nav-right{flex-basis:220px;gap:8px}.user-info{max-width:170px}.admin{font-size:13px}.avatar{flex-basis:38px;width:38px;height:38px}}@media (width<=767px){.navbar{min-height:var(--navbar-height,60px);padding:8px 12px}.nav-left{flex:none;gap:6px}.menu-toggle{flex-basis:36px;width:36px;height:36px;font-size:20px}.logo-icon{flex-basis:32px;width:32px;height:32px;font-size:12px}.brand-name{letter-spacing:0;max-width:calc(100vw - 164px);font-size:clamp(13px,3.5vw,17px);line-height:1.2}.brand-underline{width:25px;height:2px;margin-top:4px}.nav-right{flex:none;gap:0;margin-left:0}.user-info{display:none}.avatar{flex-basis:36px;width:36px;height:36px;font-size:14px}.profile-dropdown{width:220px;max-width:calc(100vw - 20px);top:calc(100% + 10px)}}@media (width<=359px){.navbar{min-height:var(--navbar-height,56px);padding:6px 8px}.nav-left{gap:4px}.menu-toggle{flex-basis:32px;width:32px;height:32px;font-size:18px}.logo-icon{flex-basis:28px;width:28px;height:28px;font-size:11px}.brand-name{letter-spacing:0;max-width:calc(100vw - 140px);font-size:11px}.brand-underline{width:22px;margin-top:3px}.avatar{flex-basis:32px;width:32px;height:32px;font-size:12px}.profile-dropdown{width:205px;max-width:calc(100vw - 16px)}.dropdown-item{min-height:44px;padding:0 8px;font-size:12px}.dropdown-icon-wrap{flex-basis:30px;width:30px;height:30px;margin-right:8px}}@media (height<=500px) and (orientation:landscape){.navbar{min-height:54px;padding-top:5px;padding-bottom:5px}.logo-icon,.avatar,.menu-toggle{width:32px;height:32px}.avatar,.menu-toggle{flex-basis:32px}}@media (prefers-reduced-motion:reduce){.navbar *,.navbar :before,.navbar :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-layout{--sidebar-width:260px;--navbar-height:72px;box-sizing:border-box;background:#f6f7f9;width:100%;min-height:100dvh;position:relative}.app-layout__main{min-width:0;min-height:100dvh;margin-left:var(--sidebar-width);padding-top:var(--navbar-height);box-sizing:border-box;flex-direction:column;display:flex}.app-layout__content{box-sizing:border-box;flex:1;width:100%;max-width:1600px;margin:0 auto;padding:28px}@media (width>=1440px){.app-layout{--sidebar-width:270px}.app-layout__content{padding:32px}}@media (width>=1024px) and (width<=1439px){.app-layout{--sidebar-width:260px}.app-layout__content{padding:24px}}@media (width<=1023px){.app-layout{--sidebar-width:0px;--navbar-height:64px}.app-layout__main{margin-left:0}.app-layout__content{padding:24px}}@media (width<=767px){.app-layout{--navbar-height:60px}.app-layout__content{padding:18px 16px}}@media (width<=359px){.app-layout{--navbar-height:56px}}@media (width<=480px){.app-layout__content{padding:16px 12px}}@media (height<=500px) and (orientation:landscape){.app-layout{--navbar-height:54px}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0, 0, var(--toastify-z-index));width:var(--toastify-container-width);box-sizing:border-box;color:#fff;flex-direction:column;display:flex;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0px;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;word-break:break-word;flex:auto;align-items:center;margin-bottom:1rem;display:flex;position:relative}@media only screen and (width<=480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (width<=480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{width:100%;transform:translate3d(0, var(--y), 0) scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g) * 1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{flex-shrink:0;width:22px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;padding:0;transition:all .3s;position:absolute;top:6px;right:6px}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{z-index:1;opacity:.7;transform-origin:0;width:100%;height:100%;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0;overflow:hidden}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, var(--y), 0)}to{opacity:0;transform:translate3d(2000px, var(--y), 0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, var(--y), 0)}to{opacity:0;transform:translate3d(-2000px, var(--y), 0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0, var(--y), 0) scale3d(.3, .3, .3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0, var(--y), 0) perspective(400px)}30%{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(110%, var(--y), 0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(-110%, var(--y), 0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}
