@import"https://fonts.googleapis.com/css2?family=Urbanist:wght@400;500;600;700&display=swap";:root{font-family:Urbanist,system-ui,sans-serif;color:#0f172a;background:#f0fdf4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #047857;--deep-green: #065F46;--mint: #ECFDF5;--aqua: #10B981;--bg: #F0FDF4;--surface: rgba(255, 255, 255, .88);--glass: rgba(240, 253, 244, .72);--glass-strong: rgba(255, 255, 255, .88);--glass-row: rgba(244, 252, 247, .78);--glass-border: rgba(167, 243, 208, .65);--text: #0F172A;--muted: #64748B;--border: rgba(167, 243, 208, .65);--success: #047857;--warning: #F59E0B;--danger: #EF4444;--info: #0284C7;--shadow: 0 18px 50px rgba(4, 120, 87, .08);--radius: 10px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 10% 10%,rgba(4,120,87,.08),transparent 32rem),radial-gradient(circle at 90% 20%,rgba(16,185,129,.06),transparent 38rem),radial-gradient(circle at 20% 90%,rgba(5,150,105,.07),transparent 32rem),linear-gradient(180deg,#f0fdf4,#e6f4ea 400px,#fafcf9)}html,#root{min-height:100%;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(9,11,11,.12) .7px,transparent .7px);background-size:22px 22px;opacity:.22;-webkit-mask-image:linear-gradient(180deg,#000,transparent 42%);mask-image:linear-gradient(180deg,#000,transparent 42%)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:500;line-height:1.2}h2{font-size:24px;font-weight:500;line-height:1.25}h3{font-size:16px;font-weight:600}p{color:var(--muted);font-size:16px;line-height:1.55}.boot-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:16px}.app-error-page{min-height:100vh;display:grid;place-items:center;padding:24px}.app-error-card{width:min(100%,460px);display:grid;gap:18px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);box-shadow:var(--shadow)}.app-error-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius);color:#8b2024;background:#ffe9ea}.app-error-card span{color:var(--muted);font-size:14px}.app-error-card h1{margin-top:4px;margin-bottom:8px}.app-error-actions{display:flex;flex-wrap:wrap;gap:10px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.auth-shell{width:min(100%,1120px);display:grid;gap:22px;padding:18px;border:1px solid rgba(228,233,232,.88);border-radius:18px;background:radial-gradient(circle at 18% 18%,rgba(22,217,139,.14),transparent 22rem),radial-gradient(circle at 88% 18%,rgba(32,230,193,.09),transparent 24rem),#ffffffad;box-shadow:0 30px 90px #113f4829;-webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35);position:relative;overflow:hidden}.auth-shell:before{content:"";position:absolute;inset:10px;border-radius:14px;border:1px solid rgba(255,255,255,.68);pointer-events:none}.auth-copy{min-width:0;min-height:360px;display:grid;align-content:start;gap:20px;padding:8px}.auth-form-panel{min-width:0;display:grid;place-items:center}.login-carousel{position:relative;width:min(100%,540px);aspect-ratio:1;justify-self:center;isolation:isolate;overflow:hidden}.login-carousel:after{content:"";position:absolute;inset:-1px;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.86) 8%,transparent 24%,transparent 76%,rgba(255,255,255,.86) 92%,rgba(255,255,255,.98) 100%),linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 9%,transparent 26%,transparent 100%),radial-gradient(ellipse at center,transparent 58%,rgba(255,255,255,.26) 76%,rgba(255,255,255,.82) 100%)}.login-carousel img{position:absolute;inset:-18px -30px -10px;width:calc(100% + 60px);height:calc(100% + 28px);object-fit:contain;opacity:0;transform:translate(76px) translateY(8px) scale(.965);mix-blend-mode:multiply;filter:saturate(1.04) contrast(1.02) drop-shadow(0 24px 38px rgba(9,11,11,.1));-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 9%,#000 25%,#000 75%,rgba(0,0,0,.25) 91%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.34) 8%,#000 24%,#000 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 9%,#000 25%,#000 75%,rgba(0,0,0,.25) 91%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.34) 8%,#000 24%,#000 100%);mask-composite:intersect;animation:loginCarousel 12s ease-in-out infinite;animation-delay:calc(var(--slide-index) * 3s);will-change:opacity,transform}@keyframes loginCarousel{0%,to{opacity:0;transform:translate(76px) translateY(8px) scale(.965)}6%{opacity:1;transform:translate(0) translateY(0) scale(1)}23%{opacity:1;transform:translate(0) translateY(0) scale(1)}31%{opacity:0;transform:translate(-48px) translateY(4px) scale(.975)}}.auth-visual-card{min-height:250px;display:grid;place-items:center}.guard-scene{position:relative;width:min(100%,390px);aspect-ratio:1.35;display:grid;place-items:end center}.guard-scene:before{content:"";position:absolute;inset:16% 2% 8%;border-radius:var(--radius);background:linear-gradient(35deg,transparent 0 26%,rgba(255,255,255,.68) 26% 62%,transparent 62%),linear-gradient(180deg,rgba(0,185,107,.11),transparent);clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%)}.gate-house{position:relative;z-index:1;width:132px;height:132px;border-radius:var(--radius);background:linear-gradient(150deg,#fff,#eef9f5);border:1px solid rgba(166,198,187,.55);box-shadow:0 22px 34px #090b0b24}.house-roof{position:absolute;left:-12px;right:-12px;top:-16px;height:28px;border-radius:var(--radius);background:linear-gradient(180deg,#1d8f68,#74b49c);box-shadow:0 10px 18px #00b96b2e}.house-window{position:absolute;top:38px;width:42px;height:58px;border-radius:6px;background:linear-gradient(145deg,#24413d,#10201f);box-shadow:inset 0 0 0 4px #ffffff29}.window-left{left:20px}.window-right{right:20px}.gate-pillar{position:absolute;z-index:2;right:74px;bottom:18px;width:18px;height:82px;border-radius:8px;background:linear-gradient(180deg,#7bc0a7,#0f7f5c);box-shadow:0 12px 22px #090b0b21}.gate-barrier{position:absolute;z-index:2;right:8px;bottom:86px;width:176px;height:12px;border-radius:999px;background:repeating-linear-gradient(110deg,#fff 0 18px,#13885e 18px 36px);transform:rotate(-12deg);box-shadow:0 9px 16px #090b0b1f}.gate-plant{position:absolute;z-index:2;left:78px;bottom:20px;width:48px;height:48px;border-radius:70% 30% 60% 40%;background:linear-gradient(145deg,#9ed6a6,#277652);transform:rotate(-18deg)}.brand-mark{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand-mark span{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius);color:#090b0b;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.92),transparent 24%),linear-gradient(135deg,var(--primary),var(--aqua));font-weight:700;box-shadow:0 12px 24px #00b96b38,inset 0 1px #ffffffe6}.initial-avatar{width:44px;height:44px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.78);border-radius:999px;color:#063627;background:radial-gradient(circle at 28% 24%,rgba(255,255,255,.96),transparent 22%),linear-gradient(145deg,#20e6c1f2,#16d98be6);box-shadow:0 14px 30px #00b96b33,inset 0 1px #ffffffeb;font-size:14px;font-weight:800;letter-spacing:0}.initial-avatar-sm{width:34px;height:34px;font-size:12px}.initial-avatar-lg{width:56px;height:56px;font-size:18px}.brand-mark strong{display:block;font-size:18px}.brand-mark small,.topbar span,.stat-card span,dt{color:var(--muted);font-size:14px}.brand-mark.large span{width:56px;height:56px}.login-card{width:min(100%,430px);justify-self:center;display:grid;gap:16px;padding:24px;border-color:#ffffffb3;background:linear-gradient(145deg,#ffffffdb,#f0fafb9e),#ffffffb8;box-shadow:0 24px 60px #113f4829,inset 0 1px #ffffffd9;-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);animation:loginCardEnter .58s cubic-bezier(.2,.8,.2,1) both}.login-card-exiting{animation:loginCardExit .72s cubic-bezier(.2,.8,.2,1) both}.login-route-transition{position:fixed;z-index:120;inset:0;display:grid;place-items:center;overflow:hidden;color:#062218;background:radial-gradient(circle at 50% 50%,rgba(22,217,139,.28),transparent 10rem),#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;animation:loginRouteWash .92s cubic-bezier(.2,.8,.2,1) both}.login-route-transition:before,.login-route-transition:after{content:"";position:absolute;border-radius:999px}.login-route-transition:before{width:84px;height:84px;background:linear-gradient(145deg,var(--primary),var(--aqua));box-shadow:0 20px 54px #00b96b57,0 0 0 18px #16d98b21;animation:loginPulseCore .92s cubic-bezier(.2,.8,.2,1) both}.login-route-transition:after{width:118px;height:118px;border:1px solid rgba(0,185,107,.28);animation:loginPulseRing .92s cubic-bezier(.2,.8,.2,1) both}.login-route-transition span{position:relative;z-index:1;margin-top:156px;padding:9px 13px;border:1px solid rgba(184,241,216,.85);border-radius:var(--radius);background:#ffffffc7;box-shadow:0 14px 30px #090b0b14;font-weight:700;animation:loginRouteText .92s ease both}@keyframes loginCardEnter{0%{opacity:0;transform:translate(28px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes loginCardExit{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-38px) scale(.97)}}@keyframes loginRouteWash{0%{opacity:0;clip-path:circle(0% at 50% 50%)}42%{opacity:1}to{opacity:1;clip-path:circle(145% at 50% 50%)}}@keyframes loginPulseCore{0%{opacity:0;transform:translate(78px) scale(.42) rotate(-10deg)}55%{opacity:1;transform:translate(0) scale(1.08) rotate(0)}to{opacity:1;transform:translate(0) scale(1) rotate(0)}}@keyframes loginPulseRing{0%{opacity:0;transform:scale(.68)}to{opacity:.82;transform:scale(1.35)}}@keyframes loginRouteText{0%,34%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius);background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.92),transparent 24%),linear-gradient(145deg,#ddf9edeb,#20e6c147);color:#05603a;margin-bottom:18px}.login-subtitle{margin-top:-8px;font-size:15px}.login-options-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.login-options-row label{display:inline-flex;align-items:center;gap:8px}.login-options-row input{width:18px;height:18px;accent-color:var(--deep-green)}.authorized-box{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(184,241,216,.9);border-radius:var(--radius);background:linear-gradient(145deg,#ddf9edd1,#ffffffdb);color:#33413e;font-size:14px}.authorized-box svg,.authorized-box strong{color:#008f56}.app-shell{min-height:100vh;display:block;position:relative;overflow-x:hidden}.sidebar{display:none}.main-panel{min-width:0;overflow-x:hidden;padding:16px 16px calc(112px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar .button{display:none}.topbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-actions-portal{display:flex;align-items:center;gap:12px}.topbar-actions .button,.topbar-actions-portal .button{display:inline-flex!important}.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;min-height:58px;display:flex;align-items:center;justify-content:space-around;gap:2px;padding:6px 4px calc(10px + env(safe-area-inset-bottom)) 4px;background:#fffffff0;border:1px solid var(--border);border-width:1px 0 0;border-radius:0;box-shadow:0 -4px 18px #0f172a12;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}.bottom-nav-item,.bottom-nav a,.bottom-nav button{flex:1 1 0;min-width:0;max-width:76px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;color:#64748b;border-radius:8px;font-size:11px;font-weight:500;border:0;background:transparent;cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease;box-sizing:border-box}.bottom-nav-label,.bottom-nav a span,.bottom-nav button span{display:block;width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15;font-size:10.5px;letter-spacing:-.01em;padding:0 1px}.bottom-nav a:hover,.bottom-nav button:hover{color:#0f172a;background:#f1f5f9cc}.bottom-nav a.active{background:linear-gradient(145deg,#090b0b,#0c3a2d);color:#fff;box-shadow:0 2px 8px #0c3a2d47,inset 0 -2px #16d98bd9;border-radius:8px}.bottom-nav a.active .bottom-nav-label,.bottom-nav a.active span{font-weight:600;color:#fff}.bottom-nav a.active .bottom-nav-icon,.bottom-nav a.active svg{stroke:#16d98b}.mobile-drawer-backdrop{position:fixed;inset:0;z-index:100;background:#090b0b8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;animation:drawerFadeIn .2s ease}.mobile-drawer-sheet{width:min(85vw,320px);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:4px 0 32px #0003;animation:drawerSlideIn .22s cubic-bezier(.16,1,.3,1);overflow-y:auto}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mobile-drawer-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;transition:all .15s ease}.mobile-drawer-close:hover{background:#f1f5f9;color:#0f172a}.mobile-drawer-nav{display:flex;flex-direction:column;gap:4px;padding:14px 12px;flex:1;overflow-y:auto}.mobile-drawer-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;color:#334155;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s ease}.mobile-drawer-nav a .nav-icon-shell{display:flex;align-items:center;justify-content:center;color:#64748b}.mobile-drawer-nav a:hover{background:#f1f5f9;color:#0f172a}.mobile-drawer-nav a.active{background:linear-gradient(145deg,#090b0b,#0c3a2d);color:#fff;font-weight:600;box-shadow:0 2px 8px #0c3a2d40}.mobile-drawer-nav a.active .nav-icon-shell,.mobile-drawer-nav a.active svg{color:#16d98b;stroke:#16d98b}.mobile-drawer-footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;background:#f8fafc}.mobile-drawer-logout-btn{width:100%!important;justify-content:flex-start!important;font-size:14px!important;color:#ef4444!important}.mobile-drawer-logout-btn:hover{background:#fee2e2!important}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.page-stack,.form-stack{display:grid;gap:16px}.page-intro{display:grid;gap:16px;align-items:center}.two-column-page{display:grid;gap:18px;align-items:start}.centered-page{width:min(100%,720px);margin:0 auto}.card{position:relative;min-width:0;border:1px solid var(--border);background:linear-gradient(145deg,#ffffffc2,#edf8fa94),var(--glass);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 1px #ffffffd1;padding:16px;-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.button{min-height:44px;border:1px solid transparent;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:600;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease;white-space:nowrap}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.58;cursor:not-allowed}.button-primary{background:#090b0b;color:#fff;box-shadow:inset 0 -3px #16d98b73}.button-secondary{background:#ffffffb8;border-color:var(--border);color:var(--text)}.button-success{background:var(--deep-green);color:#fff}.button-danger{background:var(--danger);color:#fff}.button-ghost{background:#ffffff2e;color:var(--text)}.button-full{width:100%}.button-loading{pointer-events:none}.button-spinner{width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:7px;min-width:0}.field-label{font-size:14px;color:#202525}.field-description,.field-error{font-size:14px}.field-description{color:var(--muted)}.field-error{color:var(--danger)}.input{width:100%;min-height:46px;border:1px solid var(--border);border-radius:var(--radius);background:#ffffffad;color:var(--text);padding:10px 12px;outline:none}.textarea{min-height:108px;resize:vertical}.input:focus{border-color:var(--deep-green);box-shadow:0 0 0 4px #16d98b2e}.input-error{border-color:var(--danger)}.form-grid{display:grid;gap:14px}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;border:1px solid var(--border);background:#f4fbfc9e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius)}.segmented-control button,.chip-row button{min-height:44px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.segmented-control button.active{background:linear-gradient(145deg,#090b0b,#123d31);color:#fff}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip-row button{border:1px solid var(--border);background:#ffffffb3;padding:0 12px;color:#26302f}.sticky-action{position:static;margin-top:18px;padding:0;background:transparent;width:100%;display:flex}.sticky-action button,.sticky-action .button{width:100%;min-height:48px;justify-content:center;font-size:15px;font-weight:600;border-radius:12px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;width:100%}.dashboard-action-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-action-card{min-width:0;min-height:118px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,rgba(221,249,237,.54),transparent 56%),#fff;box-shadow:0 12px 24px #090b0b0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-action-card:hover{transform:translateY(-2px);border-color:#00b96b57;box-shadow:0 18px 36px #090b0b17}.dashboard-action-card strong{display:block;margin-bottom:4px;font-size:17px}.dashboard-action-card p{font-size:14px}.dashboard-action-card b{font-size:24px;font-weight:600;color:#067647}.dashboard-action-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius);color:#062218;background:linear-gradient(145deg,#ffffff,var(--mint));box-shadow:0 10px 18px #090b0b14,inset 0 1px #fffffff2}.date-orbit{display:grid;gap:14px;padding:14px;border:1px solid rgba(228,233,232,.9);border-radius:10px;background:linear-gradient(135deg,#16d98b29,#20e6c10d 42%,#ffffffeb),#fff;box-shadow:0 18px 42px #090b0b14;perspective:900px}.date-orbit-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.compact-date-picker-wrap{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid rgba(4,120,87,.25);border-radius:10px;padding:6px 12px;box-shadow:0 2px 6px #0000000a;transition:all .2s ease;flex:0 0 auto}.compact-date-picker-wrap:hover{border-color:#047857;background:#f0fdf4}.compact-date-input{border:none;outline:none;background:transparent;font-size:13px;font-weight:700;color:#047857;cursor:pointer;font-family:inherit;padding:0;height:24px}.date-orbit-copy{display:flex;align-items:center;gap:12px;min-width:0}.date-orbit-copy h2{font-size:20px;overflow-wrap:anywhere}.date-orbit-copy p{font-size:14px}.date-orbit-icon,.admin-user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#062218;background:linear-gradient(145deg,#ffffff,var(--mint));box-shadow:0 10px 22px #00b96b2e,inset 0 1px #fffffff2;flex:0 0 auto}.date-orbit-rail{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px}.date-arrow{min-width:42px;width:42px;padding:0;background:#ffffffb8;border-color:#e4e9e8e6;box-shadow:0 9px 18px #090b0b0f}.date-arrow span{display:none}.date-cards{min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(58px,1fr);gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin}.date-card{min-height:86px;min-width:58px;display:grid;place-items:center;gap:2px;border:1px solid rgba(228,233,232,.95);border-radius:10px;background:linear-gradient(160deg,#fff,#f6fbfa);color:#26302f;box-shadow:0 12px 22px #090b0b14,inset 0 1px #ffffffe6;cursor:pointer;transform:rotateX(0) translateY(0);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.date-card:hover,.date-card.active{border-color:#00b96b94;transform:rotateX(8deg) translateY(-4px);box-shadow:0 18px 32px #00b96b33,inset 0 1px #fff}.date-card.active{background:linear-gradient(145deg,#065f46,#047857);color:#fff}.date-card span,.date-card small,.native-date-jump span{font-size:12px;color:inherit}.date-card strong{font-size:24px;font-weight:600}.native-date-jump{display:grid;gap:6px}.native-date-jump input{min-height:44px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:0 12px;color:var(--text)}.stat-card,.stat-card.stat-card-clickable,.stat-card.stat-card-active{min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px!important;border-radius:16px!important;background:#fff!important;background-color:#fff!important;background-image:none!important;opacity:1!important;border:1px solid #E2E8F0!important;box-shadow:0 4px 16px #0000000a,0 1px 2px #00000005!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important;min-height:96px}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #04785714!important;border-color:#a7f3d0!important}.stat-card.stat-card-clickable{cursor:pointer!important;-webkit-user-select:none;user-select:none}.stat-card.stat-card-clickable:hover{transform:translateY(-2px);border-color:#10b981!important;box-shadow:0 8px 20px #10b9811f!important}.stat-card.stat-card-active,.stat-card-active{background:#fff!important;background-color:#fff!important;background-image:none!important;border-color:#10b981!important;box-shadow:0 4px 16px #10b98129!important;outline:2px solid #10B981!important;outline-offset:-1px}.stat-card-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:block}.stat-card-row{display:flex;align-items:center;justify-content:space-between;width:100%}.stat-card-value{font-size:28px;font-weight:800;color:#0f172a;line-height:1.1;display:block}.stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-green .stat-icon{background:#dcfce7!important;color:#15803d!important}.stat-blue .stat-icon{background:#e0f2fe!important;color:#0369a1!important}.stat-amber .stat-icon{background:#fef3c7!important;color:#b45309!important}.stat-red .stat-icon{background:#fee2e2!important;color:#b91c1c!important}.stat-grey .stat-icon{background:#f1f5f9!important;color:#475569!important}.status{display:inline-flex;align-items:center;max-width:100%;min-height:28px;padding:4px 9px;border-radius:7px;font-size:14px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.status-upcoming,.status-info{background:#e6f0ff;color:#1857ad}.status-inside,.status-invalidated_inside{background:var(--mint);color:#05603a}.status-overdue{background:#fff4db;color:#905500}.status-completed{background:#eef2f2;color:#5c6362}.status-invalidated{background:#ffe9ea;color:#aa262b}.responsive-data{min-width:0;overflow-x:auto}.dashboard-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:#fff}.data-table.dashboard-pass-table{min-width:860px}.dashboard-pass-table .button{min-height:38px}.data-table{display:none}.mobile-card-list{display:grid;gap:12px}.appointment-card,.user-row,.pass-admin-row{display:grid;gap:12px;border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:#fff}.appointment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appointment-card-head span{display:block;color:var(--muted);overflow-wrap:anywhere}.meta-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0}.meta-grid div{min-width:0}dt{margin-bottom:3px}dd{margin:0;overflow-wrap:break-word;word-break:break-word}.card-actions,.inline-actions,.qr-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.icon-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#202525;cursor:pointer;white-space:nowrap}.phone-link{display:inline-flex;align-items:center;gap:6px;color:#067647;font-weight:600;overflow-wrap:anywhere}.muted-action{color:var(--muted);font-size:14px}.qr-pass-wrap{display:grid;gap:12px}.qr-pass-card{width:min(100%,380px);min-height:470px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:32px 24px 48px;border-radius:28px;background:url(/gatepass_crpf.jpg) center/100% 100% no-repeat!important;box-shadow:0 20px 45px #0000002e;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.7);text-align:center}.qr-card-header{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px}.qr-card-tag{font-size:11px;font-weight:800;letter-spacing:.14em;color:#0369a1;text-transform:uppercase}.qr-card-name{font-size:26px;font-weight:800;color:#0f172a;margin:0;line-height:1.2}.qr-card-code{font-size:18px;font-weight:800;font-family:monospace;color:#0369a1;letter-spacing:.05em;background:transparent!important;padding:0;border:none!important;box-shadow:none!important;margin-top:2px}.qr-zone{display:grid;place-items:center;width:100%;padding:0;margin-top:6px;position:relative;background:transparent!important;border:none!important;box-shadow:none!important}.modal-qr-card{display:grid;gap:12px;padding:0;border:none!important;background:transparent!important;box-shadow:none!important}.modal-qr-card header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.modal-qr-card strong{display:block;font-size:16px}.modal-qr-card p{font-size:14px}.modal-qr-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius);color:#062218;background:linear-gradient(145deg,#ffffff,var(--mint));box-shadow:0 10px 18px #090b0b14,inset 0 1px #fffffff2}.modal-qr-zone{background:#fff}.pass-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.pass-detail-grid .wide{grid-column:1 / -1}.invalid-reason,.warning-panel{padding:12px;border-radius:var(--radius);background:#ffe9ea;color:#8b2024;font-size:14px}.gate-pass-detail-panel{display:grid;gap:14px;max-width:100%;overflow-x:hidden;box-sizing:border-box}.pass-timing-alert,.gate-notice{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius);font-size:14px}.pass-timing-info{background:#e6f0ff;color:#1857ad}.pass-timing-success,.gate-notice-success{background:var(--mint);color:#05603a;border:1px solid #b8f1d8}.pass-timing-danger,.gate-notice-danger{background:#ffe9ea;color:#8b2024;border:1px solid #ffd4d6}.pass-timing-neutral{background:#eef2f2;color:#4c5553}.gate-notice{justify-content:space-between;box-shadow:0 12px 22px #090b0b0f}.gate-notice button{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(9,11,11,.08);border-radius:var(--radius);background:#ffffffb8;cursor:pointer;color:inherit}.preview-card{display:grid;place-items:start;gap:12px;min-height:260px;background:#fff6!important;backdrop-filter:blur(24px) saturate(1.8)!important;-webkit-backdrop-filter:blur(24px) saturate(1.8)!important;border:1px solid rgba(255,255,255,.65)!important;box-shadow:0 16px 40px #0478570f!important}.error-banner,.success-banner{display:grid;gap:4px;padding:12px;border-radius:var(--radius);font-size:14px}.error-banner{color:#8b2024;background:#ffe9ea;border:1px solid #ffd4d6}.success-banner{color:#05603a;background:var(--mint);border:1px solid #b8f1d8}.issue-list,.user-list,.pass-admin-actions,.timeline-list{display:grid;gap:12px}.issue-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.issue-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius);background:#eef2f2}.issue-medium .issue-icon{background:#fff4db;color:#905500}.issue-high .issue-icon{background:#ffe9ea;color:#aa262b}.issue-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.issue-title-row span{font-size:12px;color:var(--muted)}.suggestion{margin-top:10px;color:#26302f;font-size:14px}.search-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:end;gap:10px}.toggle-row{min-height:46px;display:flex;align-items:center;gap:10px}.toggle-row input{width:20px;height:20px;accent-color:var(--deep-green)}.admin-user-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-user-card{min-width:0;display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(145deg,rgba(221,249,237,.42),transparent 48%),#fff;box-shadow:0 12px 24px #090b0b0f}.admin-user-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.admin-user-head h3,.admin-user-head p,.admin-user-meta span{overflow-wrap:anywhere}.admin-user-head p{color:var(--muted);font-size:14px}.admin-user-meta{display:grid;gap:8px}.admin-user-meta span{min-width:0;display:flex;align-items:center;gap:8px;color:#3b4543;font-size:14px}.admin-user-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.active-dot,.inactive-dot{font-size:14px;color:var(--muted)}.active-dot:before,.inactive-dot:before{content:"";width:8px;height:8px;display:inline-block;border-radius:999px;margin-right:6px;background:var(--success)}.inactive-dot:before{background:var(--danger)}.reset-box,.user-card-panel{display:grid;gap:10px;grid-column:1 / -1;padding-top:10px;border-top:1px solid var(--border)}.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;align-items:center;background:#090b0b61;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));overflow-y:auto}@media(max-width:768px){.modal-backdrop{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}}.modal-sheet{width:min(100%,600px);max-width:100vw;max-height:min(calc(100dvh - 32px),760px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.45) transparent;margin:0 auto;display:grid;gap:14px;padding:16px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);box-sizing:border-box}.modal-sheet::-webkit-scrollbar{width:6px;height:6px}.modal-sheet::-webkit-scrollbar-track{background:transparent}.modal-sheet::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:9999px}.modal-sheet::-webkit-scrollbar-thumb:hover{background:#64748b99}@media(max-width:768px){.modal-sheet{max-height:calc(100dvh - 20px);width:100%;border-radius:12px}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-close-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius);color:#26302f;background:linear-gradient(145deg,#fff,#eef2f2);box-shadow:0 10px 18px #090b0b14,inset 0 1px #fffffff5;cursor:pointer}.modal-copy{color:#26302f}.loading-line,.empty-state{color:var(--muted);padding:16px}.empty-state{display:grid;gap:6px;border:1px dashed var(--border);border-radius:var(--radius);background:#fbfdfd}.pass-admin-list{min-width:0}.timeline-item{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.person-cell{min-width:0;display:inline-flex;align-items:center;gap:10px}.person-cell strong{overflow-wrap:anywhere}.card,.dashboard-action-card,.date-orbit,.appointment-card,.admin-user-card,.issue-card,.timeline-item,.qr-pass-card,.modal-qr-card,.modal-sheet,.empty-state{border-color:var(--glass-border);background:linear-gradient(145deg,#ffffffc2,#eef9fb8f),#f6fcfd99;box-shadow:0 18px 48px #113f481c,inset 0 1px #ffffffd9;-webkit-backdrop-filter:blur(18px) saturate(1.28);backdrop-filter:blur(18px) saturate(1.28)}.appointment-card,.admin-user-card,.issue-card,.timeline-item{background:linear-gradient(90deg,#ffffffc7,#eef8faa3),var(--glass-row)}.qr-zone,.modal-qr-zone,.input,.native-date-jump input{border-color:#b7d3d58f;background:#ffffffb8;box-shadow:inset 0 1px #ffffffdb}.date-card,.icon-link,.button-secondary{border-color:#ffffffb8;background:linear-gradient(145deg,#ffffffc2,#ebf7f994),#ffffffa3;box-shadow:0 12px 28px #113f4817,inset 0 1px #ffffffd1;-webkit-backdrop-filter:blur(14px) saturate(1.18);backdrop-filter:blur(14px) saturate(1.18)}.error-banner{background:#ffe9eab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.success-banner,.gate-notice-success,.pass-timing-success{background:#ddf9edb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pass-timing-info{background:#e6f0ffb8}.pass-timing-neutral{background:#eef2f2b8}.pass-timing-danger,.gate-notice-danger{background:#ffe9eabd}@media(min-width:1024px){.sidebar{border-right-color:#ffffffad;background:linear-gradient(180deg,#ffffffbd,#e8f6f98a),#ffffff94;box-shadow:22px 0 48px #113f4814,inset -1px 0 #ffffffa3;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3)}.side-nav a{background:#ffffff29}.side-nav a:hover{background:#ffffffa8}.side-nav a.active{background:linear-gradient(145deg,#090b0bf0,#0a3e2ff0);border-color:#ffffff6b}}@media(max-width:359px){.stat-grid,.pass-detail-grid,.dashboard-action-card{grid-template-columns:1fr}.main-panel{padding-inline:12px}.button{width:100%}}@media(max-width:767px){.auth-page{padding:14px}.auth-shell{padding:14px;border-radius:14px}.login-carousel{width:min(100%,300px)}.auth-copy{min-height:0}.login-card{width:100%}.user-dashboard-intro-copy,.user-dashboard-intro-action{display:none}.dashboard-action-card{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-action-card svg:last-child{display:none}}@media(max-width:359px){.dashboard-action-card{grid-template-columns:1fr}.dashboard-action-card b{justify-self:start}}@media(min-width:430px){.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){h1{font-size:32px;font-weight:400}.auth-page{padding:48px}.auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(360px,430px);align-items:stretch;padding:24px}.main-panel{padding:24px 24px 40px}.bottom-nav{display:none}.form-grid,.two-column-page{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-action{position:static;background:transparent;width:auto;display:inline-flex}.sticky-action button,.sticky-action .button{width:auto;min-height:42px}.data-table{display:table;width:100%;border-collapse:separate;border-spacing:0;min-width:1180px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:14px}.data-table th{position:sticky;top:0;z-index:1;background:#f8fbfa;color:#394240;font-weight:600}.wrap-cell{max-width:240px;white-space:normal}.mobile-card-list{display:none}.modal-backdrop{align-items:center}.modal-sheet{border-radius:var(--radius)}.page-intro{grid-template-columns:minmax(0,1fr) auto}.admin-user-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar{position:relative;min-height:100vh;height:100vh;display:flex;flex-direction:column;gap:16px;padding:22px;border-right:1px solid var(--border);background:#ffffffd6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:4px}.side-nav{display:grid;align-content:start;gap:8px;flex:1 1 auto}.side-nav a{min-width:0;min-height:44px;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:11px;color:#4a5351;border:1px solid transparent;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.side-nav a>span:last-child,.brand-mark div{min-width:0;overflow-wrap:anywhere}.side-nav a:hover{transform:translate(4px);background:#fff;border-color:var(--border);box-shadow:0 12px 24px #090b0b0f}.side-nav a.active{background:#090b0b;color:#fff;box-shadow:inset 4px 0 0 var(--primary)}.nav-icon-shell{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#062218;background:linear-gradient(145deg,#ffffff,var(--mint));box-shadow:0 10px 18px #090b0b14,inset 0 1px #fffffff2}.side-nav a.active .nav-icon-shell{background:linear-gradient(145deg,var(--primary),var(--aqua));color:#090b0b}.sidebar-actions{display:grid;gap:12px;margin-top:auto}.sidebar-actions .button{justify-content:flex-start;width:100%}.main-panel{width:100%;max-width:1240px;height:100vh;overflow-y:auto;justify-self:center;padding:28px 32px 48px}.admin-users-page{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)}}@media(min-width:1280px){.main-panel{padding-inline:40px}.two-column-page{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}}@media(min-width:768px){.responsive-data{padding:10px;border:1px solid var(--glass-border);border-radius:14px;background:linear-gradient(145deg,#ffffff94,#e8f6f985),#eff9fb8a;box-shadow:0 20px 54px #113f481c,inset 0 1px #ffffffd1;-webkit-backdrop-filter:blur(18px) saturate(1.24);backdrop-filter:blur(18px) saturate(1.24)}.data-table{border-collapse:separate;border-spacing:0 10px}.data-table th,.data-table td{border-bottom:0}.data-table th{top:-10px;background:#f7fcfdd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.data-table tbody td{background:#f8fcfdb8;box-shadow:inset 0 1px #ffffffc7}.data-table tbody tr td:first-child{border-radius:12px 0 0 12px}.data-table tbody tr td:last-child{border-radius:0 12px 12px 0}.data-table tbody tr{transition:transform .16s ease,filter .16s ease}.data-table tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 12px 22px rgba(17,63,72,.1))}}@media(min-width:1024px){.sidebar{border-right-color:#ffffffad;background:linear-gradient(180deg,#ffffffbd,#e8f6f98a),#ffffff94;box-shadow:22px 0 48px #113f4814,inset -1px 0 #ffffffa3;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3)}.side-nav a{background:#ffffff29}.side-nav a:hover{background:#ffffffa8}.side-nav a.active{background:linear-gradient(145deg,#090b0bf0,#0a3e2ff0);border-color:#ffffff6b;box-shadow:inset 4px 0 0 var(--primary),0 14px 28px #090b0b1f}}:root{--radius: 18px;--radius-sm: 12px;--surface-solid: #ffffff;--surface-glass: rgba(255, 255, 255, .88);--surface-row: rgba(248, 253, 252, .82);--border-soft: rgba(220, 232, 228, .9);--shadow-soft: 0 18px 50px rgba(26, 77, 61, .08);--shadow-hover: 0 24px 60px rgba(26, 77, 61, .12)}body{color:#101514;background:radial-gradient(circle at top left,rgba(32,230,193,.16),transparent 30%),radial-gradient(circle at bottom right,rgba(22,217,139,.14),transparent 32%),linear-gradient(135deg,#f7faf9,#eff8f5 45%,#f4f7f6)}h1{font-size:32px;font-weight:400;letter-spacing:0}h2{font-size:24px;font-weight:500;letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,217,139,.28);outline-offset:3px}.card,.date-orbit,.dashboard-action-card,.appointment-card,.issue-card,.issue-card-v2,.profile-card,.timeline-item,.modal-sheet,.preview-card{border:1px solid rgba(255,255,255,.65)!important;border-radius:20px!important;background:#fff6!important;box-shadow:0 16px 40px #0478570f,inset 0 1px #fffffff2!important;backdrop-filter:blur(24px) saturate(1.8)!important;-webkit-backdrop-filter:blur(24px) saturate(1.8)!important}.card{padding:20px}.card-header{min-width:0;align-items:center;margin-bottom:18px}.card-header h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button,.icon-link{min-height:44px;border-radius:13px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.button:hover:not(:disabled),.icon-link:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #1a4d3d1a}.button:disabled,.icon-link:disabled{opacity:.52;cursor:not-allowed;transform:none}.button-primary{background:linear-gradient(145deg,#101514,#073629);box-shadow:0 16px 34px #10151429,inset 0 -3px #16d98b80}.button-success{background:linear-gradient(145deg,#16d98b,#00b96b);color:#062218;box-shadow:0 16px 32px #00b96b38}.button-secondary,.icon-link{border-color:#d6e5e0f2;background:linear-gradient(145deg,#fffffff5,#f2f9f7db),#fff;color:#22302d}.button-danger{background:linear-gradient(145deg,#f05b60,#e5484d);box-shadow:0 16px 32px #e5484d2e}.button .button-spinner{flex:0 0 auto}.action-button{min-height:38px;height:38px;padding-inline:12px;border-radius:11px;font-size:14px}.field{gap:8px}.field-label{color:#1f2927;font-size:14px;font-weight:600}.field-description,.field-error{font-size:13px;line-height:1.4}.input,.native-date-jump input{min-height:50px;border:1px solid #dde7e3;border-radius:14px;background:#fff;box-shadow:0 1px 2px #14413208;color:#101514;padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input::placeholder{color:#9aa5a1}.input:focus,.native-date-jump input:focus{border-color:#16d98b;background:#fff;box-shadow:0 0 0 4px #16d98b1f}.input-error{border-color:#e5484d;box-shadow:0 0 0 4px #e5484d17}.textarea{min-height:112px}.form-grid{gap:16px}.search-row{grid-template-columns:28px minmax(0,1fr);align-items:center}.search-row>svg{margin-top:28px;color:#008f56}.status{min-height:30px;gap:6px;padding:6px 10px;border-radius:9px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1.15;white-space:nowrap;overflow-wrap:normal;word-break:normal}.status svg{flex:0 0 auto}.status-upcoming,.status-info{border-color:#3182f629;background:#eaf3ff;color:#1857ad}.status-inside,.status-invalidated_inside{border-color:#16b9782e;background:#ddf9ed;color:#05603a}.status-overdue{border-color:#f2a93b38;background:#fff4db;color:#8a4d00}.status-completed{border-color:#5f726e24;background:#eef4f2;color:#47504e}.status-invalidated{border-color:#e5484d29;background:#ffe9ea;color:#a32328}.identity-cell{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:11px;vertical-align:middle}.identity-copy{min-width:0;display:grid;gap:2px}.identity-name,.identity-meta,.nowrap{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}.identity-name{color:#101514;font-size:15px;font-weight:700;line-height:1.24;white-space:nowrap}.identity-meta{display:block;color:#707a77;font-size:13px;line-height:1.2;white-space:nowrap}.person-cell{width:100%;min-width:0;display:inline-flex;align-items:center;gap:10px}.person-cell strong{overflow-wrap:normal;word-break:normal}.phone-link,.nowrap{white-space:nowrap}.phone-link{max-width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}.wrap-cell{white-space:normal;overflow-wrap:break-word;word-break:normal}.responsive-data{position:relative;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;border:1px solid var(--border-soft);border-radius:22px;background:linear-gradient(145deg,#ffffffeb,#edf9f5c2),#ffffffe0;box-shadow:var(--shadow-soft),inset 0 1px #ffffffeb;padding:14px}.responsive-data:after{content:"Scroll for more";position:sticky;right:12px;bottom:8px;float:right;display:inline-flex;margin-top:8px;padding:5px 9px;border:1px solid rgba(214,229,224,.9);border-radius:999px;background:#ffffffe6;color:#5c6966;font-size:12px;font-weight:600;box-shadow:0 8px 18px #1a4d3d14}.responsive-data::-webkit-scrollbar{height:10px}.responsive-data::-webkit-scrollbar-track{border-radius:999px;background:#dde9e5a3}.responsive-data::-webkit-scrollbar-thumb{border:2px solid rgba(221,233,229,.64);border-radius:999px;background:linear-gradient(90deg,#16d98b,#20e6c1)}.data-table{border-collapse:separate;border-spacing:0 10px;table-layout:fixed}.gate-pass-table{min-width:2290px}.dashboard-pass-table{min-width:1420px}.data-table th,.data-table td{min-width:0;padding:16px 14px;border-bottom:0;text-align:left;vertical-align:middle;font-size:14px;line-height:1.35}.data-table th{height:64px;position:sticky;top:0;z-index:4;color:#44504d;font-weight:700;white-space:nowrap;background:#ffffff80!important;box-shadow:inset 0 -1px #d6e5e099;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.data-table tbody td{min-height:82px;background:#ffffff59!important;box-shadow:inset 0 1px #fff9}.data-table tbody tr{transition:transform .16s ease,filter .16s ease}.data-table tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 14px 24px rgba(26,77,61,.1))}.data-table tbody tr td:first-child{border-radius:15px 0 0 15px}.data-table tbody tr td:last-child{border-radius:0 15px 15px 0}.col-person{width:220px}.col-pass{width:170px}.col-creator{width:240px}.col-phone{width:150px}.col-category{width:120px}.col-purpose{width:210px}.col-persons{width:94px}.col-room{width:120px}.col-vehicle{width:160px}.col-date{width:190px}.col-time,.col-state{width:150px}.col-actions{width:210px}.data-table .inline-actions{flex-wrap:nowrap;gap:7px}.data-table .button,.data-table .icon-link{min-height:38px}.mobile-card-list{gap:14px}.appointment-card{padding:16px}.appointment-card-head{align-items:flex-start}.appointment-card-head>.person-cell{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.mobile-pass-title{color:#707a77;font-size:13px;font-weight:700}.meta-grid{gap:12px}dt{color:#7d8985;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0}dd{color:#26302f;word-break:normal;overflow-wrap:break-word}.empty-state{min-height:164px;align-items:center;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:22px;border:1px dashed rgba(167,202,190,.9);border-radius:20px;background:radial-gradient(circle at 8% 20%,rgba(32,230,193,.16),transparent 9rem),#ffffffc7}.empty-state-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;color:#05603a;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.94),transparent 28%),linear-gradient(145deg,#ddf9edfa,#20e6c142);box-shadow:0 16px 30px #00b96b24}.empty-state-copy{display:grid;gap:4px}.empty-state h3{color:#101514}.empty-state p{font-size:14px}.loading-line{position:relative;min-height:164px;display:grid;align-content:center;gap:12px;padding:22px;border:1px solid var(--border-soft);border-radius:20px;overflow:hidden;color:#5d6a66;background:#ffffffc7}.loading-line:before,.loading-line:after{content:"";display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#e6f1edd9,#ffffffeb,#e6f1edd9);background-size:220% 100%;animation:skeletonWash 1.3s ease-in-out infinite}.loading-line:before{width:min(100%,420px)}.loading-line:after{width:min(72%,320px)}@keyframes skeletonWash{0%{background-position:120% 0}to{background-position:-120% 0}}.modal-backdrop{background:#0f172a73!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}.modal-sheet,.modal-qr-card{background:#fff!important;background-color:#fff!important;background-image:none!important;opacity:1!important;border:1px solid #E2E8F0!important;box-shadow:0 24px 64px #00000024!important;border-radius:24px!important;padding:22px!important;animation:modalIn .22s ease both}.modal-header{padding-bottom:6px}.modal-close-button{border-radius:14px}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.error-banner,.success-banner,.pass-timing-alert,.gate-notice,.warning-panel{border-radius:16px;line-height:1.45}.auth-shell{border-radius:28px;background:radial-gradient(circle at 18% 18%,rgba(22,217,139,.13),transparent 22rem),radial-gradient(circle at 88% 18%,rgba(32,230,193,.1),transparent 24rem),#ffffffc7}.login-carousel{overflow:visible}.login-carousel:after{inset:-34px;background:radial-gradient(ellipse at center,transparent 42%,rgba(255,255,255,.52) 68%,rgba(255,255,255,.94) 88%),linear-gradient(90deg,rgba(255,255,255,.98) 0%,transparent 24%,transparent 76%,rgba(255,255,255,.98) 100%),linear-gradient(180deg,rgba(255,255,255,.98) 0%,transparent 22%,transparent 78%,rgba(255,255,255,.96) 100%)}.login-carousel img{inset:-28px -42px;width:calc(100% + 84px);height:calc(100% + 56px);object-fit:contain;transform:translate(92px) translateY(8px) scale(.965);-webkit-mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.58) 72%,transparent 91%),linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 18%,#000 84%,transparent 100%);-webkit-mask-composite:source-in,source-in;mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.58) 72%,transparent 91%),linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 18%,#000 84%,transparent 100%);mask-composite:intersect}.login-card{border-radius:24px;padding:30px}.admin-user-head{grid-template-columns:minmax(0,1fr) auto}.admin-user-head .identity-cell{width:100%}.admin-user-meta span{overflow-wrap:normal;word-break:normal}@media(min-width:768px){.data-table{display:table;width:max-content}.mobile-card-list{display:none}}@media(min-width:768px)and (max-width:1023px){.app-shell{display:grid!important;grid-template-columns:200px minmax(0,1fr)!important;height:100vh!important;overflow:hidden!important}.sidebar{display:grid!important;grid-template-rows:auto 1fr auto!important;gap:16px!important;padding:16px 10px!important;min-height:100vh!important;height:100vh!important;border-right:1px solid var(--border)!important;background:#ffffffeb!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;overflow-y:auto!important}.brand-mark{gap:8px!important;padding:4px 0!important}.brand-mark strong{font-size:13px!important}.brand-mark small{font-size:11px!important}.side-nav{display:grid!important;align-content:start!important;gap:4px!important}.side-nav a{min-height:40px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:7px 8px!important;font-size:13px!important;border-radius:10px!important;color:#4a5351!important;border:1px solid transparent!important;transition:transform .18s ease,background .18s ease!important}.side-nav a:hover{background:#fff!important;border-color:var(--border)!important}.side-nav a.active{background:#090b0b!important;color:#fff!important}.nav-icon-shell{width:30px!important;height:30px!important;min-width:30px!important}.sidebar-actions{display:grid!important;gap:8px!important}.sidebar-actions .button{justify-content:flex-start!important;width:100%!important;font-size:13px!important}.bottom-nav{display:none!important}.main-panel{padding:18px 18px 36px!important;height:100vh!important;overflow-y:auto!important;width:100%!important;max-width:100%!important}.topbar h1{font-size:24px!important}.page-stack{gap:14px!important}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.stat-card{padding:14px 12px!important;border-radius:14px!important}.stat-card .stat-label{font-size:10px!important}.stat-card .stat-card-row strong{font-size:22px!important}.date-orbit{padding:12px!important}.gatekeeper-filter-tabs{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:6px!important}.gatekeeper-filter-btn{padding:8px 6px!important;font-size:12px!important;border-radius:10px!important}.search-row{gap:8px!important}.data-table,.pass-record-list{display:none!important}.pass-mobile-list,.mobile-card-list{display:flex!important;flex-direction:column!important;gap:12px!important}.pass-scroll-shell{overflow:visible!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.pass-scroll-shell:after{display:none!important}.tablet-pass-card{padding:16px!important;gap:12px!important;border-radius:16px!important}.two-column-page{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.admin-users-page{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.admin-user-grid,.admin-user-grid-v2,.admin-user-grid-square{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.role-card-box{flex:1 1 calc(50% - 8px)!important;min-width:0!important}.issue-grid-v2{gap:14px!important}.issue-card-v2{padding:16px!important;border-radius:14px!important}.issue-filter-pills{flex-wrap:wrap!important;gap:6px!important}.issue-filter-btn{padding:7px 12px!important;font-size:12px!important}.card{padding:14px!important;border-radius:16px!important}.pass-scroll-shell-compact{padding:10px!important;overflow-x:visible!important}.pass-record-row-compact{grid-template-columns:50px minmax(0,1.2fr) minmax(0,1.3fr) minmax(100px,.8fr) minmax(90px,auto)!important;column-gap:12px!important;padding:14px 16px!important;min-height:100px!important}.modal-sheet{max-width:min(90vw,640px)!important;max-height:85vh!important;overflow-y:auto!important}.meta-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.auth-shell{width:min(100%,680px);grid-template-columns:minmax(0,1fr);justify-items:center}.auth-copy,.auth-form-panel{width:100%}.auth-copy{min-height:390px}.login-carousel{width:min(100%,420px)}.responsive-data{padding:8px!important;border-radius:12px!important}.audit-table-wrap{overflow-x:auto!important}}@media(min-width:1024px){.main-panel{max-width:min(1440px,calc(100vw - 272px))}.sticky-person,.sticky-pass{position:sticky;z-index:5;background:linear-gradient(145deg,#f8fdfcfa,#f1faf7fa),#f9fdfc}th.sticky-person,th.sticky-pass{z-index:8;background:linear-gradient(180deg,#f4fcf9,#eaf8f3fa),#f6fbfa}.gate-pass-table .sticky-person{left:0}.gate-pass-table .sticky-pass{left:220px;box-shadow:16px 0 22px -22px #1a4d3d61}.dashboard-pass-table .sticky-pass{left:0}.dashboard-pass-table .sticky-person{left:170px;box-shadow:16px 0 22px -22px #1a4d3d61}}@media(max-width:768px){h1{font-size:22px;font-weight:500}.topbar{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:16px!important;width:100%!important}.topbar>div:first-child{width:100%!important;text-align:left!important}.topbar h1{font-size:20px!important;font-weight:700!important;line-height:1.25!important;white-space:normal!important;word-break:break-word!important;margin:0!important;width:100%!important}.topbar-actions,#topbar-actions{width:100%!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-start!important;align-items:stretch!important}.topbar-actions>div,.topbar-actions>*,.topbar-actions-portal{width:100%!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;align-items:stretch!important}.topbar-actions .button,.topbar-actions button,.topbar-actions-portal .button,.topbar-actions-portal button{flex:1 1 calc(50% - 6px)!important;min-width:0!important;max-width:100%!important;justify-content:center!important;font-size:12.5px!important;padding:8px 10px!important;white-space:nowrap!important;height:auto!important;min-height:38px!important;text-align:center!important}.responsive-data{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;overflow:visible}.responsive-data:after{display:none}.card{padding:16px;border-radius:20px}.card-header{align-items:flex-start;flex-direction:column}.card-header h2{white-space:normal}.appointment-card,.admin-user-card,.issue-card,.timeline-item{border-radius:20px}.appointment-card-head{display:grid;grid-template-columns:minmax(0,1fr)}.appointment-card-head .status{justify-self:start}.inline-actions,.card-actions{gap:8px}.inline-actions .button,.inline-actions .icon-link,.card-actions .button,.card-actions .icon-link{flex:1 1 128px}.auth-page{padding:14px}.auth-shell{padding:14px;border-radius:24px}.auth-copy{min-height:300px}.login-card{padding:22px}.login-options-row{align-items:flex-start;flex-direction:column}}.pass-scroll-shell{padding:18px;background:linear-gradient(145deg,#ffffffe6,#edf9f5b8),#ffffffd1}.pass-scroll-shell:after{content:"Scroll to view more"}.pass-record-list{display:grid;min-width:1860px;gap:16px}.pass-record-row{min-height:140px;display:grid;grid-template-columns:64px minmax(170px,1.15fr) minmax(205px,1.25fr) minmax(145px,.9fr) minmax(200px,1.25fr) minmax(145px,.9fr) minmax(180px,1.05fr) minmax(150px,1fr) minmax(132px,auto) minmax(210px,auto);align-items:center;column-gap:24px;padding:22px 26px;border:1px solid rgba(255,255,255,.72)!important;border-radius:20px!important;background:linear-gradient(135deg,#ffffffd1,#f0fdf4ad)!important;box-shadow:0 16px 40px #04785714,inset 0 1px #fffffff2!important;backdrop-filter:blur(28px) saturate(1.8)!important;-webkit-backdrop-filter:blur(28px) saturate(1.8)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pass-record-row:hover{transform:translateY(-2px);border-color:#04785761!important;box-shadow:0 22px 50px #04785724,inset 0 1px #fffffffa!important}.pass-identity{display:grid;place-items:center}.pass-identity .initial-avatar-lg,.pass-mobile-head .initial-avatar-lg{width:58px;height:58px;font-size:17px;box-shadow:0 16px 34px #00b96b33,0 0 0 6px #ddf9ed94,inset 0 1px #fffffff0}.pass-info-group{min-width:0;display:grid;align-content:center;gap:14px}.pass-info-pair{min-width:0;display:grid;gap:4px}.pass-info-label{color:#87918e;font-size:12px;font-weight:400;line-height:1.1;letter-spacing:0}.pass-info-value{min-width:0;color:#252f2c;font-size:15px;font-weight:600;line-height:1.28;word-break:normal;overflow-wrap:normal}.pass-info-value-default{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pass-info-value-email,.pass-info-value-id{overflow-wrap:anywhere}.pass-info-value-nowrap{white-space:nowrap}.pass-state-group{justify-items:start}.pass-record-row .status,.pass-mobile-card .status{min-width:max-content;white-space:nowrap}.pass-actions{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.pass-actions .action-button{min-width:0;height:38px;min-height:38px}.pass-actions .button-danger{padding-inline:11px}.pass-mobile-list{display:none}.pass-mobile-card{min-width:0;display:grid;gap:16px;padding:16px;border:1px solid rgba(221,233,229,.9);border-radius:20px;background:radial-gradient(circle at 0 0,rgba(32,230,193,.12),transparent 11rem),#ffffffeb;box-shadow:0 14px 34px #14503c14}.pass-mobile-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.pass-mobile-head .status{grid-column:1 / -1;justify-self:start}.pass-mobile-title{min-width:0;display:grid;gap:3px}.pass-mobile-title strong,.pass-mobile-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;word-break:normal}.pass-mobile-title strong{color:#101514;font-size:17px;font-weight:700;white-space:nowrap}.pass-mobile-title span{color:#64716d;font-size:13px;font-weight:600;overflow-wrap:anywhere}.pass-mobile-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.pass-mobile-card .pass-actions{padding-top:2px}.pass-mobile-card .pass-actions .button,.pass-mobile-card .pass-actions .icon-link{flex:1 1 118px}@media(max-width:767px){.pass-scroll-shell{overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.pass-record-list{display:none}.pass-mobile-list{display:grid}.pass-info-value{font-size:15px}.pass-info-value-default{display:block;overflow:visible;-webkit-line-clamp:initial}}@media(max-width:360px){.pass-mobile-grid{grid-template-columns:minmax(0,1fr)}.pass-mobile-card .pass-actions .button,.pass-mobile-card .pass-actions .icon-link{flex-basis:100%}}.pass-scroll-shell-compact{padding:14px;overflow-x:visible}.pass-scroll-shell-compact:after{display:none}.pass-record-list-compact{min-width:0;width:100%;gap:12px}.pass-record-row-compact{min-height:116px;grid-template-columns:58px minmax(0,1.15fr) minmax(0,1.35fr) minmax(116px,.8fr) minmax(104px,auto);column-gap:18px;padding:18px 20px;overflow:hidden;border-color:#ffffffa8;background:linear-gradient(145deg,#ffffffb3,#ebfaf46b),#ffffff85;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.pass-record-row-user{grid-template-columns:58px minmax(0,1.1fr) minmax(0,1.15fr) minmax(0,1.35fr) minmax(100px,auto)}.pass-record-row-compact .pass-info-group{gap:10px}.compact-middle-actions{justify-items:start;gap:8px}.compact-view-button{min-height:34px;height:34px;padding-inline:10px;border-radius:10px;background:#ffffffc7}.pass-actions-vertical{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:8px}.pass-actions-vertical .action-button{width:100%;min-height:36px;height:36px;justify-content:center;padding-inline:9px}.time-remaining-badge{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:800;white-space:nowrap}.time-remaining-success{color:#067647;border-color:#16a34a2e;background:#dcfce7c7}.time-remaining-warning{color:#9a6700;border-color:#d9770638;background:#fef3c7cc}.time-remaining-danger,.time-remaining-overdue{color:#b42318;border-color:#dc262638;background:#fee2e2db}.pass-record-overdue{border-color:#ef444461;background:linear-gradient(145deg,#ffffffbd,#fff1f2c2),#ffffffad;box-shadow:0 18px 42px #b91c1c1a,inset 4px 0 #dc2626ad}.pass-identity .initial-avatar-lg,.pass-mobile-head .initial-avatar-lg,.gate-action-summary .initial-avatar-lg{color:#fff;background:radial-gradient(circle at 30% 22%,rgba(112,255,203,.86),transparent 28%),linear-gradient(145deg,#062f23,#0a6b47 52%,#00ae68);text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 16px 34px #0078483d,0 0 0 6px #ddf9ed9e,inset 0 1px #ffffff47}.dashboard-table-search{margin-bottom:14px}.gate-pass-detail-panel .profile-grid>div,.gatekeeper-view-panel .profile-grid>div,.gate-action-facts>div{padding:14px 16px;border:1px solid rgba(226,232,240,.9);border-radius:14px;background:#fff;box-shadow:0 4px 12px #0f172a0a;display:flex;flex-direction:column;gap:4px}.gate-action-panel{gap:16px}.gate-action-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:linear-gradient(145deg,#ffffffb8,#e3faf08a),#ffffff80;box-shadow:0 12px 28px #14503c14}.gate-action-summary strong,.gate-action-summary span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.gate-action-summary strong{color:#10201b;font-size:18px;font-weight:800;white-space:nowrap}.gate-action-summary span{color:#66736f;font-size:13px;font-weight:700;overflow-wrap:anywhere}.gate-action-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.gate-action-facts dt{display:inline-flex;align-items:center;gap:6px}.gate-action-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;border-radius:14px;color:#065f46;background:#d1fae5c2}.gate-action-progress span{width:18px;height:18px;border:3px solid rgba(6,95,70,.18);border-top-color:#06945d;border-radius:999px;animation:spin .7s linear infinite}.gate-action-progress p{margin:0;font-size:13px;font-weight:700}.gate-action-buttons .button{min-width:148px}.purpose-field-row,.purpose-field-row .field{width:100%}.purpose-field-row .input{min-height:52px}.duration-selector-wrap{display:flex;flex-direction:column;gap:6px;width:100%;box-sizing:border-box}.duration-pill-group{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:3px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;width:100%;min-height:46px;align-items:center;transition:border-color .2s ease,box-shadow .2s ease}.duration-pill-group.has-error{border-color:#ef4444!important}.duration-pill-btn{display:flex;align-items:center;justify-content:center;min-height:38px;padding:4px 6px;font-size:13px;font-weight:600;font-family:inherit;color:#475569;background:transparent;border:0;border-radius:calc(var(--radius) - 3px);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .18s ease-in-out;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis}.duration-pill-btn:hover:not(.active){background:#f1f5f9;color:#0f172a}.duration-pill-btn.active{background:#064e3b;color:#fff;font-weight:700;box-shadow:0 2px 8px #064e3b3d}.duration-badge-bar{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;font-size:12px;color:#065f46;width:fit-content;box-sizing:border-box;animation:fadeInDurationBadge .2s ease-in-out}.duration-badge-label{font-weight:600;color:#047857}.duration-badge-time{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:#064e3b}.duration-clock-icon{color:#059669;flex-shrink:0}.duration-custom-input-box{width:100%;animation:fadeInDurationInput .2s ease-in-out}.duration-custom-input-box .custom-form-input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);padding:8px 12px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease}.duration-custom-input-box .custom-form-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98126}.modern-time-picker-wrap{position:relative;width:100%}.compact-time-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:52px;min-height:52px;padding:0 16px;background:#fff;border:1.5px solid #CBD5E1;border-radius:10px!important;color:var(--text, #0f172a);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}@media(max-width:640px){.compact-time-trigger{height:48px;min-height:48px;padding:0 14px;border-radius:10px!important}}.compact-time-trigger:hover:not(:disabled){border-color:#94a3b8}.compact-time-trigger.active{border-color:#047857;box-shadow:0 0 0 3px #064e3b1f}.compact-time-trigger.input-has-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444426!important}.compact-time-text{font-size:15px;font-weight:600;color:#0f172a;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.compact-time-icon{color:#64748b;flex-shrink:0}.compact-time-trigger.active .compact-time-icon{color:#059669}.compact-time-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px -5px #0f172a29,0 0 0 1px #0f172a0d;padding:10px;animation:compactTimeFade .15s ease-out}@keyframes compactTimeFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.compact-time-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid #f1f5f9}.compact-time-title{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.compact-time-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:2px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.compact-time-close-btn:hover{color:#334155;background:#f1f5f9}.compact-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compact-time-col{background:#f8fafc;border-radius:8px;padding:4px;border:1px solid #f1f5f9}.compact-col-label{font-size:10px;font-weight:700;text-transform:uppercase;color:#64748b;text-align:center;padding-bottom:4px;border-bottom:1px solid #e2e8f0;margin-bottom:4px}.compact-col-scroll{max-height:135px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:4px 2px 6px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.compact-col-scroll::-webkit-scrollbar{width:4px}.compact-col-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.compact-cell{width:100%;padding:6px 0;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:600;color:#334155;cursor:pointer;text-align:center;line-height:1.2;transition:all .12s ease}.compact-cell:hover{background:#ecfdf5;color:#047857}.compact-cell.active{background:#047857;color:#fff;font-weight:700}@keyframes fadeInDurationBadge{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDurationInput{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.duration-pill-btn{font-size:12.5px;padding:4px;min-height:40px}.duration-badge-bar{font-size:12px;padding:6px 10px}}@media(max-width:360px){.duration-pill-group{gap:3px;padding:3px}.duration-pill-btn{font-size:11.5px;padding:3px 2px;letter-spacing:-.2px}}.two-column-page>div:last-child .qr-pass-wrap{justify-items:center}.two-column-page>div:last-child .qr-pass-card,.two-column-page>div:last-child .qr-actions{width:min(100%,420px)}.qr-actions{justify-content:center}.qr-actions .button{flex:1 1 124px}.gate-notice{position:fixed;top:22px;right:22px;z-index:90;width:min(430px,calc(100vw - 32px));animation:gateNoticeIn .28s ease both}.gate-notice span{font-weight:750}@keyframes gateNoticeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1180px){.pass-record-row-compact{grid-template-columns:54px minmax(0,1fr) minmax(0,1.2fr) minmax(104px,.8fr) minmax(98px,auto);column-gap:14px;padding-inline:16px}.pass-record-row-compact .pass-info-value{font-size:14px}.pass-record-row-compact .time-remaining-badge{white-space:normal}}@media(max-width:767px){.pass-scroll-shell-compact{padding:0}.pass-mobile-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-mobile-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.8fr);gap:10px;align-items:stretch}.compact-mobile-actions .compact-view-button,.compact-mobile-actions .pass-actions{width:100%}.gate-action-summary{grid-template-columns:auto minmax(0,1fr)}.gate-action-summary .status{grid-column:1 / -1;justify-self:start}.gate-action-facts{grid-template-columns:minmax(0,1fr)}.gate-notice{inset:auto 16px 96px;width:auto}}@media(max-width:420px){.compact-mobile-actions{grid-template-columns:minmax(0,1fr)}}.person-avatar{display:inline-grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:999px;background:radial-gradient(circle at 30% 22%,rgba(112,255,203,.7),transparent 32%),linear-gradient(145deg,#062f23,#0a6b47 52%,#00ae68);box-shadow:0 16px 34px #00784833,0 0 0 6px #ddf9ed8f,inset 0 1px #ffffff61}.person-avatar-sm{width:34px;height:34px}.person-avatar-md{width:44px;height:44px}.person-avatar-lg{width:58px;height:58px}.person-avatar img{width:100%;height:100%;display:block;object-fit:cover}.pass-identity .person-avatar-lg,.pass-mobile-head .person-avatar-lg,.gate-action-summary .person-avatar-lg{width:58px;height:58px}.brand-mark .person-avatar{width:44px;height:44px;border-radius:999px;padding:0;color:inherit;background:radial-gradient(circle at 30% 22%,rgba(112,255,203,.7),transparent 32%),linear-gradient(145deg,#062f23,#0a6b47 52%,#00ae68)}.identity-cell .person-avatar-sm{width:34px;height:34px;box-shadow:0 10px 22px #00784829,0 0 0 4px #ddf9ed80,inset 0 1px #ffffff52}.pass-actions-footer{width:100%;display:grid}.pass-actions-vertical .pass-actions-footer{grid-column:1 / -1}.pass-actions-vertical .time-remaining-badge{justify-content:center;white-space:normal;text-align:center}.dashboard-pass-section .pass-scroll-shell-compact{background:linear-gradient(145deg,#ffffffbd,#edf9f58a),#ffffffa8}.dashboard-pass-green .pass-record-row-compact{border-color:#1bb76c33;background:linear-gradient(145deg,#f0fdf4db,#ffffffad),#e8fff294;box-shadow:0 16px 38px #065f4614,inset 4px 0 #16a34a8c}.dashboard-pass-danger .pass-record-row-compact,.pass-record-overdue{border-color:#f8717157;background:linear-gradient(145deg,#fff7f7e6,#ffebeead),#ffffff9e;box-shadow:0 18px 42px #b91c1c1a,inset 4px 0 #ef444494}.pager-actions{display:inline-flex;align-items:center;gap:8px}.pager-actions span{min-width:48px;color:#63706c;font-size:13px;font-weight:800;text-align:center}.pager-actions .button{min-height:36px;padding-inline:10px}.admin-users-page-v2{gap:18px}.admin-users-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 2px}.admin-users-hero h2{margin:0;color:#10201b;font-size:28px;font-weight:850}.admin-users-hero p{margin:4px 0 0;color:#63706c}.role-tab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.role-tab-grid button{min-width:0;min-height:112px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.68);border-radius:18px;color:#17231f;background:linear-gradient(145deg,#ffffffb8,#ebfaf485),#ffffff94;box-shadow:0 14px 32px #14503c14,inset 0 1px #ffffffc7;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.role-tab-grid button:hover,.role-tab-grid button.active{transform:translateY(-2px);border-color:#10b98157;box-shadow:0 18px 40px #14503c1f,inset 0 1px #ffffffe0}.role-tab-grid button.active{background:radial-gradient(circle at 90% 20%,rgba(34,197,94,.16),transparent 8rem),linear-gradient(145deg,#e6fff1e0,#ffffffb3)}.role-tab-art{width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:18px;color:#064e3b;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.95),transparent 28%),linear-gradient(145deg,#fff,#bbf7d0d1);box-shadow:0 12px 26px #14503c1a,inset 0 1px #ffffffe6;transition:transform .22s ease}.role-tab-art img{width:78%;height:78%;display:block;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(6,78,59,.14))}.role-tab-grid button:hover .role-tab-art{transform:rotate(-4deg) scale(1.04)}.role-tab-copy{min-width:0;display:grid;justify-items:start;gap:4px}.role-tab-copy strong,.role-tab-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis}.role-tab-copy strong{font-size:16px;font-weight:850}.role-tab-copy small{color:#66736f;font-size:13px;font-weight:700}.create-user-tile{background:linear-gradient(145deg,#064e3beb,#0a8052e6),#064e3b!important;color:#fff!important}.create-user-tile .role-tab-art{color:#fff;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.4),transparent 28%),#ffffff2e}.create-user-tile .role-tab-copy small{color:#ffffffc7}.table-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-user-grid-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.admin-user-card-v2{min-height:248px;border-color:#ffffffad;border-radius:18px;background:linear-gradient(145deg,#ffffffb8,#ebfaf47a),#ffffff94;box-shadow:0 14px 34px #14503c14,inset 0 1px #fffc}.admin-user-card-v2 .admin-user-head{grid-template-columns:minmax(0,1fr) auto}.admin-user-card-v2 .admin-user-meta{padding:12px;border:1px solid rgba(226,239,235,.78);border-radius:14px;background:#ffffff80}.admin-user-card-v2 .admin-user-meta span{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#43504d;font-weight:700}.admin-user-card-v2 .admin-user-footer{align-items:end;gap:12px}.admin-user-card-v2 .inline-actions{justify-content:flex-end}.user-card-identity{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.user-card-identity strong,.user-card-identity span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis}.user-card-identity strong{color:#10201b;font-size:17px;font-weight:850;white-space:nowrap}.user-card-identity span{color:#63706c;font-size:13px;font-weight:650}.audit-log-list{display:grid;gap:12px}.audit-log-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:15px;border:1px solid rgba(255,255,255,.68);border-radius:18px;background:linear-gradient(145deg,#ffffffbd,#ebfaf475),#fff9;box-shadow:0 12px 30px #14503c12,inset 0 1px #ffffffc7}.audit-log-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;color:#064e3b;background:linear-gradient(145deg,#fffffff5,#bbf7d0bd)}.audit-log-main,.audit-log-main header,.audit-log-body{min-width:0}.audit-log-main header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.audit-log-main strong,.audit-log-main span,.audit-log-main small{display:block}.audit-log-main strong{color:#10201b;font-size:16px;font-weight:850}.audit-log-main span,.audit-log-main small{color:#66736f;font-size:13px;font-weight:700}.audit-log-body{display:grid;gap:12px}.audit-log-actor{min-width:0;padding:10px 12px;border:1px solid rgba(226,239,235,.76);border-radius:14px;color:#43504d;background:#ffffff80}.audit-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.audit-change-grid>div{min-width:0;padding:12px;border:1px solid rgba(226,239,235,.84);border-radius:14px;background:#ffffff94}.audit-change-grid dd{min-width:0;display:flex;align-items:center;gap:6px;color:#26302f;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.audit-change-grid dt{margin-bottom:5px;color:#7a8783;font-size:11px;font-weight:850;text-transform:uppercase}@media(max-width:900px){.role-tab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-change-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.role-tab-grid{grid-template-columns:minmax(0,1fr)}.admin-users-hero h2{font-size:24px}.pager-actions .button span{display:none}}.role-card-box{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:16px;border:1px solid rgba(226,232,240,.9);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:left;box-shadow:0 4px 12px #00000008}.default-role-card{background:#fff!important;border-color:#e2e8f0!important}.default-role-card:hover{border-color:#10b981!important;transform:translateY(-2px);box-shadow:0 8px 20px #04785724!important}.active-role-card{background:linear-gradient(135deg,#0284c7,#0f172a)!important;border-color:#38bdf8!important;box-shadow:0 8px 24px #0284c74d!important}.role-tab-art-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}.art-icon-default{background:#064e3b;color:#34d399}.art-icon-active{background:#ffffff38;color:#fff}.art-icon-create{background:#047857;color:#fff}.text-white{color:#fff!important}.text-blue-100{color:#e0f2fe!important}.text-slate-900{color:#0f172a!important}.text-slate-500{color:#64748b!important}.admin-user-square-card{border-radius:18px;padding:20px;background:#fff;border:1px solid #E2E8F0;box-shadow:0 4px 16px #0000000a;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:all .2s ease-in-out}.admin-user-square-card:hover{border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 10px 24px #0284c71f}.audit-timeline-container{display:flex;flex-direction:column;gap:16px;margin-top:8px}.audit-card-v3{background:#fff;border-radius:16px;border:1px solid #E2E8F0;padding:18px 22px;box-shadow:0 4px 12px #00000008;transition:all .2s ease}.audit-card-v3:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0000000f}.audit-card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #F1F5F9;margin-bottom:14px}.audit-card-title-group{display:flex;align-items:center;gap:12px}.audit-badge-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:13px;font-weight:700}.audit-badge-green{background:#dcfce7;color:#15803d}.audit-badge-blue{background:#e0f2fe;color:#0369a1}.audit-badge-red{background:#fee2e2;color:#b91c1c}.audit-badge-purple{background:#f3e8ff;color:#6b21a8}.audit-entity-tag{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#64748b;font-weight:600;background:#f8fafc;padding:4px 10px;border-radius:8px;border:1px solid #E2E8F0}.audit-timestamp{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.audit-actor-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.audit-system-actor{display:flex;align-items:center;gap:8px;color:#64748b;font-size:14px;font-weight:600}.audit-ip-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.audit-diff-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.audit-diff-box{background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:10px 14px}.audit-diff-box.old-values{border-left:3px solid #EF4444}.audit-diff-box.new-values{border-left:3px solid #22C55E}.diff-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:#64748b;margin-bottom:4px}.audit-diff-box code{font-family:inherit;font-size:13px;color:#1e293b;white-space:pre-wrap;line-height:1.4}.auth-page-v2{min-height:100vh;display:grid;place-items:center;padding:32px 20px;position:relative;background:#0f172a;overflow:hidden}.auth-backdrop-gradient{position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(2,132,199,.25),transparent 40%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.2),transparent 40%);pointer-events:none}.auth-shell-v2{width:min(100%,1020px);display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;position:relative;z-index:10}@media(max-width:860px){.auth-shell-v2{grid-template-columns:1fr}}.auth-hero-banner{color:#f8fafc;display:flex;flex-direction:column;gap:24px}.auth-brand-logo{display:flex;align-items:center;gap:14px}.brand-logo-icon{width:52px;height:52px;border-radius:16px;background:#38bdf826;border:1px solid #38BDF8;color:#38bdf8;display:grid;place-items:center}.brand-logo-text{font-size:24px;font-weight:800;color:#f8fafc;display:block}.brand-logo-sub{font-size:13px;color:#94a3b8}.auth-hero-content h1{font-size:32px;font-weight:800;line-height:1.25;color:#f8fafc;margin-bottom:12px}.auth-hero-content p{color:#94a3b8;font-size:16px;line-height:1.6}.auth-feature-pills{display:flex;flex-wrap:wrap;gap:12px}.feature-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;background:#1e293bcc;border:1px solid #334155;color:#38bdf8;font-size:13px;font-weight:600}.login-card-v2{background:#fff!important;border-radius:24px!important;padding:36px 32px!important;box-shadow:0 25px 50px -12px #00000059!important}.login-card-header{text-align:center;margin-bottom:24px}.login-badge-icon{width:56px;height:56px;border-radius:28px;background-color:#e0f2fe;color:#0284c7;display:inline-grid;place-items:center;margin-bottom:12px}.login-card-header h2{font-size:24px;font-weight:800;color:#0f172a;margin-bottom:6px}.login-subtitle{font-size:14px;color:#64748b}.remember-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;cursor:pointer}.security-note{font-size:12px;color:#94a3b8;font-weight:600}.demo-accounts-shortcut{margin-top:16px;padding-top:16px;border-top:1px solid #F1F5F9;display:flex;align-items:center;gap:12px;font-size:13px;color:#64748b}.demo-buttons-group{display:flex;gap:8px}.demo-pill{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;border:none;cursor:pointer;transition:transform .15s ease}.demo-pill:hover{transform:translateY(-1px)}.admin-pill{background:#e0e7ff;color:#3730a3}.gk-pill{background:#dcfce7;color:#166534}.user-pill{background:#e0f2fe;color:#075985}.active-role-card-green{background:linear-gradient(135deg,#059669,#064e3b)!important;border-color:#10b981!important;box-shadow:0 8px 24px #10b98147!important}.text-emerald-100{color:#d1fae5!important}.admin-users-filter-card{margin-bottom:2px}.admin-users-search-wrap,.admin-users-filter-card .complaint-search-box{width:100%}.admin-users-filter-card .complaint-search-input{width:100%;padding-right:38px}.admin-users-filter-card .admin-users-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:#64748b;border:none;cursor:pointer;padding:0;transition:all .15s ease;z-index:2}.admin-users-filter-card .admin-users-search-clear:hover{background:#cbd5e1;color:#0f172a}.table-pagination-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin-top:16px;border-top:1px solid #e2e8f0;flex-wrap:wrap}.table-pagination-footer .pagination-text{font-size:13px;font-weight:600;color:#64748b}.table-pagination-footer .pager-actions{display:inline-flex;align-items:center;gap:10px}.table-pagination-footer .pager-actions span{font-size:13px;font-weight:700;color:#334155;min-width:44px;text-align:center}@media(max-width:640px){.admin-users-filter-card{padding:12px}.table-pagination-footer{flex-direction:column;align-items:center;gap:12px;padding:14px 10px;text-align:center}.table-pagination-footer .pager-actions{width:100%;justify-content:center}}.admin-user-grid-square{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.square-user-card,.admin-user-square-card,.admin-user-card-v2{background:#fff!important;background-color:#fff!important;background-image:none!important;opacity:1!important;border:1px solid #E2E8F0!important;border-radius:20px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;box-shadow:0 4px 16px #0000000a!important;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.square-user-card:hover,.admin-user-square-card:hover,.admin-user-card-v2:hover{border-color:#10b981!important;transform:translateY(-3px);box-shadow:0 12px 28px #10b98124!important}.square-card-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}.status-pill{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase}.active-pill{background:#dcfce7;color:#15803d}.inactive-pill{background:#fee2e2;color:#b91c1c}.square-card-body{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.square-card-body h3{font-size:17px;font-weight:700;color:#0f172a;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.square-card-details{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:6px;padding:10px;background:#f8fafc;border-radius:12px;border:1px solid #F1F5F9;font-size:12px;color:#64748b}.square-card-details span{display:flex;align-items:center;justify-content:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.square-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%;margin-top:auto;padding-top:12px;border-top:1px solid #F1F5F9}.square-card-actions .button{flex:1 1 auto;font-size:12px;padding:6px 10px}.issue-filter-pills{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.issue-filter-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;background:#fff;border:1px solid #E2E8F0;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.issue-filter-btn:hover{border-color:#059669;color:#059669}.issue-filter-btn.active-filter{background:linear-gradient(135deg,#059669,#064e3b)!important;border-color:#10b981!important;color:#fff!important;font-weight:700!important;box-shadow:0 8px 24px #10b98147!important}.filter-count{background:#00000014;padding:2px 7px;border-radius:10px;font-size:11px}.issue-filter-btn.active-filter .filter-count{background:#ffffff38!important;color:#fff!important}.issue-grid-v2{display:flex;flex-direction:column;gap:18px}.issue-card-v2{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 14px #00000008;transition:all .2s ease}.issue-card-v2:hover{border-color:#cbd5e1;box-shadow:0 8px 22px #0000000f}.issue-card-v2-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.issue-title-group{display:flex;flex-direction:column;gap:6px}.issue-title-group h3{font-size:17px;font-weight:700;color:#0f172a}.issue-severity-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:700;width:fit-content}.issue-badge-high{background:#fee2e2;color:#991b1b}.issue-badge-medium{background:#fef3c7;color:#92400e}.issue-badge-low{background:#e0f2fe;color:#075985}.issue-code-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;font-family:monospace;background:#f1f5f9;color:#475569;padding:5px 12px;border-radius:10px;border:1px solid #E2E8F0}.issue-explanation-panel{background:#f8fafc;border-left:4px solid #64748B;padding:12px 16px;border-radius:8px;color:#334155;font-size:14px;line-height:1.5}.issue-tone-high .issue-explanation-panel{border-left-color:#ef4444;background:#fef2f2}.issue-tone-medium .issue-explanation-panel{border-left-color:#f59e0b;background:#fffbeb}.issue-tone-low .issue-explanation-panel{border-left-color:#0284c7;background:#f0f9ff}.issue-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0;padding:12px 16px;background:#f8fafc;border-radius:12px;border:1px solid #F1F5F9}.issue-meta-grid dt{font-size:11px;font-weight:700;text-transform:uppercase;color:#94a3b8;margin-bottom:4px}.issue-meta-grid dd{font-size:13px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:6px;margin:0}.pass-number-tag{color:#059669!important;font-family:monospace}.issue-suggestion-box{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#ecfdf5;border:1px solid #A7F3D0;border-radius:12px;color:#065f46;font-size:13px}.issue-suggestion-box strong{display:block;font-size:12px;text-transform:uppercase;color:#047857;margin-bottom:2px}.empty-issues-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;color:#64748b;text-align:center}.form-field-shell{display:flex;flex-direction:column;gap:6px;width:100%}.form-field-label{font-size:13px;font-weight:600;color:#334155}.form-field-error{font-size:12px;color:#ef4444;font-weight:500;margin-top:2px}.form-field-description{font-size:12px;color:#64748b;margin-top:2px}.input-container{position:relative;width:100%;display:flex;align-items:center}.custom-form-input{width:100%;height:52px;padding:0 16px;font-size:15px;font-family:inherit;color:#0f172a;background-color:#fff;border:1.5px solid #CBD5E1;border-radius:10px;transition:border-color .2s ease,box-shadow .2s ease;outline:none;box-sizing:border-box}.custom-form-input:hover:not(:disabled){border-color:#94a3b8}.custom-form-input:focus{border-color:#047857;box-shadow:0 0 0 3px #064e3b1f}.custom-form-input.input-has-error{border-color:#ef4444!important}.custom-form-input.input-has-error:focus{box-shadow:0 0 0 3px #ef44441f!important}.input-container.has-start-icon .custom-form-input{padding-left:46px}.input-container.has-end-icon .custom-form-input{padding-right:48px}.custom-form-input.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;padding-right:42px;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}.custom-form-input.select::-ms-expand{display:none}.custom-form-input.select option{color:#0f172a;background:#fff;padding:10px 12px;font-size:14px}.custom-form-input.textarea{height:auto;min-height:100px;padding:12px 14px;line-height:1.5;resize:vertical}@media(max-width:640px){.custom-form-input{height:48px;font-size:14.5px;padding:0 12px}.custom-form-input.select{padding-right:36px;background-position:right 12px center;background-size:14px 14px}}.input-start-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none;display:flex;align-items:center;justify-content:center}.input-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:transparent;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;outline:none;padding:0;transition:background .15s ease,color .15s ease}.input-password-toggle:hover{background:#f1f5f9;color:#0f172a}.readonly-info-shell{display:flex;flex-direction:column;gap:6px;width:100%}.readonly-info-label{font-size:13px;font-weight:600;color:#334155}.readonly-info-box{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;background:#f8fafc;border:1.5px solid #E2E8F0;border-radius:10px;color:#475569;font-size:14px;font-weight:500;overflow:hidden;box-sizing:border-box}.readonly-info-icon{color:#64748b;display:flex;align-items:center;justify-content:center}.readonly-info-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readonly-badge-wrapper{display:flex;align-items:center}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4,#e6f4ea);box-sizing:border-box}.auth-shell-container{width:min(100%,1200px);min-height:640px;display:grid;grid-template-columns:55% 45%;background:#fff!important;border-radius:28px!important;box-shadow:0 24px 64px #064e3b14,0 4px 16px #00000005!important;border:1px solid rgba(255,255,255,.9)!important;overflow:hidden}.auth-carousel-section{position:relative;background:linear-gradient(150deg,#064e3b,#022c22)!important;display:flex;flex-direction:column;justify-content:space-between;padding:32px 36px;color:#fff!important;overflow:hidden;border-radius:28px 0 0 28px}.auth-brand-header{display:flex;align-items:center;gap:12px;z-index:10}.brand-badge-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #10b9814d}.brand-text-block{display:flex;flex-direction:column}.brand-title{font-size:22px;font-weight:800;color:#fff!important;letter-spacing:-.02em;line-height:1.1}.brand-subtitle{font-size:11.5px;color:#a7f3d0!important;font-weight:500}.carousel-stage{position:relative;flex:1;margin:20px 0 10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.carousel-images-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:24px;overflow:hidden}.carousel-image{position:absolute;inset:0;width:100%;height:100%;border-radius:18px;object-fit:cover!important;opacity:0;transition:opacity .6s ease-in-out}.carousel-image.is-active{opacity:1;border-radius:18px}.carousel-indicators{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;z-index:10}.carousel-dot{width:8px;height:8px;border-radius:999px;background:#ffffff59!important;border:none;cursor:pointer;padding:0;transition:all .3s ease;outline:none}.carousel-dot.dot-active{width:24px;background:#34d399!important}.auth-form-section{display:flex;align-items:center;justify-content:center;padding:56px 48px;min-height:680px;background:#fff!important}.login-auth-card{width:100%;max-width:400px;border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important}.login-header-block{margin-bottom:24px;text-align:left}.login-shield-badge{width:50px;height:50px;border-radius:14px;background:#ecfdf5;color:#047857;display:flex;align-items:center;justify-content:center;margin-bottom:14px;border:1px solid #A7F3D0}.login-card-title{font-size:26px;font-weight:750;color:#0f172a;margin:0 0 6px;letter-spacing:-.02em}.login-card-subtitle{font-size:13.5px;color:#64748b;margin:0;line-height:1.45}.login-form-stack{display:flex;flex-direction:column;gap:18px}.login-options-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#475569}.remember-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-checkbox{width:16px;height:16px;accent-color:#047857;cursor:pointer}.forgot-password-link{color:#047857;font-weight:600;text-decoration:none;font-size:13px}.forgot-password-link:hover{text-decoration:underline}.enterprise-security-banner{display:flex;align-items:center;gap:10px;background:#eef8f3!important;color:#0d7c59!important;padding:12px 14px;border-radius:12px;font-size:12.5px;font-weight:500}.security-banner-icon{flex-shrink:0}.login-submit-button{height:50px;font-size:15px;border-radius:12px;background:linear-gradient(135deg,#065f46,#047857)!important;color:#fff!important;font-weight:650;cursor:pointer;box-shadow:0 8px 20px #04785747!important;transition:transform .15s ease,box-shadow .15s ease!important}.login-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #04785759!important}.login-footer-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;font-size:12px;color:#047857;font-weight:600;background:#ecfdf5;padding:8px 12px;border-radius:20px;border:1px solid #D1FAE5}.profile-page-container{max-width:1140px;margin:0 auto;padding:24px 16px}.profile-page-header{margin-bottom:24px}.profile-page-title{font-size:26px;font-weight:700;color:#0f172a;margin:0 0 4px}.profile-page-subtitle{font-size:14px;color:#64748b;margin:0}.profile-grid-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.profile-left-column,.profile-right-column{display:flex;flex-direction:column;gap:24px}.profile-card{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:24px;box-shadow:0 4px 20px #00000008}.summary-avatar-container{display:flex;justify-content:center;margin-bottom:16px}.summary-user-name{font-size:20px;font-weight:700;color:#0f172a;text-align:center;margin:0 0 8px}.summary-role-badge-row{display:flex;justify-content:center;margin-bottom:20px}.summary-info-rows{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid #F1F5F9}.activity-card-header{display:flex;align-items:center;gap:8px;color:#064e3b;font-weight:600;margin-bottom:16px}.activity-card-header h3{margin:0;font-size:16px;color:#0f172a}.activity-log-rows{display:flex;flex-direction:column;gap:14px}.activity-log-item{display:flex;flex-direction:column;gap:4px}.log-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;font-weight:500}.log-value{font-size:13px;font-weight:600;color:#1e293b}.profile-form-stack{display:flex;flex-direction:column;gap:20px}.profile-readonly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.profile-dual-grid,.password-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.password-policy-note{font-size:12px;color:#64748b;margin:0;line-height:1.4}.profile-button-row{display:flex;justify-content:flex-start;margin-top:8px}.profile-clean-stack{width:100%;display:flex;flex-direction:column;gap:24px}@media(max-width:900px){.profile-grid-layout{grid-template-columns:1fr}}@media(max-width:767px){.profile-dual-grid,.password-dual-grid{grid-template-columns:1fr}}@media(max-width:1023px){.auth-shell-container{grid-template-columns:1fr!important;max-width:520px!important;border-radius:24px!important;min-height:auto!important}.auth-carousel-section{padding:24px 28px!important;min-height:260px!important;max-height:300px!important;border-radius:24px 24px 0 0!important}.auth-brand-header{gap:10px!important}.carousel-images-frame{border-radius:20px!important;overflow:hidden!important}.carousel-image{object-fit:cover!important;object-position:center!important;border-radius:20px!important}.brand-badge-logo{width:36px!important;height:36px!important}.brand-title{font-size:18px!important}.brand-subtitle{font-size:10px!important}.carousel-stage{margin:12px 0 6px!important}.carousel-caption-card{display:none!important}.auth-form-section{padding:36px 32px!important;min-height:auto!important}.login-card-title{font-size:26px!important}}@media(max-width:639px){.auth-page{padding:20px 10px 10px!important;align-items:flex-start!important}.auth-shell-container{max-width:100%!important;border-radius:20px!important;min-height:auto!important}.auth-carousel-section{padding:18px 20px!important;min-height:300px!important;max-height:340px!important;border-radius:20px 20px 0 0!important}.carousel-images-frame{border-radius:20px!important;overflow:hidden!important}.carousel-image{object-fit:cover!important;object-position:center!important;border-radius:20px!important}.brand-badge-logo{width:32px!important;height:32px!important;border-radius:8px!important}.brand-title{font-size:16px!important}.brand-subtitle{font-size:9px!important}.carousel-stage{margin:8px 0 4px!important}.auth-form-section{padding:24px 18px!important;min-height:auto!important}.login-card-title{font-size:22px!important}.login-form-stack{gap:14px!important}.login-submit-button{min-height:46px!important;font-size:14px!important}.profile-page-container{padding:16px 12px}.profile-card{padding:18px}}@media(max-width:380px){.auth-carousel-section{min-height:240px!important;max-height:280px!important;padding:14px!important}.auth-form-section{padding:20px 14px!important}.login-card-title{font-size:20px!important}}.live-scan-popup-overlay{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:99999;width:min(92vw,520px);pointer-events:auto;animation:popupSlideDown .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes popupSlideDown{0%{opacity:0;transform:translate(-50%,-24px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.live-scan-popup-card{background:#064e3b;color:#ecfdf5;border-radius:16px;box-shadow:0 20px 48px #04785759,0 0 0 1px #10b9814d;padding:20px;border-left:6px solid #10B981}.live-scan-popup-card.popup-in{background:linear-gradient(145deg,#065f46,#047857);border-left-color:#10b981}.live-scan-popup-card.popup-out{background:linear-gradient(145deg,#0f172a,#1e293b);border-left-color:#38bdf8}.live-scan-popup-card.popup-error{background:linear-gradient(145deg,#450a0a,#7f1d1d);border-left-color:#ef4444}.popup-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px}.popup-title-row{display:flex;align-items:center;gap:12px}.popup-badge-icon{width:42px;height:42px;border-radius:10px;background:#ffffff26;display:grid;place-items:center;color:#fff;flex-shrink:0}.popup-title-row strong{display:block;font-size:15px;font-weight:700;letter-spacing:.02em;line-height:1.2}.popup-title-row small{font-size:12px;opacity:.8;display:block;margin-top:2px}.popup-close-btn{width:40px;height:40px;border-radius:10px;background:#ffffff26;border:none;color:#fff;display:grid;place-items:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.popup-close-btn:hover{background:#ffffff4d;transform:scale(1.08)}.popup-body{display:flex;flex-direction:column;gap:10px}.popup-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#00000038;padding:12px 14px;border-radius:10px}.popup-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.popup-val-highlight{font-size:16px;font-weight:700;color:#fff}.popup-val-code{font-size:14px;font-weight:600;font-family:monospace;color:#6ee7b7}.popup-issue-note{font-size:13px;color:#fca5a5;background:#0000004d;padding:8px 12px;border-radius:8px}.popup-footer-note{font-size:11px;opacity:.75;text-align:right;margin-top:4px}.gatekeeper-filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#f1f5f9;padding:6px;border-radius:16px;margin-bottom:18px;border:1px solid #E2E8F0}.gatekeeper-filter-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:none;background:transparent;color:#64748b;font-weight:600;font-size:13.5px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.gatekeeper-filter-btn:hover{color:#0f172a;background:#fff9}.gatekeeper-filter-btn.active{background:linear-gradient(135deg,#059669,#064e3b)!important;border-color:#10b981!important;color:#fff!important;font-weight:700!important;box-shadow:0 8px 24px #10b98147!important}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:12px;font-weight:700;transition:all .2s ease}.gatekeeper-filter-btn.active .filter-count-badge{background:#ffffff38!important;color:#fff!important}@media(max-width:640px){.gatekeeper-filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.tablet-pass-card,.pass-mobile-card{display:flex;flex-direction:column;gap:14px;padding:18px 20px;background:#fff!important;border:1px solid #E2E8F0!important;border-radius:20px!important;box-shadow:0 4px 18px #0000000a!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tablet-pass-card:hover,.pass-mobile-card:hover{transform:translateY(-2px);border-color:#10b981!important;box-shadow:0 10px 24px #0478571a!important}.tablet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.tablet-row-1{padding-bottom:10px;border-bottom:1px solid #F1F5F9}.tablet-row-2,.tablet-row-3{padding-bottom:8px}.tablet-row-4{padding-top:10px;border-top:1px solid #F1F5F9}.tablet-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:2px}.tablet-val{font-size:14.5px;font-weight:700;color:#0f172a;display:block}.tablet-person-cell{display:flex;align-items:center;gap:10px}.tablet-phone-val{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#047857;text-decoration:none}.tablet-phone-val:hover{text-decoration:underline}.text-right{text-align:right}@media(max-width:1023px){.pass-record-list{display:none!important}.pass-mobile-list,.mobile-card-list{display:flex!important;flex-direction:column!important;gap:14px!important}}.sidebar-role-row{display:flex!important;align-items:center!important;gap:6px!important;margin-top:2px!important}.brand-mark .sidebar-unit-badge{width:auto!important;height:auto!important;min-height:unset!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:2px 7px!important;font-size:11px!important;font-weight:700!important;line-height:1.1!important;border-radius:6px!important;background:#d1fae5!important;color:#065f46!important;border:1px solid #a7f3d0!important;box-shadow:none!important;white-space:nowrap!important}.billing-page-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding-bottom:40px}.billing-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.billing-top-actions{display:flex;justify-content:flex-end;align-items:center;width:100%}.billing-title{font-size:24px;font-weight:800;color:#0f172a;margin:0 0 4px;letter-spacing:-.02em}.billing-subtitle{font-size:14px;color:#64748b;margin:0}.billing-header-actions{display:flex;gap:10px;align-items:center}.billing-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.billing-stat-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0f172a0a}.stat-card-icon-wrap{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bg-blue-light{background:#eff6ff}.text-blue{color:#2563eb}.bg-emerald-light{background:#ecfdf5}.text-emerald{color:#059669}.bg-amber-light{background:#fffbeb}.text-amber{color:#d97706}.bg-rose-light{background:#fff1f2}.text-rose{color:#e11d48}.stat-card-content{display:flex;flex-direction:column;min-width:0}.stat-card-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.stat-card-value{font-size:22px;font-weight:800;color:#0f172a;line-height:1.2;margin:2px 0}.stat-card-sub{font-size:12px;color:#94a3b8}.billing-filter-card{position:relative;z-index:50;padding:12px 18px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;overflow:visible!important}.billing-filter-card:has(.theme-select-container.is-open){z-index:1000}.billing-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative;z-index:50;overflow:visible!important}.billing-search-box{position:relative;flex:1 1 180px;min-width:160px;max-width:280px}.billing-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;z-index:2}.billing-search-input,.billing-search-box .billing-search-input{width:100%;height:42px;padding:0 14px 0 42px!important;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;color:#0f172a;outline:none;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.billing-search-input:focus,.billing-search-box .billing-search-input:focus{border-color:#047857;box-shadow:0 0 0 3px #0478571f}.billing-search-input:focus{border-color:#047857;box-shadow:0 0 0 3px #0478571f}.billing-month-filter{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#475569}.billing-month-input{height:42px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;color:#0f172a;outline:none;background:#fff}.billing-status-tabs{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px}.billing-tab-btn{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:700;color:#64748b;border-radius:8px;cursor:pointer;transition:all .15s ease}.billing-tab-btn.active{background:#fff;color:#064e3b;box-shadow:0 2px 6px #0000000f}.billing-desktop-table-card,.billing-list-desktop-table{background:transparent;border-radius:0;border:none;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;box-shadow:none;width:100%;max-width:100%;padding-bottom:6px}.billing-list-desktop-table::-webkit-scrollbar,.billing-desktop-table-card::-webkit-scrollbar{height:6px}.billing-list-desktop-table::-webkit-scrollbar-track,.billing-desktop-table-card::-webkit-scrollbar-track{background:#0000000a;border-radius:6px}.billing-list-desktop-table::-webkit-scrollbar-thumb,.billing-desktop-table-card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}.billing-list-desktop-table::-webkit-scrollbar-thumb:hover,.billing-desktop-table-card::-webkit-scrollbar-thumb:hover{background:#94a3b8}.billing-data-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0 10px;text-align:left;font-size:14px}.billing-data-table thead tr{background:none;border-bottom:none}.billing-data-table th{padding:10px 12px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:none;background:transparent;white-space:nowrap}.billing-data-table td{padding:13px 12px;border-bottom:none;color:#1e293b;vertical-align:middle;background:#ffffff8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.65)}.billing-data-table tbody tr td:first-child{border-left:1px solid rgba(255,255,255,.65);border-radius:14px 0 0 14px;padding-left:16px}.billing-data-table tbody tr td:last-child{border-right:1px solid rgba(255,255,255,.65);border-radius:0 14px 14px 0;padding-right:16px}.billing-data-table tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 12px 20px rgba(26,77,61,.08))}.billing-data-table tbody tr{transition:transform .18s ease,filter .18s ease}.billing-table-bill-no{font-family:monospace;font-size:12.5px;font-weight:600;color:#475569;white-space:nowrap}.billing-resident-name{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap}.billing-role-badge{display:inline-flex;align-items:center;gap:3.5px;font-size:10px;font-weight:700;padding:1.5px 6px;border-radius:999px;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;flex-shrink:0;-webkit-user-select:none;user-select:none}.billing-role-badge.badge-admin{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.billing-role-badge.badge-admin svg{color:#d97706}.billing-role-badge.badge-gatekeeper{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.billing-role-badge.badge-gatekeeper svg{color:#2563eb}.billing-role-badge.badge-resident{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.billing-role-badge.badge-resident svg{color:#059669}.billing-role-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:5px;flex-shrink:0;-webkit-user-select:none;user-select:none;vertical-align:middle;transition:transform .15s ease,box-shadow .15s ease;cursor:default}.billing-role-icon:hover{transform:scale(1.12)}.billing-role-icon.icon-admin{background:#fef3c7;border:1px solid #fde68a;color:#d97706}.billing-role-icon.icon-gatekeeper{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.billing-role-icon.icon-resident{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.billing-phone-link{display:inline-flex;align-items:center;gap:5px;color:#334155;font-size:12.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .15s ease}.billing-phone-link:hover{color:#047857;text-decoration:underline}.billing-phone-icon{color:#64748b;flex-shrink:0;transition:color .15s ease}.billing-phone-link:hover .billing-phone-icon{color:#047857}.billing-table-quarter{display:flex;flex-direction:column;gap:1px;line-height:1.25}.billing-q-number{font-size:12.5px;font-weight:700;color:#0f172a;white-space:nowrap}.billing-q-building{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.billing-q-location{color:#059669;font-weight:500}.billing-quarter-badge{display:inline-flex;align-items:center;background:#f1f5f9;color:#0f172a;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;border:1px solid #e2e8f0;letter-spacing:.02em}.billing-table-resident{display:flex;flex-direction:column}.billing-table-resident strong{font-size:13px;color:#0f172a}.billing-table-resident span{font-size:12px;color:#64748b}.billing-items-count-badge{font-size:12px;background:#eff6ff;color:#1d4ed8;padding:2px 8px;border-radius:999px;font-weight:600}.bill-amount-hover-wrap{position:relative;display:inline-flex;flex-direction:column;cursor:default}.billing-table-amount{font-size:14.5px;color:#064e3b;font-weight:800;white-space:nowrap}.bill-breakdown-popover{display:none;position:absolute;top:100%;left:0;z-index:100;min-width:230px;padding-top:6px}.bill-breakdown-popover:before{content:"";position:absolute;top:0;left:0;right:0;height:8px}.bill-amount-hover-wrap:hover .bill-breakdown-popover{display:block}.bill-breakdown-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 28px #0f172a29,0 4px 10px #0f172a14;padding:10px 14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bill-breakdown-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid #f1f5f9}.bill-breakdown-list{display:flex;flex-direction:column;gap:5px}.bill-breakdown-item{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#334155}.bill-breakdown-title{color:#64748b;font-weight:500;white-space:nowrap}.bill-breakdown-val{font-weight:700;color:#0f172a;white-space:nowrap}.bill-breakdown-divider{height:1px;background:#e2e8f0;margin:6px 0}.bill-breakdown-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:#064e3b}.billing-data-table tbody tr:hover,.billing-data-table tbody tr:has(.bill-amount-hover-wrap:hover){position:relative;z-index:30}.billing-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.billing-status-dot:hover{transform:scale(1.3)}.billing-status-dot.dot-pending{background-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b38,0 0 6px #f59e0b59}.billing-status-dot.dot-paid{background-color:#10b981;box-shadow:0 0 0 3px #10b98138,0 0 6px #10b98159}.billing-status-dot.dot-overdue{background-color:#ef4444;box-shadow:0 0 0 3px #ef444438,0 0 6px #ef444459}.billing-status-dot.dot-cancelled{background-color:#94a3b8;box-shadow:0 0 0 3px #94a3b838}.billing-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.billing-status-pill.pending{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.billing-status-pill.paid{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.billing-status-pill.overdue{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.billing-status-pill.cancelled{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.billing-table-action-btns{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.billing-action-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;transition:all .15s ease}.billing-action-icon-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.billing-action-pay-btn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:8px;border:1px solid #059669;background:#059669;color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.billing-action-pay-btn:hover{background:#047857}.billing-action-notify-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid #fed7aa;background:#fffbeb;color:#b45309;cursor:pointer;transition:all .15s ease}.billing-action-notify-btn:hover{background:#fef3c7;border-color:#f59e0b;color:#92400e}.billing-action-notify-btn.overdue{border-color:#fecaca;background:#fef2f2;color:#dc2626}.billing-action-notify-btn.overdue:hover{background:#fee2e2;border-color:#ef4444;color:#991b1b}.billing-action-notify-btn:disabled{opacity:.5;cursor:not-allowed}.billing-action-cancel-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px;border-radius:8px;border:1px solid #fecaca;background:#fff;color:#ef4444;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.billing-action-cancel-btn:hover{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.billing-action-regenerate-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px;border-radius:8px;border:1px solid #a7f3d0;background:#ecfdf5;color:#059669;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.billing-action-regenerate-btn:hover{background:#d1fae5;border-color:#34d399;color:#047857}.billing-table-components-summary{display:flex;flex-direction:column;gap:3px;margin-top:5px}.billing-component-chip{display:inline-block;font-size:11px;line-height:1.25;color:#475569;background:#f1f5f9d9;border:1px solid rgba(226,232,240,.9);padding:1.5px 6px;border-radius:4px;max-width:fit-content}.billing-unit-filter{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#475569;min-width:170px;max-width:220px;flex-shrink:0;position:relative;z-index:60}.billing-filter-actions-group{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.billing-list-section{position:relative;z-index:1}.billing-notify-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:13px;font-weight:500}.billing-notify-banner-content{display:flex;align-items:center;gap:10px}.billing-notify-banner-close{background:transparent;border:none;color:#059669;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;display:flex;align-items:center;justify-content:center}.billing-notify-banner-close:hover{background:#0596691a}.mobile-bill-notify-overdue{border-color:#fca5a5!important;color:#dc2626!important}.mobile-bill-notify-overdue:hover{background:#fef2f2!important}.billing-mobile-card-list{display:none;flex-direction:column;gap:12px}.mobile-bill-card{padding:16px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;gap:12px}.mobile-bill-head{display:flex;justify-content:space-between;align-items:center}.mobile-bill-head-left{display:flex;align-items:center;gap:8px}.mobile-bill-number{font-family:monospace;font-size:12px;color:#64748b}.mobile-bill-body{display:flex;flex-direction:column;gap:6px;border-top:1px dashed #f1f5f9;border-bottom:1px dashed #f1f5f9;padding:10px 0}.mobile-bill-resident-line{display:flex;justify-content:space-between;align-items:baseline}.mobile-bill-resident-line strong{font-size:15px;color:#0f172a}.mobile-bill-resident-line span{font-size:12px;color:#64748b}.mobile-bill-contact-line{font-size:12px;color:#64748b;margin-top:-2px;margin-bottom:2px}.mobile-bill-meta-row{display:flex;justify-content:space-between;font-size:13px;color:#475569}.mobile-bill-amount-row{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.mobile-bill-amount-label{font-size:13px;font-weight:600;color:#334155}.mobile-bill-amount-val{font-size:18px;font-weight:800;color:#064e3b}.mobile-bill-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-bill-btn{height:42px!important;font-size:13px!important}.billing-modal-form{display:flex;flex-direction:column;gap:16px;padding:4px 0}.billing-alert-error{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:13px;font-weight:600}.billing-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.billing-create-form-grid{display:grid;grid-template-columns:1.1fr 1.6fr 1.1fr 1.1fr;gap:12px}@media(max-width:860px){.billing-create-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.billing-create-form-grid{grid-template-columns:1fr}}.billing-field-group{display:flex;flex-direction:column;gap:6px}.billing-field-group label{font-size:13px;font-weight:600;color:#334155}.billing-input{width:100%;height:42px;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.billing-input:focus{border-color:#047857;box-shadow:0 0 0 3px #0478571f}.billing-textarea{height:auto;min-height:60px;padding:8px 12px;resize:vertical}.billing-hint{font-size:12px;color:#059669}.billing-items-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.billing-items-header{display:flex;justify-content:space-between;align-items:flex-start}.billing-items-header h3{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 2px}.billing-items-header p{font-size:12px;color:#64748b;margin:0}.billing-btn-secondary{display:inline-flex;align-items:center;gap:6px;border:1px dashed #059669;background:#ecfdf5;color:#065f46;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.billing-btn-secondary:hover{background:#d1fae5;border-color:#047857}.billing-items-list{display:flex;flex-direction:column;gap:8px}.billing-item-row{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:8px;align-items:center}.billing-currency-wrap{position:relative;width:100%}.billing-currency-prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#64748b;font-weight:700;pointer-events:none}.billing-amount-input{padding-left:24px!important;font-weight:700}.billing-row-delete-btn{display:flex;align-items:center;justify-content:center;width:36px;height:42px;border:1px solid #fecaca;background:#fff5f5;color:#e11d48;border-radius:8px;cursor:pointer;transition:all .15s ease}.billing-row-delete-btn:hover{background:#fee2e2}.billing-total-bar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #cbd5e1;padding:10px 14px;border-radius:8px;margin-top:4px}.billing-total-label{font-size:14px;font-weight:700;color:#334155}.billing-total-value{font-size:18px;font-weight:800;color:#064e3b}.billing-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;border-top:1px solid #f1f5f9;padding-top:14px}.billing-payment-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.billing-payment-summary-row{display:flex;justify-content:space-between;font-size:13px;color:#475569}.billing-payment-summary-row strong{color:#0f172a}.billing-payment-amount-highlight{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:8px;border-top:1px dashed #cbd5e1}.billing-payment-amount-highlight span{font-size:14px;font-weight:700;color:#0f172a}.billing-payment-amount-val{font-size:20px;font-weight:800;color:#064e3b}.billing-invoice-sheet{background:#fff;border-radius:8px;padding:8px 4px;display:flex;flex-direction:column;gap:16px}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.invoice-brand{display:flex;align-items:center;gap:12px}.invoice-badge{width:44px;height:44px;border-radius:10px;background:#064e3b;color:#fff;display:flex;align-items:center;justify-content:center}.invoice-brand h2{font-size:16px;font-weight:800;color:#064e3b;margin:0;letter-spacing:.02em}.invoice-brand p{font-size:11px;color:#64748b;margin:0}.invoice-meta-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.invoice-number-tag{font-family:monospace;font-size:13px;font-weight:700;background:#f1f5f9;padding:2px 8px;border-radius:6px;color:#0f172a}.invoice-period-tag{font-size:12px;font-weight:600;color:#475569}.invoice-divider{height:2px;background:#e2e8f0;width:100%}.invoice-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.invoice-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:5px}.invoice-info-box h4{font-size:12px;text-transform:uppercase;color:#64748b;margin:0 0 4px;letter-spacing:.04em}.invoice-info-line{display:flex;justify-content:space-between;font-size:13px;color:#334155}.invoice-table-wrap{border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.invoice-table{width:100%;border-collapse:collapse;font-size:13px}.invoice-table th{background:#f1f5f9;padding:10px 14px;font-weight:700;color:#334155;border-bottom:1px solid #cbd5e1}.invoice-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;color:#1e293b}.invoice-table tfoot td{background:#f8fafc;border-top:2px solid #cbd5e1;color:#0f172a}.invoice-item-notes{color:#64748b;font-size:12px}.invoice-paid-stamp{display:flex;align-items:flex-start;gap:12px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:12px 14px}.invoice-paid-stamp strong{color:#065f46;font-size:13px}.invoice-paid-stamp p{margin:2px 0 0;font-size:12px;color:#047857}.invoice-pending-stamp{display:flex;align-items:flex-start;gap:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 14px}.invoice-pending-stamp strong{color:#92400e;font-size:13px}.invoice-pending-stamp p{margin:2px 0 0;font-size:12px;color:#b45309}.invoice-remarks-box{font-size:12px;color:#475569;background:#f8fafc;padding:8px 12px;border-radius:6px;border:1px solid #e2e8f0}.invoice-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.billing-hero-alert{display:flex;align-items:center;gap:20px;padding:24px;border-radius:16px}.billing-hero-alert.hero-pending{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a}.billing-hero-alert.hero-overdue{background:linear-gradient(135deg,#fff1f2,#fee2e2);border:1px solid #fecaca}.hero-alert-content{flex:1;min-width:0}.hero-alert-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hero-status-pill{font-size:11px;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:#b45309;color:#fff}.hero-overdue .hero-status-pill{background:#dc2626}.hero-month-tag{font-size:12px;font-weight:600;color:#78350f}.hero-alert-content h3{font-size:24px;font-weight:800;color:#0f172a;margin:0 0 4px}.hero-alert-content p{font-size:13px;color:#451a03;margin:0}.user-bills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:12px}.user-bill-card{padding:18px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;gap:12px}.user-bill-header{display:flex;justify-content:space-between;align-items:flex-start}.user-bill-month{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase}.user-bill-num{font-family:monospace;font-size:14px;font-weight:700;color:#0f172a;margin:2px 0 0}.user-bill-items-list{display:flex;flex-direction:column;gap:6px;background:#f8fafc;padding:10px 12px;border-radius:8px;border:1px solid #f1f5f9}.user-bill-item-row{display:flex;justify-content:space-between;font-size:13px}.user-bill-item-title{color:#334155}.user-bill-item-amount{font-weight:700;color:#0f172a}.user-bill-footer{display:flex;justify-content:space-between;align-items:center;padding-top:6px}.user-bill-total span{font-size:12px;color:#64748b;margin-right:6px}.user-bill-total strong{font-size:18px;font-weight:800;color:#064e3b}@media(max-width:1023px){.billing-stats-grid{grid-template-columns:repeat(2,1fr)}.billing-list-desktop-table{display:none!important}.billing-desktop-table-card{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:12px!important;border:1px solid #e2e8f0!important;background:#fff!important}.billing-desktop-table-card .billing-data-table{min-width:620px!important}.billing-mobile-card-list{display:flex!important}.billing-form-grid{grid-template-columns:1fr}.billing-item-row{grid-template-columns:1fr 1fr auto}.billing-item-col-notes{grid-column:span 2}}@media(max-width:767px){.billing-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.billing-stat-card{padding:12px 14px;gap:10px}.stat-card-icon-wrap{width:40px;height:40px}.stat-card-value{font-size:18px}.billing-top-actions{justify-content:stretch}.billing-top-actions .button{width:100%;justify-content:center}.billing-filter-card{padding:12px}.billing-filter-row{flex-direction:column;align-items:stretch;gap:10px}.billing-search-box{flex:none;width:100%;min-width:100%;max-width:100%;height:auto}.billing-unit-filter{width:100%;min-width:100%;max-width:100%;justify-content:space-between}.billing-unit-filter .theme-select-container{flex:1}.billing-month-filter{width:100%;justify-content:space-between}.billing-month-input{flex:1}.billing-status-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.billing-tab-btn{padding:8px 4px;font-size:11px;text-align:center}.billing-hero-alert{flex-direction:column;align-items:flex-start;padding:16px}.hero-alert-action{width:100%;margin-top:10px}.hero-alert-action .button{width:100%;justify-content:center}.billing-item-row{grid-template-columns:1fr;background:#fff;padding:10px;border-radius:8px;border:1px solid #e2e8f0}.billing-row-delete-btn{width:100%}.invoice-info-grid{grid-template-columns:1fr}}@media(max-width:480px){.billing-stats-grid{grid-template-columns:repeat(2,1fr)}}@media print{html,body{background:#fff!important;color:#000!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important}.app-shell,.sidebar,.topbar,.bottom-nav,.billing-page-container,.modal-close-button,.no-print{display:none!important}.modal-backdrop{position:static!important;display:block!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;margin:0!important;width:100%!important;height:auto!important;overflow:visible!important;inset:auto!important;border:none!important;box-shadow:none!important}.modal-sheet{position:static!important;display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;border:none!important;background:#fff!important;overflow:visible!important;max-height:none!important}.modal-header{display:none!important}.billing-invoice-sheet,.printable-invoice{position:static!important;display:block!important;width:100%!important;max-width:100%!important;padding:8mm 12mm!important;margin:0!important;box-shadow:none!important;border:none!important;background:#fff!important;color:#000!important;visibility:visible!important;page-break-inside:avoid}.billing-invoice-sheet *{visibility:visible!important}.invoice-table{width:100%!important;border-collapse:collapse!important}.invoice-table th,.invoice-table td{border:1px solid #cbd5e1!important;color:#000!important}.invoice-badge{background:#064e3b!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.invoice-status-pill,.invoice-number-tag,.invoice-period-tag,.invoice-paid-stamp,.invoice-pending-stamp{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.modal-sheet.modal-lg{width:min(96vw,980px)!important;max-width:min(96vw,980px)!important}.billing-comp-field-input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;background:#fff;color:#0f172a;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.billing-comp-field-input:focus{border-color:#047857;outline:none;box-shadow:0 0 0 3px #0478571f}.billing-comp-modal-header{margin-bottom:20px}.billing-comp-mobile-cards{display:none}@media(max-width:768px){.billing-comp-modal-header{flex-direction:column!important;align-items:stretch!important;gap:14px!important;margin-bottom:22px!important}.billing-comp-add-grid{grid-template-columns:1fr!important}.billing-comp-desktop-table{display:none!important}.billing-comp-mobile-cards{display:flex!important;flex-direction:column;gap:12px}.billing-comp-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #0000000a}.billing-comp-card-field{display:flex;flex-direction:column;gap:4px}.billing-comp-card-field label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.billing-comp-modal-footer{flex-direction:column!important;gap:10px!important;align-items:stretch!important}.billing-comp-modal-footer button{width:100%!important;justify-content:center!important}}.billing-electricity-item-row{background:transparent;border:none;border-radius:0;padding:0}.billing-meter-inline-inputs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.meter-pill{display:inline-flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:2px 7px;font-size:.75rem;font-weight:600;color:#475569}.meter-pill span{white-space:nowrap}.meter-pill input{width:64px;border:none;background:transparent;font-size:.8rem;font-weight:700;color:#0f172a;outline:none;padding:0}.meter-pill input:focus{color:#047857}.meter-units-consumed-tag{background:#16d98b26;color:#047857;font-weight:700;font-size:.72rem;padding:2px 8px;border-radius:9999px;border:1px solid rgba(22,217,139,.3);white-space:nowrap}.searchable-select-wrap{position:relative;width:100%}.searchable-select-control{width:100%;height:40px;padding:0 8px 0 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;transition:all .15s ease}.searchable-select-control:focus-within,.searchable-select-control.active{border-color:#047857;box-shadow:0 0 0 3px #0478571f}.searchable-select-input{width:100%;flex:1;border:none;background:transparent;outline:none;font-size:14px;color:#0f172a;padding:0;margin:0;font-family:inherit;line-height:1.5}.searchable-select-input::placeholder{color:#94a3b8;font-weight:400}.trigger-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.trigger-clear-btn,.trigger-chevron-btn{background:transparent;border:none;color:#94a3b8;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;cursor:pointer;line-height:1;transition:color .15s ease}.trigger-clear-btn:hover{color:#ef4444;background:#fef2f2}.trigger-chevron-btn:hover{color:#334155}.chevron-icon{color:#64748b;transition:transform .2s ease}.chevron-icon.rotate{transform:rotate(180deg)}.searchable-select-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #00000014;z-index:9999;overflow:hidden}.popover-options-list{max-height:185px;overflow-y:auto}.popover-option-item{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;cursor:pointer;transition:background .1s ease;border-bottom:1px solid #f8fafc}.popover-option-item:hover{background:#ecfdf5}.popover-option-item.selected{background:#e6f9f0}.option-text{display:flex;flex-direction:column;gap:2px}.option-name{font-size:13.5px;color:#0f172a}.option-phone{font-size:12px;color:#64748b}.option-check-icon{color:#059669}.popover-empty{padding:16px;text-align:center;font-size:13px;color:#94a3b8}@media(max-width:640px){.modal-backdrop{display:flex!important;align-items:center!important;justify-content:center!important;padding:16px 12px calc(16px + env(safe-area-inset-bottom)) 12px!important}.modal-sheet{width:100%!important;max-width:100%!important;margin:auto!important;border-radius:20px!important;max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;padding:16px!important;box-shadow:0 20px 50px #00000040!important;box-sizing:border-box!important;overflow-x:hidden!important}.modal-sheet.modal-lg{width:100%!important;max-width:100%!important;border-radius:20px!important}.modal-header{padding-bottom:12px!important;border-bottom:1px solid #e2e8f0!important;margin-bottom:12px!important}.billing-invoice-sheet{padding:16px 12px!important;gap:12px!important;box-sizing:border-box!important;max-height:100%!important;overflow-y:auto!important;width:100%!important}.invoice-header{flex-direction:column!important;gap:10px!important;text-align:center!important}.invoice-brand{flex-direction:column!important;align-items:center!important;gap:8px!important;text-align:center!important}.invoice-meta-right{align-items:center!important;justify-content:center!important}.invoice-info-grid{grid-template-columns:1fr!important;gap:10px!important}.invoice-info-box{width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.invoice-info-line{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}.invoice-info-line span,.invoice-info-line strong{max-width:100%!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important}.invoice-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important;box-sizing:border-box!important}.invoice-table{width:100%!important;min-width:380px!important}.invoice-actions{flex-direction:column-reverse!important;gap:10px!important;margin-top:14px!important;margin-bottom:8px!important;padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}.invoice-actions button,.invoice-actions .button{width:100%!important;height:44px!important;justify-content:center!important}.record-payment-form .form-group{margin-bottom:12px!important}.record-payment-actions{flex-direction:column-reverse!important;gap:8px!important;padding-top:12px!important;border-top:1px solid #e2e8f0!important}.record-payment-actions button,.record-payment-actions .button{width:100%!important;height:44px!important;justify-content:center!important}.billing-form-grid{grid-template-columns:1fr!important;gap:10px!important}.billing-input{width:100%!important;box-sizing:border-box!important}.billing-items-header{flex-direction:column!important;gap:12px!important;align-items:flex-start!important}.billing-items-header>div:last-child{width:100%!important;display:flex!important;flex-direction:column!important;gap:8px!important}.billing-btn-secondary{width:100%!important;justify-content:center!important;padding:10px!important;font-size:14px!important}.billing-items-section{padding:12px!important;border-radius:10px!important;box-sizing:border-box!important;overflow-x:hidden!important}.billing-item-row{grid-template-columns:1fr!important;gap:8px!important;padding:12px 10px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;position:relative!important;box-sizing:border-box!important}.billing-row-delete-btn{position:relative!important;top:auto!important;right:auto!important;width:100%!important;height:40px!important;margin-top:4px!important}.billing-item-col-title{padding-right:0!important;width:100%!important;box-sizing:border-box!important}.billing-item-col-amount,.billing-item-col-notes{width:100%!important;box-sizing:border-box!important}.billing-meter-inline-inputs{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;margin-top:8px!important}.billing-meter-inline-inputs .meter-pill{display:flex!important;justify-content:space-between!important;width:100%!important;box-sizing:border-box!important;padding:8px 12px!important;font-size:14px!important}.billing-meter-inline-inputs .meter-pill input{width:100px!important;text-align:right!important;font-size:14px!important}.meter-units-consumed-tag{text-align:center!important;padding:6px!important;font-size:13px!important;width:100%!important;box-sizing:border-box!important}.billing-total-bar{flex-direction:column!important;align-items:flex-start!important;gap:4px!important;padding:10px 12px!important;box-sizing:border-box!important}.billing-total-value{font-size:1.25rem!important;word-break:break-word!important}.billing-modal-actions{flex-direction:column-reverse!important;gap:8px!important}.billing-modal-actions button{width:100%!important;height:44px!important;justify-content:center!important}}.complaints-page-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding-bottom:40px}.complaints-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.complaints-page-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 4px;letter-spacing:-.02em}.complaints-page-subtitle{font-size:14px;color:#64748b;margin:0;max-width:720px;line-height:1.5}.complaints-header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.complaints-filter-bar{display:flex;align-items:center;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.complaints-tabs{display:flex;align-items:center;gap:8px;padding:4px;background:#f1f5f9d9;border:1px solid rgba(203,213,225,.6);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.complaints-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid transparent;background:transparent;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap}.complaints-tab-btn:hover{color:#0f172a;background:#ffffffb3}.complaints-tab-btn.active{background:#fff;color:#0f172a;border-color:#cbd5e1cc;box-shadow:0 2px 8px #0f172a14}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:#94a3b833;color:#475569}.tab-count.count-active{background:#eff6ff;color:#2563eb}.tab-count.count-resolved{background:#ecfdf5;color:#059669}.tab-count.count-closed{background:#f1f5f9;color:#64748b}.complaint-ticket-badge{display:inline-flex;align-items:center;width:fit-content;max-width:fit-content;white-space:nowrap;padding:2.5px 8px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;font-weight:700;background:#ecfdf5;color:#064e3b;letter-spacing:.02em;border:1px solid #a7f3d0;box-shadow:0 1px 2px #064e3b0f}.complaint-cat-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.complaint-cat-pill.cat-electricity{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.complaint-cat-pill.cat-plumbing{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.complaint-cat-pill.cat-carpentry{background:#fef9c3;color:#854d0e;border:1px solid #fef08a}.complaint-cat-pill.cat-sanitation{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.complaint-cat-pill.cat-security{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.complaint-cat-pill.cat-other{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.complaint-prio-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.complaint-prio-pill.prio-emergency{background:#fef2f2;color:#b91c1c;border:1px solid #f87171;animation:pulse-border 2s infinite ease-in-out}.complaint-prio-pill.prio-high{background:#fffbeb;color:#b45309;border:1px solid #fcd34d}.complaint-prio-pill.prio-medium{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.complaint-prio-pill.prio-low{background:#f8fafc;color:#475569;border:1px solid #cbd5e1}@keyframes pulse-border{0%,to{border-color:#f87171;box-shadow:0 0 #dc262633}50%{border-color:#ef4444;box-shadow:0 0 0 3px #dc26262e}}.complaint-status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.complaint-status-pill.status-open{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.complaint-status-pill.status-in_progress{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.complaint-status-pill.status-resolved{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.complaint-status-pill.status-reopened{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.complaint-status-pill.status-closed{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.complaints-list-section{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;width:100%}.complaints-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.complaint-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease}.complaint-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a14}.complaint-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.complaint-card-head-left,.complaint-card-head-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.complaint-card-body{display:flex;flex-direction:column;gap:10px}.complaint-card-title{font-size:16px;font-weight:700;color:#0f172a;margin:0;line-height:1.35}.complaint-card-description{font-size:13px;color:#475569;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.complaint-card-meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:#64748b}.card-meta-item{display:inline-flex;align-items:center;gap:5px}.complaint-card-technician{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a;font-size:12px}.complaint-card-technician .tech-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.complaint-card-technician .tech-phone{display:inline-flex;align-items:center;gap:4px;color:#047857;font-weight:600;text-decoration:none}.complaint-card-technician .tech-phone:hover{text-decoration:underline}.complaint-card-res-preview{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:8px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:12px;line-height:1.45}.complaint-card-actions{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(220,232,228,.7);width:100%}.complaint-action-btn-main{width:100%!important;justify-content:center}.complaint-card-action-row{display:flex;align-items:center;gap:8px;width:100%}.complaint-action-btn-sub{flex:1;min-width:0!important;justify-content:center;font-size:13px!important;padding:8px 10px!important}.complaints-mobile-header-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.complaint-timeline-container{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.complaint-timeline-title{font-size:14px;font-weight:700;color:#0f172a;margin:0;text-transform:uppercase;letter-spacing:.04em}.complaint-timeline-list{position:relative;display:flex;flex-direction:column;gap:18px;padding-left:28px}.complaint-timeline-list:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:#cbd5e1}.complaint-timeline-item{position:relative;display:flex;flex-direction:column;gap:4px}.timeline-marker{position:absolute;left:-28px;top:0;width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #94a3b8;color:#475569;box-shadow:0 1px 3px #0f172a1a;z-index:1}.timeline-marker.marker-created{border-color:#2563eb;color:#2563eb;background:#eff6ff}.timeline-marker.marker-assigned{border-color:#0891b2;color:#0891b2;background:#ecfeff}.timeline-marker.marker-progress{border-color:#7c3aed;color:#7c3aed;background:#f5f3ff}.timeline-marker.marker-resolved{border-color:#059669;color:#059669;background:#ecfdf5}.timeline-marker.marker-reopened{border-color:#ea580c;color:#ea580c;background:#fff7ed}.timeline-marker.marker-closed{border-color:#475569;color:#475569;background:#f1f5f9}.timeline-content{display:flex;flex-direction:column;gap:4px}.timeline-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline-action{font-size:13px;font-weight:700;color:#0f172a}.timeline-time{font-size:11px;color:#64748b}.timeline-actor{font-size:12px;color:#475569}.timeline-actor-role{margin-left:4px;color:#64748b;font-size:11px}.timeline-message{font-size:13px;color:#334155;margin:0;line-height:1.45}.complaint-detail-sheet{display:flex;flex-direction:column;gap:18px;width:100%}.complaint-detail-header-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.complaint-detail-badges-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.complaint-detail-title{font-size:18px;font-weight:700;color:#0f172a;margin:0;line-height:1.35}.complaint-detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;font-size:13px;color:#475569}.detail-meta-item{display:flex;align-items:center;gap:6px}.complaint-detail-section{display:flex;flex-direction:column;gap:8px}.detail-section-heading{font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0}.complaint-detail-description-text{font-size:14px;color:#1e293b;line-height:1.6;margin:0;padding:12px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;white-space:pre-wrap}.complaint-assigned-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0}.assigned-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#dcfce7;color:#15803d;flex-shrink:0}.assigned-card-info{display:flex;flex-direction:column;gap:2px}.assigned-card-label{font-size:11px;font-weight:700;color:#166534;text-transform:uppercase;letter-spacing:.04em}.assigned-card-name{font-size:15px;font-weight:700;color:#0f172a}.assigned-card-phone{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#047857;font-weight:600;text-decoration:none}.assigned-card-phone:hover{text-decoration:underline}.complaint-resolution-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0}.resolution-card-header{display:flex;align-items:center;gap:8px;font-size:14px;color:#065f46}.resolution-date{font-size:12px;color:#047857;font-weight:400}.resolution-notes-text{font-size:13px;color:#064e3b;margin:0;line-height:1.5;white-space:pre-wrap}.complaint-resident-actions-panel{display:flex;flex-direction:column;gap:12px}.complaint-resolve-confirm-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px;border-radius:10px;background:#f0fdf4;border:1px solid #86efac}.complaint-resolve-confirm-banner .banner-content{display:flex;align-items:center;gap:12px}.complaint-resolve-confirm-banner .banner-content strong{font-size:14px;color:#14532d;display:block}.complaint-resolve-confirm-banner .banner-content p{font-size:12px;color:#166534;margin:0}.complaint-resolve-confirm-banner .banner-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.complaint-closed-reopen-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.complaint-reopen-form,.complaint-close-form{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:10px;background:#fff;border:1px solid #cbd5e1;box-shadow:0 4px 12px #0f172a0a}.reopen-form-header,.close-form-header{display:flex;align-items:center;gap:8px;font-size:14px;color:#0f172a}.reopen-form-actions,.close-form-actions{display:flex;justify-content:flex-end;gap:8px}.complaint-modal-form{display:flex;flex-direction:column;gap:18px;width:100%}.complaint-form-alert{padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.45}.complaint-form-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.complaint-form-alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.complaint-form-grid{display:grid;grid-template-columns:1fr;gap:16px}.complaint-form-ticket-summary{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.complaint-form-ticket-summary .summary-title{font-size:14px;font-weight:700;color:#0f172a}.complaint-form-ticket-summary .summary-meta{font-size:12px;color:#64748b}.modal-actions-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:14px;border-top:1px solid #f1f5f9;width:100%;box-sizing:border-box}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;box-sizing:border-box}.modal-header h2{font-size:1.15rem;font-weight:700;color:#0f172a;line-height:1.35;margin:0;min-width:0;flex:1;word-break:break-word;overflow-wrap:anywhere}@media(max-width:640px){.modal-header h2{font-size:1.05rem}}.complaint-attachment-box{margin-top:6px;padding:14px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;width:100%;min-width:0}.complaint-attachment-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px;width:100%;box-sizing:border-box}.complaint-attachment-header-text{min-width:0;flex:1}.complaint-attachment-title{display:block;font-size:13px;font-weight:600;color:#1e293b;line-height:1.3}.complaint-attachment-subtitle{margin:3px 0 0;font-size:11px;color:#64748b;line-height:1.35}.complaint-attachment-counter{font-size:11px;font-weight:600;padding:3px 9px;border-radius:12px;white-space:nowrap;flex-shrink:0}.complaint-attachment-actions{display:flex;gap:10px;margin-top:10px;width:100%;box-sizing:border-box;flex-wrap:wrap}.complaint-attachment-actions button{flex:1 1 180px;min-width:0;justify-content:center}@media(max-width:640px){.complaint-attachment-actions{flex-direction:column;gap:8px}.complaint-attachment-actions button{width:100%;flex:1 1 auto}}.complaint-attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px;width:100%;box-sizing:border-box}.assign-technician-layout{display:flex;flex-direction:column;gap:16px;width:100%;min-width:0;box-sizing:border-box}.assign-ticket-card{display:flex;flex-direction:column;gap:8px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;width:100%;min-width:0}.assign-ticket-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%}.assign-ticket-badge{font-size:12px;font-weight:700;color:#047857;background:#fff;padding:3px 8px;border-radius:6px;border:1px solid #cbd5e1;font-family:monospace}.assign-ticket-title{font-size:14px;font-weight:600;color:#0f172a;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}.assign-ticket-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:#475569}.assign-selected-card{background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-width:0}.assign-selected-avatar{width:38px;height:38px;border-radius:50%;background:#059669;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 3px #05966940}.assign-selected-info{flex:1;min-width:0}.assign-selected-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.assign-selected-name{font-size:14px;font-weight:700;color:#065f46;word-break:break-word}.assign-trade-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.assign-selected-phone{display:flex;align-items:center;gap:5px;font-size:12px;color:#374151;margin-top:4px}.assign-new-card{background:#fff;border:1.5px dashed #cbd5e1;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:14px;box-sizing:border-box;width:100%;min-width:0}.assign-new-card-header{display:flex;align-items:flex-start;gap:10px;width:100%;min-width:0}.assign-new-card-icon{width:32px;height:32px;border-radius:8px;background:#f8fafc;color:#047857;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.assign-new-card-heading{font-size:13px;font-weight:700;color:#0f172a;margin:0;line-height:1.3}.assign-new-card-sub{font-size:11.5px;color:#64748b;margin:3px 0 0;line-height:1.35}.complaints-filter-card{position:relative;z-index:40;padding:16px;overflow:visible!important}.complaints-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:flex-end;position:relative}.complaint-search-box{position:relative;display:flex;align-items:center;width:100%;height:42px}.complaint-search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;z-index:1}.complaint-search-input{width:100%;height:42px;padding:0 14px 0 38px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:13px;outline:none;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease}.complaint-search-input:focus{border-color:#047857;box-shadow:0 0 0 3px #04785726}.filter-select-wrap{display:flex;flex-direction:column;gap:4px}.filter-select-wrap label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.complaint-select-filter{height:42px;padding:0 32px 0 12px;border-radius:8px;border:1px solid #cbd5e1;box-sizing:border-box;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px 14px;appearance:none;-webkit-appearance:none;-moz-appearance:none;color:#0f172a;font-size:13px;font-weight:500;outline:none;cursor:pointer;width:100%;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.complaint-select-filter::-ms-expand{display:none}.complaint-select-filter:focus{border-color:#047857;box-shadow:0 0 0 3px #04785726}.theme-select-container{position:relative;width:100%}.theme-select-container.is-open{z-index:100}.form-field-shell:has(.theme-select-container.is-open){z-index:100;position:relative}.theme-select-trigger{width:100%;height:42px;padding:0 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:space-between;cursor:pointer;outline:none;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;-webkit-user-select:none;user-select:none;font-family:inherit}.theme-select-container.variant-form .theme-select-trigger{height:52px;border-radius:10px;border:1.5px solid #cbd5e1;font-size:15px;padding:0 16px;background:#fff}@media(max-width:640px){.theme-select-container.variant-form .theme-select-trigger{height:48px;font-size:14.5px;padding:0 14px}}.theme-select-trigger:hover:not(:disabled){border-color:#94a3b8;background-color:#f8fafc}.theme-select-trigger:focus-visible,.theme-select-trigger.active{border-color:#047857;box-shadow:0 0 0 3px #04785726;background:#fff}.theme-select-container.disabled .theme-select-trigger,.theme-select-trigger:disabled{background-color:#f8fafc;color:#94a3b8;border-color:#e2e8f0;cursor:not-allowed;opacity:.75}.theme-select-trigger:disabled .theme-select-chevron{color:#cbd5e1}.theme-select-container.input-has-error .theme-select-trigger{border-color:#ef4444!important}.theme-select-container.input-has-error .theme-select-trigger:focus-visible,.theme-select-container.input-has-error .theme-select-trigger.active{box-shadow:0 0 0 3px #ef444426!important}.theme-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1}.theme-select-chevron{color:#64748b;flex-shrink:0;margin-left:8px;transition:transform .2s cubic-bezier(.16,1,.3,1),color .16s ease}.theme-select-trigger.active .theme-select-chevron{transform:rotate(180deg);color:#047857}.theme-select-dropdown{position:absolute;top:calc(100% + 5px);left:0;min-width:100%;width:max-content;max-width:min(340px,calc(100vw - 32px));background:#fff!important;background-color:#fff!important;opacity:1!important;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 16px 36px -4px #0f172a38,0 6px 16px -2px #0f172a1f;z-index:99999!important;overflow:hidden;padding:6px;animation:themeSelectFadeIn .14s ease-out}.theme-select-dropdown.open-upward{top:auto;bottom:calc(100% + 5px);animation:themeSelectFadeInUp .14s ease-out}@keyframes themeSelectFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes themeSelectFadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.theme-select-options-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.theme-select-options-list::-webkit-scrollbar{width:5px}.theme-select-options-list::-webkit-scrollbar-track{background:transparent}.theme-select-options-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.theme-select-options-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.theme-select-option{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:7px;font-size:13.5px;font-weight:500;color:#334155;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none;min-height:40px;box-sizing:border-box}.theme-select-option:hover{background:#ecfdf5;color:#047857}.theme-select-option.selected{background:#e6f9f0;color:#047857;font-weight:600}.theme-select-option-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-select-check{color:#059669;flex-shrink:0;margin-left:8px}.complaints-desktop-table-card{background:transparent;border-radius:0;border:none;overflow-x:auto;box-shadow:none;width:100%}.complaints-data-table{width:100%;border-collapse:separate;border-spacing:0 6px;text-align:left;font-size:13px}.complaints-data-table thead tr{background:none;border-bottom:none}.complaints-data-table th{padding:8px 12px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:none;background:transparent;white-space:nowrap}.complaints-data-table td{padding:10px 12px;border-bottom:none;color:#1e293b;vertical-align:middle;background:#ffffffa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.75);box-shadow:0 1px 4px #0f172a08}.complaints-data-table tbody tr td:first-child{border-left:1px solid rgba(255,255,255,.75);border-radius:10px 0 0 10px;padding-left:14px}.complaints-data-table tbody tr td:last-child{border-right:1px solid rgba(255,255,255,.75);border-radius:0 10px 10px 0;padding-right:14px}.complaints-data-table tbody tr{transition:transform .18s ease,filter .18s ease}.complaints-data-table tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 12px 20px rgba(26,77,61,.08))}.table-ticket-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.table-complaint-title{font-size:13px;font-weight:600;color:#0f172a;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.table-resident-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.table-resident-cell strong{font-size:13px;color:#0f172a;cursor:pointer;transition:color .15s ease}.table-resident-cell strong:hover{color:#1a4d3d;text-decoration:underline;text-underline-offset:2px}.resident-subtext{font-size:11px;color:#64748b}.table-assigned-cell{display:flex;flex-direction:column;gap:2px}.assigned-name{font-size:13px;font-weight:600;color:#0f172a;cursor:pointer;white-space:nowrap;transition:color .15s ease}.assigned-name:hover{color:#1a4d3d;text-decoration:underline;text-underline-offset:2px}.assigned-phone{font-size:11px;color:#047857;font-weight:500}.unassigned-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:600}.table-date-cell{font-size:12px;color:#64748b;white-space:nowrap}.table-action-button-group{display:inline-flex;align-items:center;gap:5px}.complaint-btn-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;transition:all .16s ease}.complaint-btn-icon:hover{background:#0f172a;color:#fff;border-color:#0f172a}.complaints-mobile-card-list{display:none;flex-direction:column;gap:12px}.admin-mobile-complaint-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0f172a0a}.admin-mobile-complaint-card .mobile-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.admin-mobile-complaint-card .mobile-card-top .top-left{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-mobile-complaint-card .mobile-card-main{display:flex;flex-direction:column;gap:8px}.admin-mobile-complaint-card .mobile-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0}.admin-mobile-complaint-card .mobile-card-desc{font-size:12px;color:#475569;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-mobile-complaint-card .mobile-card-meta-box{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:8px;background:#f8fafc;border:1px solid #f1f5f9;font-size:12px}.admin-mobile-complaint-card .meta-line{display:flex;align-items:center;gap:6px;color:#475569}.admin-mobile-complaint-card .mobile-card-action-bar{display:flex;align-items:center;gap:8px}.admin-mobile-complaint-card .mobile-btn{flex:1;min-height:38px;font-size:13px;padding:0 8px}.complaints-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:240px;color:#64748b;font-size:14px}.complaints-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;border-radius:14px;border:1px dashed #cbd5e1;background:#ffffffb3}.complaints-empty-card .empty-icon-wrap{width:72px;height:72px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8;margin-bottom:14px}.complaints-empty-card h3{font-size:18px;font-weight:700;color:#0f172a;margin-bottom:6px}.complaints-empty-card p{font-size:14px;color:#64748b;max-width:420px;margin-bottom:20px}.spin-slow{animation:spin 3s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.complaints-filter-grid{grid-template-columns:1fr 1fr}.complaints-desktop-table-card{display:none}.complaints-mobile-card-list{display:flex}}@media(max-width:768px){.complaints-page-header{flex-direction:column;align-items:flex-start}.complaints-filter-grid,.complaints-card-grid{grid-template-columns:1fr}.complaint-card-actions{flex-direction:column}.complaint-action-btn{width:100%}.complaint-resolve-confirm-banner{flex-direction:column;align-items:flex-start}.complaint-resolve-confirm-banner .banner-buttons{width:100%}.complaint-resolve-confirm-banner .banner-buttons button{flex:1}.modal-actions-bar{flex-direction:column-reverse}.modal-actions-bar button{width:100%}}.complaint-modal-form{display:flex;flex-direction:column;gap:16px;width:100%}.complaint-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}.complaint-form-grid .form-field-shell:nth-child(3),.complaint-form-grid .form-field-shell:nth-child(4){grid-column:1 / -1}@media(max-width:640px){.complaint-form-grid{grid-template-columns:1fr;gap:12px}}.complaint-on-behalf-section{display:flex;flex-direction:column;gap:10px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2px}.complaint-on-behalf-section .segmented-control{grid-template-columns:repeat(2,1fr)}.complaint-on-behalf-label{font-size:13px;font-weight:600;color:#334155;display:block}.on-behalf-btn{display:flex;align-items:center;justify-content:center;gap:7px;font-weight:500;font-size:13px;padding:0 8px;transition:all .15s ease}.on-behalf-btn svg{flex-shrink:0}.on-behalf-mobile-label{display:none}.on-behalf-desktop-label{display:inline}@media(max-width:640px){.on-behalf-desktop-label{display:none}.on-behalf-mobile-label{display:inline}}.complaint-on-behalf-panel{padding-top:4px}.on-behalf-field-label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.on-behalf-loading-text{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;color:#64748b;background:#f1f5f9;border-radius:6px}.complaint-on-behalf-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.complaint-on-behalf-inputs .form-field-shell:nth-child(3){grid-column:1 / -1}@media(max-width:640px){.complaint-on-behalf-inputs{grid-template-columns:1fr;gap:10px}}.external-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:9999px;font-size:10px;font-weight:600;background-color:#fef3c7;color:#92400e;border:1px solid #fde68a;line-height:1.2;letter-spacing:.02em;text-transform:uppercase}@media(max-width:767px){.date-orbit{min-width:0;width:100%;overflow:hidden;padding:12px}.date-orbit-top-row{flex-direction:column;align-items:flex-start;gap:12px}.compact-date-picker-wrap{width:100%;justify-content:center}.date-orbit-copy h2{font-size:16px;overflow-wrap:normal;word-break:normal;white-space:normal}.date-cards{grid-auto-columns:minmax(46px,1fr)}.date-card{min-width:46px}.date-card span{font-size:11px}.date-card strong{font-size:14px}}@media(max-width:767px){.modal-backdrop{display:flex!important;align-items:center!important;justify-content:center!important;padding:16px 12px!important}.modal-sheet{max-width:540px!important;width:100%!important;min-width:0!important;max-height:calc(100dvh - 36px)!important;border-radius:var(--radius)!important;padding:16px 14px calc(24px + env(safe-area-inset-bottom))!important;margin:auto!important;overflow-x:hidden!important;overflow-y:auto!important;box-sizing:border-box!important}.billing-invoice-sheet{padding:16px 12px!important;gap:12px!important;box-sizing:border-box!important;max-height:100%!important;overflow-y:auto!important;width:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important}.gate-pass-detail-panel{max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}.meta-grid,.profile-grid,.form-grid{grid-template-columns:minmax(0,1fr)!important}.gate-pass-detail-panel dl div,.gatekeeper-view-panel dl div{max-width:100%!important;overflow-wrap:break-word!important;word-break:break-word!important}.gate-pass-detail-panel dl dd{overflow-wrap:break-word!important;word-break:break-word!important;max-width:100%}.pass-detail-grid{grid-template-columns:minmax(0,1fr)!important}.gate-action-summary{grid-template-columns:minmax(0,1fr)!important;text-align:center;justify-items:center;gap:12px!important}.gate-action-summary .status-badge{justify-self:center!important}}.emerald-invoice-sheet{font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;color:#0f172a;background:#fff;padding:16px;border-radius:14px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;width:100%}.emerald-invoice-header{background:linear-gradient(135deg,#064e3b,#065f46);color:#fff;border-radius:10px;padding:18px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 14px #064e3b2e}.emerald-header-badge{width:44px;height:44px;border-radius:10px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.emerald-shield-icon{color:#a7f3d0}.emerald-header-titles{display:flex;flex-direction:column;gap:2px}.emerald-org-title{font-family:Urbanist,sans-serif!important;font-weight:800!important;font-size:1.25rem!important;letter-spacing:.04em!important;margin:0!important;color:#fff!important;line-height:1.2!important}.emerald-org-subtitle{font-family:Urbanist,sans-serif!important;font-weight:500!important;font-size:.85rem!important;color:#d1fae5!important;margin:0!important;letter-spacing:.02em!important}.emerald-pill-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:4px 0 6px}.emerald-pill-badge{background:#064e3b;color:#fff;font-family:Urbanist,sans-serif;font-weight:700;font-size:.95rem;padding:5px 22px;border-radius:999px;letter-spacing:.06em;box-shadow:0 2px 8px #064e3b38}.emerald-pill-month{font-family:Urbanist,sans-serif;font-size:.85rem;color:#475569;font-weight:600;letter-spacing:.02em}.emerald-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;box-sizing:border-box}.emerald-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px}.emerald-box-heading{font-family:Urbanist,sans-serif!important;font-weight:800!important;font-size:.85rem!important;color:#064e3b!important;letter-spacing:.04em!important;margin:0 0 6px!important;border-bottom:1px solid #e2e8f0;padding-bottom:4px}.emerald-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-family:Urbanist,sans-serif;font-size:.85rem}.emerald-info-label{color:#64748b;font-weight:500;flex-shrink:0}.emerald-info-val{color:#0f172a;font-weight:600;text-align:right;word-break:break-word}.emerald-info-val.highlight{color:#064e3b;font-weight:700}.due-highlight{color:#b91c1c;font-weight:700}.paid-highlight{color:#059669;font-weight:700}.emerald-status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.emerald-status-pill.pending{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.emerald-status-pill.paid{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.emerald-status-pill.overdue{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.emerald-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #cbd5e1;width:100%;box-sizing:border-box}.emerald-invoice-table{width:100%;border-collapse:collapse;font-family:Urbanist,sans-serif}.emerald-invoice-table thead th{background:#e6f4ea;color:#064e3b;font-weight:700;font-size:.85rem;padding:10px 12px;border-bottom:1px solid #a7f3d0;text-align:left}.emerald-invoice-table tbody td{padding:10px 12px;border-bottom:1px solid #e2e8f0;font-size:.85rem;color:#1e293b}.emerald-item-title{color:#0f172a;font-weight:700}.emerald-item-notes{color:#64748b;font-size:.8rem}.emerald-grand-total-label{padding:12px;text-align:right;font-weight:800;font-size:1rem;color:#064e3b;background:#f8fafc;border-top:2px solid #064e3b}.emerald-grand-total-amount{padding:12px;text-align:right;font-weight:800;font-size:1.15rem;color:#064e3b;background:#f8fafc;border-top:2px solid #064e3b}.emerald-payment-notice{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 14px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;text-align:center;box-sizing:border-box}.emerald-due-badge{background:#fef3c7;color:#b45309;border:1px solid #f59e0b;font-weight:800;font-size:.78rem;letter-spacing:.06em;padding:3px 12px;border-radius:999px;display:inline-block}.emerald-due-instructions{font-family:Urbanist,sans-serif;font-size:.8rem;color:#78350f;margin:0;line-height:1.4}.emerald-paid-stamp{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0;color:#064e3b}.emerald-remarks-box{background:#f1f5f9;border-radius:8px;padding:10px 12px;font-size:.82rem;color:#475569}@media(max-width:640px){.emerald-invoice-header{padding:12px 14px;gap:10px}.emerald-org-title{font-size:1rem!important}.emerald-org-subtitle{font-size:.75rem!important}.emerald-info-grid{grid-template-columns:1fr;gap:10px}.emerald-pill-badge{font-size:.85rem;padding:4px 16px}}.billing-input,.billing-textarea,.form-input,.custom-form-input,.billing-select,select,input,textarea{box-sizing:border-box!important;max-width:100%!important}select.billing-input,select.billing-select,select.form-input,select{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.admin-units-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:18px!important;margin-top:10px;box-sizing:border-box}.admin-unit-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 4px #0000000a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-sizing:border-box}.admin-unit-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #04785714;border-color:#a7f3d0}.admin-unit-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.admin-unit-code-badge{display:inline-block;padding:3px 9px;font-size:11.5px;font-weight:700;border-radius:20px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;letter-spacing:.03em}.admin-unit-title{font-size:17px;font-weight:700;color:#0f172a;margin:6px 0 0;line-height:1.3}.admin-unit-status{font-size:12px;padding:3px 10px;border-radius:16px;font-weight:600;white-space:nowrap;flex-shrink:0}.admin-unit-status.active{background:#dcfce7;color:#15803d;border:1px solid #86efac}.admin-unit-status.inactive{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.admin-unit-description{font-size:13px;color:#64748b;margin:0 0 10px;line-height:1.45}.admin-unit-stats-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:12.5px}.admin-unit-stat-row{display:flex;justify-content:space-between;align-items:center;color:#64748b}.admin-unit-stat-row strong{color:#1e293b;font-weight:700}.admin-unit-admins-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;margin:10px 0 14px;font-size:12.5px}.admin-unit-admins-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#475569}.admin-unit-admins-icon{color:#047857}.admin-unit-admins-list{display:flex;flex-direction:column;gap:6px}.admin-unit-admin-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;transition:border-color .15s ease,background .15s ease}.admin-unit-admin-item:hover{border-color:#cbd5e1;background:#fdfdfd}.admin-unit-admin-name-row{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.admin-unit-admin-name{font-weight:600;color:#1e293b;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-unit-admin-inactive-badge{font-size:9.5px;padding:1px 5px;border-radius:6px;background:#fee2e2;color:#b91c1c;font-weight:600;line-height:1.2}.admin-unit-admin-phone{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;color:#047857;font-weight:600;font-size:12px;text-decoration:none;transition:all .15s ease;white-space:nowrap;flex-shrink:0;cursor:pointer}.admin-unit-admin-phone:hover{background:#047857;color:#fff;border-color:#047857;text-decoration:none;box-shadow:0 2px 4px #04785733}.admin-unit-admin-phone .admin-unit-phone-icon{flex-shrink:0}.admin-unit-no-admin{color:#94a3b8;font-style:italic;font-size:12px;padding:2px 0}.admin-unit-card-admins-divider{height:1px;background:#e2e8f0;margin:8px 0 6px}.view-toggle-group{display:inline-flex;align-items:center;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(203,213,225,.8);border-radius:12px;padding:4px;gap:4px;box-shadow:0 2px 6px #0000000a}.view-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;background:transparent;border-radius:9px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.view-toggle-btn:hover{color:#0f172a;background:#0000000a}.view-toggle-btn.active{background:linear-gradient(135deg,#059669,#064e3b)!important;color:#fff!important;font-weight:700!important;box-shadow:0 4px 12px #0596694d!important}.view-toggle-btn.active svg{stroke:#fff!important}.admin-locations-table-wrap{display:block;overflow:visible!important}.location-stat-chip{display:inline-block;min-width:30px;padding:3px 8px;border-radius:6px;background:#f1f5f9;color:#1e293b;font-weight:700;font-size:13px}.location-stat-chip.quarters-chip{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.location-admin-cell{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative}.location-admin-name{font-weight:600;font-size:13.5px;color:#1e293b;white-space:nowrap}.location-phone-normal{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:13px;font-weight:500;text-decoration:none;background:transparent;border:none;padding:0;transition:color .15s ease;white-space:nowrap;cursor:pointer}.location-phone-normal:hover{color:#047857;text-decoration:underline}.location-phone-normal .location-phone-icon{color:#64748b;flex-shrink:0;transition:color .15s ease}.location-phone-normal:hover .location-phone-icon{color:#047857}.more-admins-wrapper{position:relative;display:inline-flex;align-items:center}.more-admins-chip{font-size:11px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:1.5px 8px;font-weight:600;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.more-admins-chip:hover{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.more-admins-popover{display:none;position:absolute;top:100%;left:0;z-index:120;min-width:250px;padding-top:6px}.more-admins-popover:before{content:"";position:absolute;top:0;left:0;right:0;height:8px}.more-admins-wrapper:hover .more-admins-popover{display:block}.more-admins-popover-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 28px #0f172a29,0 4px 10px #0f172a14;padding:10px 12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.more-admins-popover-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding-bottom:7px;margin-bottom:7px;border-bottom:1px solid #f1f5f9}.more-admins-popover-icon{color:#059669;flex-shrink:0}.more-admins-popover-list{display:flex;flex-direction:column;gap:7px}.more-admins-popover-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:8px;background:#f8fafc;border:1px solid #f1f5f9;transition:background .15s ease}.more-admins-popover-item:hover{background:#f1f5f9}.more-admins-popover-item-name{display:flex;align-items:center;gap:6px}.more-admins-popover-item-name .adm-name{font-size:12.5px;font-weight:600;color:#1e293b;white-space:nowrap}.more-admins-popover-phone{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;padding:2.5px 7px;border-radius:6px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:all .15s ease}.more-admins-popover-phone:hover{background:#047857;color:#fff;border-color:#047857;box-shadow:0 2px 6px #04785740}.more-admins-popover-no-phone{font-size:11px;color:#94a3b8;font-style:italic}.admin-locations-table tbody tr:hover,.admin-locations-table tbody tr:has(.more-admins-wrapper:hover){position:relative;z-index:40}.admin-locations-content{margin-top:14px}.admin-locations-table td{vertical-align:middle}.admin-unit-key-box{background:#fffbeb;border:1px solid #fef3c7;border-radius:10px;padding:9px 12px;margin-bottom:12px}.admin-unit-key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.admin-unit-key-label{font-size:11px;font-weight:700;color:#92400e;display:flex;align-items:center;gap:5px}.admin-unit-key-btn{font-size:11px;color:#b45309;text-decoration:underline;font-weight:600;background:none;border:none;cursor:pointer;padding:0}.admin-unit-key-btn:hover{color:#78350f}.admin-unit-key-code{font-size:11.5px;color:#92400e;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-unit-card-actions{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid #f1f5f9;margin-top:4px}.admin-unit-card-actions .button,.admin-unit-card-actions button{font-size:12px!important;padding:6px 12px!important}.admin-unit-card-actions .admin-unit-edit-btn{flex:1}.quarters-mobile-card-list,.quarter-types-mobile-card-list,.readings-mobile-card-list{display:none;flex-direction:column;gap:12px;width:100%;margin-top:18px!important}.quarters-desktop-table,.billing-setup-desktop-table,.readings-desktop-table{margin-top:18px!important}.quarter-mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #0000000a;box-sizing:border-box;width:100%}.quarter-mobile-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.quarter-mobile-title-group{display:flex;align-items:center;gap:10px}.quarter-mobile-icon{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;flex-shrink:0}.quarter-mobile-number{font-size:14px;font-weight:700;color:#0f172a;display:block}.quarter-mobile-id{font-size:11px;color:#94a3b8;display:block}.quarter-mobile-card-body{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px dashed #f1f5f9;border-bottom:1px dashed #f1f5f9}.quarter-mobile-info-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:13px;gap:8px}.quarter-mobile-info-label{color:#64748b;font-size:12px;font-weight:500;flex-shrink:0}.quarter-mobile-info-val{text-align:right;color:#0f172a;font-weight:500}.quarter-resident-info{display:flex;flex-direction:column;align-items:flex-end}.quarter-vacant-badge{color:#047857;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.quarter-mobile-card-actions{display:flex;gap:8px}.quarter-mobile-btn{flex:1!important;height:36px!important;font-size:12px!important;justify-content:center!important}.quarter-type-mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #0000000a;box-sizing:border-box;width:100%}.quarter-type-mobile-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.quarter-type-mobile-title-group{display:flex;align-items:center;gap:8px}.quarter-type-mobile-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;flex-shrink:0}.quarter-type-mobile-name{font-size:14px;font-weight:700;color:#0f172a;display:block}.quarter-type-mobile-desc{font-size:11px;color:#64748b;display:block}.quarter-count-pill{font-size:11px;font-weight:700;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:2px 8px;white-space:nowrap}.quarter-type-mobile-card-body{display:flex;flex-direction:column;gap:8px;padding:8px 0;border-top:1px dashed #f1f5f9;border-bottom:1px dashed #f1f5f9}.quarter-type-mobile-info-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:8px}.quarter-type-mobile-info-label{color:#64748b;font-size:12px;font-weight:500}.quarter-type-mobile-rate-val strong{color:#047857;font-size:14px}.quarter-type-mobile-comps-wrap{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.quarter-type-comp-chip{font-size:11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;color:#334155}.quarter-type-mobile-card-actions{display:flex}.quarter-type-mobile-btn{width:100%!important;justify-content:center!important;height:38px!important;font-size:12.5px!important}.reading-mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #0000000a;box-sizing:border-box;width:100%}.reading-mobile-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.reading-mobile-qtr-badge{display:flex;align-items:center;gap:6px}.reading-mobile-qtr-badge strong{padding:3px 8px;border-radius:6px;background:#ecfdf5;color:#047857;font-weight:700;font-size:13px;border:1px solid #a7f3d0}.reading-mobile-qtr-badge span{font-size:11px;background:#f1f5f9;color:#475569;padding:2px 6px;border-radius:4px}.reading-mobile-card-body{display:flex;flex-direction:column;gap:10px;padding:8px 0;border-top:1px dashed #f1f5f9;border-bottom:1px dashed #f1f5f9}.reading-mobile-resident-line{display:flex;justify-content:space-between;align-items:baseline}.reading-inputs-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reading-input-mobile-col{display:flex;flex-direction:column;gap:4px}.reading-input-mobile-col label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase}.reading-calc-mobile-row{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:8px 10px;border-radius:8px;font-size:12px}.reading-calc-item{display:flex;flex-direction:column;gap:2px}.reading-calc-item span{font-size:11px;color:#64748b}.reading-mobile-card-actions{display:flex;gap:8px}.bulk-table-mobile-view{display:none}.billing-desktop-table-card,.emerald-table-wrap,.complaints-desktop-table-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important}@media(max-width:768px){.quarters-desktop-table,.billing-setup-desktop-table,.readings-desktop-table,.bulk-table-desktop-view{display:none!important}.quarters-mobile-card-list,.quarter-types-mobile-card-list,.readings-mobile-card-list{display:flex!important;margin-top:18px!important}.bulk-table-mobile-view{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:12px!important}.billing-input,.reading-input-mobile-col input,.billing-meter-inline-inputs .meter-pill input{font-size:16px!important}.admin-units-grid{grid-template-columns:1fr!important;gap:14px!important}.admin-unit-card-actions{flex-wrap:wrap!important}.modal-backdrop{display:flex!important;align-items:center!important;justify-content:center!important;padding:12px 10px!important;overflow-x:hidden!important;width:100vw!important;max-width:100vw!important;box-sizing:border-box!important}.modal-sheet{width:calc(100vw - 20px)!important;max-width:520px!important;min-width:0!important;max-height:calc(100dvh - 30px)!important;margin:auto!important;overflow-x:hidden!important;overflow-y:auto!important;box-sizing:border-box!important;padding:16px 12px!important;border-radius:16px!important}.modal-header{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}.modal-header h2{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:1.15rem!important;margin:0!important}.modal-close-button{flex-shrink:0!important;width:38px!important;height:38px!important}.gatekeeper-view-panel,.gate-pass-detail-panel,.form-stack{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important}.pass-timing-alert{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-wrap:break-word!important;word-break:break-word!important;white-space:normal!important;display:flex!important;align-items:flex-start!important;gap:8px!important}.pass-timing-alert svg{flex-shrink:0!important;margin-top:2px!important}.pass-timing-alert span{min-width:0!important;flex:1 1 auto!important;overflow-wrap:break-word!important;word-break:break-word!important;white-space:normal!important}.gate-pass-detail-panel .profile-grid,.gatekeeper-view-panel .profile-grid,.profile-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;gap:10px!important}.gate-pass-detail-panel .profile-grid>div,.gatekeeper-view-panel .profile-grid>div,.profile-grid>div{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-wrap:break-word!important;word-break:break-word!important;overflow:hidden!important}.gate-pass-detail-panel dl dd,.gatekeeper-view-panel dl dd,.profile-grid dd{overflow-wrap:break-word!important;word-break:break-word!important;max-width:100%!important;min-width:0!important}.phone-link{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.qr-pass-wrap{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important}.qr-scale-outer{max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.billing-modal-form{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}.billing-payment-summary-card,.billing-field-group{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.billing-modal-actions{flex-direction:column-reverse!important;gap:8px!important;width:100%!important;box-sizing:border-box!important}.billing-modal-actions button,.billing-modal-actions .button{width:100%!important;height:44px!important;justify-content:center!important}.admin-units-topbar-fallback{width:100%!important;box-sizing:border-box!important}.admin-units-topbar-fallback .topbar-actions-portal{width:100%!important;display:flex!important;gap:8px!important}.admin-units-topbar-fallback .topbar-actions-portal .button,.admin-units-topbar-fallback .topbar-actions-portal button{flex:1 1 0!important;min-width:0!important;font-size:12px!important;padding:8px 6px!important;white-space:nowrap!important;justify-content:center!important}.quarters-management-wrapper{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important}.quarter-filter-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.quarter-filter-row{flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important;box-sizing:border-box!important}.quarter-search-box{width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;box-sizing:border-box!important}.quarter-select-filter{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;box-sizing:border-box!important}.quarter-select-filter select{flex:1 1 auto!important;min-width:0!important;width:100%!important}.quarter-download-pdf-btn{width:100%!important;justify-content:center!important;box-sizing:border-box!important}.quarters-mobile-card-list{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.quarter-mobile-card{width:100%!important;max-width:100%!important;min-width:0!important;padding:12px 14px!important;box-sizing:border-box!important;overflow:hidden!important}.quarter-mobile-card-actions{display:flex!important;flex-direction:row!important;gap:6px!important;width:100%!important;box-sizing:border-box!important}.quarter-mobile-btn{flex:1 1 0!important;min-width:0!important;height:36px!important;padding:0 6px!important;font-size:11.5px!important;justify-content:center!important;gap:4px!important;white-space:nowrap!important;box-sizing:border-box!important}.quarter-mobile-btn svg{flex-shrink:0!important}.quarter-mobile-info-val,.quarter-resident-info{min-width:0!important;overflow-wrap:break-word!important;word-break:break-word!important}}@media(max-width:380px){.topbar-actions .button,.topbar-actions button,.topbar-actions-portal .button,.topbar-actions-portal button{flex:1 1 100%!important}.quarter-mobile-card-actions,.reading-mobile-card-actions{flex-direction:column!important}}@media(min-width:769px){.quarters-desktop-table,.billing-setup-desktop-table,.readings-desktop-table{display:block!important}.quarters-mobile-card-list,.quarter-types-mobile-card-list,.readings-mobile-card-list{display:none!important}}.history-timeline{position:relative;padding-left:28px;margin:16px 0}.history-timeline:before{content:"";position:absolute;left:11px;top:16px;bottom:0;width:2px;background:linear-gradient(180deg,#10b98166,#0478571a);border-radius:4px}.history-node{position:relative;margin-bottom:24px;opacity:0;animation:timelineFadeIn .5s cubic-bezier(.2,.8,.2,1) forwards}.history-node:last-child{margin-bottom:0}.history-marker{position:absolute;left:-23px;top:16px;width:14px;height:14px;border-radius:50%;background:#cbd5e1;border:2px solid #ffffff;box-shadow:0 0 0 4px #fffc;z-index:2;transition:all .3s ease}.history-marker[data-status=OCCUPIED],.history-marker[data-status=ACTIVE]{background:#10b981;box-shadow:0 0 0 4px #10b98133}.history-node.is-current .history-marker{background:#047857;box-shadow:0 0 0 4px #10b98140;animation:markerPulse 2s infinite}.history-marker[data-status=VACANT]{background:#94a3b8}.history-marker[data-status=MAINTENANCE],.history-marker[data-status=UNDER_MAINTENANCE]{background:#f59e0b}.history-content{background:#ffffffb3;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(167,243,208,.4);border-radius:16px;padding:16px;box-shadow:0 12px 30px #0478570a;transition:all .3s ease;text-align:left}.history-node:hover .history-content{background:#ffffffe6;border-color:#10b98166;box-shadow:0 16px 40px #04785714;transform:translateY(-2px)}.history-node.is-current .history-content{background:linear-gradient(145deg,#fffffff2,#ecfdf5cc);border-color:#10b98180;box-shadow:0 12px 32px #0478571a}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap;width:100%}.history-date-box{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;background:#f1f5f9cc;padding:6px 12px;border-radius:20px;border:1px solid rgba(226,232,240,.8)}.history-node.is-current .history-date-box{background:#10b9811a;color:#047857;border-color:#10b98133;font-weight:600}.history-body{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;width:100%}.history-title{font-size:16px;font-weight:700;color:#0f172a;text-align:left}.history-subtitle{font-size:14px;color:#475569;text-align:left}.history-meta{display:flex;align-items:center;justify-content:flex-start;gap:10px;font-size:13px;color:#64748b;margin-top:4px;flex-wrap:wrap;width:100%;text-align:left}.history-meta-item{display:inline-flex;align-items:center;gap:6px}@keyframes timelineFadeIn{0%{opacity:0;transform:translate(-16px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes markerPulse{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@media(max-width:640px){.bulk-table-desktop-view{display:none!important}.bulk-table-mobile-view{display:flex!important}.billing-meter-inline-inputs{display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important}.billing-meter-inline-inputs .meter-pill{flex:1 1 calc(33.33% - 6px)!important;min-width:75px!important;box-sizing:border-box!important}.billing-meter-inline-inputs .meter-pill input{width:100%!important;min-width:32px!important}.billing-modal-actions{flex-direction:column-reverse!important;gap:10px!important}.billing-modal-actions .button{width:100%!important;justify-content:center!important}.billing-view-modal-actions{flex-direction:column-reverse!important;gap:10px!important}.billing-view-modal-actions .button{width:100%!important;justify-content:center!important}}@media(min-width:641px){.bulk-table-desktop-view{display:block!important}.bulk-table-mobile-view{display:none!important}}.sidebar-location-selector-wrap{display:flex;flex-direction:column;gap:5px;padding:0 2px;margin-bottom:-8px}.sidebar-location-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#047857}.sidebar-location-loading{font-size:12px;color:#64748b;padding:6px 8px}.sidebar-location-select-box{position:relative;width:100%}.sidebar-location-select-box select{width:100%!important;height:38px!important;min-height:38px!important;padding:0 32px 0 11px!important;font-size:13px!important;font-weight:600!important;color:#0f172a!important;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:14px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;box-shadow:0 1px 2px #0000000a!important;outline:none!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;transition:all .15s ease!important;box-sizing:border-box!important}.sidebar-location-select-box select option{background-color:#fff!important;background:#fff!important;color:#0f172a!important;padding:8px 12px!important;font-size:13px!important;font-weight:500!important}.sidebar-location-select-box select optgroup{background-color:#fff!important;background:#fff!important;color:#64748b!important}.sidebar-location-select-box select:hover{border-color:#047857!important;background-color:#f0fdf4!important}.sidebar-location-select-box select:focus{border-color:#047857!important;box-shadow:0 0 0 3px #04785726!important}.topbar-title-row{display:flex;align-items:center;gap:12px}.mobile-topbar-location-wrap{display:none}@media(max-width:1023px){.topbar-title-row{justify-content:space-between;flex-wrap:wrap;width:100%}.mobile-topbar-location-wrap{display:inline-flex!important;align-items:center;position:relative;background:#fff;border:1.5px solid #10b981;border-radius:9999px;padding:0 10px 0 8px;height:32px;box-shadow:0 1px 3px #0478571a;max-width:100%;flex-shrink:0}.mobile-topbar-location-icon{display:flex;align-items:center;color:#047857;margin-right:5px;flex-shrink:0}.mobile-topbar-location-select{border:none!important;background:transparent!important;font-size:12px!important;font-weight:600!important;color:#0f172a!important;outline:none!important;cursor:pointer!important;padding:0 18px 0 0!important;appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right center!important;max-width:160px;white-space:nowrap;text-overflow:ellipsis}.mobile-topbar-location-select option{background-color:#fff!important;color:#0f172a!important;font-size:13px!important;font-weight:500!important;padding:6px 10px!important}.mobile-drawer-location-section{padding:12px 14px;background:#f0fdf4;border-bottom:1px solid #dcfce7}.mobile-drawer-location-section .sidebar-location-selector-wrap{margin-bottom:0!important;padding:0!important}}
