:root{--bg:#f4f6f8;--card:#fff;--text:#17202a;--muted:#65727e;--border:#dce3e8;--accent:#182b49;--danger:#8b2e2e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.nav{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:20px}.navlinks{display:flex;gap:18px;align-items:center}.linkbutton{cursor:pointer}.container{max-width:1180px;margin:32px auto;padding:0 20px}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 7px 24px rgba(27,39,51,.05)}.login,.pin,.qrclock{width:min(100%,440px);display:grid;grid-gap:16px;gap:16px}.login h1,.pin h1,.qrclock h1{margin:0}.login p{margin:0 0 8px;color:var(--muted)}label{display:grid;grid-gap:7px;gap:7px;font-weight:650}input,select{width:100%;padding:12px 14px;border:1px solid #cbd5dc;border-radius:10px;background:#fff}button{border:1px solid #c8d1d8;border-radius:10px;padding:10px 14px;background:#fff;cursor:pointer;font-weight:700}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.big{padding:15px 18px;font-size:16px}.error,.notice{padding:12px 14px;border-radius:10px;background:#fff0ef;border:1px solid #efc5c1}.notice{background:#eef6f1;border-color:#cce2d4}.hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero h1{font-size:34px;margin:4px 0}.hero p{margin:0}.eyebrow,.hero p{color:var(--muted)}.eyebrow{font-size:13px}.clocknow{font-size:48px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.actions{grid-gap:12px;gap:12px}.actions,.list{display:grid}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf0f2}.row:last-child{border-bottom:0}.row div{display:grid;grid-gap:3px;gap:3px}.row small{color:var(--muted)}.pill{font-size:12px;padding:5px 8px;border-radius:99px;background:#eef1f4}.titlebar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.titlebar h1{margin:0}.titlebar p{margin:5px 0 0;color:var(--muted)}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:13px;border-bottom:1px solid #e7ecef;white-space:nowrap}th{font-size:13px;color:var(--muted)}.qrpanel{margin-top:20px;display:grid;justify-items:center;grid-gap:12px;gap:12px}.qrpanel code{max-width:100%;overflow:auto;padding:10px;background:#f1f3f5;border-radius:8px}@media(max-width:760px){.navlinks a:nth-child(n+2){display:none}.grid2{grid-template-columns:1fr}.hero{align-items:flex-start}.clocknow{font-size:32px}.hero h1{font-size:27px}.container{margin-top:18px}.card{padding:18px}}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:14px;margin-bottom:16px}.tab{white-space:nowrap;background:#fff}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.stat{display:grid;grid-gap:5px;gap:5px}.stat strong{font-size:34px}.muted,.stat span{color:var(--muted)}.formgrid{grid-template-columns:1fr 1fr}.formgrid,.formstack{display:grid;grid-gap:14px;gap:14px}.inlineform{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:8px;gap:8px;margin-top:14px}.check{display:flex;align-items:center;gap:8px;font-weight:600}.check input{width:auto}.span2{grid-column:1/-1}.section{margin-top:20px}.method{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,auto);grid-gap:16px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.method>div{display:grid;grid-gap:3px;gap:3px}.method small{color:var(--muted)}.person{padding:12px 0;border-bottom:1px solid var(--border)}.person summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer}.person summary span{color:var(--muted)}.person>div,.rolechecks{margin-top:12px}.rolechecks{display:flex;flex-wrap:wrap;gap:10px 16px}textarea{width:100%;min-height:110px;padding:12px 14px;border:1px solid #cbd5dc;border-radius:10px;font:inherit}code{font-size:12px}@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}.formgrid,.inlineform{grid-template-columns:1fr}.method{grid-template-columns:1fr 1fr}.span2{grid-column:auto}}.schedule-editor{display:flex;flex-direction:column;gap:.65rem;margin:.35rem 0 1rem}.schedule-day{display:grid;grid-template-columns:minmax(115px,1.1fr) repeat(3,minmax(95px,1fr));grid-gap:.65rem;gap:.65rem;align-items:flex-end;padding:.7rem 0;border-bottom:1px solid #e2e8f0}.schedule-day label{margin:0}.schedule-day .check{align-self:center}@media(max-width:760px){.schedule-day{grid-template-columns:1fr 1fr}.schedule-day .check{grid-column:1/-1}}.schedule-day-v2{padding:.8rem 0;border-bottom:1px solid var(--border)}.schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.segments{grid-gap:8px;margin-top:10px}.segment,.segments{display:grid;gap:8px}.segment{grid-template-columns:80px 1fr 1fr auto;grid-gap:8px;align-items:flex-end;padding:10px;background:#f7f9fb;border:1px solid #e4e9ed;border-radius:10px}.segment>span{font-weight:700;align-self:center}.segment .remove{background:#fff0ef;color:#7d2525}.schedule-total{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#f1f4f7;border-radius:10px}.schedule-preview{display:grid;grid-gap:5px;gap:5px;padding:5px 0 14px}.schedule-preview>div{display:grid;grid-template-columns:100px 1fr;font-size:13px}.schedule-preview span{color:var(--muted)}.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.export-grid .primary{grid-column:1/-1}@media(max-width:760px){.segment{grid-template-columns:1fr 1fr}.segment .remove,.segment>span{grid-column:1/-1}.export-grid{grid-template-columns:1fr}.export-grid .primary{grid-column:auto}}:root{--surface:#ffffff;--surface-soft:#f7f9fb;--surface-alt:#f1f4f7;--input-bg:#ffffff;--input-border:#cbd5dc;--row-border:#e7ecef;--nav-bg:#ffffff;--pill-bg:#eef1f4;--code-bg:#f1f3f5;--shadow:0 7px 24px rgba(27,39,51,.05);--success-bg:#eef6f1;--success-border:#cce2d4;--error-bg:#fff0ef;--error-border:#efc5c1;--dash-blue:#eaf3ff;--dash-green:#eafaf2;--dash-indigo:#eef0ff;--dash-amber:#fff7df;--dash-violet:#f5efff;--dash-orange:#fff1e6;--dash-red:#fff0f0;--dash-slate:#f1f5f9;--dash-teal:#e9fbf8;--dash-chip:rgba(255,255,255,.82);--dash-track:#e8eef4;--lightbox-bg:rgba(3,8,20,.92)}html[data-theme=dark]{--bg:#0b1220;--card:#111c2e;--surface:#111c2e;--surface-soft:#162338;--surface-alt:#18273d;--text:#edf4ff;--muted:#a3b1c4;--border:#2a3a51;--accent:#3b82f6;--danger:#c94a4a;--input-bg:#0e1929;--input-border:#354963;--row-border:#27384f;--nav-bg:#0f1a2a;--pill-bg:#1d2b40;--code-bg:#0b1626;--shadow:0 10px 30px rgba(0,0,0,.25);--success-bg:#102a22;--success-border:#24513f;--error-bg:#32191c;--error-border:#653036;--dash-blue:#132a49;--dash-green:#123429;--dash-indigo:#242548;--dash-amber:#3a2d13;--dash-violet:#2d2345;--dash-orange:#3b2416;--dash-red:#3b1e24;--dash-slate:#1a293c;--dash-teal:#12383a;--dash-chip:rgba(13,25,42,.88);--dash-track:#203149;--lightbox-bg:rgba(2,6,15,.96);color-scheme:dark}.card,.nav,.pill,.qrpanel code,.schedule-total,.segment,.tab,body,button,input,select,textarea{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.nav{background:var(--nav-bg)}.card{box-shadow:var(--shadow)}input,select,textarea{background:var(--input-bg);color:var(--text);border-color:var(--input-border)}input::placeholder,textarea::placeholder{color:var(--muted)}.tab,button{background:var(--surface);color:var(--text);border-color:var(--input-border)}.linkbutton{background:transparent;border:0}.notice{background:var(--success-bg);border-color:var(--success-border)}.error{background:var(--error-bg);border-color:var(--error-border)}.row,td,th{border-color:var(--row-border)}.pill{background:var(--pill-bg)}.qrpanel code,code{background:var(--code-bg);color:var(--text)}.segment{background:var(--surface-soft);border-color:var(--border)}.segment .remove{background:var(--error-bg);color:#e98989;border-color:var(--error-border)}.schedule-total{background:var(--surface-alt)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:var(--surface);color:var(--text);white-space:nowrap}.theme-toggle.compact{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%}.theme-icon{font-size:18px;line-height:1}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(360px,.85fr);align-items:stretch;background:var(--bg);position:relative}.login-theme{position:absolute;right:24px;top:24px;z-index:3}.login-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;min-height:100vh;background:linear-gradient(145deg,var(--surface) 0,var(--surface-soft) 100%)}.login-logo{display:block;width:min(430px,78%);height:auto;object-fit:contain;border-radius:24px}.logo-dark,html[data-theme=dark] .logo-light{display:none}html[data-theme=dark] .logo-dark{display:block}.login-brand-copy{max-width:560px;text-align:center;margin-top:-55px;position:relative;z-index:1}.login-brand-copy h1{margin:6px 0 10px;font-size:clamp(28px,3vw,44px)}.login-brand-copy p{margin:0;color:var(--muted);font-size:17px;line-height:1.55}.login-card{width:min(440px,calc(100% - 48px));margin:auto;align-self:center}.login-card h2{font-size:30px;margin:0 0 6px}.login-card .primary{width:100%}@media(max-width:820px){.login-shell{grid-template-columns:1fr;display:flex;flex-direction:column;justify-content:center;padding:82px 20px 28px}.login-brand{min-height:auto;padding:10px 16px 22px;background:transparent}.login-logo{width:min(265px,70vw);border-radius:18px}.login-brand-copy{margin-top:-34px}.login-brand-copy h1{font-size:27px}.login-brand-copy p{display:none}.login-card{width:min(440px,100%);margin:0 auto}.login-theme{right:18px;top:18px}.navlinks{gap:10px}}.row-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.admin-actions{margin:.75rem 0}.danger-soft{border-color:#b94a48;color:#b94a48;background:transparent}.qr-modes{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.qr-mode{border:1px solid var(--border);border-radius:16px;padding:1rem}.qr-mode h3{margin-top:0}.qr-mode .qrpanel{margin-top:1rem}.qrpanel{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem;background:var(--surface-soft);border-radius:14px}@media(min-width:900px){.qr-modes{grid-template-columns:1fr 1fr}}.app-version{white-space:nowrap}.app-version,.login-version{font-size:.78rem;color:var(--muted)}.login-version{position:fixed;left:1rem;bottom:.75rem}.manual-page{display:grid;grid-gap:1rem;gap:1rem;padding-bottom:4rem}.manual-page .card ul{padding-left:1.3rem;line-height:1.7}.version-list{display:grid;grid-gap:.85rem;gap:.85rem}.version-entry{border:1px solid var(--border);border-radius:14px;padding:1rem;background:var(--surface-soft)}.version-entry ul{margin:.75rem 0 0;padding-left:1.25rem;line-height:1.55}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(2,8,23,.64);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;animation:modalFade .14s ease-out}.modal-card{width:min(100%,760px);max-height:min(88vh,900px);overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.38);display:flex;flex-direction:column;animation:modalPop .16s ease-out}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px 24px 16px;border-bottom:1px solid var(--border)}.modal-head h2{margin:2px 0 0}.modal-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}.modal-close{width:38px;height:38px;border-radius:50%;padding:0;font-size:24px;line-height:1;background:var(--surface-soft)}.modal-body{padding:22px 24px;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface-soft)}.confirm-content{display:flex;gap:16px;align-items:center}.confirm-content p{margin:0;line-height:1.55}.confirm-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--success-bg);border:1px solid var(--success-border);font-weight:800}.danger-icon{background:var(--error-bg);border-color:var(--error-border);color:#e98989}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.notification-wrap{position:relative}.notification-bell{position:relative;width:42px;height:42px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border)}.bell-icon{font-size:19px;line-height:1}.notification-bell.has-unread .bell-icon{animation:bellRing 2.8s ease-in-out infinite;transform-origin:50% 10%}.notification-badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e53935;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid var(--nav-bg);box-sizing:content-box}.notification-popover{position:absolute;right:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 24px));background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.28);z-index:999;overflow:hidden}.notification-popover-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.notification-popover-head span{font-size:.8rem;color:var(--muted)}.notification-mini-list{max-height:360px;overflow:auto}.notification-mini{width:100%;display:flex;align-items:flex-start;gap:10px;text-align:left;border:0;border-bottom:1px solid var(--row-border);border-radius:0;padding:12px 14px;background:transparent}.notification-mini.unread{background:color-mix(in srgb,var(--accent) 9%,var(--card))}.notification-mini span:nth-child(2){display:grid;grid-gap:3px;gap:3px}.notification-mini small{color:var(--muted);display:block}.severity-dot{width:9px;height:9px;border-radius:50%;background:#6b7280;margin-top:6px;flex:0 0 auto}.severity-warning{background:#f59e0b}.severity-critical,.severity-error{background:#ef4444}.severity-success{background:#22c55e}.severity-info{background:#3b82f6}.notification-all{display:block;text-align:center;padding:12px 14px;font-weight:700;border-top:1px solid var(--border)}@keyframes bellRing{0%,92%,to{transform:rotate(0)}94%{transform:rotate(12deg)}96%{transform:rotate(-11deg)}98%{transform:rotate(7deg)}}.notification-row-unread{background:color-mix(in srgb,var(--accent) 7%,var(--card));border-left:4px solid var(--accent);padding-left:12px}.notification-status{display:inline-flex;align-items:center;gap:6px}.notification-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}@media(max-width:720px){.modal-backdrop{padding:8px}.modal-card{max-height:94vh;border-radius:18px}.modal-actions,.modal-body,.modal-head{padding-left:16px;padding-right:16px}.notification-popover{position:fixed;left:12px;right:12px;top:72px;width:auto}}.notification-summary{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.notification-summary .summary-bell{font-size:20px}.notification-summary strong{font-size:20px;color:var(--accent)}.notification-summary span:last-child{color:var(--muted);font-size:.85rem}.company-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.company-summary>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);display:grid;grid-gap:4px;gap:4px}.company-summary span{font-size:.78rem;color:var(--muted)}.person-meta{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:.9rem;margin:.7rem 0}.modal-form .span2,.span2{grid-column:1/-1}.container{width:min(1680px,calc(100% - 32px));max-width:none;padding:0;margin:clamp(18px,2.5vw,36px) auto}.admin.container{width:min(1800px,calc(100% - 24px))}.grid2,.responsive-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(14px,1.6vw,24px);gap:clamp(14px,1.6vw,24px)}.stats{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:clamp(10px,1.2vw,18px)}.card{padding:clamp(16px,1.6vw,28px)}.dashboard-stats .stat{min-height:132px;text-align:left;align-content:center;position:relative}.stat-link{cursor:pointer;width:100%;border:1px solid var(--border);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.stat-link:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 32px rgba(0,0,0,.12)}.stat-link small{color:var(--accent);font-weight:750;margin-top:7px}.tablewrap{max-width:100%;overflow:auto;border-radius:12px}table{min-width:720px}.tabs{position:-webkit-sticky;position:sticky;top:68px;z-index:8;background:var(--bg);padding-top:8px;scrollbar-width:thin}.conversation-groups,.request-list,.thread-messages{display:grid;grid-gap:12px;gap:12px}.employee-conversation,.request-thread{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.employee-conversation>summary,.request-thread>summary{list-style:none;cursor:pointer}.employee-conversation>summary::-webkit-details-marker,.request-thread>summary::-webkit-details-marker{display:none}.employee-conversation>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--surface-soft)}.employee-conversation>summary>span:first-child{display:grid;grid-gap:3px;gap:3px}.employee-conversation>summary small{color:var(--muted)}.employee-conversation .request-list,.request-thread{padding:14px}.request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px}.request-head>div{display:grid;grid-gap:3px;gap:3px}.request-head small{color:var(--muted)}.thread-message{max-width:min(82%,720px);padding:10px 12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--border)}.thread-message.from-admin{justify-self:start;border-left:4px solid var(--accent)}.thread-message.from-employee{justify-self:end;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.thread-message>div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.thread-message small{color:var(--muted);font-size:.75rem}.thread-message p{margin:6px 0 0;white-space:pre-wrap;line-height:1.45}.thread-reply{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;margin-top:12px}.thread-reply textarea{min-height:68px}.thread-reply button{align-self:end}.request-actions{margin-top:12px}.request-conversations{min-width:0}.absence-type .row-actions{flex:0 0 auto}@media(min-width:1400px){.responsive-split{grid-template-columns:minmax(360px,.72fr) minmax(560px,1.28fr)}.request-form{position:-webkit-sticky;position:sticky;top:132px;align-self:start}}@media(max-width:980px){.grid2,.responsive-split{grid-template-columns:1fr}.nav{height:auto;min-height:64px;padding:10px 14px;gap:12px;align-items:flex-start}.navlinks{overflow-x:auto;max-width:calc(100vw - 120px);padding-bottom:4px;gap:12px;scrollbar-width:thin}.navlinks a:nth-child(n+2){display:inline-flex}.tabs{top:64px}.method{grid-template-columns:minmax(0,1fr) auto}.method button{grid-column:auto}.titlebar{align-items:flex-start;gap:12px}.thread-message{max-width:92%}}@media(max-width:640px){.admin.container,.container{width:calc(100% - 16px);margin:12px auto}.card{border-radius:14px;padding:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat strong{font-size:28px}.titlebar{display:grid}.formgrid{grid-template-columns:1fr}.row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:flex-start}.employee-conversation>summary{padding:13px}.employee-conversation .request-list{padding:8px}.request-thread{padding:10px}.request-head{flex-direction:column}.thread-message{max-width:100%;width:100%}.thread-reply{grid-template-columns:1fr}.thread-reply button{width:100%}.modal-card{width:100%;max-height:96vh}.tabs{margin-inline:-8px;padding-inline:8px}.responsive-table table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table tr{display:block;width:100%}.responsive-table tr{padding:10px 0;border-bottom:1px solid var(--row-border)}.responsive-table td{border:0;padding:6px 0;white-space:normal;display:flex;justify-content:space-between;gap:16px}.responsive-table td:before{content:attr(data-label);font-weight:700;color:var(--muted)}}@media(max-width:420px){.stats{grid-template-columns:1fr}.nav .brand{font-size:18px}.navlinks{max-width:calc(100vw - 96px)}.notification-popover{top:64px}}.notice-tree-item>summary,.request-thread-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none;background:var(--surface-soft);border-radius:12px}.notice-tree-item>summary::-webkit-details-marker,.request-thread-summary::-webkit-details-marker{display:none}.request-tree{--tree-line:color-mix(in srgb,var(--accent) 35%,var(--border));position:relative;margin-top:10px;padding:4px 0 4px 8px}.request-root{position:relative;padding-left:30px}.request-root:before{content:"";position:absolute;left:8px;top:17px;bottom:-15px;width:2px;background:var(--tree-line)}.tree-dot{position:absolute;left:2px;top:17px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--accent);z-index:2}.root-dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.request-root-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:13px 14px;box-shadow:0 5px 18px rgba(0,0,0,.04)}.request-origin{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:5px 0 8px}.request-origin small{color:var(--muted)}.tree-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.request-root-card>p,.tree-response p{margin:6px 0 0;white-space:pre-wrap;line-height:1.45}.tree-children{position:relative;margin-left:8px}.tree-child,.tree-empty{position:relative;padding:12px 0 0 52px;min-height:54px}.tree-child:before,.tree-empty:before{content:"";position:absolute;left:0;top:0;bottom:-12px;width:2px;background:var(--tree-line)}.tree-child:last-child:before,.tree-empty:last-child:before{bottom:32px}.tree-elbow{position:absolute;left:0;top:31px;width:31px;height:2px;background:var(--tree-line)}.tree-child>.tree-dot{left:25px;top:25px;width:13px;height:13px;border-width:3px}.admin-dot{border-color:var(--accent)}.admin-dot,.employee-dot{background:var(--surface)}.employee-dot{border-color:#16a34a}.tree-response{border:1px solid var(--border);border-radius:13px;padding:10px 12px;background:var(--surface-soft);min-width:0}.tree-response.from-admin{border-left:4px solid var(--accent)}.tree-response.from-employee{border-left:4px solid #16a34a}.tree-response>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.tree-response small{color:var(--muted);font-size:.76rem}.tree-empty{color:var(--muted);font-size:.9rem}.tree-empty>.tree-dot{left:25px;top:25px;border-color:var(--muted);width:12px;height:12px}.notice-tree-list{display:grid;grid-gap:12px;gap:12px}.notice-tree-item{border:1px solid var(--border);border-radius:14px;padding:8px;background:var(--surface)}.notice-tree-item>summary span:first-child{display:grid;grid-gap:3px;gap:3px}.notice-tree-item>summary small{color:var(--muted)}.tree-summary-count{font-size:.82rem;color:var(--muted);white-space:nowrap}.notice-tree-item[open]>summary{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.request-tree.compact{margin:6px 4px 2px}.tree-admin-thread{padding:8px 10px 12px}@media(max-width:640px){.notice-tree-item>summary,.request-thread-summary{align-items:flex-start;flex-direction:column}.tree-summary-count{white-space:normal}.request-tree{padding-left:0}.request-root{padding-left:25px}.request-root:before{left:6px}.tree-dot{left:0}.tree-child,.tree-empty{padding-left:42px}.tree-elbow{width:24px}.tree-child>.tree-dot,.tree-empty>.tree-dot{left:19px}.tree-response>div{display:grid;grid-gap:2px;gap:2px}}.records-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:0 0 16px}.records-summary .stat{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:16px;display:grid;grid-gap:4px;gap:4px}.records-summary .stat strong{font-size:1.35rem}.records-summary .stat span{color:var(--muted);font-size:.9rem}.workday-list{display:grid;grid-gap:14px;gap:14px}.workday-tree{border:1px solid var(--border);background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.workday-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;background:var(--surface)}.workday-summary::-webkit-details-marker{display:none}.workday-summary>span:first-child,.workday-total{display:grid;grid-gap:3px;gap:3px}.workday-summary small{color:var(--muted)}.workday-total{text-align:right;white-space:nowrap}.workday-total b{font-size:1.15rem;color:var(--accent)}.workday-branches{padding:2px 18px 18px 24px;border-top:1px solid var(--border);background:var(--surface-soft)}.workday-event{position:relative;padding:16px 0 0 42px;min-height:66px}.workday-dot{position:absolute;left:7px;top:25px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--accent);z-index:2}.workday-vertical{position:absolute;left:13px;top:38px;bottom:-18px;width:2px;background:color-mix(in srgb,var(--accent) 32%,var(--border))}.workday-event-card{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:11px 13px}.workday-event-card>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.workday-event-card small,.workday-event-card time{color:var(--muted);font-size:.83rem}.event-break_end,.event-break_start{border-color:#d97706}.event-clock_out{border-color:#dc2626}.event-clock_in{border-color:#16a34a}@media(max-width:700px){.records-summary{grid-template-columns:1fr}.workday-summary{align-items:flex-start;flex-direction:column}.workday-total{text-align:left}.workday-event{padding-left:34px}.workday-dot{left:3px}.workday-vertical{left:9px}.workday-event-card>div{display:grid;grid-gap:3px;gap:3px}.workday-branches{padding-left:16px}}.month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.month-toolbar>div:first-child{display:grid;grid-gap:3px;gap:3px}.month-toolbar small{color:var(--muted)}.month-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.month-controls label{margin:0}.month-controls input[type=month]{min-width:165px}.month-controls button{min-width:42px}.employee-months,.month-list{display:grid;grid-gap:22px;gap:22px}.month-group{display:grid;grid-gap:12px;gap:12px}.month-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 4px}.month-heading h2,.month-heading h3{margin:0}.month-heading p{margin:3px 0 0;color:var(--muted)}.month-total{display:grid;text-align:right}.month-total strong{font-size:1.1rem;color:var(--accent)}.month-total span{font-size:.82rem;color:var(--muted)}.admin-month-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(340px,1.4fr);grid-gap:14px;gap:14px;align-items:flex-end;margin:16px 0}.admin-month-filters label,.month-filter-block{display:grid;grid-gap:6px;gap:6px}.month-filter-block>span{font-weight:600}.records-summary.compact{margin-top:0}.admin-month-group{padding-top:8px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.month-heading,.month-toolbar{align-items:stretch;flex-direction:column}.month-total{text-align:left}.admin-month-filters{grid-template-columns:1fr}.month-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto}.month-controls input[type=month],.month-controls label{width:100%;min-width:0}.month-controls button{min-width:40px}}.account-card{max-width:680px;margin:1rem auto}.account-form{max-width:520px}.field-error{color:#b42318;font-size:.9rem}.notice.success{border-color:#79c894}.notice.error{border-color:#e18b8b}.app-topbar{height:64px;min-height:64px;padding:0 max(18px,calc((100vw - 1440px)/2));align-items:center;gap:14px;z-index:70}.topbar-actions,.topbar-left{display:flex;align-items:center;gap:12px}.topbar-left{min-width:0}.topbar-actions{margin-left:auto}.app-topbar .brand{font-size:19px;white-space:nowrap}.menu-trigger{min-height:42px;display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text)}.menu-trigger.active,.menu-trigger:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}.menu-trigger-lines{width:20px;height:16px;display:grid;align-content:space-between}.menu-trigger-lines i{display:block;height:2px;border-radius:9px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.menu-trigger.active .menu-trigger-lines i:first-child{transform:translateY(7px) rotate(45deg)}.menu-trigger.active .menu-trigger-lines i:nth-child(2){opacity:0}.menu-trigger.active .menu-trigger-lines i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-trigger-text{font-weight:750}.drawer-backdrop{position:fixed;inset:0;background:rgba(6,12,22,.46);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:80}.drawer-backdrop.open{opacity:1;visibility:visible}.side-drawer{position:fixed;left:0;top:0;bottom:0;width:min(360px,92vw);background:var(--surface);border-right:1px solid var(--border);box-shadow:18px 0 50px rgba(0,0,0,.18);transform:translateX(-104%);transition:transform .22s ease;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.side-drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 20px 16px;border-bottom:1px solid var(--border)}.drawer-head>div{display:grid;grid-gap:3px;gap:3px}.drawer-head strong{font-size:1.08rem}.drawer-head span{font-size:.82rem;color:var(--muted)}.drawer-close{width:42px;height:42px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:28px;line-height:1;background:var(--surface-soft)}.drawer-links{overflow-y:auto;padding:14px 12px;display:grid;align-content:start;grid-gap:5px;gap:5px}.drawer-link{min-height:48px;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;font-weight:700;border:1px solid transparent}.drawer-link:hover{background:var(--surface-soft)}.drawer-link.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.drawer-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--surface-alt);font-size:16px;font-weight:800;flex:0 0 auto}.drawer-link.active .drawer-icon{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.drawer-footer{padding:14px 16px 20px;border-top:1px solid var(--border);display:grid;grid-gap:10px;gap:10px;background:var(--surface-soft)}.drawer-footer .theme-toggle,.drawer-logout{width:100%;justify-content:flex-start;border-radius:12px;min-height:46px}.drawer-logout{display:flex;align-items:center;gap:10px}.drawer-version{text-align:center;color:var(--muted);font-size:.76rem;padding-top:2px}.app-topbar .notification-wrap{z-index:100}.app-topbar .notification-bell{width:44px;height:44px}.app-topbar .notification-popover{z-index:110}@media(min-width:1100px){.side-drawer{width:340px}.menu-trigger{padding-left:14px;padding-right:14px}.container{max-width:min(1440px,calc(100vw - 48px))}}@media(max-width:760px){.app-topbar{height:60px;min-height:60px;padding:8px 12px;align-items:center}.app-topbar .brand{font-size:18px}.menu-trigger{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.menu-trigger-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.side-drawer{width:min(330px,92vw)}.drawer-head{padding:18px 16px 14px}.drawer-links{padding:12px 10px}.drawer-link{min-height:52px;font-size:1rem}.drawer-footer{padding:12px 14px 18px}.app-topbar .notification-popover{position:fixed;left:12px;right:12px;top:68px;width:auto;max-width:none}}@media(max-width:380px){.app-topbar .brand{max-width:150px;overflow:hidden;text-overflow:ellipsis}.side-drawer{width:94vw}}.drawer-install{width:100%;display:flex;align-items:center;gap:.7rem;border:1px solid var(--border,#d9e0e7);background:var(--card,#fff);padding:.75rem .85rem;border-radius:.75rem;font-weight:700;cursor:pointer;text-align:left}.drawer-install span:first-child{font-size:1.2rem}.install-help{display:grid;grid-gap:.3rem;gap:.3rem;margin:.55rem 0;padding:.7rem .8rem;border-radius:.7rem;background:var(--soft,#f3f6f9);font-size:.82rem;line-height:1.35}.install-help span{opacity:.82}.installed-badge{padding:.65rem .8rem;border-radius:.7rem;background:var(--soft,#f3f6f9);font-size:.85rem;font-weight:700}.voice-field{display:grid;grid-gap:.55rem;gap:.55rem}.voice-field button{justify-self:start}.work-report-card{border:1px solid var(--border);border-radius:14px;padding:1rem;margin:.75rem 0;background:var(--card)}.work-report-card p{margin:.6rem 0}.work-report-day{margin:.8rem 0;border-left:3px solid var(--accent);padding-left:.8rem}.work-report-day>summary{cursor:pointer;padding:.55rem 0}.work-report-day>summary span{display:flex;justify-content:space-between;gap:1rem;align-items:center}.work-report-tree{display:grid;grid-gap:.75rem;gap:.75rem}.work-report-node{position:relative;border:1px solid var(--border);border-radius:12px;padding:1rem;margin-left:.7rem;background:var(--card)}.work-report-node:before{content:"";position:absolute;left:-1.5rem;top:1.25rem;width:1.4rem;border-top:2px solid var(--border)}.work-report-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.35rem 1rem;gap:.35rem 1rem;margin:.75rem 0}.work-report-detail p{margin:0}.employee-months{padding:.5rem 0 0 1rem}@media(max-width:700px){.work-report-detail{grid-template-columns:1fr}.work-report-day{padding-left:.55rem}.work-report-node{margin-left:.25rem}.work-report-day>summary span{align-items:flex-start;flex-direction:column}}.media-field{border:1px solid var(--border);border-radius:14px;padding:14px;display:grid;grid-gap:10px;gap:10px}.media-field legend{font-weight:700;padding:0 6px}.selected-files{display:flex;gap:8px;flex-wrap:wrap}.selected-files .pill{display:inline-flex;align-items:center;gap:6px}.selected-files .pill button{border:0;background:transparent;padding:0;font-size:18px}.work-report-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:12px 0}.media-placeholder,.work-report-images img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:var(--surface-soft)}.work-report-images.editable>div{display:grid;grid-gap:6px;gap:6px}.report-signature{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.report-signature img{max-width:420px;width:100%;height:auto;max-height:180px;object-fit:contain;background:white;border:1px solid var(--border);border-radius:10px}.signature-box{display:grid;grid-gap:8px;gap:8px}.signature-box canvas{width:100%;height:180px;touch-action:none;background:#fff;border:1px dashed #94a3b8;border-radius:10px;cursor:crosshair}@media(max-width:700px){.work-report-images{grid-template-columns:1fr 1fr}}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);grid-gap:18px;gap:18px;align-items:center;background:linear-gradient(135deg,var(--surface) 0,var(--surface-soft) 100%)}.eyebrow{margin:0 0 6px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800}.dashboard-hero h2{margin:0 0 8px}.dashboard-hero-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--border);background:var(--dash-chip);color:var(--text);font-weight:700}.dashboard-panels{display:grid;grid-template-columns:1.15fr .95fr;grid-gap:18px;gap:18px;margin-top:18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.kpi-list{display:grid;grid-gap:16px;gap:16px}.progress-metric{display:grid;grid-gap:8px;gap:8px;padding:12px 0;border-bottom:1px solid var(--border)}.progress-metric:last-child{border-bottom:0;padding-bottom:0}.progress-track{height:10px;border-radius:999px;background:var(--dash-track);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--accent)}.quick-links{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.quick-link{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.quick-link:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 28px rgba(0,0,0,.1)}.quick-link span{font-size:1.4rem;line-height:1}.quick-link small{color:var(--muted)}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;font-size:1.2rem;background:rgba(255,255,255,.8);border:1px solid rgba(15,23,42,.08)}.tone-blue{background:linear-gradient(180deg,var(--card) 0,var(--dash-blue) 100%)}.tone-green{background:linear-gradient(180deg,var(--card) 0,var(--dash-green) 100%)}.tone-indigo{background:linear-gradient(180deg,var(--card) 0,var(--dash-indigo) 100%)}.tone-amber{background:linear-gradient(180deg,var(--card) 0,var(--dash-amber) 100%)}.tone-violet{background:linear-gradient(180deg,var(--card) 0,var(--dash-violet) 100%)}.tone-orange{background:linear-gradient(180deg,var(--card) 0,var(--dash-orange) 100%)}.tone-red{background:linear-gradient(180deg,var(--card) 0,var(--dash-red) 100%)}.tone-slate{background:linear-gradient(180deg,var(--card) 0,var(--dash-slate) 100%)}.tone-teal{background:linear-gradient(180deg,var(--card) 0,var(--dash-teal) 100%)}.progress-fill.tone-blue{background:#3b82f6}.progress-fill.tone-green{background:#10b981}.progress-fill.tone-indigo{background:#6366f1}.progress-fill.tone-amber{background:#f59e0b}.progress-fill.tone-violet{background:#8b5cf6}.progress-fill.tone-orange{background:#f97316}.progress-fill.tone-red{background:#ef4444}.progress-fill.tone-slate{background:#64748b}.progress-fill.tone-teal{background:#14b8a6}@media(max-width:920px){.dashboard-hero,.dashboard-panels{grid-template-columns:1fr}.dashboard-hero-badges{justify-content:flex-start}}@media(max-width:640px){.quick-links{grid-template-columns:1fr}.hero-badge{width:100%;justify-content:flex-start}.stat-icon{width:38px;height:38px;font-size:1rem}}.address-gps-field{display:grid;grid-gap:6px;gap:6px}.address-gps-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.gps-address-button{white-space:nowrap;min-height:44px}.address-gps-status{color:var(--muted);line-height:1.35}.address-gps-field input{width:100%}@media(max-width:700px){.address-gps-row{grid-template-columns:1fr}.gps-address-button{width:100%}}.app-toast{position:fixed;right:22px;bottom:22px;z-index:10000;width:min(430px,calc(100vw - 32px));display:grid;grid-template-columns:auto 1fr auto;align-items:start;grid-gap:12px;gap:12px;padding:14px 14px 14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 18px 55px rgba(15,23,42,.22);animation:toast-in .2s ease-out;color:var(--text)}.toast-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:999px;font-weight:900;background:var(--surface-soft)}.toast-content{line-height:1.45;font-weight:650;padding-top:4px;white-space:pre-line;word-break:break-word}.toast-close{border:0;background:transparent;padding:1px 5px;font-size:24px;line-height:1;color:var(--muted);cursor:pointer}.toast-success{border-left:5px solid #16a34a}.toast-success .toast-icon{color:#166534;background:#dcfce7}.toast-error{border-left:5px solid #dc2626}.toast-error .toast-icon{color:#991b1b;background:#fee2e2}.toast-warning{border-left:5px solid #d97706}.toast-warning .toast-icon{color:#92400e;background:#fef3c7}.toast-info{border-left:5px solid var(--accent)}.toast-info .toast-icon{color:var(--accent);background:var(--surface-soft)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.app-toast{left:12px;right:12px;bottom:12px;width:auto;border-radius:14px}}.dashboard-hero{overflow:hidden;position:relative;border-color:color-mix(in srgb,var(--accent) 20%,var(--border));box-shadow:0 18px 45px color-mix(in srgb,var(--accent) 9%,transparent)}.dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-130px;background:color-mix(in srgb,var(--accent) 9%,transparent);pointer-events:none}.dashboard-stats{margin-top:18px}.dashboard-stats .stat{overflow:hidden}.dashboard-stats .stat strong{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em}.dashboard-stats .stat>span:not(.stat-icon){font-weight:700}.stat-icon{background:var(--dash-chip);border-color:var(--border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 3%,transparent)}.dashboard-chart-row{display:grid;grid-template-columns:180px 1fr;grid-gap:22px;gap:22px;align-items:center}.presence-ring{--presence:0%;width:160px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#10b981 var(--presence),var(--dash-track) 0);position:relative;margin:auto}.presence-ring:before{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 1px var(--border)}.presence-ring>div{position:relative;z-index:1;text-align:center;display:grid}.presence-ring strong{font-size:28px}.presence-ring span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.quick-link{background:var(--surface-soft);color:var(--text)}.quick-link div{display:grid;grid-gap:3px;gap:3px}.quick-link span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--dash-chip)}@media(max-width:640px){.dashboard-chart-row{grid-template-columns:1fr}.presence-ring{width:138px}}.media-gallery{align-items:stretch}.media-thumb{padding:0;border:1px solid var(--border);background:var(--surface-soft);position:relative;overflow:hidden;border-radius:12px;min-width:0}.media-thumb img{display:block;border:0!important;border-radius:0!important}.zoom-hint{position:absolute;left:8px;bottom:8px;padding:5px 8px;border-radius:999px;background:rgba(5,12,25,.76);color:#fff;font-size:11px;font-weight:800;opacity:0;transform:translateY(4px);transition:.15s}.media-thumb:focus-visible .zoom-hint,.media-thumb:hover .zoom-hint{opacity:1;transform:none}.media-lightbox{position:fixed;inset:0;z-index:10000;background:var(--lightbox-bg);display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;padding:24px}.lightbox-open{overflow:hidden}.lightbox-stage{min-width:0;max-width:min(1180px,100%);width:100%;margin:auto;display:grid;justify-items:center;grid-gap:10px;gap:10px}.lightbox-stage .media-placeholder{width:min(80vw,900px);height:60vh}.lightbox-image{display:block;max-width:100%;max-height:82vh;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:10px!important;border:0!important;background:transparent!important}.lightbox-counter{color:#fff;background:rgba(0,0,0,.38);padding:7px 11px;border-radius:999px;font-size:12px}.lightbox-close,.lightbox-next,.lightbox-prev{position:relative;z-index:2;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:42px;line-height:1;width:52px;height:52px;border-radius:50%;padding:0}.lightbox-close{position:absolute;right:20px;top:20px;font-size:30px}.lightbox-prev{justify-self:start}.lightbox-next{justify-self:end}.photo-delete-actions{justify-content:flex-start;margin-top:-4px}@media(max-width:700px){.media-lightbox{grid-template-columns:46px minmax(0,1fr) 46px;padding:12px}.lightbox-next,.lightbox-prev{width:40px;height:40px;font-size:32px}.lightbox-close{right:10px;top:10px}.zoom-hint{opacity:1;transform:none}}.work-report-filters{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr)) auto;grid-gap:10px;gap:10px;align-items:end;margin:14px 0 12px}.work-report-filters button{min-height:44px}.report-export-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:0 0 18px}.work-report-detail .span2{grid-column:1/-1}@media(max-width:1180px){.work-report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.work-report-filters{grid-template-columns:1fr 1fr}}@media(max-width:480px){.work-report-filters{grid-template-columns:1fr}.report-export-actions>*{width:100%}}.work-report-collapsed{padding:0;overflow:hidden}.work-report-collapsed>summary{list-style:none}.work-report-collapsed>summary::-webkit-details-marker{display:none}.work-report-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;cursor:pointer;background:var(--card);transition:background .15s ease}.work-report-summary:hover{background:var(--surface-soft)}.work-report-summary-main{display:grid;grid-gap:5px;gap:5px;min-width:0}.work-report-summary-main strong{font-size:1rem}.work-report-summary-main small{color:var(--muted);white-space:normal}.work-report-summary-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.expand-hint{font-size:.8rem;color:var(--muted)}.work-report-collapsed[open] .expand-hint:after{content:" ↑"}.work-report-collapsed:not([open]) .expand-hint:after{content:" ↓"}.work-report-expanded{padding:4px 16px 16px;border-top:1px solid var(--border)}.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.78rem;border:1px solid transparent}.status-badge.status-draft{background:var(--surface-soft);color:var(--text);border-color:var(--border)}.status-badge.status-submitted{background:rgba(59,130,246,.14);color:#2563eb;border-color:rgba(59,130,246,.28)}.status-badge.status-approved{background:rgba(16,185,129,.14);color:#059669;border-color:rgba(16,185,129,.28)}.status-badge.status-rejected{background:rgba(239,68,68,.14);color:#dc2626;border-color:rgba(239,68,68,.28)}.work-report-collapsed.status-submitted{border-left:4px solid #3b82f6}.work-report-collapsed.status-approved{border-left:4px solid #10b981}.work-report-collapsed.status-rejected{border-left:4px solid #ef4444}.work-report-collapsed.status-draft{border-left:4px solid var(--border)}[data-theme=dark] .status-badge.status-submitted{color:#93c5fd}[data-theme=dark] .status-badge.status-approved{color:#6ee7b7}[data-theme=dark] .status-badge.status-rejected{color:#fca5a5}@media(max-width:640px){.work-report-summary{align-items:flex-start;flex-direction:column}.work-report-summary-side{width:100%;justify-content:space-between}.work-report-summary-side .status-badge{order:0}}.geo-help{grid-column:1/-1;margin:4px 0 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:.92rem;line-height:1.45}.geo-help strong{color:var(--text)}.geo-informed-warning{display:flex;gap:14px;align-items:flex-start}.geo-informed-warning p{margin:.15rem 0 .8rem}.geo-informed-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--surface-2);font-size:1.45rem;border:1px solid var(--border)}@media(max-width:560px){.geo-informed-warning{display:grid}.geo-informed-icon{width:44px;height:44px}}