@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Manrope:wght@600;700;800&display=swap";html{background:#f4f6f4}body{min-height:100vh}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #99c4aa}::selection{color:#17211b;background:#dff27d}:root{--ink:#17211b;--muted:#6b7570;--line:#e4e9e6;--bg:#f3f5f3;--paper:#fff;--green:#176b46;--green-dark:#105237;--green-light:#eaf4ee;--lime:#d8f06d;--red:#c0392b;--red-light:#fdf0ee;--blue:#1d6fa0;--blue-light:#e5f2f9;--orange:#b45309;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{letter-spacing:-.5px;margin:0;font-family:Manrope,sans-serif}p{margin:0}a{color:var(--green)}.logo{object-fit:contain;display:block}.logo-wordmark{width:176px;height:auto}.logo-icon{width:36px;height:36px}.logo-lockup{width:200px;height:76px}.eyebrow{letter-spacing:1.2px;text-transform:uppercase;color:var(--green);margin:0 0 8px;font-weight:700;display:block;font-size:10px!important}.badge{letter-spacing:.5px;color:#5a6560;white-space:nowrap;background:#eaeeed;border-radius:20px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.badge.red{background:var(--red-light);color:var(--red)}.badge.blue{background:var(--blue-light);color:var(--blue)}.badge.green{background:var(--green-light);color:var(--green)}.badge.orange{color:var(--orange);background:#fef3c7}.avatar{background:var(--green-light);width:38px;height:38px;color:var(--green);border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;display:grid!important}.avatar-active{background:var(--green);color:#fff}.primary,.secondary,.danger{border-radius:var(--radius-sm);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{color:var(--ink);background:#eaeeed}.secondary:hover:not(:disabled){background:#dde3de}.primary:disabled,.secondary:disabled{opacity:.55;cursor:not-allowed}.login{background:#f3f7f4;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.login-mobile{display:none}.login-brand{color:#fff;background:radial-gradient(circle at 18% 16%,#d8f06d42,#0000 28%),linear-gradient(145deg,#0b2b1e 0%,#176b46 58%,#0f3d2a 100%);flex-direction:column;justify-content:center;gap:34px;padding:52px 7vw;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#000,#0000 75%);mask-image:linear-gradient(120deg,#000,#0000 75%)}.login-brand:after{content:"";pointer-events:none;border:72px solid #d8f06d14;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-180px;right:-180px}.login-brand>*{z-index:1;position:relative}.login-brand .eyebrow{color:var(--lime);letter-spacing:2px}.login-brand h1{letter-spacing:-2.8px;text-wrap:balance;max-width:620px;margin:14px 0 12px;font-size:clamp(40px,4.7vw,68px);line-height:1.03}.login-brand small{color:#bad0c3;font-size:12px}.login-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:560px;display:grid}.login-preview div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:20px;padding:16px;box-shadow:inset 0 1px #ffffff29}.login-preview small{color:#d8f06d;letter-spacing:1px;font-size:10px;font-weight:700;display:block}.login-preview b{letter-spacing:-1px;margin:8px 0 12px;font-size:30px;display:block}.login-preview span{background:linear-gradient(90deg,#d8f06d,#d8f06d1f);border-radius:99px;height:5px;display:block}.login-panel{background:radial-gradient(circle at 100% 0, #e5f2e9, var(--paper) 38%);place-items:center;padding:42px;display:grid}.login-box{border:1px solid #dde7e0;border-radius:26px;gap:20px;width:min(430px,100%);padding:30px;box-shadow:0 24px 60px #0f33241f}.login-box-head{align-items:center;gap:14px;margin-bottom:2px;display:flex}.login-box-head .logo{background:var(--green-light);border-radius:16px;width:48px;height:48px;padding:9px}.login-box h2{margin:0 0 4px;font-size:30px}.login-box .muted{color:var(--muted);margin:0;font-size:14px}.login-box input{background:#fbfcfb;border-radius:14px;min-height:48px}.login-box button{border-radius:14px;min-height:48px}.form{gap:18px;padding:24px;display:grid}.form label{color:#3d4843;gap:7px;font-size:13px;font-weight:600;display:grid}.form input,.form select,.form textarea{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b461f}.form input:disabled{color:var(--muted);background:#f3f5f3}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.inline-form{border-top:1px solid var(--line);background:#fafbfa;padding:18px 20px}.error{background:var(--red-light);color:#9d2318;border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.dev-logins{border-top:1px dashed #d4dbd7;margin-top:4px;padding-top:14px}.dev-logins .eyebrow{color:#b0bab5;font-size:9px!important}.dev-login-btns{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;display:grid}.dev-login-btns button{border:1.5px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;padding:8px 4px;font-size:12px;font-weight:600;transition:background .12s}.dev-login-btns button:hover{background:var(--green-light);border-color:#b0cfbe}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid;position:relative}.shell aside{background:var(--paper);border-right:1px solid var(--line);z-index:50;flex-direction:column;gap:0;width:220px;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0}.shell aside .logo{filter:none;margin-bottom:28px;padding:4px 8px}.shell nav{gap:2px;display:grid}.shell nav button{color:#647068;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px 11px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.shell nav button svg{opacity:.75;flex-shrink:0}.shell nav button:hover{color:var(--ink);background:#f0f3f1}.shell nav button:hover svg{opacity:1}.shell nav button.active{background:var(--green-light);color:var(--green);font-weight:700}.shell nav button.active svg{opacity:1}.profile{border-top:1px solid var(--line);grid-template-columns:38px 1fr 28px;align-items:center;gap:9px;margin-top:auto;padding:14px 6px 0;font-size:13px;display:grid}.profile b{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;font-weight:600;display:block;overflow:hidden}.profile small{color:var(--muted);font-size:11px}.profile>button{color:#8c9690;background:0 0;border:0;padding:4px;font-size:18px}.profile>button:hover{color:var(--ink)}.profile .avatar{background:var(--green-light);color:var(--green)}.workspace{background:linear-gradient(180deg, #edf5f0 0, var(--bg) 360px);grid-column:2}.shell aside{background:linear-gradient(#fff 0%,#f7faf8 72%,#eef5f0 100%)}.shell aside nav button.active{background:var(--green);color:#fff;box-shadow:0 5px 14px #176b4629}.shell aside nav button.active svg{color:var(--lime)}.workspace>header{border-bottom:1px solid var(--line);background:var(--paper);z-index:40;justify-content:flex-end;align-items:center;height:58px;padding:0 clamp(20px,3vw,40px);display:flex;position:sticky;top:0}.header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.gps-status{max-width:min(58vw,320px);color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.gps-status i{background:#d39b20;border-radius:50%;flex-shrink:0;width:7px;height:7px}.gps-status.active{color:var(--green)}.gps-status.active i{background:#27ae60}.gps-status.warning{color:#9a6500}.gps-status.warning i{background:#d39b20}.gps-status.error{color:var(--red)}.gps-status.error i{background:var(--red)}.pwa-install-header-btn{background:var(--green-light);color:var(--green);cursor:pointer;border:1px solid #c0d8c8;border-radius:20px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:700;transition:all .12s;display:inline-flex}.pwa-install-header-btn:hover{background:var(--green);color:#fff}.pwa-install-aside-btn{background:var(--green-light);width:100%;color:var(--green);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #c0d8c8;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:700;transition:all .12s;display:flex}.pwa-install-aside-btn:hover{background:var(--green);color:#fff}.live{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.live i{background:#27ae60;border-radius:50%;flex-shrink:0;width:7px;height:7px}.mobile-logo,.mobile-exit,.bottom-nav{display:none}.notif-wrap{position:relative}.notif-backdrop{display:none}.notif-bell{cursor:pointer;width:38px;height:38px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;font-size:17px;transition:all .14s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.notif-bell:hover{color:var(--green);background:#eef4f0;border-color:#dce7e1}.notif-bell:active,.notif-bell.is-open{background:var(--green-light);color:var(--green);border-color:#176b4633;transform:scale(.96)}.notif-bell.has-unread svg{transform-origin:top;animation:3s ease-in-out infinite bell-ring}@keyframes bell-ring{0%,75%,to{transform:rotate(0)}78%{transform:rotate(14deg)}82%{transform:rotate(-14deg)}86%{transform:rotate(10deg)}90%{transform:rotate(-8deg)}94%{transform:rotate(4deg)}}.notif-badge{color:#fff;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--paper);background:#e53935;border-radius:99px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;animation:.2s ease-out badge-pop;display:inline-flex;position:absolute;top:3px;right:3px}@keyframes badge-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.notif-panel{background:var(--paper);z-index:300;transform-origin:100% 0;border:1px solid #d8e2dc;border-radius:18px;flex-direction:column;width:340px;max-height:480px;animation:.18s cubic-bezier(.16,1,.3,1) notif-slide-down;display:flex;position:absolute;top:calc(100% + 8px);left:auto;right:0;overflow:hidden;box-shadow:0 16px 40px #0f332424,0 4px 12px #0000000a}@keyframes notif-slide-down{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-panel-head{border-bottom:1px solid var(--line);background:#fafcfa;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;display:flex}.notif-panel-title{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.notif-panel-title b{color:#11261d;white-space:nowrap;font-size:14px;font-weight:700}.notif-pill{color:var(--green);white-space:nowrap;background:#eaf6ee;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:700}.notif-panel-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.notif-mark-btn{color:var(--green);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;min-height:32px;padding:5px 9px;font-size:12px;font-weight:600;transition:background .12s}.notif-mark-btn:hover{background:#eaf6ee;text-decoration:underline}.notif-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:14px;transition:all .12s;display:grid}.notif-close-btn:hover{color:var(--text);background:#eef2ef}.notif-tabs{border-bottom:1px solid var(--line);background:#f4f7f5;gap:4px;padding:6px 12px;display:flex}.notif-tab{color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;border-radius:8px;flex:1;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .12s}.notif-tab.active{color:var(--green);background:#fff;font-weight:700;box-shadow:0 1px 3px #0000000f}.notif-list{flex-direction:column;max-height:340px;display:flex;overflow-y:auto}.notif-item{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf2ee;align-items:flex-start;gap:12px;width:100%;padding:12px 16px;font-family:inherit;transition:background .12s,transform 80ms;display:flex;position:relative}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:#f7faf8}.notif-item:active{background:#eff5f1}.notif-item.unread{background:#f2f9f5}.notif-item.unread:hover{background:#e8f4ed}.notif-item-icon{border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;margin-top:1px;display:grid}.notif-item-icon.icon-done{color:#176b46;background:#e8f6ed}.notif-item-icon.icon-cancel{color:#d32f2f;background:#fdeeee}.notif-item-icon.icon-progress{color:#1976d2;background:#e3f2fd}.notif-item-icon.icon-create{color:#2e7d32;background:#eaf3ed}.notif-item-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-item-msg{color:#1d2a23;word-break:break-word;font-size:13px;font-weight:500;line-height:1.45}.notif-item.unread .notif-item-msg{color:#0b2217;font-weight:600}.notif-item-meta{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.notif-item-meta small{color:var(--muted);font-size:11px}.notif-item-link{color:var(--green);font-size:11px;font-weight:700}.notif-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px;box-shadow:0 0 0 2px #176b4633}.notif-empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:34px 20px;display:flex}.notif-empty-icon{color:#a4b8ad;opacity:.7}.notif-empty p{margin:0;font-size:13px;font-weight:500}.page{max-width:1280px;margin:0 auto;padding:40px clamp(20px,4vw,60px) 80px}.page.narrow{max-width:820px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-head h1{margin:4px 0 5px;font-size:26px}.back{color:var(--green);background:0 0;border:0;align-items:center;gap:4px;margin-bottom:18px;padding:4px 0;font-size:14px;font-weight:600;display:flex}.panel{background:var(--paper);border-radius:var(--radius);border:1px solid #dce5df;box-shadow:0 8px 24px #1839270f}.section-title{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f4f9f6,#fff);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.section-title h2{font-size:15px;font-weight:700}.section-title p{color:var(--muted);margin-top:2px;font-size:12px}.stats{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);margin-bottom:18px;display:grid;overflow:hidden}.stats>div{border-right:1px solid var(--line);min-width:0;padding:18px 20px;position:relative}.stats>div:before{content:"";background:var(--green);width:3px;position:absolute;inset:0 auto 0 0}.stats>div:last-child{border-right:0}.stats small{letter-spacing:.8px;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.stats strong{color:var(--ink);font:700 26px Manrope;display:block}.stats p{color:var(--muted);margin-top:2px;font-size:12px}.admin-stats{grid-template-columns:repeat(2,1fr)}@media (width>=760px){.admin-stats{grid-template-columns:repeat(4,1fr)}}@media (width>=1100px){.admin-stats{grid-template-columns:repeat(8,1fr)}}.guest-shell{--guest-deep:#0f3f2b;--guest-mid:#176b46;--guest-soft:#e7f2eb}.guest-shell .workspace{background:radial-gradient(circle at 92% 4%, #d8f06d2e, transparent 260px), linear-gradient(180deg, #edf5f0 0, var(--bg) 360px)}.guest-shell aside{background:linear-gradient(#fff 0%,#f6faf7 72%,#edf6f0 100%)}.guest-shell aside nav button.active{background:var(--green);color:#fff;box-shadow:0 5px 14px #176b462e}.guest-shell aside nav button.active svg{color:var(--lime)}.guest-shell .workspace>header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1}.guest-task-row{cursor:default}.guest-task-row:hover{background:var(--paper)}.guest-profile a{color:#8c9690;text-align:center;font-size:18px;text-decoration:none}.guest-profile a:hover{color:var(--ink)}.guest-hero,.guest-activity-hero{color:#fff;background:linear-gradient(135deg, var(--guest-deep), var(--guest-mid));border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #0f3f2b29}.guest-hero .eyebrow,.guest-activity-hero .eyebrow{color:var(--lime)}.guest-hero h1,.guest-activity-hero h1{margin-bottom:6px;font-size:clamp(24px,4vw,34px)}.guest-hero p:not(.eyebrow),.guest-activity-hero p:not(.eyebrow){color:#bed6c8;font-size:14px;line-height:1.55}.guest-activity-hero .live-indicator{color:var(--lime);background:#0000001f;border:1px solid #d8f06d40}.guest-activity-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.guest-activity-stats>div{box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #d9e6de;border-radius:13px;padding:17px 18px;position:relative;overflow:hidden}.guest-activity-stats>div:before{content:"";background:var(--green);width:4px;position:absolute;inset:0 auto 0 0}.guest-activity-stats small{color:var(--muted);letter-spacing:.7px;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.guest-activity-stats strong{color:var(--green);font:800 26px Manrope}.task-list{display:grid}.task-row{border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;align-items:flex-start;gap:12px;width:100%;padding:16px 20px;transition:background .12s;display:flex}.task-row:last-child{border-bottom:0}.task-row:hover{background:#f8faf9}.priority-dot{background:#b0bab5;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px}.priority-dot.urgent{background:var(--red)}.task-main{flex:1;gap:5px;min-width:0;display:grid}.task-title-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.task-title-row b{font-size:14px;font-weight:600;line-height:1.4}.task-badges{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.task-sub{color:var(--muted);font-size:12px}.task-schedule,.task-deadline{color:var(--orange);font-size:12px;font-weight:600}.task-deadline.over{color:var(--red)}.task-age{color:var(--muted);font-size:11px}.task-arrow{color:#c8d4cc;flex-shrink:0;align-self:center;margin-left:8px;font-size:18px;font-style:normal}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:14px 20px;display:flex}.filters select,.search-input,.date-input{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.search-input{flex:1;min-width:180px}.filters select:focus,.search-input:focus,.date-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b461a}.current{color:#fff;border-radius:var(--radius);background:#0f3324;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:16px;padding:22px 24px;display:grid}.current .eyebrow{color:var(--lime);grid-column:1}.current h2{grid-column:1;margin:0 0 4px;font-size:20px}.current p:not(.eyebrow){color:#a8c8b5;grid-column:1;font-size:13px}.current button{color:#fff;border-radius:var(--radius-sm);background:#ffffff14;border:1px solid #ffffff40;grid-area:1/2/4;padding:10px 14px;font-size:13px;font-weight:600;transition:background .12s}.current button:hover{background:#ffffff29}.availability{background:var(--green-light);color:var(--green);border-radius:20px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:flex}.availability i,.live i{animation:2s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.detail{padding:24px}.detail-top{justify-content:space-between;gap:20px;margin-bottom:4px;display:flex}.detail-top h1{margin:10px 0 4px;font-size:26px}.detail-top p{color:var(--muted);font-size:13px}.badge-row{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.timer{background:var(--green-light);border-radius:var(--radius-sm);text-align:right;flex-shrink:0;align-self:flex-start;padding:11px 15px}.timer small{letter-spacing:.8px;color:var(--green);margin-bottom:2px;font-size:10px;font-weight:700;display:block}.timer strong{color:var(--green);font-variant-numeric:tabular-nums;font:700 18px DM Sans}.detail-grid{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;padding:18px 0;display:grid}.detail-grid>div{gap:4px;display:grid}.detail-grid small{letter-spacing:.8px;color:var(--muted);font-size:10px;font-weight:700}.detail-grid b{font-size:14px;font-weight:600}.detail-grid span{color:var(--muted);font-size:13px}.instruction{border-bottom:1px solid var(--line);padding:18px 0}.instruction small{letter-spacing:.8px;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:700;display:block}.instruction p{font-size:14px;line-height:1.65}.meta-block{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px 0;display:grid}.meta-block>div{gap:3px;display:grid}.meta-block small{letter-spacing:.8px;color:var(--muted);font-size:10px;font-weight:700}.meta-block span{font-size:13px}.action-stack{flex-direction:column;gap:8px;margin-top:4px;display:flex}.done-box{background:var(--green-light);border-radius:var(--radius-sm);margin-top:4px;padding:14px 16px}.done-box b{color:var(--green)}.done-box p{color:#3d6350;margin-top:4px;font-size:13px}.cancelled-box{background:var(--red-light);border-radius:var(--radius-sm);margin-top:4px;padding:14px 16px}.cancelled-box b{color:var(--red)}.cancelled-box p{color:#7a2218;margin-top:4px;font-size:13px}.danger{background:var(--red-light);color:var(--red)}.danger:hover:not(:disabled){background:#fce4e1}.guest-form-intro{color:var(--muted);margin-top:4px;font-size:14px}.guest-create-form{background:linear-gradient(#fff,#fcfefc);border-color:#d8e1db;gap:20px;padding:28px;box-shadow:0 12px 32px #18392717}.guest-activity-page>.panel{border-color:#d8e5dc;box-shadow:0 10px 28px #18392712}.guest-activity-page .section-title{background:linear-gradient(90deg,#f4faf6,#fff)}.guest-create-form>label{gap:8px}.guest-create-form>label:not(.guest-file-picker)>input,.guest-create-form>label>select,.guest-create-form>label>textarea,.guest-create-form .form-grid input,.guest-create-form .form-grid select{background:#fbfcfb;border-color:#d5ded8;min-height:48px}.guest-create-form textarea{resize:vertical;min-height:110px}.guest-create-form .schedule-field{gap:8px;display:grid}.guest-create-form .schedule-field>span{color:#3d4843;font-size:13px;font-weight:600}.guest-create-form .schedule-field input{width:100%;min-width:0}.guest-create-form .schedule-field small{line-height:1.45;display:block}.guest-create-form .map-placeholder{min-height:112px}.guest-create-form .form-actions{border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:#f8faf9;margin:2px -28px -28px;padding:18px 28px}.guest-create-form .form-actions button{min-width:130px}.guest-file-picker{border-radius:var(--radius);cursor:pointer;background:#f8fcf9;border:1.5px dashed #aac6b5;align-items:center;min-height:92px;padding:16px;transition:border-color .15s,background .15s,box-shadow .15s;grid-template-columns:48px minmax(0,1fr) auto!important;gap:12px!important}.guest-file-picker:hover{border-color:var(--green);background:var(--green-light)}.guest-file-picker:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #176b461f}.guest-file-picker.has-file{background:var(--green-light);border-style:solid;border-color:#9bc2aa}.guest-file-picker input{opacity:0;pointer-events:none;height:1px;position:absolute;width:1px!important}.guest-file-icon{width:48px;height:48px;color:var(--green);background:var(--paper);border:1px solid #cde0d3;border-radius:12px;place-items:center;display:grid}.guest-file-copy{gap:3px;min-width:0;display:grid}.guest-file-copy b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.guest-file-copy small{color:var(--muted);font-size:12px;font-weight:400}.guest-file-action{border-radius:var(--radius-sm);min-height:40px;color:var(--green);background:var(--paper);border:1px solid #bfd5c7;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.guest-driver-picker-group{grid-column:1/-1;gap:8px;display:grid}.guest-driver-picker-header{justify-content:space-between;align-items:baseline;display:flex}.guest-driver-picker-header label{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.guest-driver-picker-header small{color:var(--green);font-size:12px;font-weight:600}.guest-driver-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.guest-driver-item{border-radius:var(--radius);border:1.5px solid var(--line);cursor:pointer;text-align:left;min-height:64px;color:var(--ink);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.guest-driver-item:hover{background:#fbfdfc;border-color:#a4c9b3}.guest-driver-item.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#f1f8f3}.guest-driver-item.off-duty:not(.selected){opacity:.75;background:#fafafa}.guest-driver-item.on-leave:not(.selected){opacity:.7;background:#fbf9f8}.guest-driver-item-main{align-items:center;gap:10px;min-width:0;display:flex}.guest-driver-avatar-wrap{flex-shrink:0;position:relative}.driver-green-logo{background:#27ae60;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.guest-driver-item-text{gap:2px;min-width:0;display:grid}.guest-driver-item-text b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.guest-driver-tag{border-radius:12px;align-items:center;gap:5px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.guest-driver-tag.tag-available{background:var(--green-light);color:var(--green)}.guest-driver-tag.tag-off-duty{color:#777;background:#f0f0f0}.guest-driver-tag.tag-on-leave{color:#c0392b;background:#fde8e8}.driver-green-dot{background:#27ae60;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite blink}.guest-driver-check{color:#0000;border:1.5px solid #c9d6cf;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid}.guest-driver-check.active{background:var(--green);border-color:var(--green);color:#fff}.guest-driver-status-panel{padding:0 0 6px}.guest-driver-status-list{gap:4px;padding:10px 20px 16px;display:grid}.guest-driver-status-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.guest-driver-status-row:last-child{border-bottom:none}.guest-driver-status-name{flex:1;min-width:0}.guest-driver-status-name b{font-size:14px;font-weight:600}.upload{border-radius:var(--radius);cursor:pointer;min-height:140px;color:var(--green);background:#fafcfa;border:1.5px dashed #b8c8be;align-content:center;place-items:center;gap:6px;transition:background .12s;display:grid}.upload:hover{background:var(--green-light)}.upload span{font-size:26px;line-height:1}.upload b{font-size:14px}.upload small{color:var(--muted);font-size:12px}.upload input{display:none}.photo-previews{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.photo-thumb{gap:3px;max-width:80px;display:grid}.photo-thumb img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);width:80px;height:64px}.photo-thumb span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.photo-img{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;max-height:240px;margin-top:8px;display:block}.evidence{flex-wrap:wrap;gap:8px;padding:16px 0;display:flex}.evidence small{letter-spacing:.8px;width:100%;color:var(--muted);font-size:10px;font-weight:700}.evidence span{border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px}.ref-photo{gap:6px;margin-top:10px;display:grid}.ref-photo small{letter-spacing:.8px;color:var(--muted);font-size:10px;font-weight:700}.timeline-mini{border-top:1px solid var(--line);padding:16px 0 4px}.timeline-mini>small{letter-spacing:.8px;color:var(--muted);margin-bottom:10px;font-size:10px;font-weight:700;display:block}.tl-item{border-bottom:1px solid var(--line);grid-template-columns:12px 1fr;gap:10px;padding:9px 0;display:grid}.tl-item:last-child{border:0}.tl-item .event-dot{margin-top:4px}.tl-item>div{gap:2px;display:grid}.tl-item b{font-size:12px;font-weight:600}.tl-item span{color:var(--muted);font-size:12px}.tl-item small{color:var(--muted);font-size:11px}.completion-loc{margin-top:14px}.completion-loc>small{letter-spacing:.8px;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.map-placeholder{border-radius:var(--radius);height:80px;color:var(--green);background:repeating-linear-gradient(45deg,#f5f8f5,#f5f8f5 8px,#eff3ef 8px 16px);border:1.5px dashed #c4d1c9;justify-content:center;align-items:center;gap:10px;display:flex}.map-placeholder span{font-size:24px}.map-placeholder b{font-size:13px}.map-placeholder small{color:var(--muted);font-size:12px}.map-embed{border-radius:var(--radius);margin:16px 0;overflow:hidden}.map-large{border-radius:var(--radius);height:180px;color:var(--green);background:repeating-linear-gradient(35deg,#e5ede8,#e5ede8 12px,#edf2ee 12px 24px);place-items:center;margin:20px 0;display:grid;position:relative}.map-large>span{font-size:30px}.map-large small{letter-spacing:1px;color:#80958a;font-size:8px;position:absolute;bottom:8px;right:10px}.places-autocomplete{position:relative}.places-input{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--ink);font:inherit;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.places-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b461a}.selected-place{background:var(--green-light);border-radius:var(--radius-sm);gap:3px;padding:12px 14px;display:grid}.selected-place b{color:var(--green);font-size:14px;font-weight:600}.selected-place span{color:#4a7060;font-size:13px}.selected-place small{color:#80958a;font-family:monospace;font-size:11px}.map-picker-trigger{border:1.5px dashed var(--green);border-radius:var(--radius-sm);background:var(--green-light);width:100%;color:var(--green);font:inherit;cursor:pointer;text-align:center;margin-bottom:4px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .15s}.map-picker-trigger:hover{background:#d0e8d8}.loc-mode-chooser{gap:6px;margin-bottom:4px;display:grid}.loc-mode-chooser>label{color:var(--ink);font-size:13px;font-weight:600}.loc-mode-options{align-items:center;gap:10px;display:flex}.loc-mode-btn{border:1.5px dashed var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;text-align:center;flex:1;padding:11px 10px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}.loc-mode-btn:hover{border-color:var(--green);background:var(--green-light);color:var(--green)}.loc-mode-or{color:var(--muted);flex-shrink:0;font-size:12px}.loc-active-block{gap:6px;margin-bottom:4px;display:grid}.loc-active-header{justify-content:space-between;align-items:center;display:flex}.loc-active-header>label{color:var(--ink);font-size:13px;font-weight:600}.loc-reset{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.loc-reset:hover{background:var(--line);color:var(--ink)}.map-picker-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.map-picker-modal{background:var(--paper);border-radius:var(--radius);flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #00000040}.map-picker-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.map-picker-header b{font-size:15px}.map-picker-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px;line-height:1}.map-picker-close:hover{background:var(--line)}.map-picker-hint{color:var(--muted);background:var(--green-light);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;min-height:38px;padding:10px 18px;font-size:13px;overflow:hidden}.map-picker-canvas{flex:1;min-height:380px}.map-picker-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.timeline{padding:0 20px}.event{border-bottom:1px solid var(--line);grid-template-columns:12px 1fr;gap:14px;padding:16px 0;display:grid}.event:last-child{border:0}.event-dot{border:2px solid #a0aca6;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:3px}.event-dot.in_progress,.event-dot.task_started{border-color:var(--blue);background:var(--blue-light)}.event-dot.completed,.event-dot.task_completed{border-color:var(--green);background:var(--green-light)}.event-dot.cancelled,.event-dot.task_cancelled{border-color:var(--red);background:var(--red-light)}.event-dot.task_created{background:#eaeeed;border-color:#a0aca6}.event>div>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event>div>p{color:var(--muted);margin:4px 0;font-size:12px}.event>div>small{color:#a0aca6;font-size:11px}.event .event-actions{gap:8px;margin-top:10px;display:flex}.event-actions .secondary{min-height:36px;padding:7px 12px;font-size:12px}.event .cancel-reason{border-radius:var(--radius-sm);background:var(--red-light);margin:9px 0;padding:10px 12px;display:block}.event .cancel-reason small{letter-spacing:.8px;color:var(--red);font-size:10px;font-weight:700}.event .cancel-reason p{color:var(--ink);white-space:pre-wrap;margin:4px 0 0;font-size:13px}.evidence-dialog{border-radius:var(--radius);width:min(92vw,680px);max-height:88vh;color:var(--ink);background:var(--paper);border:0;padding:0;box-shadow:0 24px 70px #13251c4d}.evidence-dialog::backdrop{background:#102019b3}.evidence-dialog>div{padding:20px}.evidence-dialog-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.evidence-dialog-title h2{margin:0;font-size:18px}.evidence-dialog-photos{gap:12px;display:grid}.evidence-dialog-photos img{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f5f7f5;width:100%;max-height:65vh}.driver-note{border-radius:var(--radius-sm);background:var(--green-light);margin-top:16px;padding:14px}.driver-note small{letter-spacing:.8px;color:var(--green);font-size:10px;font-weight:700}.driver-note p{white-space:pre-wrap;margin:6px 0 0;font-size:14px}.driver-activity{margin-bottom:16px}.driver-location-list{gap:0;padding:0 20px 12px;display:grid}.driver-loc-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:12px 0;display:flex}.driver-loc-row:last-child{border:0}.driver-loc-row>div{flex:1;gap:3px;min-width:0;display:grid}.driver-loc-row b{font-size:14px;font-weight:600}.driver-loc-row small{color:var(--muted);font-size:12px}.driver-task-detail{color:var(--ink);font-size:12px;line-height:1.45}.live-map-wrap{position:relative}.live-map{width:100%;height:380px}.live-map-empty{text-align:center;color:var(--muted);background:#f3f5f3;place-items:center;display:grid;position:absolute;inset:0}.live-map-empty span{margin-bottom:8px;font-size:28px;display:block}.live-indicator{background:var(--green-light);color:var(--green);border-radius:20px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:flex}.live-indicator i{background:#27ae60;border-radius:50%;flex-shrink:0;width:7px;height:7px}.division-table{padding:0 20px 16px}.division-table>div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr 100px;align-items:center;gap:12px;padding:10px 0;display:grid}.division-table>div:last-child{border:0}.division-table b{font-size:14px;font-weight:600}.division-table span{color:var(--muted);text-align:right;font-size:12px}.bar{background:#eaeeed;border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--green);border-radius:3px;height:100%;transition:width .3s;display:block}.report-table{overflow:hidden}.report-table .table-wrap{overflow-x:auto}.report-table table{border-collapse:collapse;width:100%;font-size:13px}.report-table th{text-align:left;letter-spacing:.8px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfa;padding:10px 16px;font-size:10px;font-weight:700}.report-table td{border-bottom:1px solid var(--line);padding:12px 16px}.report-table tr:last-child td{border:0}.report-table tbody tr:hover td{background:#fafbfa}.tab-bar{border:1px solid var(--line);background:var(--paper);border-radius:9px;width:fit-content;margin-bottom:18px;display:flex;overflow:hidden}.tab-bar button{color:var(--muted);background:0 0;border:0;padding:9px 18px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.tab-bar button.active{background:var(--green);color:#fff}.admin-tabs .admin-tasks-tab{display:none}.user-list{gap:0;padding:0 20px 12px;display:grid}.user-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:12px 0;display:flex}.user-row:last-child{border:0}.user-row>div:not(.badge){flex:1;gap:3px;min-width:0;display:grid}.user-row b{font-size:14px;font-weight:600}.user-row small{color:var(--muted);font-size:12px}.user-row.inactive{opacity:.5}.user-row-actions{flex-shrink:0;gap:6px;display:flex}label.upload{display:grid}.empty{text-align:center;padding:48px 20px}.empty b{font-size:15px;font-weight:600}.empty p{color:var(--muted);margin-top:6px;font-size:13px}.loading{text-align:center;min-height:100vh;color:var(--muted);place-items:center;display:grid}.loading>div{gap:12px;display:grid}.loading button{margin:0 auto}.app-loader{background:radial-gradient(circle at 50% 42%, #eef8f1 0, var(--canvas) 42%, #f3f6f3 100%)}.app-loader-content{justify-items:center;gap:12px!important}.app-loader-logo{place-items:center;width:64px;height:64px;margin-bottom:2px;display:grid;position:relative}.app-loader-logo .logo{z-index:2;width:48px;height:48px;position:relative}.app-loader-logo span{border:2px solid #176b4629;border-top-color:var(--green);border-radius:50%;animation:1.1s linear infinite loader-spin;position:absolute;inset:0}.app-loader-content small{color:var(--muted);letter-spacing:.2px;font-size:12px}.app-loader-track{display:none}@keyframes loader-spin{to{transform:rotate(360deg)}}.queue .section-title{padding:16px 20px}.muted{color:var(--muted)}.full{width:100%}.toast{z-index:300;color:#fff;border-radius:var(--radius);background:#162019;align-items:center;gap:7px;padding:11px 16px;font-size:13px;font-weight:500;animation:.2s slideIn;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0000002e}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.login{background:#f4f8f5;min-height:100dvh;display:block}.login-brand,.login-panel{display:none}.login-mobile{background:radial-gradient(circle at 82% 8%,#d8f06d61,#0000 28%),linear-gradient(#0f3d2a 0 48%,#f4f8f5 48%);flex-direction:column;gap:22px;min-height:100dvh;padding:22px 18px 28px;display:flex}.login-mobile-top{color:#d7eadf;justify-content:space-between;align-items:center;font-size:12px;display:flex}.login-mobile-top .logo{background:#ffffff1f;border-radius:16px;width:44px;height:44px;padding:8px}.login-mobile-hero{color:#fff;padding:30px 4px 8px}.login-mobile-hero .eyebrow{color:var(--lime);letter-spacing:2px}.login-mobile-hero h1{letter-spacing:-2px;max-width:330px;margin:8px 0 12px;font-size:40px;line-height:.96}.login-mobile-hero p{color:#c9ded3;max-width:310px;font-size:15px;line-height:1.55}.login-mobile-card{background:#fff;border:0;border-radius:30px;margin-top:auto;padding:24px 18px;box-shadow:0 20px 50px #0f33242e}.login-mobile-card h2{margin-bottom:2px;font-size:28px}.login-mobile-card label{letter-spacing:.2px;gap:9px;font-size:12px}.login-mobile-card input{background:#f8fbf9;border-radius:16px;min-height:52px;font-size:16px}.login-mobile-card button{border-radius:16px;min-height:52px;font-size:15px}.login-mobile-card .primary{box-shadow:0 12px 26px #176b4638}.shell{display:block}.shell aside{display:none}.workspace{padding-bottom:68px}.workspace>header{z-index:50;height:54px;padding:0 14px;position:sticky;top:0}.mobile-logo{display:block}.header-right{margin-left:auto;margin-right:0}.mobile-exit{color:var(--green);background:0 0;border:0;font-size:14px;font-weight:600;display:block}.live{display:none}.bottom-nav{background:var(--paper);border-top:1px solid var(--line);z-index:100;height:60px;padding:4px 4px env(safe-area-inset-bottom);gap:2px;position:fixed;bottom:0;left:0;right:0;display:flex!important}.bottom-nav button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;font-size:9px;font-weight:500;flex-direction:column!important;flex:1!important;justify-content:center!important;align-items:center!important;gap:2px!important;padding:4px 2px!important;display:flex!important}.bottom-nav button svg{flex-shrink:0;width:18px;height:18px}.bottom-nav button.active{color:var(--green);background:var(--green-light)}.page,.page.narrow{padding:18px 14px 20px}.page-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.page-head h1{font-size:22px}.page-head>.primary{justify-content:center;width:100%}.panel{border-radius:10px}.section-title{padding:12px 14px}.section-title h2{font-size:14px}.stats{grid-template-columns:repeat(3,1fr)}.stats>div{padding:12px 10px}.stats strong{font-size:20px}.stats small{letter-spacing:.5px;font-size:8px}.admin-stats{grid-template-columns:repeat(2,1fr)}.task-row{padding:12px 14px}.task-title-row b{font-size:13px}.task-sub{font-size:11px}.filters{gap:6px;padding:10px 14px}.filters select,.date-input,.search-input{width:100%;min-width:0}.form{gap:14px;padding:14px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:8px}.form-actions button{width:100%}.inline-form,.detail{padding:14px}.detail-top{flex-direction:column;gap:12px}.detail-top h1{font-size:22px}.timer{text-align:left;align-self:auto}.detail-grid{grid-template-columns:1fr;gap:12px}.meta-block{grid-template-columns:1fr 1fr;gap:10px}.instruction{padding:14px 0}.action-stack{gap:10px}.current{grid-template-columns:1fr;gap:8px;padding:16px}.current .eyebrow{grid-column:1}.current h2{grid-column:1;font-size:17px}.current p:not(.eyebrow){grid-column:1}.current button{grid-area:auto/1;width:100%;margin-top:4px}.division-table{padding:0 14px 12px}.division-table>div{grid-template-columns:1fr 55px 70px;gap:8px}.report-table th,.report-table td{padding:8px 10px;font-size:12px}.live-map{height:240px}.map-embed{margin:10px 0}.notif-backdrop{-webkit-backdrop-filter:blur(4px);z-index:290;background:#0a1e1473;animation:.15s ease-out notif-fade-in;display:block;position:fixed;inset:0}@keyframes notif-fade-in{0%{opacity:0}to{opacity:1}}.notif-panel{z-index:300;transform-origin:top;border-radius:20px;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 130px);animation:.2s cubic-bezier(.16,1,.3,1) notif-mobile-pop;position:fixed;top:60px;left:12px;right:12px;box-shadow:0 20px 50px #0a1e1459}@keyframes notif-mobile-pop{0%{opacity:0;transform:translateY(-10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 240px)}.notif-item{padding:13px 15px}.notif-item-msg{font-size:13.5px;line-height:1.45}.driver-loc-row{flex-wrap:wrap;gap:8px}.driver-loc-row>div{flex-basis:100%}.driver-status-row{flex-wrap:wrap}.driver-status-info{flex-basis:calc(100% - 50px)}.toast{text-align:center;justify-content:center;bottom:70px;left:14px;right:14px}.tab-bar{width:100%}.tab-bar button{flex:1}.admin-page-subtitle{font-size:13px}.admin-tabs{width:calc(100vw - 28px);margin-bottom:14px}.admin-tabs button{flex:none;padding:10px 15px}.admin-tabs .admin-tasks-tab{display:block}.admin-page .section-title{align-items:flex-start;min-height:0}.admin-page .section-title>button{min-height:42px}.admin-page .inline-form .form-grid{grid-template-columns:1fr}.admin-page .user-list,.driver-status-list{padding-left:14px;padding-right:14px}.user-row{grid-template-columns:38px minmax(0,1fr);gap:8px 10px;display:grid}.user-row>div:not(.badge):not(.user-row-actions){min-width:0}.user-row-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.user-row-actions button{width:100%}.user-row>button{grid-column:1/-1;width:100%;min-height:42px}.admin-row-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.admin-row-actions button{width:100%;min-height:42px}.admin-error{margin:12px 14px 0}.driver-status-row{grid-template-columns:38px minmax(0,1fr) auto;gap:8px 10px;display:grid}.driver-status-info{min-width:0}.driver-status-row>button{grid-column:1/-1;width:100%;min-height:42px!important}.settings-row{align-items:flex-start;gap:12px;padding:16px 14px}.settings-row>button{min-height:44px}.guest-link-box{grid-template-columns:1fr;margin:0 14px 14px}.guest-link-box small{grid-column:auto}.guest-link-box button{width:100%;min-height:42px}.scheduled-notice{gap:10px;padding:10px 12px}.scheduled-notice span{font-size:18px}.guest-task-row .badge{align-self:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.admin-page{max-width:1080px}.admin-page-subtitle{color:var(--muted);margin-top:4px;font-size:14px}.admin-tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{cursor:pointer;flex-shrink:0;min-height:44px}.admin-page .panel{overflow:hidden}.admin-page .section-title{min-height:68px}.admin-page .section-title>div{min-width:0}.admin-page .section-title>button{flex-shrink:0}.admin-page .inline-form{border-bottom:1px solid var(--line)}.admin-page .inline-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-page .user-list{padding-top:4px}.admin-page .user-row>div:not(.badge):not(.user-row-actions){overflow-wrap:anywhere}.admin-page .user-row-actions button{min-height:38px;padding:7px 12px!important}.admin-row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-row-actions button{min-height:38px;padding:7px 12px;font-size:12px}.admin-error{margin:14px 20px 0}.settings-list{display:grid}.settings-row{justify-content:space-between;align-items:center;gap:24px;padding:20px;display:flex}.settings-row>div{gap:5px;min-width:0;display:grid}.settings-row b{font-size:14px}.settings-row small{color:var(--muted);font-size:12px;line-height:1.5}.settings-row code,.guest-link-box code{overflow-wrap:anywhere}.guest-link-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8faf9;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;margin:0 20px 20px;padding:14px;display:grid}.guest-link-box small{color:var(--muted);grid-column:1/-1}.guest-link-box code{min-width:0;color:var(--green);font-size:12px}.driver-status-list{gap:0;padding:0 20px 8px;display:grid}.driver-status-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;transition:opacity .15s;display:flex}.driver-status-row:last-child{border:0}.driver-status-row.off-duty{opacity:.6}.driver-status-info{flex:1;gap:3px;min-width:0;display:grid}.driver-status-info b{font-size:14px;font-weight:600}.driver-status-info small{color:var(--muted);font-size:12px}.driver-status-badge{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.driver-status-badge.on{background:var(--green-light);color:var(--green)}.driver-status-badge.off{color:#888;background:#f0f0f0}.driver-status-note{color:var(--muted);border-top:1px solid var(--line);padding:10px 20px 14px;font-size:12px}.driver-status-note b{color:var(--ink)}.task-row.overdue{background:#fff8f7}.task-row.overdue:hover{background:#fff2f0}.deadline-over{font-weight:600;color:var(--red)!important}.deadline-ok{color:var(--orange)}.scheduled-notice{border-radius:var(--radius-sm);background:#fef9ec;border:1px solid #f3d97a;align-items:center;gap:12px;padding:12px 14px;display:flex}.scheduled-notice span{flex-shrink:0;font-size:22px}.scheduled-notice div{gap:2px;display:grid}.scheduled-notice b{color:var(--orange);font-size:13px}.scheduled-notice small{color:var(--muted);font-size:12px}.primary,.secondary,.danger,.form input,.form select,.form textarea,.filters select,.search-input,.date-input,.places-input,.dev-login-btns button{min-height:44px}.form label,.form input,.form select,.form textarea{min-width:0;max-width:100%}.form input[type=file]{width:100%}.back{min-height:44px;padding:10px 0}.notif-bell{min-width:44px;min-height:44px}.mobile-exit{min-height:44px;padding:0 8px}.profile{grid-template-columns:38px minmax(0,1fr) 44px}.profile>button,.guest-profile a{place-items:center;width:44px;height:44px;display:grid}.task-title-row b,.task-sub,.task-schedule,.task-deadline,.notif-item span,.detail h1,.detail-grid b,.detail-grid span,.meta-block span,.instruction p,.done-box p,.cancelled-box p,.event b,.event p,.driver-loc-row b,.driver-loc-row small,.driver-task-detail,.division-table b{overflow-wrap:anywhere}.detail-top,.detail-grid>div,.meta-block>div,.instruction,.done-box,.cancelled-box,.event>div,.map-placeholder>div,.selected-place,.division-table>div>*{min-width:0}.map-placeholder b,.map-placeholder small,.selected-place b,.selected-place span,.selected-place small{overflow-wrap:anywhere}.task-filters{border-bottom:0;padding:12px 20px 0}.table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.driver-report-head p:not(.eyebrow){color:var(--muted);margin-top:4px;font-size:13px}.driver-report-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.driver-report-stats strong{overflow-wrap:anywhere}.driver-report-duration{line-height:1.25;font-size:16px!important}.driver-report-average{color:var(--muted);margin:0 0 18px;font-size:13px}.driver-report-average b{color:var(--ink)}.driver-report-filter{grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr) repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.driver-report-filter label{min-width:0;color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.driver-report-filter select,.driver-report-filter input{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;padding:9px 11px}.driver-report-filter .error{grid-column:1/-1;margin:0}.driver-report-table{margin-top:0}.driver-report-toggle{background:var(--paper);width:100%;min-height:72px;color:var(--ink);text-align:left;border:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.driver-report-toggle:hover{background:#fafbfa}.driver-report-toggle:focus-visible{outline-offset:-3px;outline:3px solid #176b4633}.driver-report-toggle>span:first-child{gap:3px;display:grid}.driver-report-toggle b{font:700 15px Manrope,sans-serif}.driver-report-toggle small{color:var(--muted);font-size:12px}.driver-report-chevron{border-right:2px solid var(--green);border-bottom:2px solid var(--green);width:10px;height:10px;margin-right:5px;transition:transform .18s;transform:rotate(45deg)}.driver-report-table.is-open .driver-report-chevron{transform:rotate(225deg)}.driver-report-table.is-open .driver-report-toggle{border-bottom:1px solid var(--line)}.driver-report-table table{min-width:980px}.driver-report-table td{vertical-align:top}.driver-report-table td:first-child,.driver-report-table td:nth-child(2),.driver-report-table td:last-child{overflow-wrap:anywhere;max-width:260px}.driver-report-table td:nth-child(4){white-space:nowrap;color:var(--muted);gap:3px;font-size:11px;display:grid}.report-task-title,.driver-report-table td[data-label=Tujuan]>b{font-size:13px;display:block}.report-task-meta{color:var(--muted);margin-top:3px;font-size:11px;display:block}.report-note{white-space:pre-wrap;margin:0 0 6px;font-size:12px}.report-photo-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.report-photo-actions .secondary{min-height:36px;padding:7px 10px;font-size:11px}.driver-report-swipe{color:var(--muted);margin:-4px 14px 10px;font-size:11px;display:none}.driver-report-dialog .evidence-dialog-photos{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.driver-report-dialog .evidence-dialog-photos figure{gap:8px;min-width:0;margin:0;display:grid}.driver-report-dialog .evidence-dialog-photos img{min-height:180px}.report-photo-download{width:100%;text-decoration:none}.report-photo-error{text-align:center;border:1px dashed var(--line);border-radius:var(--radius-sm);background:#f5f7f5;place-content:center;gap:4px;min-height:180px;padding:20px;display:grid}.report-photo-error small{color:var(--muted);font-size:12px}.report-accordion-list{gap:8px;padding:0 16px 12px;display:grid}.report-card-item{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;transition:border-color .15s;overflow:hidden}.report-card-item.open{border-color:var(--green);box-shadow:0 4px 12px #176b460f}.report-card-header{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.report-card-header:hover{background:#f9fbf9}.report-card-head-left{gap:3px;min-width:0;display:grid}.report-card-title{color:var(--ink);font-size:14px;font-weight:700;line-height:1.3}.report-card-sub{color:var(--muted);font-size:12px}.report-card-head-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.report-card-chevron{color:var(--muted);font-size:10px}.report-card-body{border-top:1px solid var(--line);background:#fbfdfc;gap:12px;padding:12px 14px 14px;display:grid}.report-card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.report-card-grid>div{gap:2px;display:grid}.report-card-grid small{letter-spacing:.5px;color:var(--muted);font-size:10px;font-weight:700}.report-card-grid span{color:var(--ink);font-size:12px}.report-card-note-box{border-radius:var(--radius-sm);background:#f0f5f2;border:1px solid #d5e4da;gap:4px;padding:10px 12px;font-size:12px;display:grid}.report-card-note-box p{margin:0}.report-card-photo-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.report-card-photo-actions .secondary{min-height:38px;padding:6px 12px;font-size:12px;font-weight:600}.admin-page .user-row-actions button,.admin-row-actions button{min-height:44px}@media (width<=768px){.workspace{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.bottom-nav{height:calc(60px + env(safe-area-inset-bottom))}.bottom-nav button{min-height:44px}.driver-report-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.driver-report-filter{grid-template-columns:1fr;gap:10px;padding:14px}.driver-report-filter .secondary,.driver-report-filter .primary{width:100%}.driver-report-swipe{display:block}.driver-report-table .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.driver-report-table table{width:100%;min-width:640px;display:table}.driver-report-table thead{display:table-header-group}.driver-report-table tbody{padding:0;display:table-row-group}.driver-report-table tr{padding:0;display:table-row}.driver-report-table td{vertical-align:top;border-bottom:1px solid var(--line);white-space:normal;padding:10px 8px;display:table-cell}.driver-report-table td:before{display:none}.driver-report-table td:nth-child(4){display:table-cell}.report-photo-actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.report-photo-actions .secondary{min-height:34px;padding:4px 8px;font-size:11px}.driver-report-table .empty{padding:28px 12px}.driver-report-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.driver-report-dialog>div{padding:14px}.driver-report-dialog .evidence-dialog-title{align-items:flex-start}.driver-report-dialog .evidence-dialog-title .secondary{min-width:72px}.driver-report-dialog .evidence-dialog-photos{grid-template-columns:1fr}.driver-report-dialog .evidence-dialog-photos img{min-height:0;max-height:68dvh}.task-filters{padding:10px 14px 0}.guest-hero,.guest-activity-hero{border-radius:14px;align-items:flex-start;padding:22px 18px}.guest-activity-hero{flex-direction:column}.guest-activity-stats{gap:6px}.guest-activity-stats>div{padding:13px 10px}.guest-activity-stats strong{font-size:22px}.guest-activity-stats small{font-size:8px}.guest-create-form{gap:16px;padding:18px 14px}.guest-create-form .schedule-field input{appearance:none;min-height:52px;font-size:16px;line-height:1.2}.guest-create-form .schedule-field small{margin-top:0;font-size:12px}.guest-create-form .form-actions{border-radius:0 0 10px 10px;margin:2px -14px -18px;padding:14px}.guest-create-form .form-actions button{min-width:0}.guest-file-picker{min-height:96px;padding:14px;grid-template-columns:44px minmax(0,1fr)!important}.guest-file-icon{width:44px;height:44px}.guest-file-action{grid-column:1/-1;width:100%;min-height:44px}.guest-file-copy b{white-space:normal;overflow-wrap:anywhere}.admin-page .inline-form .form-grid{grid-template-columns:1fr}}@media (width<=375px){.driver-report-page{padding-inline:10px}.driver-report-stats{gap:6px}.driver-report-stats>div{padding:10px 8px}.driver-report-duration{font-size:13px!important}.driver-report-filter{gap:10px;padding:10px}.driver-report-dialog .evidence-dialog-title{flex-direction:column}.driver-report-dialog .evidence-dialog-title .secondary{width:100%}.meta-block{grid-template-columns:1fr}.admin-page .section-title{flex-wrap:wrap}.admin-page .section-title>button{width:100%}.settings-row{flex-direction:column}.settings-row>button{width:100%;min-width:0!important}}
