:root{--p: #0077B6;--p-c: #E8F4FD;--on-p: #FFFFFF;--on-p-c: #004a75;--sec: #0096C7;--sec-c: #dff0fb;--on-sec-c: #004d66;--ter: #0A7D8C;--ter-c: #d4f0f3;--on-ter-c: #003d44;--surf: #FFFFFF;--surf-1: #ffffff;--surf-2: #DCECf8;--bg: #E8F2FA;--on-surf: #060F1A;--on-sv: #18222b;--on-muted: #7A90A0;--outv: #C4D6E4;--danger: #C62828;--danger-c: #FFEBEE;--success: #1B6B38;--success-c:#E8F5E9;--warn: #7A5500;--warn-c: #FFF8E1;--sh: transparent;--sh-md: transparent;--tab-h: 88px;--topbar-h: 64px;--r: 12px;--r-lg: 18px;--r-xl: 26px;--r-f: 999px;--sp-0: 1px;--sp-0-5: 2px;--sp-1: 4px;--sp-1-5: 6px;--sp-2: 8px;--sp-2-5: 10px;--sp-3: 12px;--sp-3-5: 14px;--sp-4: 16px;--sp-4-5: 18px;--sp-5: 20px;--sp-5-5: 22px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--sp-9: 48px;--d-fast: .14s;--d-norm: .22s;--d-slow: .28s;--ease: cubic-bezier(.2,0,0,1);--ease-in: cubic-bezier(.4,0,1,1);--ease-out: cubic-bezier(.2,0,0,1);--icon-wght: 600;--icon-fill: 0;--icon-color: inherit;color-scheme:light}body.dark{--p: #5BC8F5;--p-c: #0A2940;--on-p: #000D1A;--on-p-c: #A8DFFB;--sec: #40C8F0;--sec-c: #072030;--on-sec-c: #90E0F8;--ter: #30B8C8;--ter-c: #052028;--on-ter-c: #80D8E4;--surf: #16202C;--surf-1: #1E2D3D;--surf-2: #273D52;--bg: #0D1620;--on-surf: #F4FBFF;--on-sv: #B8D4E8;--on-muted: #7EA4BC;--outv: #2A3F54;--danger: #FF7070;--danger-c: #2A0A0A;--success: #52E890;--success-c:#0A2018;--warn: #FFD575;--warn-c: #251800;--sh: transparent;--sh-md: transparent;--icon-wght: 700;--icon-fill: 1;--icon-color: var(--on-surf);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,.header,.tabbar,.modal,.sites-panel,.sector-picker,.task-card,.user-card,.announcement-card,.chat-input-bar,.announcement-input-bar{transition:background-color .2s ease,color .2s ease}body{font-family:Plus Jakarta Sans,-apple-system,sans-serif;background:var(--bg);color:var(--on-surf);height:100dvh;overflow:hidden;display:flex;flex-direction:column}.leaflet-control-attribution{display:none!important}*{scrollbar-width:none}*::-webkit-scrollbar{display:none}.icon{font-family:Material Symbols Rounded;font-style:normal;font-weight:400;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;vertical-align:middle;font-variation-settings:"FILL" var(--icon-fill),"wght" var(--icon-wght),"GRAD" 0,"opsz" 24;color:inherit;transition:font-variation-settings .2s ease}.icon-primary{color:var(--on-surf)}.icon-secondary{color:var(--on-sv)}.icon-muted{color:var(--on-muted)}.icon-sm{font-size:16px}.icon-lg{font-size:24px}.icon-xl{font-size:28px}.icon-fill{font-variation-settings:"FILL" 1,"wght" var(--icon-wght),"GRAD" 0,"opsz" 24}body.dark .icon{filter:brightness(1.15)}body.dark .tab svg,body.dark .map-float-btn svg,body.dark .send-btn svg,body.dark .chat-tool-btn svg,body.dark .notes-fab svg,body.dark .fab svg{filter:brightness(1.25)}.tab svg,.map-float-btn svg,.send-btn svg,.notes-fab svg,.fab svg{transition:fill .15s,filter .15s}.header{display:none!important}.content{flex:1;overflow:hidden}.screen{display:none;flex:1;overflow:hidden}.screen.active{display:flex;flex-direction:column;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#screen-act,#screen-users,#screen-admin-tasks,#screen-coord-tasks,#screen-coord-users,#screen-announcements,#screen-coord-announcements{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--tab-h)}#screen-coord-users,#screen-coord-tasks{padding-top:var(--sp-5)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;border:none;background:none;padding:0;border-radius:16px;transition:background .2s}.tab:active{background:#ffffff1f}.tab svg{width:22px;height:22px;fill:var(--on-muted)}.tab.active svg{fill:var(--p)}.tab-label{font-size:10px;font-weight:700;color:var(--on-muted);transition:color .15s;letter-spacing:.1px}.tab.active .tab-label{color:var(--p)}.tab-indicator{width:44px;height:24px;border-radius:var(--r-f);display:flex;align-items:center;justify-content:center;background:transparent}.tab.active .tab-indicator{background:#0077b626}body.dark .tab.active .tab-indicator{background:#5bc8f526}body.dark .tab svg{fill:var(--on-muted)}body.dark .tab.active svg{fill:var(--p)}body.dark .tab-label{color:var(--on-muted)}body.dark .tab.active .tab-label{color:var(--p)}.dark-toggle{width:36px;height:36px;border-radius:50%;background:var(--surf-1);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;transition:background .2s;flex-shrink:0}.dark-toggle:active{background:var(--surf-2)}.dark-toggle .icon{font-size:18px;color:var(--on-sv)}body.dark .dark-toggle .icon{color:var(--p)}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:url(https://pub-bd75f5df1c484a718b5ff82ab1281e08.r2.dev/img/bg1.jpg) center/cover no-repeat;animation:loginBgIn .8s ease-out both}.login-screen.hidden{display:none}.login-glass{width:calc(100% - 48px);max-width:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-8) 28px;background:#ffffff38;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);border:none;box-shadow:none;animation:loginCardIn .5s cubic-bezier(.16,1,.3,1) .15s both}body.dark .login-glass{background:#141e2ab8;border:none;box-shadow:none}@keyframes loginBgIn{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes loginCardIn{0%{opacity:0;transform:translateY(40px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginItemIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-glass .login-logo{animation:loginItemIn .3s ease-out .3s both}.login-glass .login-title{animation:loginItemIn .3s ease-out .35s both}.login-glass .login-sub{animation:loginItemIn .3s ease-out .4s both}.login-glass .input-field:nth-of-type(1){animation:loginItemIn .3s ease-out .45s both}.login-glass .input-field:nth-of-type(2){animation:loginItemIn .3s ease-out .5s both}.login-glass .btn-primary{animation:loginItemIn .3s ease-out .55s both}.login-glass .login-toggle{animation:loginItemIn .25s ease-out .6s both}.login-logo{width:72px;height:72px;background:var(--p);border-radius:var(--r-f);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-5);box-shadow:none}.login-logo svg{width:38px;height:38px;fill:var(--on-p)}.login-title{font-size:26px;font-weight:800;color:var(--on-surf);letter-spacing:-.5px;margin-bottom:var(--sp-1)}.login-sub{font-size:14px;color:var(--on-sv);margin-bottom:var(--sp-7);text-align:center;font-weight:500}.input-field{width:100%;padding:var(--sp-3-5) var(--sp-4);border-radius:var(--r-f);border:none;background:#ffffff40;font-size:16px;font-family:inherit;outline:none;color:var(--on-surf);transition:all .2s;margin-bottom:var(--sp-2-5)}.input-field:focus{background:#fff6;border:none;box-shadow:none}.input-field::placeholder{color:var(--on-sv)}body.dark .input-field{background:#ffffff14;border:none;color:#fff}body.dark .input-field:focus{background:#ffffff24;border:none}body.dark .input-field::placeholder{color:#ffffff73}.btn-primary{width:100%;padding:var(--sp-3-5);border-radius:var(--r-f);background:var(--p);color:var(--on-p);font-size:15px;font-weight:700;font-family:inherit;border:none;cursor:pointer;margin-top:var(--sp-1-5);transition:opacity .15s}.btn-primary:active{opacity:.85}.login-toggle{margin-top:var(--sp-5);font-size:14px;color:var(--on-sv);font-weight:500}.login-toggle span{color:var(--p);font-weight:700;cursor:pointer}.login-error{color:var(--danger);font-size:13px;margin-top:var(--sp-1);text-align:center;min-height:18px;font-weight:600}.field-error{color:var(--danger);font-size:11px;margin-top:var(--sp-1);font-weight:700}.map-float-btn{flex:1;height:46px;border-radius:var(--r-f);border:none;cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);box-shadow:0 2px 16px var(--sh-md);transition:transform .15s,opacity .15s;-webkit-backdrop-filter:var(--g-blur-veil);backdrop-filter:var(--g-blur-veil)}.map-float-btn:active{transform:scale(.96);opacity:.85}.map-float-btn.sites{background:var(--surf);color:var(--on-surf)}.map-float-btn.sector-btn{background:var(--surf);color:var(--on-surf);flex:1.5}.map-float-btn.add{background:var(--p);color:var(--on-p);flex:0 0 46px;border-radius:var(--r-f)}.map-float-btn.sites svg,.map-float-btn.sector-btn svg{fill:var(--p)}.map-float-btn.add svg{fill:var(--on-p)}.map-float-btn svg{width:18px;height:18px;flex-shrink:0}.map-float-btn.gps-btn{background:var(--surf);color:var(--p);flex:0 0 46px;width:46px;height:46px;border-radius:var(--r-f);display:flex;align-items:center;justify-content:center}.map-float-btn.gps-btn svg{fill:var(--p);width:20px;height:20px}.map-float-btn.gps-btn.active{background:var(--p)}.map-float-btn.gps-btn.active svg{fill:var(--on-p)}body.dark .map-float-btn.sites,body.dark .map-float-btn.sector-btn,body.dark .map-float-btn.gps-btn{background:var(--surf);color:var(--on-surf);border:none}body.dark .map-float-btn.sites svg,body.dark .map-float-btn.sector-btn svg{fill:var(--p)}.sites-panel,.sector-picker{position:absolute;bottom:0;left:0;right:0;background:var(--surf);border-radius:24px 24px 0 0;z-index:450;transform:translateY(100%);transition:transform var(--d-slow) var(--ease);max-height:68%;display:flex;flex-direction:column;box-shadow:0 -2px 32px var(--sh-md)}.sector-picker{z-index:460}.sites-panel.open,.sector-picker.open{transform:translateY(0)}.sites-panel-handle,.sector-picker-handle{width:32px;height:3px;background:var(--outv);border-radius:2px;margin:var(--sp-2-5) auto var(--sp-2);flex-shrink:0}.sites-panel-close{background:var(--surf-1);border:none;cursor:pointer;color:var(--on-sv);font-size:16px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;transition:background .15s}.sites-panel-close:active{background:var(--outv)}body.dark .sites-panel-close{color:var(--on-surf)}.sites-panel-title{font-size:16px;font-weight:700;flex:1;color:var(--on-surf)}.sites-panel-tabs{display:flex;gap:var(--sp-1-5);padding:0 var(--sp-4) var(--sp-2-5);flex-shrink:0;overflow-x:auto}.sites-panel-tab{padding:var(--sp-1-5) var(--sp-3-5);border-radius:var(--r-f);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;border:none;background:var(--surf-1);color:var(--on-sv);transition:all .15s;white-space:nowrap;flex-shrink:0}.sites-panel-tab.active{background:var(--p);color:var(--on-p)}body.dark .sites-panel-tab{color:var(--on-sv);background:var(--surf-1)}body.dark .sites-panel-tab.active{background:var(--p);color:#000d1a}.sites-panel-list{overflow-y:auto;padding:0 var(--sp-3-5) var(--sp-7);flex:1}.site-list-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;cursor:pointer;transition:opacity .15s}.site-list-item:active{opacity:.55}.site-list-icon{width:38px;height:38px;border-radius:12px;background:var(--p-c);display:flex;align-items:center;justify-content:center;flex-shrink:0}.site-list-icon svg{width:18px;height:18px;fill:var(--p)}.site-list-info{flex:1}.site-list-name{font-size:14px;font-weight:700;color:var(--on-surf)}.site-list-desc{font-size:12px;color:var(--on-sv);margin-top:var(--sp-0);font-weight:500}.site-list-badge{font-size:10px;font-weight:700;padding:var(--sp-0-5) var(--sp-2);border-radius:var(--r-f);margin-top:var(--sp-1);display:inline-block}.site-list-badge.global{background:var(--p-c);color:var(--on-p-c)}.site-list-badge.sector{background:var(--success-c);color:var(--success)}.sector-picker-list{overflow-y:auto;padding:0 var(--sp-4) 28px;flex:1}.sector-picker-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;transition:opacity .12s}.sector-picker-item:active{opacity:.6}.sector-picker-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sector-picker-name{font-size:14px;font-weight:700;flex:1;color:var(--on-surf)}.sector-picker-actions{display:flex;gap:var(--sp-1-5)}.sector-picker-tag{font-size:12px;font-weight:700;padding:var(--sp-1-5) var(--sp-3);border-radius:var(--r-f);cursor:pointer;border:none;font-family:inherit;transition:opacity .15s}.sector-picker-tag:active{opacity:.7}.sector-picker-tag.draw{background:var(--p-c);color:var(--on-p-c)}.sector-picker-tag.erase{background:var(--danger-c);color:var(--danger)}#screen-chat,#screen-admin-chat,#screen-coord-chat{overflow:hidden}.chat-list{overflow-y:auto;flex:1;background:var(--bg)}.chat-item{background:var(--surf);display:flex;align-items:center;cursor:pointer;transition:background .12s}.chat-item:active{background:var(--surf-1)}.chat-avatar{width:48px;height:48px;border-radius:var(--r-f);background:var(--p);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--on-p);flex-shrink:0}.chat-info{flex:1;min-width:0}.chat-name{font-size:15px;font-weight:700;margin-bottom:var(--sp-0-5);color:var(--on-surf)}.chat-preview{font-size:13px;color:var(--on-sv);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.chat-room{display:none;flex-direction:column;flex:1;overflow:hidden;min-height:0}.chat-room.open{display:flex}.pinned-banner{background:var(--warn-c);padding:var(--sp-2) var(--sp-4);display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.pinned-banner svg{width:14px;height:14px;fill:var(--warn);flex-shrink:0}.pinned-banner-text{font-size:12px;color:var(--on-surf);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-3-5) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);background:var(--bg);min-height:0}.msg{max-width:80%;display:flex;flex-direction:row;align-items:flex-end;gap:var(--sp-1-5);align-self:flex-start}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.msg-content{display:flex;flex-direction:column;gap:var(--sp-0-5);align-items:flex-start}.msg.mine .msg-content{align-items:flex-end}.msg-username{font-size:11px;color:var(--on-muted);padding:0 var(--sp-2-5);font-weight:700}.msg-bubble{word-break:break-word;font-weight:400}.msg.mine .msg-bubble{background:var(--p);color:var(--on-p)}.msg.other .msg-bubble{background:var(--surf);color:var(--on-surf);box-shadow:0 1px 3px var(--sh)}body.dark .msg.other .msg-bubble{background:var(--surf-1)}.msg-time{font-size:10px;color:var(--on-muted);padding:0 var(--sp-1-5);font-weight:600}.msg-actions{display:none;align-items:center;gap:var(--sp-0-5);flex-shrink:0}.msg:hover .msg-actions{display:flex}.msg-action-btn{background:var(--surf-1);border:none;cursor:pointer;border-radius:50%;font-size:13px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:background .15s}.msg-action-btn:hover{background:var(--outv)}.chat-input-bar{background:var(--surf);padding:var(--sp-2-5) var(--sp-3-5);padding-bottom:calc(10px + var(--tab-h) + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;gap:var(--sp-2);flex-shrink:0}.chat-input{flex:1;background:var(--surf-1);border:none;border-radius:20px;padding:var(--sp-2-5) var(--sp-4);font-size:15px;font-family:inherit;outline:none;resize:none;min-height:40px;max-height:120px;line-height:1.45;color:var(--on-surf);overflow-y:auto;scrollbar-width:none;transition:background .2s;font-weight:500}.chat-input:focus{background:var(--surf-2)}.chat-input::placeholder{color:var(--on-muted)}.chat-input::-webkit-scrollbar{display:none}.send-btn{border:none;cursor:pointer;flex-shrink:0}.send-btn:active{opacity:.85}.chat-toolbar{padding:var(--sp-2) var(--sp-3-5);background:var(--surf);display:flex;gap:var(--sp-2);flex-shrink:0}.chat-tool-btn{font-size:12px;font-weight:700;font-family:inherit;border:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-1);transition:opacity .15s}.chat-tool-btn:active{opacity:.7}.chat-tool-btn svg{width:13px;height:13px}.chat-tool-btn.danger{background:var(--danger-c);color:var(--danger)}.chat-tool-btn.danger svg{fill:var(--danger)}.chat-sector-select{background:var(--surf);display:flex;align-items:center}.chat-sector-select label{font-size:11px;color:var(--p);font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.6px}.chat-sector-select .cdd{flex:1}.admin-chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.announcement-card{background:var(--surf);border-radius:var(--r-xl);margin:0 var(--sp-4) var(--sp-2)}body.dark .announcement-card{background:var(--surf-1)}.announcement-text{font-size:14px;line-height:1.6;color:var(--on-surf);font-weight:500}.announcement-meta{font-size:11px;color:var(--on-muted);margin-top:var(--sp-2);font-weight:600}.announcement-empty{padding:var(--sp-9) var(--sp-6);text-align:center;color:var(--on-sv);font-size:15px;font-weight:500}#screen-announcements-admin{display:none;flex-direction:column;overflow:hidden;height:100%}#screen-announcements-admin.active{display:flex}.announcements-scroll{flex:1;overflow-y:auto;padding-top:var(--sp-2)}.announcement-input-bar{background:var(--surf);padding:var(--sp-2-5) var(--sp-3-5);padding-bottom:calc(10px + var(--tab-h) + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;gap:var(--sp-2);flex-shrink:0}.announcement-input{flex:1;background:var(--surf-1);border:none;border-radius:20px;padding:var(--sp-2-5) var(--sp-4);font-size:15px;font-family:inherit;outline:none;resize:none;min-height:40px;max-height:120px;line-height:1.45;color:var(--on-surf);overflow-y:auto;scrollbar-width:none;transition:background .2s;font-weight:500}.announcement-input::-webkit-scrollbar{display:none}.announcement-input:focus{background:var(--surf-2)}.announcement-input::placeholder{color:var(--on-muted)}.section-header{padding:var(--sp-5) var(--sp-4) var(--sp-2);text-transform:uppercase}body.dark .section-header{color:var(--on-sv)}.card-list{padding:0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-6);min-height:4px}.task-card{background:var(--surf);border-radius:var(--r-xl);display:flex;align-items:flex-start}body.dark .task-card{background:var(--surf-1)}.task-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--outv);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .2s;margin-top:var(--sp-0)}.task-check.done{background:var(--p);border:none}.task-check.done:after{content:"";width:5px;height:9px;border:2px solid var(--on-p);border-left:none;transform:rotate(45deg) translateY(-1px);display:block}.task-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1-5)}.task-title{font-size:14px;font-weight:700;color:var(--on-surf)}.task-desc{font-size:13px;color:var(--on-sv);line-height:1.4;font-weight:500}.task-badge{font-size:10px;font-weight:700;padding:var(--sp-0-5) var(--sp-2);border-radius:var(--r-f);align-self:flex-start}.task-badge.global{background:var(--p-c);color:var(--on-p-c)}.task-badge.sector{background:var(--sec-c);color:var(--on-sec-c)}body.dark .task-badge.global{background:var(--p-c);color:var(--on-p-c)}body.dark .task-badge.sector{background:var(--sec-c);color:var(--on-sec-c)}.task-delete{background:none;border:none;cursor:pointer;border-radius:50%;color:var(--on-muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:all .15s}.task-delete:active{opacity:1;color:var(--danger)}body.dark .task-delete{color:var(--on-sv)}body.dark .task-delete:active{color:var(--danger)}.notes-btn{background:var(--surf);border:none;border-radius:var(--r-lg);display:flex;align-items:center;cursor:pointer;transition:background .15s}.notes-btn:active,body.dark .notes-btn{background:var(--surf-1)}.notes-btn svg{width:20px;height:20px;fill:var(--p)}.notes-btn-text{color:var(--on-surf)}.notes-btn-arrow{margin-left:auto;font-size:16px;opacity:.7}.notes-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;transform:translate(100%);visibility:hidden;transition:transform var(--d-slow) var(--ease-out),visibility 0s linear var(--d-slow)}.notes-screen.open{transform:translate(0);visibility:visible;transition:transform var(--d-slow) var(--ease-out),visibility 0s linear 0s}.notes-area{flex:1;overflow-y:auto}.note-card{background:var(--surf);border-radius:var(--r-lg);transition:opacity .15s}body.dark .note-card{background:var(--surf-1)}.note-card:active{opacity:.75}.note-card-preview{font-weight:500}.notes-fab{transition:all .15s}.notes-fab:active{transform:scale(.93)}.user-card{background:var(--surf);border-radius:var(--r-xl);display:flex;align-items:center}body.dark .user-card{background:var(--surf-1)}.user-avatar{width:42px;height:42px;border-radius:var(--r-f);background:var(--p);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--on-p);flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:14px;font-weight:700;color:var(--on-surf)}.user-sector{font-size:12px;color:var(--on-sv);display:flex;align-items:center;flex-wrap:wrap;font-weight:500}.btn{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-f);font-size:12px;font-weight:700;font-family:inherit;border:none;cursor:pointer;transition:opacity .15s;display:inline-flex;align-items:center;background:var(--p-c)}.btn:active{opacity:.7}.btn-outline{background:var(--p-c);color:var(--on-p-c)}.btn-blue{background:var(--p);color:var(--on-p)}.btn-danger{background:var(--danger-c);color:var(--danger)}.sector-tabs{display:flex;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4) var(--sp-2);overflow-x:auto;flex-shrink:0}.sector-tab{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-f);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;border:none;font-family:inherit;background:var(--surf-1);color:var(--on-sv);transition:all .15s}.sector-tab.active{background:var(--p);color:var(--on-p)}body.dark .sector-tab{color:var(--on-sv)}body.dark .sector-tab.active{color:#000d1a}.badge{font-size:10px;font-weight:700;padding:var(--sp-0-5) var(--sp-2);border-radius:var(--r-f)}.badge-pending{background:var(--warn-c);color:var(--warn)}.badge-approved{background:var(--success-c);color:var(--success)}.badge-coord{background:var(--ter-c);color:var(--on-ter-c)}.badge-visitor,body.dark .badge-visitor{background:var(--surf-2);color:var(--on-sv)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192980;z-index:500;align-items:flex-end;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil)}.modal-overlay.open,.modal-overlay.closing{display:flex}.modal-overlay.open{animation:overlayIn var(--d-norm) var(--ease-out)}.modal-overlay.closing{animation:overlayOut var(--d-norm) var(--ease-in) forwards}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0}}.modal{background:var(--surf);border-radius:24px 24px 0 0;padding:var(--sp-5) var(--sp-5) var(--sp-8);width:100%;max-height:92dvh;overflow-y:auto;animation:slideUp var(--d-slow) var(--ease-out)}.modal-overlay.closing .modal{animation:slideDown var(--d-norm) var(--ease-in) forwards}body.dark .modal{background:var(--surf)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.modal-title{font-size:18px;font-weight:700;margin-bottom:var(--sp-4);color:var(--on-surf)}.modal-handle{width:32px;height:3px;background:var(--outv);border-radius:2px;margin:0 auto var(--sp-4)}.form-group{margin-bottom:var(--sp-3)}.form-label{font-size:11px;font-weight:800;color:var(--on-muted);margin-bottom:var(--sp-1-5);display:block;text-transform:uppercase;letter-spacing:.8px}body.dark .form-label{color:var(--on-sv)}.form-input{width:100%;padding:var(--sp-3) var(--sp-3-5);border-radius:var(--r);border:none;background:var(--surf-1);font-size:15px;font-family:inherit;outline:none;transition:background .2s;color:var(--on-surf);font-weight:500}.form-input:focus{background:var(--surf-2)}.form-input[type=date]{display:none}.cdate-trigger{width:100%;padding:var(--sp-3) var(--sp-3-5);border-radius:var(--r);border:none;background:var(--surf-1);font-size:15px;font-family:inherit;font-weight:500;color:var(--on-surf);outline:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-2-5);min-height:46px;transition:background var(--d-norm) var(--ease-out);text-align:left}.cdate-trigger:hover{background:var(--surf-2)}.cdate-trigger .icon{color:var(--p);font-size:18px}.cdate-label{flex:1}.cdate-label.placeholder{color:var(--on-muted)}.cdate-clear{background:none;border:none;color:var(--on-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;transition:background .15s,color .15s;flex-shrink:0}.cdate-clear:hover{background:var(--surf-2);color:var(--danger)}.cdate-clear .icon{font-size:16px;color:inherit}.cal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192973;z-index:600;align-items:center;justify-content:center;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil);padding:var(--sp-5)}body.dark .cal-overlay{background:#0000008c}.cal-overlay.open,.cal-overlay.closing{display:flex}.cal-overlay.open{animation:overlayIn var(--d-norm) var(--ease-out)}.cal-overlay.closing{animation:overlayOut var(--d-norm) var(--ease-in) forwards}.cal{background:var(--surf);border-radius:var(--r-xl);padding:var(--sp-4) var(--sp-4) var(--sp-3);width:100%;max-width:340px;box-shadow:none;animation:calPop var(--d-norm) var(--ease-out)}.cal-overlay.closing .cal{animation:calPopOut var(--d-norm) var(--ease-in) forwards}body.dark .cal{background:var(--surf-1);box-shadow:none}@keyframes calPop{0%{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes calPopOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(4px)}}.cal-head{display:flex;align-items:center;gap:var(--sp-1-5);margin-bottom:var(--sp-3)}.cal-title{flex:1;font-size:15px;font-weight:700;color:var(--on-surf);text-transform:capitalize;letter-spacing:-.2px;transition:opacity .18s ease}.cal-title.switching{opacity:0}.cal-nav{width:34px;height:34px;border-radius:50%;background:var(--surf-1);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--on-sv);transition:background .15s,color .15s,transform .15s}.cal-nav:hover{background:var(--surf-2);color:var(--p);transform:scale(1.06)}.cal-nav:active{transform:scale(.9)}.cal-nav .icon{font-size:20px;color:inherit}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-0-5)}.cal-grid.slide-left{animation:calSlideLeft .22s cubic-bezier(.2,0,0,1)}.cal-grid.slide-right{animation:calSlideRight .22s cubic-bezier(.2,0,0,1)}@keyframes calSlideLeft{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes calSlideRight{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.cal-dow{font-size:10px;font-weight:800;color:var(--on-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:var(--sp-2) 0 var(--sp-1-5)}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--on-surf);border-radius:50%;cursor:pointer;border:none;background:transparent;font-family:inherit;transition:background .15s,color .15s,transform .12s,box-shadow .18s;opacity:0;animation:calDayIn .32s cubic-bezier(.2,0,0,1) forwards;animation-delay:var(--d, 0ms)}@keyframes calDayIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.cal-day:hover:not(.cal-day-empty){background:var(--surf-1);transform:scale(1.08)}body.dark .cal-day:hover:not(.cal-day-empty){background:var(--surf-2)}.cal-day:active:not(.cal-day-empty){transform:scale(.92)}.cal-day.other{color:var(--on-muted);font-weight:500}.cal-day.today{color:var(--p);font-weight:800;box-shadow:inset 0 0 0 1.5px var(--p)}.cal-day.selected{background:var(--p)!important;color:var(--on-p)!important;box-shadow:none;font-weight:800;animation:calDayIn .32s cubic-bezier(.2,0,0,1) forwards,calSelectedPulse .4s cubic-bezier(.2,0,0,1) .32s}body.dark .cal-day.selected{box-shadow:none}@keyframes calSelectedPulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.cal-day.cal-day-empty{cursor:default;pointer-events:none}.cal-foot{display:flex;gap:var(--sp-2);padding-top:var(--sp-3);margin-top:var(--sp-2);border-top:none}.cal-foot button{flex:1;padding:var(--sp-2-5);border-radius:var(--r);border:none;cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;transition:background .15s,opacity .15s}.cal-foot button:active{opacity:.85}.cal-foot .cal-today-btn{background:var(--p-c);color:var(--on-p-c)}.cal-foot .cal-clear-btn{background:var(--surf-1);color:var(--on-sv)}body.dark .cal-foot .cal-clear-btn{background:var(--surf-2);color:var(--on-sv)}.cal-foot .cal-close-btn{background:var(--surf-1);color:var(--on-sv)}body.dark .cal-foot .cal-close-btn{background:var(--surf-2);color:var(--on-sv)}.form-select{width:100%;padding:var(--sp-3) var(--sp-8) var(--sp-3) var(--sp-3-5);border-radius:var(--r);border:none;background:var(--surf-1);font-size:15px;font-family:inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--on-surf);font-weight:600;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%237A90A0'><path d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;cursor:pointer;transition:background-color .2s}body.dark .form-select{background-color:var(--surf-1);color:var(--on-surf);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%237EA4BC'><path d='M7 10l5 5 5-5z'/></svg>")}.cdd{position:relative;width:100%;font-family:inherit}.cdd-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}.cdd-trigger{width:100%;padding:var(--sp-3) var(--sp-8) var(--sp-3) var(--sp-3-5);border-radius:var(--r);border:none;background:var(--surf-1);color:var(--on-surf);font-size:15px;font-family:inherit;font-weight:500;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;text-align:left;transition:background var(--d-norm) var(--ease-out);position:relative;min-height:46px}.cdd-trigger:hover,.cdd.open .cdd-trigger{background:var(--surf-2)}.cdd-trigger-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdd-trigger-label.placeholder{color:var(--on-muted)}.cdd-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--on-sv);transition:transform var(--d-norm) var(--ease-out),color var(--d-norm) var(--ease-out);pointer-events:none}.cdd.open .cdd-chevron{transform:translateY(-50%) rotate(180deg);color:var(--p)}.cdd-chevron svg{width:16px;height:16px;fill:currentColor}.cdd.compact .cdd-trigger{padding:var(--sp-2) 34px var(--sp-2) var(--sp-4);min-height:38px;font-size:14px}.cdd.compact .cdd-chevron{right:12px;width:13px;height:13px}.cdd.compact .cdd-chevron svg{width:13px;height:13px}.cdd-panel{position:fixed;top:0;left:0;background:var(--g-bg);backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);border-radius:var(--r-lg);box-shadow:none;padding:var(--sp-2);max-height:280px;overflow-y:auto;z-index:700;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transform-origin:top center;transition:opacity var(--d-norm) var(--ease-in),transform var(--d-norm) var(--ease-in)}.cdd.open .cdd-panel,.cdd-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity var(--d-norm) var(--ease-out),transform var(--d-norm) var(--ease-out)}.cdd.open-up .cdd-panel,.cdd-panel.open-up{transform:translateY(6px) scale(.98);transform-origin:bottom center}.cdd.open.open-up .cdd-panel,.cdd-panel.open.open-up{transform:translateY(0) scale(1)}.cdd-option{padding:var(--sp-3) var(--sp-4);border-radius:var(--r);font-size:14px;font-weight:600;color:var(--on-surf);cursor:pointer;display:flex;align-items:center;gap:var(--sp-2);transition:background .12s;-webkit-user-select:none;user-select:none}.cdd-option:hover{background:var(--surf-1)}body.dark .cdd-option:hover{background:var(--surf-2)}.cdd-option.selected,body.dark .cdd-option.selected{background:var(--p-c);color:var(--on-p-c)}.cdd-option.selected:after{content:"";width:16px;height:16px;margin-left:auto;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230077B6'><path d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;flex-shrink:0}body.dark .cdd-option.selected:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235BC8F5'><path d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>")}.cdd-option.placeholder{color:var(--on-muted);font-weight:500;font-style:italic}.cdd-empty{padding:var(--sp-3-5);text-align:center;font-size:13px;color:var(--on-muted);font-weight:500}.cdd.on-bar .cdd-panel,.cdd-panel.on-bar{border-radius:var(--r)}.btn-modal{width:100%;padding:var(--sp-3-5);border-radius:var(--r-f);font-size:15px;font-weight:700;font-family:inherit;border:none;cursor:pointer;margin-top:var(--sp-2);transition:opacity .15s}.btn-modal:active{opacity:.85}.btn-modal.primary{background:var(--p);color:var(--on-p)}.btn-modal.secondary{background:var(--surf-1);color:var(--on-surf)}.btn-modal.danger{background:var(--danger-c);color:var(--danger)}body.dark .btn-modal.secondary{background:var(--surf-2);color:var(--on-surf)}.fab{position:fixed;bottom:calc(var(--tab-h) + 8px);right:16px;height:50px;padding:0 var(--sp-5);border-radius:var(--r-f);background:var(--p);border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:none;z-index:150;transition:all .15s}.fab:active{transform:scale(.95);opacity:.88}.fab svg{width:20px;height:20px;fill:var(--on-p)}.login-about-btn{margin-top:var(--sp-4);background:none;border:none;cursor:pointer;font-size:13px;color:var(--on-sv);font-weight:600;font-family:inherit;opacity:.7;transition:opacity .15s}.login-about-btn:active{opacity:.4}.media-uploader{margin-top:var(--sp-1)}.media-drop-zone{border:none;border-radius:var(--r-lg);padding:var(--sp-4);text-align:center;cursor:pointer;background:var(--surf-1);transition:all .2s;position:relative}.media-drop-zone.drag-over{border:none;background:var(--surf-2)}.media-drop-zone.has-files{border-style:solid;border:none}.media-drop-zone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.media-drop-icon{font-size:22px;margin-bottom:var(--sp-1)}.media-drop-label{font-size:13px;color:var(--on-sv);font-weight:600}.media-drop-sub{font-size:11px;color:var(--on-sv);opacity:.6;margin-top:var(--sp-0-5);font-weight:500}.media-drop-count{font-size:12px;font-weight:700;color:var(--p);margin-top:var(--sp-1)}.media-previews{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2-5)}.media-preview-item{position:relative;width:76px;height:76px;border-radius:var(--r);overflow:hidden;background:var(--surf-2);flex-shrink:0}.media-preview-item img,.media-preview-item video{width:100%;height:100%;object-fit:cover;display:block}.media-preview-item .media-preview-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#0000008c;color:#fff;border:none;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center}.media-preview-item .media-preview-type{position:absolute;bottom:3px;left:3px;background:#00000073;color:#fff;font-size:9px;font-weight:700;padding:var(--sp-0) var(--sp-1);border-radius:3px;text-transform:uppercase}.media-uploading{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;font-size:13px;color:var(--on-sv);font-weight:600}.media-uploading-dot{width:7px;height:7px;border-radius:50%;background:var(--p);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.media-error{font-size:12px;color:var(--danger);margin-top:var(--sp-1);font-weight:600}.compress-toggle-row{display:none;align-items:center;gap:var(--sp-2-5);margin-top:var(--sp-2-5);padding:var(--sp-2-5) var(--sp-3);background:var(--surf-1);border-radius:var(--r)}.compress-toggle-row.visible{display:flex}.compress-toggle-label{flex:1;font-size:12px;font-weight:600;color:var(--on-sv)}.compress-toggle-btn{flex-shrink:0;width:40px;height:22px;border-radius:99px;border:none;cursor:pointer;position:relative;transition:background var(--d-norm) var(--ease-out);background:var(--p)}.compress-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--d-norm) var(--ease-out);display:block;box-shadow:none}.upload-progress-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192980;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil);z-index:800;align-items:center;justify-content:center}.upload-progress-overlay.open{display:flex;animation:overlayIn var(--d-norm) var(--ease-out)}.upload-progress-box{background:var(--surf);border-radius:var(--r-xl);padding:var(--sp-7) var(--sp-7) var(--sp-6);width:min(320px,calc(100vw - 48px));box-shadow:none;animation:calPop var(--d-norm) var(--ease-out);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4)}body.dark .upload-progress-box{background:var(--surf-1);box-shadow:none}.upload-progress-icon{width:48px;height:48px;border-radius:50%;background:var(--p-c);display:flex;align-items:center;justify-content:center}.upload-progress-icon .icon{font-size:24px;color:var(--p)}.upload-progress-label{font-size:15px;font-weight:700;color:var(--on-surf);text-align:center}.upload-progress-sub{font-size:13px;color:var(--on-muted);font-weight:500;text-align:center;margin-top:-8px}.upload-progress-bar-wrap{width:100%;height:6px;background:var(--surf-2);border-radius:99px;overflow:hidden}.upload-progress-bar{height:100%;background:var(--p);border-radius:99px;transition:width .3s var(--ease-out);width:0%}.app-toast{position:fixed;right:var(--sp-4);top:calc(var(--topbar-h) + var(--sp-3) + env(safe-area-inset-top,0px));background:var(--ter);border-radius:var(--r-f);padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:var(--sp-2);box-shadow:var(--g-sh-lg);z-index:900;max-width:min(90vw,340px);animation:toastInDown var(--d-norm) var(--ease-out);font-size:13px;font-weight:600;color:#fff;pointer-events:none}body.dark .app-toast{color:#04222a;box-shadow:var(--g-sh-lg)}.app-toast .icon{font-size:20px;flex-shrink:0;color:inherit}.app-toast span:not(.icon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-toast.hiding{animation:toastOutUp var(--d-norm) var(--ease-in) forwards;pointer-events:none}@keyframes toastInDown{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOutUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.96)}}.task-date{font-size:11px;color:var(--on-muted);font-weight:600}body.dark .task-date{color:var(--on-sv)}.task-media-wrap{display:flex;gap:var(--sp-1);flex-wrap:wrap}.task-media-wrap .media-item{width:68px;height:68px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--surf-2);cursor:pointer;transition:opacity .15s}.task-media-wrap .media-item:active{opacity:.75}.task-media-wrap .media-item img{width:100%;height:100%;object-fit:cover;display:block}.task-media-wrap .media-item video{width:100%;height:100%;object-fit:cover;display:block}.task-media-wrap .media-item iframe{width:200px;height:68px;display:block;border:none;pointer-events:none}.cat-chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-2);border-radius:var(--r-f);font-size:11px;font-weight:700}.cat-icon{font-size:12px;line-height:1}.cat-list-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2-5) 0}.cat-list-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.cat-list-name{flex:1;font-size:14px;font-weight:700;color:var(--on-surf)}.color-picker-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}.color-swatch{width:30px;height:30px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .15s;flex-shrink:0}.color-swatch.selected{border:none;transform:scale(1.2)}.lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000f0;flex-direction:column;align-items:center;justify-content:center}.lightbox.open,.lightbox.closing{display:flex}.lightbox.open{animation:overlayIn var(--d-norm) var(--ease-out)}.lightbox.closing{animation:overlayOut var(--d-norm) var(--ease-in) forwards}.lightbox-media{max-width:94vw;max-height:78vh;border-radius:var(--r-lg);overflow:hidden;display:flex;align-items:center;justify-content:center;animation:calPop var(--d-norm) var(--ease-out)}.lightbox.closing .lightbox-media{animation:calPopOut var(--d-norm) var(--ease-in) forwards}.lightbox-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:18px;width:36px;height:36px;border-radius:50%;background:#ffffff1f;border:none;cursor:pointer;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}.lightbox-close:active{background:#ffffff40}.lightbox-close .icon{color:#fff}.lightbox-media img{max-width:94vw;max-height:78vh;object-fit:contain;border-radius:var(--r-lg);display:block}.lightbox-media video{max-width:94vw;max-height:78vh;border-radius:var(--r-lg);display:block;background:#000}.lightbox-media iframe{width:min(560px,94vw);aspect-ratio:16/9;border:none;border-radius:var(--r-lg)}.lightbox-nav{display:flex;align-items:center;gap:var(--sp-6);margin-top:var(--sp-4)}.lightbox-nav-btn{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;cursor:pointer;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background .15s}.lightbox-nav-btn:active{background:#ffffff38}.lightbox-nav-btn:disabled{opacity:.2;cursor:default}.lightbox-nav-btn .icon{color:#fff}.lightbox-counter{font-size:13px;color:#fff9;font-weight:700;min-width:40px;text-align:center}.lightbox-dots{display:flex;gap:var(--sp-1);margin-top:var(--sp-3)}.lightbox-dot{width:5px;height:5px;border-radius:50%;background:#ffffff40;transition:background .2s}.lightbox-dot.active{background:#fff}.empty-state{color:var(--on-sv);font-size:14px;font-weight:500}.icon-btn{width:36px;height:36px;border-radius:var(--r-f);border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:opacity .15s;background:var(--surf-1);color:var(--on-sv)}.icon-btn:active{opacity:.6}.icon-btn .icon{color:var(--on-sv)}body.dark .icon-btn .icon{color:var(--on-surf)}.icon-btn.danger-btn{background:var(--danger-c);color:maroon}.icon-btn.danger-btn .icon{color:var(--danger)}body.dark .leaflet-popup-content-wrapper{background:var(--surf-1);color:var(--on-surf);border:none;box-shadow:none}body.dark .leaflet-popup-tip{background:var(--surf-1)}body.dark .modal-overlay{background:#000000bf}.desktop-topbar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-2);padding-top:calc(var(--sp-3) + env(safe-area-inset-top,0px));background:#ffffffbf;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);flex-shrink:0;border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:none;margin:0 var(--sp-2);z-index:10}body.dark .desktop-topbar{background:#0c131cac;box-shadow:none}.desktop-topbar-title{font-size:18px;font-weight:800;color:var(--on-surf);letter-spacing:-.3px}.desktop-topbar-actions{display:flex;align-items:center;gap:var(--sp-1-5);flex-shrink:0}.topbar-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--d-fast) var(--ease-out),color var(--d-fast) var(--ease-out);flex-shrink:0}.topbar-btn .icon{font-size:18px;color:inherit}.sidebar-menu-btn,.sidebar-footer{display:none}@media (min-width: 768px){:root{--sidebar-w: 240px;--content-max: 960px}body{display:flex;flex-direction:column}.header{display:none!important}.content{flex:1;overflow:hidden;background:var(--bg);padding:0}.sidebar-menu-btn:hover{background:#fff3}body.dark .sidebar-menu-btn{background:#ffffff0f}body.dark .sidebar-menu-btn:hover{background:#ffffff1f}.tabbar.expanded .sidebar-menu-btn .icon{transform:rotate(90deg)}.tabbar.expanded .sidebar-menu-btn{margin:0 0 var(--sp-2) 0}.tab:hover{background:#ffffff26}body.dark .tab:hover{background:#ffffff14}.tab.active{background:#0077b626}body.dark .tab.active{background:#5bc8f526}.tab svg{width:20px;height:20px;flex-shrink:0}.tab-indicator{width:42px;height:42px;background:transparent!important;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tab-label{font-size:14px;font-weight:600;letter-spacing:0;white-space:nowrap;max-width:0;opacity:0;overflow:hidden;transition:max-width .35s cubic-bezier(.16,1,.3,1),opacity .2s ease}.tab.active .tab-label,.tab.active svg{color:var(--p);fill:var(--p)}body.dark .tab.active svg{fill:var(--p)}body.dark .tab.active .tab-label{color:var(--p)}.tabbar.expanded .tab{height:42px;opacity:1;pointer-events:auto}.tabbar.expanded .tab-label{max-width:160px;opacity:1}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil);z-index:899;animation:overlayIn .2s ease-out}.sidebar-backdrop.open{display:block}.sidebar-footer{display:flex;margin-top:auto;flex-direction:column;gap:var(--sp-1-5);align-items:stretch;max-height:0;opacity:0;padding:0;overflow:hidden;pointer-events:none;transition:max-height .3s cubic-bezier(.16,1,.3,1),opacity .2s ease,padding .3s}.tabbar.expanded .sidebar-footer{max-height:140px;opacity:1;padding:var(--sp-2-5) 0 0;pointer-events:auto}.sidebar-user{font-weight:700;color:var(--on-surf);overflow:hidden;padding:0;display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap;font-size:13px;max-width:42px;transition:max-width .35s cubic-bezier(.16,1,.3,1)}.tabbar.expanded .sidebar-user{max-width:190px;padding:0 0 0 var(--sp-1)}.sidebar-user:before{content:attr(data-initial);width:32px;height:32px;border-radius:50%;background:var(--p);color:var(--on-p);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}.sidebar-footer-row{display:flex;align-items:center;gap:var(--sp-1-5);padding:0}.sidebar-footer-row .dark-toggle,.sidebar-footer-row .logout-btn{width:36px;height:36px;border-radius:50%;background:#ffffff1f;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--on-sv);transition:background .15s,color .15s}.sidebar-footer-row .dark-toggle:hover{background:#ffffff38;color:var(--p)}.sidebar-footer-row .logout-btn:hover{background:var(--danger-c);color:var(--danger)}body.dark .sidebar-footer-row .dark-toggle,body.dark .sidebar-footer-row .logout-btn{background:#ffffff0f}.sidebar-footer-row .dark-toggle .icon,.sidebar-footer-row .logout-btn .icon{font-size:18px;color:inherit}.desktop-topbar{padding:var(--sp-4) var(--sp-6) var(--sp-3) var(--sp-6);margin:var(--sp-2) var(--sp-4) 0 90px;border-radius:18px}.desktop-topbar-title{font-size:22px;letter-spacing:-.5px}.app-toast{top:calc(88px + var(--sp-4));animation:toastInDown var(--d-norm) var(--ease-out)}.app-toast.hiding{animation:toastOutUp var(--d-norm) var(--ease-in) forwards}body.sidebar-collapsed .tabbar{transform:translate(calc(-100% - 32px));opacity:0;pointer-events:none}.screen{padding-bottom:0!important}#screen-act,#screen-users,#screen-admin-tasks,#screen-coord-tasks,#screen-coord-users,#screen-announcements,#screen-coord-announcements{padding-bottom:var(--sp-7)!important}.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-3);padding:0 var(--sp-5)}.card-list>.empty-state{grid-column:1 / -1;background:var(--surf);border-radius:var(--r-lg);padding:var(--sp-8) var(--sp-6)}body.dark .card-list>.empty-state{background:var(--surf-1)}.section-header{padding:var(--sp-6) var(--sp-5) var(--sp-3);font-size:11px}.modal-overlay{align-items:center;justify-content:center;padding:var(--sp-5)}.modal{max-width:480px;border-radius:var(--r-xl);padding:var(--sp-6) var(--sp-6) var(--sp-6);max-height:min(88dvh,640px);animation:modalPop var(--d-slow) var(--ease-out)}#modalSite .modal,#modalNewCategory .modal{max-height:min(78dvh,540px)}.modal-overlay.closing .modal{animation:modalPopOut var(--d-norm) var(--ease-in) forwards}@keyframes modalPop{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalPopOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.94) translateY(6px)}}.modal-handle{display:none}.modal-title{font-size:20px;margin-bottom:var(--sp-4)}.modal .btn-modal{width:auto;display:inline-flex;justify-content:center}.modal-actions{display:flex;gap:var(--sp-3);justify-content:flex-end;margin-top:var(--sp-4)}.modal-actions .btn-modal{margin-top:0;min-width:120px}.modal .btn-modal+.btn-modal{margin-top:var(--sp-2)}.fab{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:132px;bottom:auto;left:auto;height:40px;padding:0 var(--sp-4-5);font-size:14px;font-weight:700;gap:var(--sp-2);color:var(--on-p);font-family:inherit;box-shadow:none;z-index:250}.fab:after{content:attr(data-label);font-size:14px}.fab svg{width:18px;height:18px}body.dark .fab{box-shadow:none}.notes-screen{top:32px;bottom:32px;left:50%;right:auto;transform:translate(-50%) scale(.94);width:min(560px,calc(100vw - 64px));border-radius:var(--r-xl);box-shadow:none;overflow:hidden;opacity:0;transition:opacity var(--d-norm) var(--ease-out),transform var(--d-norm) var(--ease-out),visibility 0s linear var(--d-norm)}.notes-screen.open{transform:translate(-50%) scale(1);opacity:1;transition:opacity var(--d-norm) var(--ease-out),transform var(--d-norm) var(--ease-out),visibility 0s linear 0s}body.dark .notes-screen{box-shadow:none}.tabbar{display:none}.tabbar.active-sidebar{display:flex}.notes-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192980;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil);z-index:299;animation:overlayIn var(--d-norm) var(--ease-out)}.notes-backdrop.open{display:block}.notes-backdrop.closing{animation:overlayOut var(--d-norm) var(--ease-in) forwards}body.dark .notes-backdrop{background:#0000008c}.sites-panel,.sector-picker{top:50px;bottom:20px;right:20px;left:auto;width:360px;max-height:60dvh;border-radius:var(--r-xl);transform:translate(calc(100% + 40px));box-shadow:0 12px 48px var(--sh-md)}.sites-panel.open,.sector-picker.open{transform:translate(0)}#screen-map,#screen-admin-sites,#screen-coord-sites{padding-bottom:0}.chat-input-bar,.announcement-input-bar{padding-bottom:calc(var(--sp-3-5) + env(safe-area-inset-bottom,0px))}#screen-chat{display:none;flex-direction:row!important}#screen-chat.active{display:flex!important}#screen-chat .chat-list{width:320px;flex-shrink:0;border-right:none;background:var(--surf)}#screen-chat .chat-room{flex:1;display:flex!important}#screen-chat .chat-room:not(.open):before{content:"Selecciona un canal para comenzar";margin:auto;color:var(--on-muted);font-size:14px;font-weight:500}#screen-chat .chat-room:not(.open)>*{display:none}.login-glass{width:400px;padding:var(--sp-9) 36px}.login-glass .input-field,.login-glass .btn-primary,.login-glass .login-error,.login-glass .login-toggle{max-width:340px}#modalAlert .modal,#modalConfirm .modal,#modalPrompt .modal,#modalAbout .modal,#modalSite .modal,#modalNewCategory .modal,#modalAssign .modal{max-width:420px}}@media (min-width: 1100px){.card-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}:root{--g-bg: rgba(255,255,255,.92);--g-bg-2: rgba(255,255,255,.68);--g-bg-hi: rgba(255,255,255,1);--g-blur: blur(40px) saturate(1.6);--g-sh: none;--g-sh-lg: none;--btn-fill: rgba(9,42,68,.085);--btn-fill-hi: rgba(9,42,68,.16);--btn-ink: #0A2233;--on-surf: #06131F;--on-sv: #2B3E4E;--on-muted: #55707F;--r: 14px;--r-lg: 18px;--r-xl: 20px;--tab-h: 88px;--bar-h: 56px;--tint: rgba(228,238,247,.25)}body.dark{--g-bg: rgba(38,52,68,.94);--g-bg-2: rgba(255,255,255,.09);--g-bg-hi: rgba(255,255,255,.16);--g-blur: blur(40px) saturate(1.4);--g-sh: none;--g-sh-lg: none;--btn-fill: rgba(255, 255, 255, .279);--btn-fill-hi: rgba(255,255,255,.26);--btn-ink: #F4FBFF;--on-surf: #FFFFFF;--on-sv: #D2E4F2;--on-muted: #9FBBCE;--tint: rgba(6,12,18,.65)}body{background:url(https://pub-bd75f5df1c484a718b5ff82ab1281e08.r2.dev/img/bg2.jpg) center/cover no-repeat fixed}:root{--tint-solid: #3e4348;--tint-blend: screen}body.dark{--tint-solid: #0084ff;--tint-blend: multiply}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);pointer-events:none;z-index:-2}body:after{opacity:.45;content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tint-solid);mix-blend-mode:var(--tint-blend);pointer-events:none;z-index:-1;filter:contrast(.4) brightness(.9)}.content,.screen,.chat-list,.chat-messages{background:transparent}.content{display:flex;flex-direction:column;min-height:0}.screen{min-height:0}.screen.active{min-height:0;flex:1 1 auto}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.skeleton-card,.tabbar,.desktop-topbar,.login-glass,.modal,.cal,.upload-progress-box,.sites-panel,.sector-picker,.cdd-panel,.msg.other .msg-bubble,.notes-screen,.chat-input-bar,.announcement-input-bar,.notes-header,.sidebar-menu-btn,.map-float-btn.on-canvas,.gps-btn.on-canvas{background:var(--g-bg);backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur)}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.skeleton-card,.msg.other .msg-bubble{box-shadow:var(--g-sh)}.tabbar,.desktop-topbar,.login-glass,.modal,.cal,.notes-screen,.upload-progress-box,.sites-panel,.sector-picker,.cdd-panel,.app-toast,.sidebar-menu-btn,.map-float-btn.on-canvas,.gps-btn.on-canvas{box-shadow:var(--g-sh-lg)}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.card-list>.empty-state,.skeleton-card,.tabbar,.desktop-topbar,.login-glass,.modal,.cal,.upload-progress-box,.sites-panel,.sector-picker,.cdd-panel,.app-toast,.msg-bubble,.map-float-btn,.sidebar-menu-btn,.media-drop-zone,.form-input,.cdd-trigger,.cdate-trigger,.chat-input,.announcement-input,.input-field,.btn,.btn-modal,.btn-primary,.icon-btn,.dark-toggle,.topbar-btn,.tab,.sites-panel-tab,.sector-tab,.chat-tool-btn,.msg-action-btn,.cal-nav,.cal-day,.send-btn,.fab,.notes-fab,.login-logo,.badge,.task-badge,.cat-chip,.chat-list,.cdd-option,.sites-panel-close,.task-check,.compress-toggle-btn,.chat-room{border:none!important}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--p)!important;outline-offset:2px}.tabbar,.desktop-topbar{border-radius:var(--r-f)}.login-glass{border-radius:24px}.modal,.cal,.upload-progress-box,.notes-screen{border-radius:22px}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.card-list>.empty-state,.skeleton-card,.media-drop-zone{border-radius:var(--r-xl)}.btn,.btn-modal,.input-field,.form-input,.cdd-trigger,.cdate-trigger,.chat-input,.announcement-input,.sites-panel-tab,.sector-tab,.chat-tool-btn{border-radius:var(--r-f)}.cdd-panel,.cdd-option{border-radius:var(--r-lg)}.msg.mine .msg-bubble{border-radius:18px 18px 5px}.msg.other .msg-bubble{border-radius:18px 18px 18px 5px}.form-input,.cdd-trigger,.cdate-trigger,.chat-input,.announcement-input,.input-field,.media-drop-zone{background:var(--g-bg-2);box-shadow:none}.form-input:focus,.chat-input:focus,.announcement-input:focus,.input-field:focus,.cdd-trigger:hover,.cdate-trigger:hover,.media-drop-zone.drag-over{background:var(--g-bg-hi);box-shadow:none}.has-error{background:var(--danger-c)!important;color:var(--danger)}.sites-panel-tab,.sector-tab,.icon-btn,.dark-toggle,.msg-action-btn,.cal-nav,.sites-panel-close,.btn-modal.secondary,.btn-outline,.chat-tool-btn:not(.danger){background:var(--btn-fill);color:var(--btn-ink);box-shadow:none}.sites-panel-tab:hover,.sector-tab:hover,.icon-btn:hover,.dark-toggle:hover,.msg-action-btn:hover,.cal-nav:hover,.sites-panel-close:hover,.btn-modal.secondary:hover,.btn-outline:hover,.chat-tool-btn:not(.danger):hover{background:var(--btn-fill-hi)}.topbar-btn,.sidebar-menu-btn,.in-topbar .cdd-trigger,.in-topbar .icon-btn,.map-float-bar.in-topbar .map-float-btn{background:var(--btn-fill);color:var(--btn-ink);font-weight:700}.topbar-btn:hover,.sidebar-menu-btn:hover,.in-topbar .cdd-trigger:hover,.in-topbar .icon-btn:hover,.map-float-bar.in-topbar .map-float-btn:hover{background:var(--btn-fill-hi)}.topbar-btn .icon,.sidebar-menu-btn .icon,.in-topbar .icon-btn .icon,.map-float-bar.in-topbar .map-float-btn svg{color:var(--btn-ink);fill:var(--btn-ink)}.topbar-btn.logout-btn:hover{background:var(--danger-c)}.topbar-btn.logout-btn:hover .icon{color:var(--danger)}.in-topbar .icon-btn.danger-btn:hover{background:var(--danger-c)}.in-topbar .icon-btn.danger-btn:hover .icon{color:var(--danger)}.modal-overlay,.cal-overlay,.upload-progress-overlay,.sidebar-backdrop{background:#102a4247;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil)}body.dark .modal-overlay,body.dark .cal-overlay,body.dark .upload-progress-overlay,body.dark .sidebar-backdrop{background:#00000080}#screen-map,#screen-admin-sites,#screen-coord-sites{position:relative;padding:var(--sp-3) var(--sp-4) var(--sp-4);overflow:hidden;flex-direction:column;min-height:0;max-height:100%}#screen-map.active,#screen-admin-sites.active,#screen-coord-sites.active{display:flex}#map,#admin-map,#coord-map{position:absolute!important;top:12px;left:16px;right:16px;bottom:16px;width:auto!important;height:auto!important;flex:none;border-radius:22px;overflow:hidden;box-shadow:var(--g-sh-lg)}.leaflet-container{border-radius:22px}@media (max-width: 767px){#screen-map,#screen-admin-sites,#screen-coord-sites{padding:var(--sp-2) var(--sp-2-5) calc(var(--tab-h) + 4px)}#map,#admin-map,#coord-map{top:8px;left:10px;right:10px;bottom:calc(var(--tab-h) + 4px);border-radius:18px}.leaflet-container{border-radius:18px}}.map-float-btn.on-canvas,.gps-btn.on-canvas{position:absolute;bottom:34px;height:52px;display:flex;align-items:center;justify-content:center;z-index:401}.gps-btn.on-canvas{right:34px;width:52px;min-width:52px;flex:none;padding:0;border-radius:50%}.gps-btn.on-canvas svg{width:22px;height:22px;fill:var(--p)}.gps-btn.on-canvas.active{background:var(--p)}.gps-btn.on-canvas.active svg{fill:var(--on-p)}.map-float-btn.add.on-canvas{right:98px;width:auto;min-width:0;flex:none;padding:0 var(--sp-5-5) 0 var(--sp-4-5);gap:var(--sp-2);border-radius:var(--r-f);background:var(--p);color:var(--on-p);font-size:14px;font-weight:700}.map-float-btn.add.on-canvas svg{width:20px;height:20px;fill:var(--on-p)}.add-label{display:none}.map-float-btn.add.on-canvas .add-label{display:inline;white-space:nowrap}@media (max-width: 767px){.map-float-btn.on-canvas,.gps-btn.on-canvas{bottom:calc(var(--tab-h) + 22px)}.gps-btn.on-canvas{right:26px}.map-float-btn.add.on-canvas{right:90px;padding:0 var(--sp-4-5) 0 var(--sp-3-5);font-size:13.5px}}.leaflet-pane,.leaflet-top,.leaflet-bottom{z-index:400!important}.topbar-slot{display:none}.topbar-slot.filled{display:flex;align-items:center;gap:var(--sp-2);flex:1 1 auto;min-width:0;overflow:hidden;justify-content:flex-end}.desktop-topbar-actions{flex:0 0 auto;margin-left:auto}.desktop-topbar-title{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;padding-block:2px}.desktop-topbar:has(.topbar-slot.filled) .desktop-topbar-title{flex:1 1 auto;margin-right:var(--sp-2);min-width:0}.desktop-topbar:has(.desktop-topbar-title.is-state) .topbar-slot.filled{flex:0 1 auto;min-width:0}.desktop-topbar-title.is-state{color:var(--on-sv)}.in-topbar{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important;margin:0!important;position:static!important;inset:auto!important;display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex:0 1 auto!important}.in-topbar label{font-size:11px;font-weight:700;color:var(--on-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.in-topbar .cdd{flex:0 1 220px;min-width:140px}.in-topbar .cdd-trigger{min-height:38px;padding:var(--sp-2) 34px var(--sp-2) var(--sp-3-5);font-size:14px}.in-topbar>span{font-size:13px;font-weight:700;color:var(--on-sv)}.in-topbar .icon-btn{width:38px;height:38px;flex-shrink:0}.map-float-bar.in-topbar{flex-wrap:nowrap;gap:var(--sp-1-5)}.map-float-bar.in-topbar .map-float-btn{flex:0 0 auto;height:38px;min-height:38px;padding:0 var(--sp-3-5);font-size:13px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0;overflow:hidden;white-space:nowrap}.map-float-bar.in-topbar .map-float-btn.add,.map-float-bar.in-topbar .gps-btn{display:none!important}@media (max-width: 767px){.in-topbar label{display:none}.in-topbar .cdd{flex:1 1 auto;min-width:0}.map-float-bar.in-topbar .map-float-btn{width:38px;padding:0;font-size:0;justify-content:center}}@media (min-width: 768px){.tabbar{position:fixed;left:16px;top:16px;bottom:auto;width:var(--bar-h);height:auto;flex-direction:column;padding:0;gap:0;z-index:900;overflow:hidden;align-items:center;justify-content:flex-start;transition:width .35s cubic-bezier(.16,1,.3,1)}.sidebar-menu-btn{width:var(--bar-h);height:var(--bar-h);min-width:var(--bar-h);min-height:var(--bar-h);flex:0 0 var(--bar-h);padding:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.sidebar-menu-btn .icon{font-size:24px;transition:transform .3s}.tabbar.expanded .sidebar-menu-btn .icon{transform:rotate(90deg)}.tab{flex:0 0 auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:var(--sp-3);width:100%;padding:0 var(--sp-3-5);border-radius:var(--r);height:0;opacity:0;overflow:hidden;pointer-events:none;margin:0;transition:height .3s cubic-bezier(.16,1,.3,1),opacity .2s,background .2s}.tab:hover{background:var(--btn-fill)}.tab.active{background:#0077b626}body.dark .tab.active{background:#5bc8f526}.tab svg{width:20px;height:20px;flex-shrink:0}.tab-indicator{width:auto;height:auto;background:transparent!important;flex-shrink:0}.tab-label{font-size:14px;font-weight:600;white-space:nowrap}.tab.active .tab-label,.tab.active svg{color:var(--p);fill:var(--p)}.tabbar.expanded{width:216px;padding:var(--sp-2);gap:var(--sp-1-5);border-radius:28px;align-items:stretch}.tabbar.expanded .sidebar-menu-btn{width:42px;height:42px;min-width:42px;min-height:42px;flex:0 0 42px;align-self:flex-start;margin-bottom:var(--sp-2)}.tabbar.expanded .tab{height:42px;opacity:1;pointer-events:auto}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:899;animation:overlayIn .2s ease-out}.sidebar-backdrop.open{display:block}.sidebar-footer{display:flex;flex-direction:column;gap:var(--sp-1-5);margin-top:auto;max-height:0;opacity:0;padding:0;overflow:hidden;pointer-events:none;transition:max-height .3s,opacity .2s,padding .3s}.tabbar.expanded .sidebar-footer{max-height:140px;opacity:1;padding:var(--sp-2-5) 0 0;pointer-events:auto}.sidebar-user{font-size:13px;font-weight:700;color:var(--on-surf);padding:var(--sp-1) var(--sp-2-5) 0;display:flex;align-items:center;gap:var(--sp-2);overflow:hidden}.sidebar-user:before{content:attr(data-initial);width:32px;height:32px;border-radius:50%;background:var(--p);color:var(--on-p);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}.sidebar-footer-row{display:flex;gap:var(--sp-1-5)}.sidebar-footer-row .dark-toggle,.sidebar-footer-row .logout-btn{width:36px;height:36px;border-radius:50%;background:var(--btn-fill);display:flex;align-items:center;justify-content:center;cursor:pointer}body{display:flex;flex-direction:column}.content{flex:1;overflow:hidden;padding-left:0}.desktop-topbar{height:var(--bar-h);min-height:var(--bar-h);padding:0 var(--sp-3) 0 26px;margin:var(--sp-4) var(--sp-4) 0 calc(16px + var(--bar-h) + 12px);align-items:center}.desktop-topbar-title{font-size:19px;line-height:1.4}.fab{position:fixed;top:auto;bottom:24px;right:24px;height:46px}.login-screen{justify-content:flex-end;padding:var(--sp-9) var(--sp-8)}.login-glass{width:400px;padding:var(--sp-9) var(--sp-7)}#screen-chat .chat-list{width:300px;background:transparent;border-right:none}.card-list{gap:var(--sp-3);padding:0 var(--sp-6)}.section-header{padding:var(--sp-7) var(--sp-6) var(--sp-3)}}@media (max-width: 767px){.tabbar{position:fixed;bottom:12px;left:14px;right:14px;height:64px;z-index:900;padding:var(--sp-1-5);border-radius:var(--r-f);display:flex}.sidebar-menu-btn,.sidebar-footer{display:none}.tab{flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);min-height:52px;border-radius:16px;height:auto;opacity:1;pointer-events:auto}.tab-label{font-size:10.5px;font-weight:700}.tab.active .tab-indicator{background:#0077b626}.icon-btn,.dark-toggle,.msg-action-btn{width:44px;height:44px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);text-align:center;padding:var(--sp-7) var(--sp-6)}.empty-state-icon{font-size:40px;color:var(--on-muted);opacity:.65}.empty-state-title{font-size:15px;font-weight:700;color:var(--on-surf)}.empty-state-hint{font-size:13px;color:var(--on-sv);line-height:1.5;max-width:34ch}.empty-state-action{margin-top:var(--sp-3);min-height:40px;padding:var(--sp-3) var(--sp-4)}.card-list>.empty-state{background:var(--g-bg-2);box-shadow:none}.skeleton-card{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);margin-bottom:var(--sp-2)}.sk{background:linear-gradient(90deg,var(--g-bg-2) 25%,var(--g-bg-hi) 37%,var(--g-bg-2) 63%);background-size:400% 100%;animation:skShimmer 1.4s ease-in-out infinite;border-radius:var(--r-f)}.sk-avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0}.sk-lines{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}.sk-line{height:11px;width:60%}.sk-line.short{width:35%;height:9px}@keyframes skShimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.section-header{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--on-sv)}.task-card,.user-card,.announcement-card,.note-card,.chat-item{padding:var(--sp-4);gap:var(--sp-3)}.chat-item{margin:0 var(--sp-4) var(--sp-1)}.user-sector{gap:var(--sp-2);row-gap:var(--sp-1);margin-top:var(--sp-1)}.msg-bubble{font-size:14.5px;line-height:1.5;padding:var(--sp-2-5) var(--sp-3-5)}.msg{max-width:min(80%,560px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.polygon-controls{position:absolute;right:34px;bottom:34px;display:none;flex-direction:row;gap:var(--sp-2-5);z-index:402}.polygon-controls.visible{display:flex}.screen.drawing .gps-btn.on-canvas,.screen.drawing .map-float-btn.add.on-canvas,.screen:has(.polygon-controls.visible) .gps-btn.on-canvas,.screen:has(.polygon-controls.visible) .map-float-btn.add.on-canvas{display:none}.draw-btn{height:52px;padding:0 var(--sp-5);display:flex;align-items:center;gap:var(--sp-2);border:none;border-radius:var(--r-f);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;box-shadow:var(--g-sh-lg);transition:transform var(--d-fast) var(--ease-out),filter var(--d-fast) var(--ease-out)}.draw-btn:active{transform:scale(.96)}.draw-btn:hover{filter:brightness(1.06)}.draw-btn svg{width:19px;height:19px;flex-shrink:0}.draw-confirm{background:var(--ter);color:#fff}.draw-confirm svg{fill:#fff}body.dark .draw-confirm{background:var(--ter);color:#04222a}body.dark .draw-confirm svg{fill:#04222a}.draw-cancel{background:var(--g-bg);color:var(--on-sv);backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur)}.draw-cancel svg{fill:var(--on-sv)}.draw-cancel:hover{background:var(--g-bg-hi)}@media (max-width: 767px){.polygon-controls{right:26px;bottom:calc(var(--tab-h) + 22px);gap:var(--sp-2)}.draw-btn{height:48px;padding:0 var(--sp-4-5);font-size:13.5px}}.btn,.btn-modal,.btn-primary,.icon-btn,.dark-toggle,.topbar-btn,.sidebar-menu-btn,.map-float-btn,.draw-btn,.tab,.sites-panel-tab,.sector-tab,.chat-tool-btn,.msg-action-btn,.cal-nav,.cal-day,.send-btn,.fab,.notes-fab,.cdd-trigger,.cdate-trigger,.color-swatch,.sites-panel-close,.empty-state-action{transition:background-color var(--d-fast) var(--ease-out),color var(--d-fast) var(--ease-out),box-shadow var(--d-norm) var(--ease-out),transform var(--d-fast) var(--ease-out),opacity var(--d-fast) var(--ease-out)}.btn:active,.btn-modal:active,.icon-btn:active,.topbar-btn:active,.sidebar-menu-btn:active,.map-float-btn:active,.draw-btn:active,.chat-tool-btn:active,.cal-nav:active,.send-btn:active,.empty-state-action:active{transform:scale(.95)}.fab:active,.notes-fab:active{transform:scale(.93)}.tab:active{transform:scale(.97)}.fab:hover,.notes-fab:hover,.map-float-btn.add.on-canvas:hover,.gps-btn.on-canvas:hover{filter:brightness(1.06);box-shadow:none}body.dark .fab:hover,body.dark .notes-fab:hover,body.dark .map-float-btn.add.on-canvas:hover,body.dark .gps-btn.on-canvas:hover{box-shadow:none}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.site-list-item,.cdd-option,.sector-picker-item{transition:background-color var(--d-fast) var(--ease-out),transform var(--d-fast) var(--ease-out)}.task-card:hover,.user-card:hover,.announcement-card:hover,.note-card:hover,.chat-item:hover,.notes-btn:hover{background:var(--g-bg-hi);box-shadow:none}body.dark .task-card:hover,body.dark .user-card:hover,body.dark .announcement-card:hover,body.dark .note-card:hover,body.dark .chat-item:hover,body.dark .notes-btn:hover{box-shadow:none}.chat-item:active,.site-list-item:active,.note-card:active{transform:scale(.99)}.card-list>*,.chat-list>.chat-item,.notes-area>.note-card{animation:itemIn var(--d-norm) var(--ease-out) both}.card-list>*:nth-child(1){animation-delay:0ms}.card-list>*:nth-child(2){animation-delay:30ms}.card-list>*:nth-child(3){animation-delay:60ms}.card-list>*:nth-child(4){animation-delay:90ms}.card-list>*:nth-child(n+5){animation-delay:.12s}@keyframes itemIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg{animation:msgIn var(--d-norm) var(--ease-out) both}@keyframes msgIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.msg-actions{transition:opacity var(--d-fast) var(--ease-out)}.desktop-topbar-title.state-change{animation:stateIn var(--d-norm) var(--ease-out)}@keyframes stateIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.topbar-slot.filled>*{animation:slotIn var(--d-norm) var(--ease-out) both}@keyframes slotIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.polygon-controls.visible .draw-btn{animation:drawIn var(--d-slow) var(--ease-out) both}.polygon-controls.visible .draw-btn:nth-child(2){animation-delay:50ms}@keyframes drawIn{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}.gps-btn.on-canvas,.map-float-btn.add.on-canvas{animation:canvasIn var(--d-slow) var(--ease-out) both}.map-float-btn.add.on-canvas{animation-delay:40ms}@keyframes canvasIn{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}.tab-indicator{transition:background-color var(--d-norm) var(--ease-out)}.tab svg{transition:fill var(--d-fast) var(--ease-out),transform var(--d-norm) var(--ease-out)}.tab.active svg{transform:scale(1.08)}.sidebar-backdrop{transition:opacity var(--d-norm) var(--ease-out)}.form-input,.chat-input,.announcement-input,.input-field,.media-drop-zone{transition:background-color var(--d-norm) var(--ease-out),box-shadow var(--d-norm) var(--ease-out)}[aria-busy=false]>*{animation:itemIn var(--d-norm) var(--ease-out) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}.form-input,.form-select,.input-field,.cdd-trigger,.cdate-trigger,.chat-input,.announcement-input,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=time],select,textarea{border-radius:var(--r-f)!important;border:none}textarea,.chat-input,.announcement-input{border-radius:var(--r-xl)!important}.form-select{background-color:var(--g-bg-2)}.form-select:focus{background-color:var(--g-bg-hi)}body.dark .form-select{background-color:var(--g-bg-2)}body.dark .form-select:focus{background-color:var(--g-bg-hi)}.chat-input-bar,.announcement-input-bar{padding:var(--sp-2-5) var(--sp-3-5);padding-bottom:calc(10px + var(--tab-h) + env(safe-area-inset-bottom,0px));gap:var(--sp-2-5);align-items:flex-end}@media (min-width: 768px){.chat-input-bar,.announcement-input-bar{padding:var(--sp-3) var(--sp-5) calc(12px + env(safe-area-inset-bottom,0px))}}.chat-input,.announcement-input{border-radius:26px!important;background:var(--g-bg-2);padding:var(--sp-3) var(--sp-5);min-height:48px;line-height:1.45;font-size:15px;transition:background-color var(--d-norm) var(--ease-out),box-shadow var(--d-norm) var(--ease-out)}.chat-input::placeholder,.announcement-input::placeholder{color:var(--on-muted)}.chat-input:focus,.announcement-input:focus{background:var(--g-bg-hi);box-shadow:0 0 0 2px var(--p)}body.dark .chat-input:focus,body.dark .announcement-input:focus{box-shadow:0 0 0 2px var(--sec)}.send-btn{width:48px;height:48px;min-width:48px;flex:0 0 48px;border-radius:50%;background:var(--p);display:flex;align-items:center;justify-content:center;box-shadow:var(--g-sh);transition:transform var(--d-fast) var(--ease-out),filter var(--d-fast) var(--ease-out),box-shadow var(--d-norm) var(--ease-out)}.send-btn:hover{filter:brightness(1.08)}.send-btn:active{transform:scale(.92)}.send-btn .icon{font-size:20px;color:var(--on-p)}.send-btn svg{width:18px;height:18px;fill:var(--on-p)}.chat-sector-select{padding:var(--sp-2) var(--sp-4);gap:var(--sp-2)}.chat-sector-select .cdd-trigger{border-radius:var(--r-f)!important;min-height:44px;background:var(--g-bg-2)}.chat-sector-select .cdd-trigger:hover{background:var(--g-bg-hi)}.chat-tool-btn{border-radius:var(--r-f)!important;min-height:36px;padding:var(--sp-2) var(--sp-4)}.chat-input-bar,.announcement-input-bar,.chat-toolbar,.chat-sector-select{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.chat-input,.announcement-input{background:var(--g-bg);backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);box-shadow:var(--g-sh)}.chat-input:focus,.announcement-input:focus{background:var(--g-bg-hi)}.notes-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;flex-shrink:0}.notes-header .header-title{font-size:18px;font-weight:800;color:var(--on-surf);letter-spacing:-.3px;line-height:1.4}.notes-header .header-action{display:flex;align-items:center;gap:var(--sp-1-5);padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-3);border:none;cursor:pointer;border-radius:var(--r-f);background:var(--btn-fill);color:var(--btn-ink);font-family:inherit;font-size:13.5px;font-weight:700;transition:background-color var(--d-fast) var(--ease-out),transform var(--d-fast) var(--ease-out)}.notes-header .header-action:hover{background:var(--btn-fill-hi)}.notes-header .header-action:active{transform:scale(.96)}.notes-header .header-action .icon{color:inherit}.notes-area{padding:var(--sp-1) var(--sp-4) 96px;display:flex;flex-direction:column;gap:var(--sp-2)}.note-card{display:flex;align-items:flex-start}.note-card-body{flex:1;min-width:0;cursor:pointer}.note-card-title{font-size:15px;font-weight:700;color:var(--on-surf);line-height:1.35;margin-bottom:var(--sp-1)}.note-card-preview{font-size:13.5px;color:var(--on-sv);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card-date{font-size:11.5px;font-weight:600;color:var(--on-muted);margin-top:var(--sp-2)}.note-card-del{flex-shrink:0;width:38px;height:38px;background:transparent;color:var(--on-muted);opacity:0;transition:opacity var(--d-fast) var(--ease-out),background-color var(--d-fast) var(--ease-out),color var(--d-fast) var(--ease-out)}.note-card:hover .note-card-del,.note-card:focus-within .note-card-del{opacity:1}.note-card-del:hover{background:var(--danger-c);color:var(--danger)}.note-card-del:hover .icon{color:var(--danger)}@media (hover: none){.note-card-del{opacity:1}}.notes-fab{position:absolute;right:20px;bottom:24px;width:56px;height:56px;border-radius:50%;background:var(--p);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--g-sh-lg)}.notes-fab svg{width:22px;height:22px;fill:var(--on-p)}@media (max-width: 767px){.notes-area{padding:var(--sp-1) var(--sp-3) 110px}.notes-fab{bottom:calc(var(--tab-h) + 12px);right:16px}}.notes-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#102a4247;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil);z-index:299;opacity:0;transition:opacity var(--d-norm) var(--ease-out)}.notes-backdrop.open{opacity:1}.notes-backdrop.closing{opacity:0}body.dark .notes-backdrop{background:#00000080}.notes-screen{z-index:300}.notes-btn{width:auto;margin:var(--sp-1) var(--sp-5) var(--sp-2);padding:var(--sp-3-5) var(--sp-4-5);gap:var(--sp-3)}.notes-btn-text{font-size:14.5px;font-weight:700}.notes-btn-arrow{color:var(--on-muted)}.card-list>.empty-state{grid-column:1 / -1;max-width:none;margin:0;padding:var(--sp-8) var(--sp-6)}@media (min-width: 768px){.notes-btn{margin:var(--sp-1) var(--sp-6) var(--sp-2-5)}}@media (max-width: 767px){.notes-btn{margin:var(--sp-1) var(--sp-3-5) var(--sp-2)}}.notes-btn.in-topbar{width:auto!important;height:38px;padding:0 var(--sp-4)!important;gap:var(--sp-2);border-radius:var(--r-f)!important;background:var(--btn-fill)!important;color:var(--btn-ink);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.notes-btn.in-topbar:hover{background:var(--btn-fill-hi)!important}.notes-btn.in-topbar svg{width:18px;height:18px;fill:var(--btn-ink)}.notes-btn.in-topbar .notes-btn-text{font-size:13px;font-weight:700}.notes-btn.in-topbar .notes-btn-arrow{display:none}@media (max-width: 767px){.notes-btn.in-topbar{width:38px!important;padding:0!important;justify-content:center}.notes-btn.in-topbar .notes-btn-text{display:none}}#screen-act{padding-top:var(--sp-2)}#screen-act .card-list{gap:var(--sp-3);margin-bottom:var(--sp-8, 32px)}#screen-act .section-header{padding-top:var(--sp-7, 28px)}.task-card{padding:var(--sp-5, 20px);gap:var(--sp-4);align-items:flex-start}.task-body{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.task-title{font-size:16px;font-weight:700;line-height:1.35;letter-spacing:-.2px;margin-bottom:0}.task-desc{font-size:14px;line-height:1.55;color:var(--on-sv)}.task-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2-5);margin-top:var(--sp-1)}.task-badge,.task-date{margin-top:0!important}.task-badge{padding:var(--sp-1) var(--sp-2-5);font-size:11px;letter-spacing:.2px}.task-date{display:inline-flex;align-items:center;gap:var(--sp-1-5);font-size:12.5px;font-weight:600;color:var(--on-muted)}.task-media-wrap{gap:var(--sp-2);margin-top:var(--sp-1)}.task-media-wrap .media-item{width:92px;height:92px;border-radius:var(--r)}.task-media-wrap .media-item iframe{width:240px;height:92px}.task-check{width:24px;height:24px;margin-top:var(--sp-0-5)}@media (min-width: 768px){#screen-act .card-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--sp-4)}.task-card{padding:var(--sp-5, 20px) var(--sp-6, 24px)}}@media (max-width: 767px){.task-card{padding:var(--sp-4);gap:var(--sp-3)}.task-media-wrap .media-item{width:80px;height:80px}}.card-list,.section-header{padding-left:var(--sp-4);padding-right:var(--sp-4)}@media (min-width: 768px){.card-list,.section-header{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.sector-tabs{padding-bottom:var(--sp-5)}.map-float-bar.in-topbar .map-float-btn,.gps-btn.on-canvas,.topbar-btn,.in-topbar .cdd-trigger,.in-topbar .icon-btn,.notes-btn.in-topbar,.draw-cancel{background:var(--btn-fill)!important;color:var(--btn-ink)!important;box-shadow:none!important;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur)}.map-float-bar.in-topbar .map-float-btn:hover,.gps-btn.on-canvas:hover,.topbar-btn:hover,.in-topbar .cdd-trigger:hover,.in-topbar .icon-btn:hover,.notes-btn.in-topbar:hover,.draw-cancel:hover{background:var(--btn-fill-hi)!important}.map-float-bar.in-topbar .map-float-btn svg,.gps-btn.on-canvas svg,.topbar-btn .icon,.in-topbar .icon-btn .icon,.notes-btn.in-topbar svg,.draw-cancel svg{fill:var(--btn-ink)!important;color:var(--btn-ink)!important}.sidebar-menu-btn{background:var(--g-float)!important;backdrop-filter:var(--g-blur)!important;-webkit-backdrop-filter:var(--g-blur)!important;box-shadow:var(--g-sh-lg)!important;color:var(--btn-ink)!important}.sidebar-menu-btn:hover{background:var(--g-solid-hi)!important}.sidebar-menu-btn .icon{color:var(--btn-ink)!important}.gps-btn.on-canvas,.map-float-btn.add.on-canvas{box-shadow:var(--g-sh-lg)!important}.map-float-btn.add.on-canvas,.draw-confirm,.fab,.notes-fab,.send-btn{background:var(--p)!important;color:var(--on-p)!important}.map-float-btn.add.on-canvas svg,.draw-confirm svg,.fab svg,.notes-fab svg,.send-btn svg{fill:var(--on-p)!important}.send-btn .icon{color:var(--on-p)!important}body.dark .map-float-btn.add.on-canvas,body.dark .draw-confirm,body.dark .fab,body.dark .notes-fab,body.dark .send-btn{background:color-mix(in srgb,var(--p) 82%,#0B131B)!important;color:#04222a!important}body.dark .map-float-btn.add.on-canvas svg,body.dark .draw-confirm svg,body.dark .fab svg,body.dark .notes-fab svg,body.dark .send-btn svg{fill:#04222a!important}body.dark .send-btn .icon{color:#04222a!important}.task-delete,.note-card-del,.msg-action-btn,.icon-btn:not(.danger-btn){background:transparent;color:var(--on-muted);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:none}.task-delete .icon,.note-card-del .icon,.msg-action-btn .icon,.icon-btn:not(.danger-btn) .icon{color:inherit}.task-delete:hover,.note-card-del:hover,.msg-action-btn:hover{background:var(--danger-c);color:var(--danger)}.task-delete:hover .icon,.note-card-del:hover .icon{color:var(--danger)}.icon-btn:not(.danger-btn):hover{background:var(--btn-fill-hi);color:var(--btn-ink)}.icon-btn:not(.danger-btn):hover .icon{color:var(--btn-ink)}.gps-btn.on-canvas,.draw-cancel{background:var(--g-bg)!important;color:var(--on-surf)!important;box-shadow:var(--g-sh-lg)!important}.gps-btn.on-canvas svg,.draw-cancel svg{fill:var(--p)!important;color:var(--p)!important}.gps-btn.on-canvas:hover,.draw-cancel:hover{background:var(--g-bg-hi)!important}body.dark .gps-btn.on-canvas,body.dark .draw-cancel{background:#1e2a36!important;color:var(--on-surf)!important}body.dark .gps-btn.on-canvas svg,body.dark .draw-cancel svg{fill:var(--p)!important}.gps-btn.on-canvas.active{background:var(--p)!important}.gps-btn.on-canvas.active svg{fill:var(--on-p)!important}body.dark .gps-btn.on-canvas.active{background:var(--p)!important}body.dark .gps-btn.on-canvas.active svg{fill:#04222a!important}.task-delete,.note-card-del,.msg-action-btn,.task-delete .icon,.note-card-del .icon,.msg-action-btn .icon{color:var(--on-sv)}body.dark .task-delete,body.dark .note-card-del,body.dark .msg-action-btn{background:#ffffff12;color:var(--on-surf)}body.dark .task-delete .icon,body.dark .note-card-del .icon,body.dark .msg-action-btn .icon{color:var(--on-surf)}body.dark .task-delete:hover,body.dark .note-card-del:hover,body.dark .msg-action-btn:hover{background:var(--danger-c)}body.dark .task-delete:hover .icon,body.dark .note-card-del:hover .icon{color:var(--danger)}.task-delete,.note-card-del,.msg-action-btn,.announcement-card .task-delete{background:var(--btn-fill)!important;color:var(--btn-ink)!important;width:38px!important;height:38px!important;border-radius:50%!important;opacity:1!important}.task-delete .icon,.note-card-del .icon,.msg-action-btn .icon,.announcement-card .task-delete .icon{color:var(--btn-ink)!important}.task-delete:hover,.note-card-del:hover,.msg-action-btn:hover,.announcement-card .task-delete:hover{background:var(--danger-c)!important;color:var(--danger)!important}.task-delete:hover .icon,.note-card-del:hover .icon,.msg-action-btn:hover .icon,.announcement-card .task-delete:hover .icon{color:var(--danger)!important}.task-delete,.note-card-del,.msg-action-btn{background:#d3e0ec!important;color:#33505f!important}.task-delete .icon,.note-card-del .icon,.msg-action-btn .icon{color:#33505f!important}body.dark .task-delete,body.dark .note-card-del,body.dark .msg-action-btn{background:#33465a!important;color:#dceaf5!important}body.dark .task-delete .icon,body.dark .note-card-del .icon,body.dark .msg-action-btn .icon{color:#dceaf5!important}.icon-btn.danger-btn{background:var(--danger-c)!important;width:38px!important;height:38px!important;border-radius:50%!important;flex-shrink:0}.icon-btn.danger-btn .icon{color:var(--danger)!important}.icon-btn.danger-btn:hover{background:var(--danger)!important}.icon-btn.danger-btn:hover .icon{color:#fff!important}body.dark .icon-btn.danger-btn:hover .icon{color:#2a0a0a!important}@media (min-width: 768px){.tabbar{transition:width .26s cubic-bezier(.4,0,.2,1)}.tab{transition:height .2s cubic-bezier(.4,0,.2,1) 60ms,opacity .12s linear,background .2s var(--ease-out)}.tab-label{transition:opacity .1s linear;max-width:none}.tabbar:not(.expanded) .tab-label{opacity:0}.sidebar-footer{transition:max-height .2s cubic-bezier(.4,0,.2,1) 60ms,opacity .12s linear}.tabbar:not(.expanded) .tab,.tabbar:not(.expanded) .sidebar-footer{transition-delay:0ms;opacity:0}.sidebar-menu-btn .icon{transition:transform .26s cubic-bezier(.4,0,.2,1)}}:root{--g-blur: blur(8px);--g-blur-veil: blur(8px)}body.dark{--g-blur: blur(8px);--g-blur-veil: blur(8px)}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.skeleton-card,.tabbar,.desktop-topbar,.login-glass,.modal,.cal,.upload-progress-box,.sites-panel,.sector-picker,.cdd-panel,.app-toast,.notes-screen,.msg.other .msg-bubble,.chat-input,.announcement-input,.gps-btn.on-canvas,.draw-cancel,.sidebar-menu-btn{backdrop-filter:var(--g-blur)!important;-webkit-backdrop-filter:var(--g-blur)!important}.form-input,.form-select,.cdd-trigger,.cdate-trigger,.media-drop-zone,.sites-panel-tab,.sector-tab,.chat-tool-btn,.icon-btn,.dark-toggle,.btn-modal.secondary,.btn-outline,.cal-nav,.sites-panel-close,.compress-toggle-row,.upload-progress-bar-wrap,.site-list-icon{background:var(--g-bg-2);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none}.modal-overlay,.cal-overlay,.upload-progress-overlay,.sidebar-backdrop,.notes-backdrop{backdrop-filter:var(--g-blur-veil)!important;-webkit-backdrop-filter:var(--g-blur-veil)!important}.chat-avatar,.user-avatar{background:var(--p)}.pinned-banner{background:var(--warn-c)}.cdd-panel,.cal,.modal,.upload-progress-box{background:var(--g-bg)}.cdd-option:hover,.cal-day:hover:not(.cal-day-empty){background:var(--g-bg-2)}.msg-action-btn{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.skeleton-card,.msg.other .msg-bubble,.chat-input,.announcement-input{box-shadow:var(--g-sh)}.tabbar,.desktop-topbar,.login-glass,.modal,.cal,.notes-screen,.upload-progress-box,.sites-panel,.sector-picker,.cdd-panel,.app-toast,.gps-btn.on-canvas,.draw-cancel,.map-float-btn.add.on-canvas{box-shadow:var(--g-sh-lg)}@media (max-width: 767px){.desktop-topbar{margin:calc(var(--sp-2) + env(safe-area-inset-top,0px)) var(--sp-2-5) 0;padding:var(--sp-2-5) var(--sp-3);padding-top:var(--sp-2-5);border-radius:var(--r-f);min-height:56px;gap:var(--sp-1-5)}.desktop-topbar-title{font-size:17px;padding-left:var(--sp-2)}.topbar-btn{width:40px;height:40px;min-width:40px}.topbar-btn .icon{font-size:21px}.map-float-bar.in-topbar{gap:var(--sp-1-5)}.map-float-bar.in-topbar .map-float-btn{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;font-size:0;display:flex;align-items:center;justify-content:center}.map-float-bar.in-topbar .map-float-btn svg{width:20px;height:20px;flex:none}.in-topbar .icon-btn{width:40px;height:40px}.in-topbar .icon-btn .icon{font-size:20px}.notes-btn.in-topbar{width:40px!important;height:40px}.notes-btn.in-topbar svg{width:20px;height:20px}#screen-map,#screen-admin-sites,#screen-coord-sites{padding:var(--sp-2-5) var(--sp-2-5) calc(var(--tab-h) + 4px)}#map,#admin-map,#coord-map{top:var(--sp-2-5);left:var(--sp-2-5);right:var(--sp-2-5);bottom:calc(var(--tab-h) + 4px);border-radius:var(--r-xl)}.leaflet-container{border-radius:var(--r-xl)}.leaflet-control-zoom{display:none}}.modal-overlay{z-index:1100}.cal-overlay{z-index:1200}.upload-progress-overlay{z-index:1300}.app-toast{z-index:1400}.lightbox{z-index:1500}.notes-backdrop{z-index:1000}.notes-screen{z-index:1001}.cdd-panel{z-index:1250}body:has(.modal-overlay.open) .tabbar,body:has(.cal-overlay.open) .tabbar,body:has(.notes-screen.open) .tabbar,body:has(.lightbox.open) .tabbar{pointer-events:none}@media (max-width: 767px){.sites-panel,.sector-picker{position:fixed;left:0;right:0;bottom:0;z-index:950;max-height:75dvh;border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom,0px))}.sector-picker{z-index:960}.sites-panel-list,.sector-picker-list{padding-bottom:var(--sp-4);overscroll-behavior:contain}}@media (max-width: 767px){.map-float-bar.in-topbar .map-float-btn{padding:0!important;gap:0;line-height:0}.map-float-bar.in-topbar .map-float-btn svg{display:block;margin:0 auto}}@media (max-width: 767px){.notes-btn.in-topbar .notes-btn-arrow,.notes-btn.in-topbar>span.icon:last-child{display:none!important;margin:0!important}.notes-btn.in-topbar{padding:0!important;gap:0!important;justify-content:center}.notes-btn.in-topbar svg{display:block;margin:0 auto}}@media (max-width: 767px){.in-topbar .icon-btn.danger-btn{width:40px!important;height:40px!important;min-width:40px;padding:0;display:flex;align-items:center;justify-content:center;overflow:visible;flex:none}.in-topbar .icon-btn.danger-btn .icon{font-size:20px;line-height:1;width:auto;height:auto}}.desktop-topbar-title{overflow:hidden;white-space:nowrap;transform:none!important}.desktop-topbar-title .tt-inner{display:inline-flex;gap:48px;white-space:nowrap;will-change:transform}.desktop-topbar-title .tt-copy{flex:none}.desktop-topbar-title.scrolling{text-overflow:clip}.desktop-topbar-title.scrolling .tt-inner{animation:tituloCarrusel var(--dur, 12s) linear infinite}@keyframes tituloCarrusel{0%{transform:translate(0)}to{transform:translate(var(--paso, 0px))}}.desktop-topbar-title.scrolling:hover .tt-inner,.desktop-topbar-title.scrolling:active .tt-inner{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.desktop-topbar-title.scrolling .tt-inner{animation:none}.desktop-topbar-title.scrolling{text-overflow:ellipsis}.desktop-topbar-title.scrolling .tt-copy[aria-hidden]{display:none}}.desktop-topbar-title,.desktop-topbar:has(.topbar-slot.filled) .desktop-topbar-title{flex:1 1 0!important;min-width:0!important;width:0;overflow:hidden;white-space:nowrap}.desktop-topbar-actions,.topbar-slot.filled{flex:0 0 auto!important;min-width:max-content}.topbar-btn,.in-topbar .icon-btn,.map-float-bar.in-topbar .map-float-btn,.notes-btn.in-topbar{flex:0 0 auto!important}@media (max-width: 767px){.modal{border-radius:var(--r-xl) var(--r-xl) 0 0!important;padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom,0px))}.sites-panel,.sector-picker{border-radius:var(--r-xl) var(--r-xl) 0 0!important}.cal,.upload-progress-box{border-radius:22px!important}}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a426b;backdrop-filter:var(--g-blur-veil);-webkit-backdrop-filter:var(--g-blur-veil);z-index:940;opacity:0;transition:opacity var(--d-norm) var(--ease-out)}.panel-backdrop.open{opacity:1}body.dark .panel-backdrop{background:#0000008c}@media (max-width: 767px){.fab.in-topbar{position:static!important;width:40px!important;height:40px!important;min-width:40px;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;flex:none!important;gap:0!important;bottom:auto!important;right:auto!important;z-index:auto}.fab.in-topbar:after{display:none!important}.fab.in-topbar svg{width:20px;height:20px;display:block}}@media (max-width: 767px){.polygon-controls{left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--tab-h) + 22px);justify-content:center;gap:var(--sp-2-5)}.draw-btn{flex:0 1 auto;justify-content:center;height:44px;padding:0 var(--sp-4);font-size:13.5px;gap:var(--sp-1-5)}.draw-btn svg{width:17px;height:17px}}@media (max-width: 767px){.map-float-bar.in-topbar .map-float-btn.sector-btn{gap:1px!important;padding:0!important}.map-float-bar.in-topbar .map-float-btn.sector-btn>span{display:none!important}.map-float-bar.in-topbar .map-float-btn.sector-btn svg:first-child{width:18px!important;height:18px!important}.map-float-bar.in-topbar .map-float-btn.sector-btn svg:last-child{display:none!important}}@media (max-width: 767px){.icon-btn.danger-btn{width:40px!important;height:40px!important;min-width:40px;padding:0!important;display:flex;align-items:center;justify-content:center;overflow:visible!important;flex:none}.icon-btn.danger-btn .icon{font-size:20px!important;line-height:1!important;width:auto!important;height:auto!important;overflow:visible}}@media (min-width: 768px){.tabbar.expanded .tab{align-items:center}.tabbar .tab-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tabbar .tab svg{display:block;width:20px;height:20px}.tabbar .tab-label{line-height:1;display:block}}@media (min-width: 768px){.tabbar .tab-label{font-weight:550}.tabbar .tab.active .tab-label{font-weight:700}}body.dark{--g-bg: rgba(22,32,44,.94);--g-bg-2: rgba(255,255,255,.07);--g-bg-hi: rgba(255,255,255,.13)}:root{--g-float: rgba(255,255,255,.7);--g-blur: blur(24px) saturate(1.4);--g-blur-veil: blur(6px);--g-solid: #FFFFFF;--g-solid-2:rgba(9,42,68,.045);--g-solid-hi:#F2F7FB}body.dark{--g-float: rgba(20,29,40,.74);--g-solid: #1B2634;--g-solid-2:rgba(255,255,255,.06);--g-solid-hi:#22303F}.tabbar,.desktop-topbar,.sidebar-menu-btn,.modal,.cal,.upload-progress-box,.cdd-panel,.app-toast,.sites-panel,.sector-picker,.notes-screen,.login-glass,.gps-btn.on-canvas,.draw-cancel,.map-float-btn.on-canvas{background:var(--g-float);backdrop-filter:var(--g-blur)!important;-webkit-backdrop-filter:var(--g-blur)!important}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.skeleton-card,.msg.other .msg-bubble,.card-list>.empty-state{background:var(--g-solid);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.task-card:hover,.user-card:hover,.announcement-card:hover,.note-card:hover,.chat-item:hover,.notes-btn:hover{background:var(--g-solid-hi)}.form-input,.form-select,.cdd-trigger,.cdate-trigger,.media-drop-zone,.sites-panel-tab,.sector-tab,.chat-tool-btn,.icon-btn,.dark-toggle,.btn-modal.secondary,.btn-outline,.cal-nav,.sites-panel-close,.compress-toggle-row,.upload-progress-bar-wrap,.site-list-icon{background:var(--g-solid-2);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.dark .sector-tab:not(.active),body.dark .sites-panel-tab:not(.active){background:#ffffff24}.chat-input,.announcement-input{background:var(--g-float);backdrop-filter:var(--g-blur)!important;-webkit-backdrop-filter:var(--g-blur)!important}.form-input:focus,.cdd-trigger:hover,.cdate-trigger:hover,.media-drop-zone.drag-over{background:var(--g-solid-hi)}:root{--g-bg: var(--g-solid);--g-bg-2: var(--g-solid-2);--g-bg-hi: var(--g-solid-hi)}body.dark{--g-bg: var(--g-solid);--g-bg-2: var(--g-solid-2);--g-bg-hi: var(--g-solid-hi)}:root{--g-sh: 0 1px 3px rgba(12,38,60,.08);--g-sh-lg: 0 12px 40px rgba(12,38,60,.16)}body.dark{--g-sh: 0 1px 3px rgba(0,0,0,.32);--g-sh-lg: 0 12px 40px rgba(0,0,0,.5)}.task-card,.user-card,.announcement-card,.note-card,.chat-item,.notes-btn,.msg.other .msg-bubble{box-shadow:var(--g-sh)}.tabbar,.desktop-topbar,.modal,.cal,.cdd-panel,.app-toast,.sites-panel,.sector-picker,.notes-screen,.login-glass,.gps-btn.on-canvas,.draw-cancel{box-shadow:var(--g-sh-lg)}
