:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#18242f;background:radial-gradient(circle at 0 0,#0f3b681f,#0000 30%),linear-gradient(#f4f7fb 0%,#edf2f7 100%);font-family:Avenir Next,Segoe UI,sans-serif}body{min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:#203040;cursor:pointer;background:#fff;border:1px solid #ccd7e3;border-radius:12px;padding:.65rem .9rem;transition:transform .12s,box-shadow .12s,border-color .12s}button:hover{border-color:#91a8c3;transform:translateY(-1px);box-shadow:0 10px 20px #16253814}button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}button.primary{color:#fff;background:#0f3b68;border-color:#0f3b68}button.warning{color:#c2410c;background:#fff7ed;border-color:#ffd6b0}input,textarea,select{color:#18242f;background:#fff;border:1px solid #d5e0eb;border-radius:10px;width:100%;padding:.7rem .8rem}textarea{resize:vertical}#app{min-height:100vh}.shell{min-height:100vh;padding:1.2rem}.topbar,.toolbar,.panel,.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar,.toolbar{background:#ffffffd1;border:1px solid #d0dbe8e6;border-radius:24px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex;box-shadow:0 24px 60px #0f274214}.toolbar{flex-wrap:wrap;margin-top:1rem}.toolbar-group,.status-row,.tool-grid,.canvas-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-list-filter{align-items:center;margin:0;display:inline-flex}.project-list-filter select{width:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#60758a;margin:0 0 .2rem;font-size:.72rem}.topbar h1{margin:0;font-size:clamp(1.4rem,1rem + 1vw,2rem)}.badge{color:#35506a;background:#edf3f9;border:1px solid #d6e1ec;border-radius:999px;align-items:center;padding:.45rem .8rem;font-size:.85rem;display:inline-flex}[data-role=autosave]{gap:.45rem}[data-role=autosave]:before{content:"";background:currentColor;border-radius:999px;flex:none;width:.65rem;height:.65rem}[data-role=autosave][data-state=dirty]{color:#d97706}[data-role=autosave][data-state=saving]{color:#2563eb}[data-role=autosave][data-state=saving]:before{animation:1s ease-in-out infinite autosave-pulse}[data-role=autosave][data-state=saved]{color:#166534}[data-role=autosave][data-state=error]{color:#991b1b}.status-row button{white-space:nowrap}.badge[data-tone=success]{color:#166534;background:#effbf3;border-color:#b9e6c6}.badge[data-tone=danger]{color:#991b1b;background:#fff1f2;border-color:#f6c3c8}@keyframes autosave-pulse{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.hidden{display:none}.muted{color:#66788b;margin:0}body.is-sortable-dragging{-webkit-user-select:none;user-select:none}.sortable-row-grid-pill{z-index:1700;pointer-events:none;background:#fffffff5;border:1px solid #93c5fd;border-radius:999px;gap:1px;min-width:120px;padding:6px 10px;display:grid;position:fixed;top:0;left:0;box-shadow:0 14px 30px -8px #0000002e}.sortable-row-grid-pill strong{color:#17212b;font-size:12px;line-height:1.1}.sortable-row-grid-pill small{color:#60758a;font-size:11px;line-height:1.1}@media (width<=760px){.shell{padding:.9rem}.topbar,.toolbar{border-radius:20px;padding:.9rem 1rem}.status-row{width:100%}}.section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.chip,.status-pill{color:#35506a;white-space:nowrap;background:#edf3f9;border:1px solid #d6e1ec;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.chip{padding:.25rem .55rem;font-size:.75rem}.status-pill{padding:.35rem .65rem;font-size:.78rem}.chip-success,.status-pill[data-tone=success]{color:#166534;background:#edf9f0;border-color:#b9e6c6}.chip-neutral,.status-pill[data-tone=neutral]{color:#526274;background:#f3f6fa}.chip-info,.status-pill[data-tone=info]{color:#1d4ed8;background:#eef5ff;border-color:#bfd7ff}.chip-warning,.status-pill[data-tone=warning]{color:#c2410c;background:#fff7ed;border-color:#ffd6b0}.status-pill[data-tone=danger]{color:#991b1b;background:#fff1f2;border-color:#f6c3c8}:root{--ui-radius-sm:8px;--ui-radius-md:10px;--ui-radius-lg:16px;--ui-gap-sm:8px;--ui-gap-md:12px;--ui-gap-lg:16px;--ui-gap-xl:24px;--ui-bg:#f4f7fb;--planner-bg:#eef2f5;--ui-panel:#fff;--ui-ink:#0f1a2b;--ui-ink-soft:#334155;--ui-muted:#60758a;--ui-line:#d6dde6;--ui-line-soft:#e5ecf3;--ui-accent:#0f3b68;--ui-accent-soft:#e7eef7;--ui-accent-hover:#0c3156;--ui-ok:#166534;--ui-ok-soft:#dff7e6;--ui-warn:#b45309;--ui-warn-soft:#fef3c7;--ui-danger:#b42318;--ui-danger-soft:#fee2e2;--ui-info:#0c447c;--ui-info-soft:#e6f1fb;--ui-shadow-sm:0 2px 8px #0f172a08;--ui-shadow-md:0 8px 20px #0f172a0f;--ui-shadow-lg:0 16px 30px #0f172a1a;--ui-label-size:11px;--ui-label-tracking:.06em;--color-background-primary:var(--ui-panel);--color-background-secondary:var(--ui-bg);--color-background-tertiary:var(--planner-bg,#f7f9fa);--color-background-info:var(--ui-info-soft);--color-background-success:var(--ui-ok-soft);--color-background-warning:var(--ui-warn-soft);--color-background-danger:var(--ui-danger-soft);--color-border-tertiary:var(--ui-line-soft);--color-border-secondary:var(--ui-line);--color-border-primary:var(--ui-ink);--color-border-info:var(--ui-info);--color-border-success:var(--ui-ok);--color-border-warning:var(--ui-warn);--color-border-danger:var(--ui-danger);--color-text-primary:var(--ui-ink);--color-text-secondary:var(--ui-ink-soft);--color-text-tertiary:var(--ui-muted);--color-text-info:var(--ui-info);--color-text-success:var(--ui-ok);--color-text-warning:var(--ui-warn);--color-text-danger:var(--ui-danger)}.ui-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.ui-badge--ok{background:var(--ui-ok-soft);color:var(--ui-ok)}.ui-badge--warn{background:var(--ui-warn-soft);color:var(--ui-warn)}.ui-badge--danger{background:var(--ui-danger-soft);color:var(--ui-danger)}.ui-badge--info{background:var(--ui-info-soft);color:var(--ui-info)}.ui-confirm-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;animation:.12s ease-out ui-confirm-fade-in;display:flex;position:fixed;inset:0}@keyframes ui-confirm-fade-in{0%{opacity:0}to{opacity:1}}.ui-confirm-dialog{background:var(--color-background-primary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg);width:100%;max-width:420px;padding:24px 24px 20px;animation:.15s ease-out ui-confirm-scale-in}@keyframes ui-confirm-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ui-confirm-title{color:var(--color-text-primary);margin:0 0 8px;font-size:16px;font-weight:500}.ui-confirm-message{color:var(--color-text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.ui-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.ui-confirm-cancel,.ui-confirm-ok{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);font:inherit;cursor:pointer;padding:8px 16px;font-size:13px;transition:background .12s}.ui-confirm-cancel:hover{background:var(--color-background-secondary)}.ui-confirm-ok{background:var(--ui-accent);color:#fff;border-color:var(--ui-accent)}.ui-confirm-ok:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.ui-confirm-ok--danger{background:var(--ui-danger);border-color:var(--ui-danger)}.ui-confirm-ok--danger:hover{filter:brightness(.92)}.document-action-menu,.field-documents-menu,.field-detail-documents-menu{position:relative}.document-action-menu>summary,.field-documents-menu>summary,.field-detail-documents-menu>summary{list-style:none}.document-action-menu>summary::-webkit-details-marker{display:none}.field-documents-menu>summary::-webkit-details-marker{display:none}.field-detail-documents-menu>summary::-webkit-details-marker{display:none}.document-action-menu>summary::marker{content:""}.field-documents-menu>summary::marker{content:""}.field-detail-documents-menu>summary::marker{content:""}.document-action-menu[open]>summary,.field-documents-menu[open]>summary,.field-detail-documents-menu[open]>summary{box-shadow:0 0 0 2px #0f3b682e}.document-action-popover,.field-documents-popover,.field-detail-documents-popover{z-index:50;background:#fffffffa;border:1px solid #dbe4ef;border-radius:14px;width:min(360px,100vw - 32px);max-height:min(420px,100vh - 160px);padding:.6rem;position:absolute;top:calc(100% + 8px);overflow:auto;box-shadow:0 16px 28px #0f172a29}.document-action-popover,.field-documents-popover{right:0}.field-detail-documents-popover{left:0}.field-action-docs,.field-detail-floating-action-docs{color:#fff;background:#0f766e}.field-action-icon--docs{letter-spacing:.04em;font-size:.8rem}@media (width<=768px){.document-action-popover,.field-documents-popover,.field-detail-documents-popover{width:min(320px,100vw - 24px);max-height:min(360px,100vh - 140px)}}.phase-context-badge{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;align-items:center;gap:6px;display:inline-flex}.phase-context-badge:before{content:"◼";font-size:10px}#phaseOverlay{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.drawing-row,.phase-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #d6dde6;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.drawing-row.active,.phase-row.active{border-color:#0f3b68;box-shadow:0 0 0 2px #0f3b6814}.drawing-row.is-gps-not-ready,.drawing-row.is-gps-not-ready.active{border-color:#dc2626;box-shadow:0 0 0 2px #dc262614}.drawing-row-main,.phase-row-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.drawing-row-main strong,.phase-row-main strong{font-size:13px;line-height:1.2}.drawing-row-main small,.phase-row-main small,.phase-row-meta{color:#66788a;font-size:11px;line-height:1.3}.phase-row-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.drawing-dot,.phase-swatch{border-radius:999px;flex-shrink:0;width:12px;height:12px}.phase-membership-wrap{border-top:1px solid #d6dde6;margin-top:14px;padding-top:12px}.phase-membership-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.phase-membership-head strong{font-size:13px}.phase-membership-list,.phase-candidate-list{flex-direction:column;gap:8px;display:flex}.phase-membership-row,.phase-candidate-row{background:#f8fafc;border:1px solid #d6dde6;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.phase-membership-row strong,.phase-candidate-row strong{font-size:13px}.phase-membership-row small,.phase-candidate-row small{color:#66788a;margin-top:2px;font-size:11px;line-height:1.3;display:block}.phase-membership-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.phase-membership-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.phase-membership-actions input[type=checkbox],.phase-membership-actions input[type=radio],.phase-candidate-row input[type=checkbox],.phase-candidate-row input[type=radio]{width:16px;height:16px}.phase-dialog-overlay{z-index:130;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.phase-dialog{background:#fff;border-radius:18px;width:min(760px,100%);max-height:min(82vh,900px);padding:20px;overflow:auto;box-shadow:0 24px 64px #0f172a38}.phase-dialog h3{margin:0 0 8px}.phase-dialog-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}:root{--zone-selected-fill:#0f3b682e;--zone-selected-stroke:#0f3b68;--bg:#eef2f6;--panel:#fff;--line:#d6dde6;--text:#17212b;--muted:#66788a;--accent:#0f3b68;--soft:#f6f8fb;--danger:#b42318;--success:#15803d;--right-w:35vw;--right-w-expanded:35vw;--left-w:340px;--tools-w:56px}*{box-sizing:border-box}body[data-page=editor]{color:var(--text);background:var(--bg);height:100vh;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:hidden}.app{grid-template-columns:var(--left-w) minmax(0,1fr) var(--tools-w) minmax(0,var(--right-w));height:100vh;display:grid}.panel{background:var(--panel);border-right:1px solid var(--line);min-width:0;overflow:auto}.panel.right{border-right:0;border-left:1px solid var(--line);min-width:0;max-width:100%;position:relative;overflow:hidden auto}.panel.left-main{scrollbar-gutter:stable;background:#f5f7fb;border-right:1px solid #dbe3ec;transition:opacity .15s}.app.panel-right-hidden{grid-template-columns:var(--left-w) minmax(0,1fr) var(--tools-w) 0px}.app.right-expanded,.app.left-collapsed.right-expanded{grid-template-columns:0px minmax(0,1fr) var(--tools-w) minmax(0,var(--right-w-expanded))}.app.panel-right-hidden .panel.right{opacity:0;pointer-events:none;border-left:0;overflow:hidden}.app.compare-mode .canvas-scroll{padding:8px 8px 8px 2px}.app.compare-mode #canvasStage{margin:0}.tool-strip{background:var(--panel);border-left:1px solid var(--line);border-right:1px solid var(--line);z-index:10;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex;position:relative;overflow:visible}.tool-strip-project-actions,.tool-strip-project-actions .viewer-topbar-actions{flex-direction:column;align-items:center;gap:4px;display:flex}.tool-strip-project-actions .viewer-topbar-actions{box-shadow:none;background:0 0;border:0;padding:0}.tool-strip-project-actions .topbar-action-btn{border:1px solid var(--line);background:#fff;border-radius:8px;width:40px;min-width:40px;height:40px}.tool-strip-project-actions .topbar-action-btn:hover{background:#fff;border-color:#1e90c8;box-shadow:0 0 0 4px #1e90c81f}.tool-strip-project-actions .topbar-action-btn .ui-icon{width:28px;height:28px}.ts-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:15px;display:flex;position:relative}.ts-btn:hover,.ts-toggle:hover{background:#fff;border-color:#1e90c8;box-shadow:0 0 0 4px #1e90c81f}.ts-btn.active{color:#1e90c8;background:#f0f7fd;border-color:#1e90c8;box-shadow:0 0 0 4px #1e90c81f}.app:not(.object-types-panel-open) .right-rail-object-types{display:none}.ts-btn.danger-btn{color:var(--danger);border-color:#fca5a5}.ts-btn.danger-btn:hover{background:#fff0f0}.ts-btn.danger-btn.active{background:var(--danger);border-color:var(--danger);color:#fff}.ts-btn[data-tool=point]{color:#1e293b}.ts-btn[data-action=add-object-type]{color:#0f3b68}.ts-btn[data-preset-id]{background:#fff}.ts-btn[data-preset-id]:hover{border-color:#d1d5db;box-shadow:0 0 0 3px #0000000f}.ts-sep{background:var(--line);flex-shrink:0;width:32px;height:1px;margin:2px 0}.ts-btn[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;pointer-events:none;z-index:100;background:#17212b;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;top:50%;right:48px;transform:translateY(-50%)}.ts-toggle{border:1px solid var(--line);cursor:pointer;width:40px;height:40px;color:var(--muted);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:auto;font-size:16px;display:flex}.ui-icon{color:currentColor;flex-shrink:0;width:18px;height:18px;display:block}.btn-icon-label,.status-icon-label,.summary-icon-label,.dialog-icon-label{justify-content:center;align-items:center;gap:8px;min-width:0;display:inline-flex}.ps-arrow,.search-icon{justify-content:center;align-items:center;display:inline-flex}.ps-arrow .summary-icon-label{gap:6px}.search-icon .ui-icon{width:14px;height:14px}.ts-btn .ui-icon{width:28px;height:28px}.ts-toggle .ui-icon{width:30px;height:30px}.viewer-topbar button svg,.toolbar button svg,.tool-strip button svg,.pdf-nav button svg,.report-footer button svg,.maps-actions button svg,.proj-summary svg{pointer-events:none}.viewer-topbar button .btn-icon-label,.toolbar button .btn-icon-label,.report-footer button .btn-icon-label,.maps-actions button .btn-icon-label{width:100%}.editor-sidebar>.section{background:#f7f9fc;border-bottom:1px solid #e2e8f0;padding:14px 16px}.editor-sidebar>.section.sidebar-tools .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.editor-sidebar>.section.sidebar-tools .toolbar button{width:100%;padding:9px 10px;font-size:12px;line-height:1.25}.editor-sidebar #loadImageBtn,.editor-sidebar #loadImageEditBtn,.editor-sidebar #undoBtn{grid-column:span 2}.editor-sidebar #clearAutosaveBtn{display:none}.editor-sidebar .project-klic-open-btn{width:100%;margin-top:8px;display:block}.editor-sidebar .project-klic-note{margin-top:8px}.editor-sidebar>.section.sidebar-section{padding:12px 14px 14px}.editor-sidebar>.section.sidebar-section>h3{letter-spacing:.01em;color:#17212b;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:2px 2px 12px;font-size:13px;font-weight:700;display:flex}.editor-sidebar>.section.sidebar-section.is-collapsed{cursor:pointer}.editor-sidebar>.section.sidebar-section.is-collapsed>h3{padding-bottom:2px}.editor-sidebar>.section.sidebar-section.is-collapsed>:not(h3){display:none}.editor-sidebar>.section.sidebar-section .field label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:11px;font-weight:700}.editor-sidebar>.section.sidebar-section .toolbar{gap:6px}.editor-sidebar>.section.sidebar-section .toolbar button{padding:8px 10px;font-size:12px;line-height:1.25}.editor-sidebar [data-sidebar-section=drawings] .toolbar,.editor-sidebar [data-sidebar-section=phases] .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.editor-sidebar #drawingRemoveBtn{grid-column:span 2}.section{border-bottom:1px solid var(--line);padding:16px}h2,h3{margin:0 0 12px}h2{font-size:16px}h3{font-size:14px}.muted,.small{color:var(--muted);font-size:12px}.toolbar{flex-wrap:wrap;gap:8px;display:flex}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:10px 14px}button:hover{background:#f8fafc}button.active,button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:var(--danger);background:#fff6f5;border-color:#e2b4b0}button:disabled{opacity:.4;cursor:not-allowed}.sr-file-input{opacity:0;pointer-events:none;position:absolute;top:-9999px;left:-9999px}.row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--muted);font-size:12px}input[type=text],input[type=number],select,textarea,input[type=color],input[type=url]{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:70px}input[type=color]{height:42px;padding:4px}.viewer-wrap{background:#fff;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.editor-dashboard-back-btn{color:#fff;background:#1e90c8;border-color:#1e90c8;align-items:center;gap:8px;padding:9px 14px;display:inline-flex;box-shadow:0 8px 18px #1e90c82e}.editor-dashboard-back-btn:hover{background:#167bad;border-color:#167bad}.editor-dashboard-back-btn .ui-icon{width:18px;height:18px}.icon-only-btn,#mapsBtn,#approvePhotosBtn,#klicBtn{border-radius:999px;justify-content:center;align-items:center;min-width:44px;padding:8px 10px;display:flex}.icon-only-btn .ui-icon{width:20px;height:20px}#canvasViewport{transform-origin:0 0;margin:0 auto;position:relative}#canvasStage{position:relative}#canvasStage>img,#canvasStage>embed,#canvasStage>svg,#canvasStage>canvas{position:absolute;top:0;left:0}#bgImage,#bgPdf,#bgPdfCanvas{pointer-events:none;background:#fff;border:0;width:100%;height:100%;display:block}#bgPdf{display:none}#overlay{z-index:2;cursor:default;overflow:visible}.canvas-scroll{background:#fff;min-height:0;padding:0;position:relative;overflow:auto}#canvasStage{transform-origin:50%;width:fit-content;box-shadow:none;background:#fff;border:0;margin:0;position:absolute;top:0;left:0}#bgImage{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;display:block}#overlay{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.zone-selected-glow{filter:drop-shadow(0 0 4px #0f3b6873)}.zone-hit-target{cursor:grab}.zone-preview-chip{z-index:4;color:#fff;pointer-events:none;background:#0f3b68;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0003}.object-list{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow:auto}.object-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:10px}.object-card.active,.object-card.bulk-active{border-color:var(--accent);box-shadow:0 0 0 2px #0f3b6814}.object-card.bulk-active{background:#f8fbff}.chips,.card-meta{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:11px}.editor-sidebar #drawingList,.editor-sidebar #phaseList,.editor-sidebar #layerList{min-width:0;max-height:none;overflow:visible}.editor-sidebar #objectList{min-width:0;max-height:min(38vh,420px);padding-right:2px}.editor-sidebar #drawingActiveMeta,.editor-sidebar #phaseActiveMeta,.editor-sidebar [data-sidebar-section=drawings] .small,.editor-sidebar [data-sidebar-section=phases] .small,.editor-sidebar [data-sidebar-section=objects] .muted{color:#64748b;background:#fff;border:1px dashed #d6e0ea;border-radius:12px;margin:0 0 10px;padding:10px 12px;line-height:1.4;display:block}.editor-sidebar .drawing-row,.editor-sidebar .phase-row,.editor-sidebar .layer-row,.editor-sidebar .object-card{text-align:left;background:#fff;border:1px solid #dbe3ec;border-radius:14px;width:100%;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:0 1px #0f172a08}.editor-sidebar .drawing-row:hover,.editor-sidebar .phase-row:hover,.editor-sidebar .layer-row:hover,.editor-sidebar .object-card:hover{background:#fcfdff;border-color:#bfd0df}.editor-sidebar .drawing-row.active,.editor-sidebar .phase-row.active,.editor-sidebar .object-card.active{color:#17212b;border-color:#0f3b68;box-shadow:0 0 0 2px #0f3b6814}.editor-sidebar .drawing-dot{background:#64748b}.editor-sidebar .drawing-row-main strong,.editor-sidebar .phase-row-main strong,.editor-sidebar .object-card strong{font-size:13px;line-height:1.25}.editor-sidebar .drawing-row-main small,.editor-sidebar .phase-row-main small,.editor-sidebar .phase-row-meta,.editor-sidebar .object-card>span:not(.card-meta){color:#64748b;font-size:11px;line-height:1.35}.editor-sidebar .drawing-row-main .chip{align-self:flex-start}.editor-sidebar .object-card{gap:6px;padding:11px 12px;display:grid}.editor-sidebar .object-card .card-meta{margin-top:2px}.editor-sidebar .layer-row{color:#17212b;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.editor-sidebar .layer-row.hidden{opacity:.55;background:#f1f5f9}.editor-sidebar .layer-dot{width:10px;height:10px;box-shadow:0 0 0 2px #0f172a0d}.editor-sidebar .layer-count{color:#35506a;background:#edf3f9;border:1px solid #d7e2ed;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:24px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.overlay-bulk-selected{stroke-dasharray:4 3;filter:drop-shadow(0 0 4px #0f3b6859)}.overlay-multi-select-ring{fill:#0f3b681f;stroke:#0f3b68;stroke-width:2px;stroke-dasharray:4 3}.overlay-multi-select-dot{fill:#0f3b68;stroke:#fff;stroke-width:1.5px}.stat{border-bottom:1px dashed #e6ebf1;grid-template-columns:1fr auto;gap:10px;padding:8px 0;font-size:13px;display:grid}.hide{display:none!important}.editor-sidebar [data-sidebar-section=overview] .stat{background:#fff;border:1px solid #dbe3ec;border-radius:12px;margin-bottom:8px;padding:10px 12px}.editor-sidebar [data-sidebar-section=overview] .stat:last-child{margin-bottom:0}.editor-sidebar [data-sidebar-section=overview] .stat strong{color:#0f172a;background:#eef2f7;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:28px;padding:0 10px;font-weight:700;display:inline-flex}.editor-sidebar [data-sidebar-section=overview] .stat-click{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.editor-sidebar [data-sidebar-section=overview] .stat-click:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a0f}.editor-sidebar [data-photo-stat=open]{background:#fff7ed;border-color:#fdba74}.editor-sidebar [data-photo-stat=approved]{background:#f0fdf4;border-color:#86efac}.editor-sidebar [data-photo-stat=rejected]{background:#fff1f2;border-color:#fda4af}.editor-sidebar [data-photo-stat=open] span,.editor-sidebar [data-photo-stat=open] strong{color:#9a3412}.editor-sidebar [data-photo-stat=approved] span,.editor-sidebar [data-photo-stat=approved] strong{color:#166534}.editor-sidebar [data-photo-stat=rejected] span,.editor-sidebar [data-photo-stat=rejected] strong{color:#991b1b}.editor-sidebar [data-photo-stat=open] strong{background:#ffedd5;border-color:#fdba74}.editor-sidebar [data-photo-stat=approved] strong{background:#dcfce7;border-color:#86efac}.editor-sidebar [data-photo-stat=rejected] strong{background:#ffe4e6;border-color:#fda4af}.search-wrap{margin-bottom:10px;position:relative}.search-wrap input{padding-left:32px}.search-icon{color:var(--muted);pointer-events:none;font-size:14px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.layer-list{flex-direction:column;gap:6px;display:flex}.layer-row{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.layer-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.layer-row.hidden-layer{opacity:.4}.layer-count{color:#60758a;margin-left:auto}.bulk-bar{background:#fff7ed;border-bottom:1px solid #fed7aa;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.bulk-bar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.canvas-scroll.is-panning,.canvas-scroll.is-panning #overlay{cursor:grabbing}#autosaveBadge{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:3px 10px;font-size:11px;transition:opacity .5s}#autosaveBadge.fade{opacity:0}.report-overlay{z-index:100;background:#00000080;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.report-panel{background:#fff;flex-direction:column;width:min(820px,95vw);max-width:100vw;height:100vh;display:flex;box-shadow:-4px 0 32px #00000026}.report-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.report-header h2{margin:0;font-size:16px}.report-body{flex:1;min-width:0;padding:24px;overflow:auto}.report-footer{border-top:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;gap:10px;padding:12px 20px;display:flex}.maps-overlay{z-index:120;background:#00000073;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.maps-overlay--passthrough{pointer-events:none;background:0 0}.maps-overlay--passthrough .maps-panel{pointer-events:auto}.maps-panel{background:#fff;flex-direction:column;width:min(920px,96vw);max-width:100vw;height:100vh;display:flex;box-shadow:-4px 0 32px #0000002e}.maps-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.maps-header h2{margin:0;font-size:16px}.maps-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:58vw;margin-top:4px;font-size:12px;overflow:hidden}.maps-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.maps-actions button{padding:8px 12px}.maps-body{background:#f8fafc;flex:1;min-height:0}#mapsFrame,#embeddedUrlOverlayFrame,#embeddedUrlOverlayPdf,#embeddedUrlOverlayImage{background:#fff;border:0;width:100%;height:100%}#embeddedUrlOverlayPdf{display:block}#embeddedUrlOverlayImage{object-fit:contain;display:block}.rcard{break-inside:avoid;border:1px solid #d6dde6;border-radius:12px;margin-bottom:16px;padding:16px}.rcard h3{margin:0 0 8px;font-size:15px}.rmeta{color:var(--muted);grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px;font-size:12px;display:grid}.rmeta strong{color:var(--text)}.rphoto-grid{grid-template-columns:1fr;gap:10px;display:grid}.rphoto{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.rphoto img{object-fit:contain;background:#fafafa;max-width:100%;max-height:480px;margin:0 auto;padding:8px;display:block}.rphoto .rphoto-name{color:var(--muted);border-top:1px solid #f0f0f0;padding:6px 10px;font-size:11px}.gps-row{align-items:flex-end;gap:6px;display:flex}.gps-row .field{flex:1;margin-bottom:0}.gps-status-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gps-status-line .chip{font-weight:700}.btn-icon{padding:8px 10px;font-size:14px}.chip.chip-warn{color:var(--danger);background:#fff6f5;border-color:#f5c2be}.rtable{border-collapse:collapse;width:100%;margin-bottom:20px;font-size:12px}.rtable th{text-align:left;background:#f6f8fb;border:1px solid #e5e9ef;padding:7px 10px;font-weight:600}.rtable td{vertical-align:top;border:1px solid #e5e9ef;padding:7px 10px}.rtable tr:nth-child(2n) td{background:#fafbfc}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.card-actions{gap:6px;margin-top:8px;display:flex}.btn-sm{border-radius:7px;padding:4px 9px;font-size:11px}#hoverPopover{z-index:200;pointer-events:none;opacity:0;background:#fff;border:1px solid #d6dde6;border-radius:16px;max-width:calc(100vw - 40px);padding:20px;font-size:14px;transition:opacity .15s;position:fixed;box-shadow:0 12px 48px #00000038}#hoverPopover.visible{opacity:1}#hoverPopover .hp-title{align-items:center;gap:8px;margin-bottom:10px;font-size:17px;font-weight:700;display:flex}#hoverPopover .hp-dot{border-radius:50%;flex-shrink:0;width:13px;height:13px}#hoverPopover .hp-meta{color:#66788a;margin-bottom:12px;font-size:13px;line-height:1.7}#hoverPopover .hp-detail-list{color:#0f172a;gap:4px;margin-top:8px;line-height:1.45;display:grid}#hoverPopover .hp-detail{white-space:pre-wrap}#hoverPopover .hp-detail-label{color:#475569;font-weight:700}#hoverPopover .hp-photos{scrollbar-gutter:stable;flex-flow:row;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:start;gap:10px;max-height:min(68vh,680px);margin-top:10px;padding-bottom:4px;padding-right:2px;display:flex;overflow:auto}#hoverPopover .hp-photo-grid{gap:10px;width:100%;min-width:0;display:grid}#hoverPopover .hp-slot-card{background:#fff;border:1px solid #e5e9ef;border-radius:10px;flex-direction:column;flex-shrink:0;width:160px;min-width:0;display:flex;overflow:hidden}#hoverPopover .hp-slot-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#f6f8fb;border-bottom:1px solid #e5e9ef;padding:6px 8px;font-size:11px;font-weight:700;overflow:hidden}#hoverPopover .hp-slot-image{object-fit:cover;background:#f3f5f8;width:100%;height:160px;display:block}#hoverPopover .hp-slot-card-missing{background:#f8fafc;border:1px dashed #cbd5e1}#hoverPopover .hp-slot-card-missing .hp-slot-title{background:#f1f5f9}#hoverPopover .hp-slot-empty-body{justify-content:center;align-items:center;min-height:160px;padding:8px;display:flex}#hoverPopover .hp-photo{object-fit:contain;background:#f3f5f8;border:1px solid #e5e9ef;border-radius:10px;width:100%;height:200px}#hoverPopover .hp-nophoto{color:#b42318;font-size:13px}#hoverPopover.compact{max-width:min(520px,100vw - 40px)}.completion-warn{color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:12px;line-height:1.5}.empty-state-pad{text-align:center;padding:28px 8px;line-height:1.5}.prop-header-row{grid-template-columns:minmax(124px,auto) minmax(0,1fr) minmax(124px,auto);align-items:start;gap:12px;margin-bottom:10px;display:grid}.prop-header-main{text-align:center;gap:4px;padding-top:2px;display:grid}.prop-header-title{font-size:18px;font-weight:700;line-height:1.2}.prop-header-layer{color:#64748b;font-size:12px;line-height:1.35}.btn-link-muted{color:#64748b;background:0 0;border:0;padding:0}.btn-link-muted:hover{color:#17212b;background:0 0}.row-mb-8{margin-bottom:8px}.field-mb-0{margin-bottom:0}.mb-10{margin-bottom:10px}.done-ring{stroke:#16a34a;stroke-width:3px;fill:none}.resize-handle{cursor:col-resize;z-index:10;background:0 0;width:5px;position:absolute;top:0;bottom:0;left:0}.resize-handle:hover,.resize-handle.dragging{background:var(--accent);opacity:.3}.panel.right .section,#photoSlots,.photo-slots,.photo-slot,.photo-slot-actions,.photo-slot-head{min-width:0}.photo-slots{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;margin-bottom:10px;display:grid}.photo-slots.compact-empty .photo-slot.is-empty .photo-slot-drop{min-height:86px;padding:10px;font-size:11px;line-height:1.25}.photo-slot{background:#fbfcfe;border:2px dashed #b3c0cf;border-radius:10px;transition:border-color .15s,background .15s;overflow:hidden}.photo-slot.has-photo,.photo-slot.filled{background:#fff;border-style:solid;border-color:#d6dde6}.photo-slot.required-missing{background:#fff0f0;border-style:dashed;border-color:#dc2626}.photo-slot.drag-over{background:#eef6ff;border-color:#2563eb}.photo-slot-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;overflow-wrap:anywhere;background:#f6f8fb;border-bottom:1px solid #eef2f6;padding:8px 12px;font-size:11px;font-weight:700}.photo-slot.has-photo .photo-slot-label{color:var(--accent);background:#eef3fa}.photo-slot.required-missing .photo-slot-label{color:#b42318;background:#fff1f2}.photo-slot-drop,.photo-drop{text-align:center;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-height:150px;padding:14px;font-size:12px;display:flex}.photo-slot-drop:hover,.photo-drop:hover{background:#f0f5ff}.photo-slot-img,.photo-preview{object-fit:contain;cursor:pointer;background:#f3f5f8;width:100%;max-height:180px;display:block}.photo-slot-actions,.photo-slot-head{color:var(--muted);border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;display:flex}.photo-slot-actions>*,.photo-slot-head>*{min-width:0}.report-map-wrap{border:1px solid #d6dde6;border-radius:8px;width:100%;max-width:700px;margin:0 auto 8px;position:relative;overflow:hidden}.report-map-wrap img,.report-map-wrap svg{width:100%;height:auto;display:block}.report-map-wrap svg{top:0;left:0;pointer-events:all;position:absolute;inset:0}.report-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.worker-link-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.worker-link-item{background:#f8fafc;border:1px solid #d6dde6;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.worker-link-item a{color:#0f3b68;font-weight:700;text-decoration:none}.worker-link-item a:hover{text-decoration:underline}.photo-slot.is-open{background:#fff7ed;border-style:solid;border-color:#fdba74}.photo-slot.is-rejected{background:#fff1f2;border:4px solid #dc2626}.photo-slot.is-approved{background:#f0fdf4;border-style:solid;border-color:#22c55e}.hours-status{min-height:16px;margin-top:6px}.hours-status.error{color:#b42318}.hours-employee-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.hours-employee-row{background:#f8fafc;border:1px solid #e5e9ef;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;display:flex}.hours-batch-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.photo-slot.is-open .photo-slot-label{color:#9a3412;background:#ffedd5}.photo-slot.is-rejected .photo-slot-label{color:#991b1b;background:#ffe4e6}.photo-slot.is-approved .photo-slot-label{color:#166534;background:#dcfce7}.hours-batch-card>summary{cursor:pointer;background:#f6f8fb;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.hours-batch-card>summary::-webkit-details-marker{display:none}.hours-batch-card>summary:after{content:"▾";color:#64748b;font-size:12px}.hours-batch-card[open]>summary:after{content:"▴"}.hours-batch-meta{color:#64748b;padding:8px 12px;font-size:11px}.hours-batch-card .field{padding:0 12px 8px}.hours-table-wrap{padding:0 12px 12px;overflow:auto}.hours-table th,.hours-table td{text-align:left;border:1px solid #e5e9ef;padding:7px 8px}.hours-table th{color:#64748b;background:#f8fafc;font-weight:700}.photo-preview-button{background:0 0;border:0;width:100%;padding:0;display:block}.photo-preview-button:hover{background:0 0}.photo-preview-card{background:#fff;border:2px solid #d6dde6;border-radius:8px;overflow:hidden}.photo-preview-card.is-open{background:#fff7ed;border-color:#fb923c}.photo-preview-card.is-rejected{background:#fff1f2;border-width:3px;border-color:#dc2626}.photo-preview-card.is-approved{background:#f0fdf4;border-color:#22c55e}@media (width<=1280px){:root{--left-w:280px;--right-w:0px;--right-w-expanded:min(440px, calc(100vw - 32px))}.app,.app.right-expanded{grid-template-columns:var(--left-w) minmax(0,1fr) var(--tools-w) 0px}.app.left-collapsed,.app.left-collapsed.right-expanded{grid-template-columns:0px minmax(0,1fr) var(--tools-w) 0px}.app.right-expanded .panel.left-main{opacity:1;pointer-events:auto;overflow:auto}.app.left-collapsed .panel.left-main{opacity:0;pointer-events:none;overflow:hidden}.panel.right{width:var(--right-w-expanded);z-index:40;max-width:92vw;box-shadow:none;transition:transform .2s,box-shadow .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.app:not(.panel-right-hidden) .panel.right{transform:translate(0);box-shadow:-8px 0 28px #00000029}.app.panel-right-hidden .panel.right{transform:translate(100%)}.resize-handle{display:none}}@media (width<=900px){:root{--left-w:240px;--right-w-expanded:min(400px, calc(100vw - 20px))}.report-header{padding:14px 16px}.report-body{padding:16px}.report-footer{padding:12px 16px}.maps-header{padding:12px 14px}.maps-sub{max-width:44vw}}@media (width<=640px){body[data-page=editor]{height:auto;overflow:auto}.app{grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr;height:auto;min-height:100vh}.app.left-collapsed{grid-template-rows:0 auto auto 1fr;grid-template-columns:1fr}.app.right-expanded,.app.left-collapsed.right-expanded{grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr}.app.panel-right-hidden,.app.left-collapsed.panel-right-hidden{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid var(--line)}.panel.left-main,.panel.right{max-height:none}.panel.right{border-left:0}.app.left-collapsed .panel.left-main{border-bottom:0}.tool-strip{border-left:0;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:flex-start;padding:8px;overflow:auto}.tool-strip-project-actions,.tool-strip-project-actions .viewer-topbar-actions{flex-direction:row}.ts-sep{width:1px;height:32px}.ts-toggle{margin-top:0;margin-left:auto}.viewer-wrap{min-height:50vh}.bulk-bar{flex-direction:column;align-items:stretch}.bulk-bar-actions button{width:100%}.row,.photo-slots{grid-template-columns:1fr}.report-overlay{justify-content:center;align-items:flex-end}.report-panel{width:100vw;height:100dvh}.report-header,.report-body{padding:12px}.report-footer{flex-direction:column;padding:12px}.report-footer button{width:100%}.maps-overlay{justify-content:center;align-items:flex-end}.maps-panel{width:100vw;height:100dvh}.maps-header{flex-direction:column;align-items:flex-start;padding:12px}.maps-sub{max-width:100%}.maps-actions{width:100%}.maps-actions button{flex:1}.panel.right{width:100vw;max-width:100vw}}.drawing-context-menu{z-index:80;background:#fffffffa;border:1px solid #dbe4ef;border-radius:14px;min-width:170px;padding:.35rem;position:fixed;box-shadow:0 16px 28px #0f172a29}.drawing-context-menu.hide{display:none}.drawing-context-menu-delete{color:#b42318;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.7rem .85rem;font-weight:600}.drawing-context-menu-delete:hover,.drawing-context-menu-delete:focus-visible{background:#fef2f2;outline:none}.embedded-url-overlay-viewer{background:#f3f6fa;flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.embedded-url-overlay-status{color:#64748b;background:#fff;border-bottom:1px solid #dbe4ef;flex:none;padding:8px 12px;font-size:12px}.embedded-url-overlay-viewport{cursor:grab;overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.embedded-url-overlay-image-viewport,#embeddedUrlOverlayPdfViewport{touch-action:none}.embedded-url-overlay-viewport.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.embedded-url-overlay-space{box-sizing:border-box;justify-items:center;min-width:100%;min-height:100%;padding:16px;display:grid}.embedded-url-overlay-stage{flex-direction:column;align-items:center;gap:12px;display:flex}.embedded-url-overlay-pdf-page{background:#fff;display:block;box-shadow:0 8px 24px #0f172a24}.embedded-url-overlay-image-wrap{justify-content:center;align-items:center;display:inline-flex}.embedded-url-overlay-image-stage{box-sizing:border-box;place-items:center;min-width:100%;min-height:100%;padding:16px;display:grid}.embedded-url-overlay-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff;max-width:none;max-height:none;display:block;box-shadow:0 8px 24px #0f172a24}.embedded-url-overlay-mail{gap:12px;padding:16px;overflow:auto}.embedded-url-overlay-mail-meta,.embedded-url-overlay-mail-attachments,.embedded-url-overlay-mail-body{background:#fff;border:1px solid #dbe4ef;border-radius:14px;width:min(920px,100%);margin:0 auto}.embedded-url-overlay-mail-meta,.embedded-url-overlay-mail-attachments{gap:8px;padding:12px;display:grid}.embedded-url-overlay-mail-meta div,.embedded-url-overlay-mail-attachments div{grid-template-columns:110px minmax(0,1fr);gap:10px;display:grid}.embedded-url-overlay-mail-meta span,.embedded-url-overlay-mail-attachments span{color:#64748b;font-size:12px}.embedded-url-overlay-mail-body{white-space:pre-wrap;color:#17212b;flex:1;min-height:240px;padding:16px;font:13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:auto}.klic-overlay-body{flex-direction:column;gap:12px;height:100%;min-height:0;padding:12px;display:flex;overflow:hidden}body[data-page=editor].klic-panel-open{--klic-panel-w:clamp(420px, 42vw, 720px)}body[data-page=editor].klic-panel-open .app{width:calc(100vw - var(--klic-panel-w))}.klic-overlay .maps-panel{width:var(--klic-panel-w,min(920px, 96vw));position:relative}.klic-overlay-resize-handle{cursor:col-resize;z-index:2;background:0 0;border:0;border-radius:0;width:10px;padding:0;position:absolute;top:0;bottom:0;left:-5px}.klic-overlay-resize-handle:after{content:"";background:0 0;width:2px;position:absolute;top:0;bottom:0;left:4px}.klic-overlay-resize-handle:hover:after,body.klic-panel-resizing .klic-overlay-resize-handle:after{background:#0f3b68}body.klic-panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.maps-header.klic-overlay-header{align-items:center}.klic-overlay-summary{align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.klic-overlay-list{gap:8px;display:flex;overflow-x:auto}.klic-overlay-list-button{background:#fff;border:1px solid #dbe4ef;border-radius:999px;flex:none;padding:8px 12px}.klic-overlay-list-button.is-active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.klic-overlay-expiry{color:#17212b;align-items:center;gap:4px;min-width:0;font-size:14px;display:flex}.klic-overlay-expiry-label{white-space:nowrap}.klic-overlay-form{background:#fff;border:1px solid #dbe4ef;border-radius:14px;gap:12px;padding:16px;display:grid}.klic-overlay-actions{justify-content:flex-end;gap:8px;display:flex}.klic-overlay-settings-button{min-width:44px;padding:8px 12px}#klicOverlayFrame{background:#fff;border:1px solid #dbe4ef;border-radius:14px;flex:1 1 0;width:100%;height:100%;min-height:0;display:block}@media (width<=640px){body[data-page=editor].klic-panel-open .app{width:100%}.klic-overlay .maps-panel{width:100vw}.klic-overlay-resize-handle{display:none}.maps-header.klic-overlay-header{flex-flow:wrap;align-items:center}.klic-overlay-summary{justify-content:space-between;width:100%;margin-left:0}}.editor-sidebar>.section.sidebar-section[data-sidebar-section=project-details]{padding-top:14px}.editor-sidebar>.section.sidebar-section[data-sidebar-section=project-details]>h3{align-items:flex-start}.project-details-heading-copy{gap:2px;min-width:0;display:grid}.project-details-heading-copy .ps-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.25;overflow:hidden}.project-details-heading-copy .ps-sub{color:#66788a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;line-height:1.35;overflow:hidden}#projectFields{background:#fff}.project-details-actions{margin-top:4px;display:flex}.project-details-compact-button{color:#0f3b68;background:#fff;border-color:#d6dde6;border-radius:999px;min-height:30px;padding:6px 10px;font-size:12px;font-weight:700}.project-details-compact-button:hover,.project-details-compact-button:focus-visible{background:#eff6ff;border-color:#0f3b68;outline:none;transform:none}.project-details-compact-button.is-active{color:#fff;background:#0f3b68;border-color:#0f3b68}.project-details-history-panel{margin-top:10px}.editor-sidebar [data-sidebar-section=project-planning] .toolbar{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.editor-sidebar [data-sidebar-section=project-planning] .planning-empty,.editor-sidebar [data-sidebar-section=project-planning] .planning-empty-compact{color:#64748b;background:#fff;border:1px dashed #d6e0ea;border-radius:12px;margin:0 0 10px;padding:10px 12px;line-height:1.4;display:block}.project-planning-list{gap:10px;display:grid}.project-planning-card{background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:12px}.project-planning-card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.project-planning-members{margin-top:12px}.project-planning-members>h4{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 8px;font-size:12px;font-weight:700}.project-planning-members-list{gap:8px;display:grid}.sidebar-feature-note{color:#7b8794;margin-top:6px;font-size:11px}#projectFields .field.project-field-filled>label{color:#7a8896;font-size:11px}#projectFields .field input.project-field-filled,#projectFields .field select.project-field-filled{color:#3f5063;background:#eef2f6;border-color:#d4dde8;padding:8px 10px;font-size:13px}.sidebar-feature-actions{gap:8px;margin-top:8px;display:flex}.sidebar-feature-actions button{flex:1}.sidebar-klic-button{color:#fff;background:#ef9f27;border-color:#ef9f27}.sidebar-klic-button:hover{background:#e28f12;border-color:#e28f12}.sidebar-nav-button{color:#fff;background:#185fa5;border-color:#185fa5}.sidebar-nav-button:hover{background:#144f89;border-color:#144f89}.project-doc-section{background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:10px}.project-doc-section+.project-doc-section{margin-top:10px}.project-doc-section-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.project-doc-section-title{color:#17212b;font-size:13px;font-weight:700}.project-doc-section-upload{white-space:nowrap;padding:8px 10px;font-size:12px}.project-doc-section-body{gap:8px;display:grid}.project-doc-list{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px}.project-doc-row{border-top:1px dashed #e2e8f0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:2px 0;display:grid}.project-doc-row:first-of-type{border-top:0}.project-doc-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;display:block;overflow:hidden}.project-doc-delete{color:#b91c1c;background:#fff1f2;border:1px solid #fca5a5;border-radius:999px;width:24px;min-width:24px;height:24px;padding:0;line-height:1}.project-doc-delete:hover{background:#ffe4e6}.project-doc-trigger{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;width:100%;min-width:0;padding:8px 10px;transition:background-color .12s,border-color .12s,box-shadow .12s,color .12s;display:block;overflow:hidden}.project-doc-row:hover .project-doc-trigger,.project-doc-row:focus-within .project-doc-trigger{background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 0 0 0 1px #185fa514}.project-doc-row:hover .project-doc-name,.project-doc-row:focus-within .project-doc-name{color:#0f3b68}.project-doc-trigger:hover,.project-doc-trigger:focus-visible{background:#eff6ff;border-color:#bfdbfe;outline:none;transform:none;box-shadow:inset 0 0 0 1px #185fa514}.field-action-strip{gap:10px;margin-bottom:10px;display:flex}.field-action-card{cursor:pointer;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;padding:11px 12px;font-weight:700;display:flex}.field-action-title{font-size:14px;line-height:1.2}.field-action-sub{opacity:.95;margin-top:4px;font-size:11px;font-weight:500}.field-action-klic{color:#fff;background:#ef9f27}.field-action-nav{color:#fff;background:#185fa5}.field-documents-panel,.field-documents-groups{gap:10px;display:grid}.field-doc-group{background:#fff;border:1px solid #dbe4ef;border-radius:10px}.field-doc-group-title{color:#334155;border-bottom:1px dashed #dbe4ef;padding:8px 10px;font-size:12px;font-weight:700}.field-doc-row{border-top:1px dashed #eef2f7;grid-template-columns:12px 1fr auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.field-doc-name{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:12px;overflow:hidden}.field-doc-size{color:#64748b;font-size:10px}.field-doc-open{color:#0f3b68;background:#f8fafc;border:1px solid #dbe4ef;border-radius:999px;width:24px;min-width:24px;height:24px;padding:0;line-height:1}.project-doc-section{transition:border-color .15s,background-color .15s,box-shadow .15s}.project-doc-section-upload{color:#0f3b68;background:#fff;border-color:#d6dde6;font-weight:600}.project-doc-section-upload:hover,.project-doc-section-upload:focus-visible{color:#0f3b68;box-shadow:none;background:#f8fafc;border-color:#cbd5e1;outline:none;transform:none}.project-doc-section.drag-over{background:#f7fbff;border-color:#b7cade;box-shadow:inset 0 0 0 1px #0f3b680f}.project-doc-section.drag-over .project-doc-list{background:#fcfdff;border-color:#d4e0ec}.project-doc-section.drag-over .project-doc-section-upload{background:#eef4fb;border-color:#cfdae7}.editor-sidebar [data-sidebar-section=drawings] #loadImageBtn,.editor-sidebar [data-sidebar-section=drawings] #loadImageEditBtn{color:#17212b;background:#fff;border-color:#dbe3ec;font-weight:700;box-shadow:0 1px #0f172a0a}.editor-sidebar [data-sidebar-section=drawings] #loadImageBtn:hover,.editor-sidebar [data-sidebar-section=drawings] #loadImageEditBtn:hover{color:#17212b;background:#fcfdff;border-color:#bfd0df;transform:none}.editor-sidebar [data-sidebar-section=drawings] #loadImageBtn:focus-visible,.editor-sidebar [data-sidebar-section=drawings] #loadImageEditBtn:focus-visible{outline-offset:2px;outline:2px solid #0f3b6829}.editor-sidebar .overview-subsections{gap:10px;display:grid}.editor-sidebar .sidebar-subsection{background:#f8fbff;border:1px solid #dbe3ec;border-radius:14px;overflow:hidden}.editor-sidebar .sidebar-subsection-toggle{color:#17212b;letter-spacing:.01em;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.editor-sidebar .sidebar-subsection-toggle:hover{background:#f1f5f9}.editor-sidebar .sidebar-subsection-toggle:after{content:"−";color:#64748b;font-size:16px;line-height:1}.editor-sidebar .sidebar-subsection.is-collapsed .sidebar-subsection-toggle:after{content:"+"}.editor-sidebar .sidebar-subsection-body{padding:0 10px 10px}.editor-sidebar [data-sidebar-section=overview] .sidebar-subsection-body .layer-list{gap:8px}.editor-sidebar>.section.sidebar-section [data-collapsed-summary]{display:none}.editor-sidebar>.section.sidebar-section.is-collapsed [data-collapsed-summary]{margin-top:8px;display:block}.editor-sidebar>.section.sidebar-section.is-collapsed [data-collapsed-summary].small{background:#fff;border:1px dashed #d6e0ea;border-radius:12px;padding:10px 12px;line-height:1.4}.editor-sidebar>.section.sidebar-section [data-collapsed-summary-status]{margin:0}.editor-sidebar>.section.sidebar-section .gps-ready-status{border-radius:10px;margin-top:8px;padding:8px 10px;display:block}.editor-sidebar>.section.sidebar-section .gps-ready-status[data-tone=success]{color:#166534;background:#edf9f0}.editor-sidebar>.section.sidebar-section .gps-ready-status[data-tone=danger]{color:#991b1b;background:#fff1f2;font-weight:600}.editor-sidebar>.section.sidebar-section [data-collapsed-summary-name]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-sidebar>.section.sidebar-section .gps-controls{gap:8px;margin:8px 0 10px;display:grid}.editor-sidebar>.section.sidebar-section .gps-open-status{color:#35506a;background:#f8fbff;border:1px solid #d6e0ea;border-radius:12px;margin:8px 0 0;padding:10px 12px;line-height:1.4}.editor-sidebar>.section.sidebar-section .gps-open-status[data-tone=success]{color:#166534;background:#edf9f0;border-color:#b9e6c6}.editor-sidebar>.section.sidebar-section .gps-open-status[data-tone=danger]{color:#991b1b;background:#fff1f2;border-color:#f6c3c8;font-weight:600}.editor-sidebar>.section.sidebar-section .gps-open-status[data-tone=neutral]{color:#526274;background:#f8fbff;border-color:#d6e0ea}.editor-sidebar>.section.sidebar-section .gps-pick-buttons{gap:8px;display:grid}.editor-sidebar>.section.sidebar-section .gps-pick-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.editor-sidebar>.section.sidebar-section .gps-pick-row .chip{flex-shrink:0}.drawing-row-card{cursor:default;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:6px;display:grid}.drawing-row-select{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:2px 2px 2px 0;display:flex}.drawing-row-select:hover{background:0 0}.drawing-row-settings{color:#35506a;background:#f8fbff;border:1px solid #d5e1eb;border-radius:8px;grid-area:1/1;justify-content:center;align-self:start;align-items:center;width:22px;height:22px;padding:0;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex;box-shadow:inset 0 1px #fffc}.drawing-row-settings:focus-visible{border-color:#0f3b68;outline:0;box-shadow:0 0 0 2px #0f3b6824}.drawing-row-settings:hover,.drawing-row-settings.active{color:#0f3b68;background:#eef6fd;border-color:#9eb8cf;box-shadow:0 0 0 1px #0f3b680f}.drawing-row-settings-icon{width:12px;height:12px}.drawing-row-settings-host{grid-column:1/-1}.drawing-settings-panel{border-top:1px solid #e2e8f0;gap:8px;padding-top:8px;display:grid}.drawing-settings-panel .field{margin-bottom:0}.drawing-settings-summary,.drawing-settings-summary p{margin:0}.app{transition:grid-template-columns .3s}.panel.left-main{transition:width .3s,opacity .3s}.app.right-collapsed{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--tools-w) 0px}.app.right-force-open{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--tools-w) minmax(0, var(--right-w))}.app.left-collapsed.right-force-open,.app.left-auto-collapsed{grid-template-columns:0px minmax(0, 1fr) var(--tools-w) minmax(0, var(--right-w))}.app.left-auto-collapsed.panel-right-hidden,.app.left-auto-collapsed.right-collapsed{grid-template-columns:0px minmax(0, 1fr) var(--tools-w) 0px}.app.left-auto-collapsed.right-force-open{grid-template-columns:0px minmax(0, 1fr) var(--tools-w) minmax(0, var(--right-w))}.app.left-auto-collapsed.right-expanded{grid-template-columns:0px minmax(0, 1fr) var(--tools-w) minmax(0, var(--right-w-expanded))}.app.left-auto-collapsed .panel.left-main{opacity:0;pointer-events:none;overflow:hidden}.app.right-collapsed .panel.right{opacity:0;pointer-events:none;border-left:0;overflow:hidden}.panel-top-toggle{flex:none}.panel-top-toggle .ui-icon{transition:transform .18s}.viewer-topbar .left .panel-top-toggle{margin-right:2px}@media (width<=1280px){.app.right-force-open{grid-template-columns:var(--left-w) minmax(0, 1fr) var(--tools-w) 0px}.app.left-collapsed.right-force-open,.app.left-auto-collapsed.right-force-open,.app.left-auto-collapsed.right-collapsed,.app.left-auto-collapsed.panel-right-hidden{grid-template-columns:0px minmax(0, 1fr) var(--tools-w) 0px}.app.right-collapsed .panel.right{transform:translate(100%)}}@media (width<=640px){.app.right-force-open,.app.right-collapsed,.app.left-collapsed.right-collapsed{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.app.left-collapsed.right-force-open{grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr}.app.left-auto-collapsed,.app.left-auto-collapsed.right-force-open{grid-template-rows:0 auto auto 1fr;grid-template-columns:1fr}}.app{--left-rail-w:72px}.editor-sidebar>.section.sidebar-section>h3 .sidebar-section-icon{display:none}.app.left-collapsed{grid-template-columns:var(--left-rail-w) minmax(0, 1fr) var(--tools-w) minmax(0, var(--right-w))}.app.left-collapsed.panel-right-hidden{grid-template-columns:var(--left-rail-w) minmax(0, 1fr) var(--tools-w) 0px}.app.left-collapsed.right-force-open{grid-template-columns:var(--left-rail-w) minmax(0, 1fr) var(--tools-w) minmax(0, var(--right-w))}.app.left-collapsed.right-collapsed{grid-template-columns:var(--left-rail-w) minmax(0, 1fr) var(--tools-w) 0px}.app.left-collapsed .panel.left-main{opacity:1;pointer-events:auto;overflow:hidden auto}.app.left-collapsed .editor-sidebar{padding-top:10px}.app.left-collapsed .editor-sidebar-top{display:none}.app.left-collapsed .editor-sidebar>.section{padding:10px 8px}.app.left-collapsed .editor-sidebar>.section.sidebar-section{justify-items:center;gap:6px;padding:10px 6px;display:grid}.app.left-collapsed .editor-sidebar>.section.sidebar-section>h3{color:#486377;background:#fff;border:1px solid #dbe3ec;border-radius:12px;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;font-size:0;line-height:0;overflow:hidden;box-shadow:0 1px #0f172a08}.app.left-collapsed .editor-sidebar>.section.sidebar-section>h3:hover{color:#0f3b68;border-color:#1e90c8;box-shadow:0 0 0 4px #1e90c81f}.app.left-collapsed .editor-sidebar>.section.sidebar-section>h3 .ui-icon{width:22px;height:22px;display:block}.app.left-collapsed .editor-sidebar>.section.sidebar-section>h3 .sidebar-section-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app.left-collapsed .editor-sidebar>.section.sidebar-section.is-collapsed>h3{padding-bottom:0}.app.left-collapsed .editor-sidebar>.section.sidebar-section>h3 .sidebar-section-icon{display:block}.app.left-collapsed .editor-sidebar>.section.sidebar-section>:not(h3),.app.left-collapsed .editor-sidebar>.section[data-sidebar-section=project-details],.app.left-collapsed .editor-sidebar>.section.sidebar-tools,.app.left-collapsed .editor-sidebar .project-klic-open-btn,.app.left-collapsed .editor-sidebar .project-klic-note{display:none}@media (width<=1280px){.app.left-collapsed,.app.left-collapsed.right-force-open{grid-template-columns:var(--left-rail-w) minmax(0, 1fr) var(--tools-w) 0px}}@media (width<=640px){.app.left-collapsed{grid-template-rows:0 auto auto 1fr;grid-template-columns:1fr}.app.left-collapsed.panel-right-hidden,.app.left-collapsed.right-collapsed{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.app.left-collapsed.right-force-open{grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr}}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid textarea{resize:vertical;min-height:88px}.compact-group,.compact-toolbar{flex-wrap:wrap}.measure-status{background:#f8fbffe0;border:1px solid #d0dbe8eb;border-radius:12px;margin-top:.85rem;padding:.75rem .9rem;line-height:1.45}.measure-status.warn{color:#9a3412;background:#fff7ed;border-color:#fdba74}.measure-status.danger{color:#b42318;background:#fef2f2;border-color:#fca5a5}.measure-settings{color:#5d6f82;margin-top:.5rem;font-size:.9rem}.measure-list,.hours-summary-list,.hours-batch-list{gap:.75rem;margin-top:.85rem;display:grid}.hours-employee-row{background:#ffffffe0;border:1px solid #d0dbe8eb;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.hours-batch-card{background:#ffffffe6;border:1px solid #d0dbe8eb;border-radius:14px;overflow:hidden}.hours-batch-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.hours-batch-meta,.hours-batch-input,.hours-table-wrap{padding:0 1rem .85rem}.hours-batch-meta{color:#60758a;font-size:.85rem}.hours-batch-input{gap:.35rem;display:grid}.hours-table{border-collapse:collapse;width:100%;font-size:.9rem}.hours-table th,.hours-table td{text-align:left;border-top:1px solid #d0dbe8eb;padding:.45rem .35rem}.hours-align-right{text-align:right!important}.measure-item{background:#ffffffe0;border:1px solid #d0dbe8eb;border-radius:14px;gap:.3rem;padding:.85rem;display:grid}.measure-main{font-weight:700}.measure-meta{color:#60758a;font-size:.85rem}.canvas-measurement-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.canvas-measurement-overlay.active{pointer-events:none}.canvas-overlay.measure-input-active{opacity:.24}.measure-shape.area{stroke:#15803d;stroke-width:3px;fill:#15803d1f}.measure-shape.draft-fill{fill:#b4231814;stroke:none}.measure-label-badge--saved-area rect{fill:#15803d}.tool-button[data-tool=measure].active,[data-action=measure-line].active,[data-action=measure-area].active{color:#fff;background:#0f3b68;border-color:#0f3b68}.editor-modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30;background:#0f274273;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.editor-modal.hidden{display:none}.editor-modal-panel{background:#f8fbff;border:1px solid #d0dbe8eb;border-radius:28px;flex-direction:column;gap:1rem;width:min(96vw,1100px);height:min(86vh,820px);padding:1.25rem;display:flex;box-shadow:0 24px 60px #0f27422e}.modal-copy{color:#5d6f82;margin:.35rem 0 0}.klic-modal-panel iframe,.maps-modal-panel iframe{background:#fff;border:0;border-radius:18px;flex:1;width:100%}@media (width<=760px){.settings-grid{grid-template-columns:1fr}}.measurement-tool-wrap{position:relative}.ts-btn-measure-flyout{border-color:var(--line);color:#111;background:#fff}.ts-btn-measure-flyout .measurement-tool-main-icon{display:none}.ts-btn-measure-flyout[data-measure-selected=line]{color:#185fa5;background:#e6f1fb;border-color:#bfdaef}.ts-btn-measure-flyout[data-measure-selected=zone]{color:#0f6e56;background:#e1f5ee;border-color:#b8e4d5}.ts-btn-measure-flyout[data-measure-selected=measure]{border-color:var(--line);color:#111;background:#fff}.ts-btn-measure-flyout[data-measure-selected=line] .measurement-tool-main-icon--line,.ts-btn-measure-flyout[data-measure-selected=zone] .measurement-tool-main-icon--zone,.ts-btn-measure-flyout[data-measure-selected=measure] .measurement-tool-main-icon--measure{display:block}.measurement-tool-flyout{z-index:24;background:#fff;border:1px solid #d6dde6;border-radius:14px;gap:4px;width:248px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 26px #0f172a29}.measurement-tool-option{background:0 0;border:1px solid #0000;border-radius:10px;justify-content:flex-start;gap:10px;width:100%;height:auto;padding:8px}.measurement-tool-option .measurement-tool-option-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.measurement-tool-option-icon .ui-icon{width:18px;height:18px}.measurement-tool-option-icon--line{color:#185fa5;background:#e6f1fb}.measurement-tool-option-icon--zone{color:#0f6e56;background:#e1f5ee}.measurement-tool-option-icon--measure{color:#111;background:0 0}.measurement-tool-option .measurement-tool-option-text{text-align:left;gap:2px;min-width:0;display:grid}.measurement-tool-option .measurement-tool-option-text small{color:#64748b;font-size:11px}.measurement-tool-option .measurement-tool-option-unit{color:#475569;margin-left:auto;font-size:12px;font-weight:700}.measurement-tool-option.active{background:#f8fbff;border-color:#bfdaef}.measurement-tool-flyout-sep{background:#e2e8f0;height:1px;margin:3px 2px}.measure-label,.measure-label-badge,.measure-label-badge-text{pointer-events:none}.measurement-object-fields{background:#f8fbffe0;border:1px solid #d0dbe8eb;border-radius:14px;gap:.75rem;margin:0 0 .85rem;padding:.85rem;display:grid}.measurement-object-fields h3,.measurement-object-fields .field,.measurement-object-fields .stat{margin:0}.measurement-object-toggle{color:#35506a;align-items:flex-start;gap:.65rem;display:flex}.prop-panel{gap:10px;display:grid}.prop-header-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:0}.prop-header-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.prop-header-actions>button{min-height:34px;padding:7px 12px}.prop-header-main{text-align:left;gap:2px;min-width:0;padding-top:0}.prop-header-title{font-size:16px}.prop-header-layer{font-size:11px}.prop-panel-delete-toolbar{flex-wrap:nowrap;gap:0;margin:0}.prop-panel-delete-toolbar button{min-height:34px;padding:7px 11px}.prop-header-advanced-button{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;width:34px;min-height:34px;display:inline-flex}.prop-panel-copy-row{margin-bottom:0}.prop-panel textarea{min-height:52px}.prop-panel #advancedFields{gap:2px;display:grid}@media (width<=720px){.prop-header-row{grid-template-columns:minmax(0,1fr) auto}.prop-header-main{text-align:left;order:2;grid-column:1/-1}.prop-header-actions{grid-area:1/2}.prop-panel-copy-row{grid-template-columns:1fr}}.parity-action-group{flex-wrap:wrap}.worker-link-list{gap:.65rem;margin-top:.85rem;display:grid}.worker-link-row{background:#ffffffe0;border:1px solid #d0dbe8eb;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.worker-link-actions{justify-items:end;gap:.35rem;display:grid}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.overview-stat{text-align:left;background:#ffffffe0;border:1px solid #d0dbe8eb;border-radius:14px;gap:.3rem;padding:.8rem .95rem;display:grid}.overview-stat strong{font-size:1.2rem}.overview-stat.interactive{cursor:pointer}.tool-button.preset-button{text-transform:capitalize}.chip-danger{color:#b42318;background:#fef2f2;border-color:#fca5a5}.report-modal-panel{width:min(96vw,1180px);height:min(88vh,860px)}.report-modal-body{padding:.5rem .15rem .15rem;overflow:auto}.report-stack{gap:1rem;display:grid}.report-card{background:#fff;border:1px solid #d0dbe8eb;border-radius:16px;padding:1rem}.report-photo-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem;display:grid}.report-photo{background:#f8fbff;border:1px solid #d0dbe8eb;border-radius:14px;overflow:hidden}.report-photo img{object-fit:cover;object-position:center;background:#f8fbff;width:100%;height:100%;display:block}.report-photo-meta{gap:.25rem;padding:.75rem;font-size:.9rem;display:grid}.report-photo[data-status-tone=warning]{background:#fffdf8;border-color:#fdba74}.report-photo[data-status-tone=success]{background:#fcfffd;border-color:#86efac}.report-photo[data-status-tone=danger]{background:#fff7f7;border-width:3px;border-color:#dc2626}.report-photo.is-highlighted{box-shadow:0 0 0 3px #0f3b6829}.report-photo-preview-btn{aspect-ratio:4/3;background:0 0;border:0;width:100%;padding:0;line-height:0;display:block;overflow:hidden}.report-photo-preview-btn:hover{background:0 0}.report-photo-empty{color:#64748b;background:#f8fafc;place-items:center;min-height:12rem;padding:1rem;display:grid}.report-filter-bar{grid-template-columns:minmax(0,1fr) 220px;gap:.75rem;margin:.75rem 0;display:grid}.report-filter-bar input,.report-filter-bar select{width:100%}.approval-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.5rem 0 .75rem;display:grid}.approval-summary-btn{background:#f8fbff;border:1px solid #d0dbe8eb;border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem .9rem;display:flex}.approval-summary-btn.is-active{border-color:#0f3b68;box-shadow:0 0 0 2px #0f3b6814}.approval-overview-card{gap:.85rem;display:grid}.approval-count-list{flex-wrap:wrap;gap:.55rem;display:flex}.report-meta-list{gap:.6rem;margin:1rem 0;display:grid}.report-meta-list div{border-bottom:1px solid #d0dbe8eb;justify-content:space-between;gap:1rem;padding-bottom:.45rem;display:flex}.report-meta-list span{color:#64748b}.report-overview-image{background:#fff;border:1px solid #d0dbe8eb;border-radius:14px;width:100%}.signature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.signature-grid span{color:#64748b;margin-bottom:.45rem;font-size:.9rem;display:block}.signature-grid div>div{border-bottom:1px solid #94a3b8;min-height:2rem}.report-map-wrap{margin-top:1rem;position:relative}.report-map-wrap svg{position:absolute;inset:0}.report-map-caption{color:#64748b;margin:.75rem 0 0}.report-table-wrap{overflow:auto}.report-table{border-collapse:collapse;width:100%}.report-table th,.report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d0dbe8eb;padding:.7rem .8rem}.report-table th{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.85rem}@media (width<=760px){.overview-stats,.approval-summary-grid,.report-filter-bar,.signature-grid{grid-template-columns:1fr}}.report-filter-bar{grid-template-columns:minmax(0,1fr) 220px;align-items:center}.approval-filter-bar-single{grid-template-columns:220px;justify-content:end}.approval-drawing-filter-row{gap:.6rem;margin:.35rem 0 .75rem;display:grid}.approval-drawing-filter-prefix{color:#64748b;font-size:.82rem;font-weight:600}.approval-drawing-filter-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;display:grid}.approval-drawing-btn{border-radius:12px;padding:.6rem .75rem;font-size:.88rem}.approval-drawing-meta{font-weight:500}.approval-context-chip-hidden{display:none}.approval-empty-photos-message{margin-top:.35rem;display:none}.approval-empty-photos-message.is-visible{display:block}.approval-preview-panel{gap:.4rem;margin-top:.6rem;display:grid}.approval-preview-grid{flex-wrap:wrap;gap:.5rem;display:flex}.approval-preview-slot{color:#526274;gap:.2rem;width:60px;font-size:.68rem;line-height:1.15;display:grid}.approval-preview-slot img,.approval-preview-thumb,.approval-preview-overflow{background:#f3f6fa;border:1px solid #d0dbe8eb;border-radius:8px;width:60px;height:60px}.approval-preview-slot img{object-fit:cover}.approval-preview-slot.is-missing .approval-preview-thumb{background:#fff7ed;border-color:#fdba74}.approval-preview-overflow{color:#0f3b68;place-items:center;font-size:.74rem;font-weight:700;display:grid}.approval-preview-note{color:#64748b;margin:0;font-size:.74rem}@media (width<=760px){.report-filter-bar{grid-template-columns:1fr}}.approval-photo-lightbox{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:240;background:#0a121e80;position:fixed;inset:0}.approval-photo-lightbox.hide{display:none}.approval-photo-lightbox__backdrop{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.approval-photo-lightbox__viewport{z-index:1;position:absolute;inset:1rem}.approval-photo-lightbox__stage{min-width:100%;min-height:100%}.approval-photo-lightbox__image{border-radius:16px}.approval-photo-lightbox__close{color:#fff;z-index:2;background:#0f172ae0;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;line-height:1;text-decoration:none;display:inline-flex;position:fixed;top:1rem;right:1rem;box-shadow:0 18px 36px #0a121e47}.approval-photo-lightbox__actions{z-index:2;gap:.75rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}body.approval-photo-lightbox-open{overflow:hidden}.approval-action-btn{justify-content:center;align-items:center;min-height:2.5rem;font-weight:700;display:inline-flex}.approval-photo-actions{background:#ffffffe6;border:1px solid #e2e8f0f2;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.45rem;padding:.35rem;display:grid}.approval-photo-actions .approval-action-btn,.report-photo-meta>.approval-action-btn{width:100%}.approval-photo-actions [data-approve-photo],.approval-photo-lightbox__actions [data-approval-lightbox-approve]{color:#166534;background:#f0fdf4;border-color:#86efac}.approval-photo-actions [data-approve-photo]:hover,.approval-photo-lightbox__actions [data-approval-lightbox-approve]:hover{background:#dcfce7;border-color:#4ade80;box-shadow:0 10px 18px #1665341a}.approval-photo-actions [data-reject-photo],.approval-photo-lightbox__actions [data-approval-lightbox-reject]{color:#b42318;background:#fff5f5;border-color:#f0b6b6}.approval-photo-actions [data-reject-photo]:hover,.approval-photo-lightbox__actions [data-approval-lightbox-reject]:hover{background:#ffebeb;border-color:#df8e8e;box-shadow:0 10px 18px #b4231814}.report-photo-meta>[data-reset-photo],.approval-photo-lightbox__actions [data-approval-lightbox-reset]{color:#334155;background:#fffffffa;border-color:#cbd5e1}.report-photo-meta>[data-reset-photo]:hover,.approval-photo-lightbox__actions [data-approval-lightbox-reset]:hover{background:#fff;border-color:#94a3b8}@media (width<=640px){.approval-photo-actions{grid-template-columns:1fr}.approval-photo-lightbox__actions{grid-template-columns:1fr;display:grid;left:1rem;right:1rem;transform:none}}.topbar-indicator-button{flex:none;display:inline-flex;position:relative;overflow:visible}.topbar-indicator-button>.icon-only-btn{flex:none}.topbar-indicator-badge{color:#fff;pointer-events:none;z-index:1;background:#1e90c8;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-2px;box-shadow:0 3px 8px #0f172a29}.topbar-indicator-badge.hidden{display:none}.topbar-indicator-badge[data-tone=count]{background:#1e90c8}.topbar-indicator-badge[data-tone=warning]{background:#b45309}.topbar-indicator-badge[data-tone=danger]{background:#b42318}.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn[data-notification-tone=count],.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn[data-notification-tone=warning],.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn[data-notification-tone=danger]{background:#fff;border:1px solid #dbe3ec}.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn[data-notification-tone=count]{color:#0f3b68}.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn[data-notification-tone=warning]{color:#9a3412;background:#fff7ed;border-color:#fdba74}.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn[data-notification-tone=danger]{color:#b42318;background:#fff1f2;border-color:#f6c3c8}.editor-sidebar-top{background:#f7f9fc;border-bottom:1px solid #dbe3ec;gap:10px;padding:12px 14px;display:grid}.editor-sidebar-header{align-items:center;gap:0;min-width:0;display:flex}.editor-sidebar-header .editor-dashboard-back-btn{min-height:44px;box-shadow:none;border-radius:14px;flex:auto;justify-content:center;padding:0 16px}.viewer-topbar-statuses{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.panel-top-toggle,.topbar-action-btn{color:#486377;width:42px;min-width:42px;height:42px;box-shadow:none;background:0 0;border:0;border-radius:12px;padding:0}.panel-top-toggle{background:#f7fafc;border:1px solid #dbe3ec}.panel-top-toggle:hover,.topbar-action-btn:hover{color:#0f3b68;background:#edf3f9}.panel-top-toggle:focus-visible,.topbar-action-btn:focus-visible,.editor-sidebar-header .editor-dashboard-back-btn:focus-visible,.right-rail-add-button:focus-visible{outline-offset:2px;outline:2px solid #1e90c8}.viewer-topbar-actions{background:#f7fafc;border:1px solid #dbe3ec;border-radius:16px;align-items:center;gap:4px;padding:4px;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.right-rail-project-actions .viewer-topbar-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.tool-strip-project-actions .topbar-action-btn{background:#fff;border:1px solid #d6dde6;border-radius:8px;width:40px;min-width:40px;height:40px}.tool-strip-project-actions .topbar-action-btn:hover{border-color:#1e90c8;box-shadow:0 0 0 4px #1e90c81f}.right-rail-object-types{gap:12px;display:grid}.right-rail-section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.right-rail-section-header h3{margin:0}.right-rail-add-button{border-radius:12px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;font-size:22px;line-height:1;display:inline-flex}#objectTypeTools,#objectTypesList{gap:8px;display:grid}#objectTypesList .card{border-color:#dbe3ec;border-radius:14px;box-shadow:0 1px #0f172a08}#objectTypesList .card[data-selected=true]{border-color:#0f3b68;box-shadow:0 0 0 2px #0f3b6814}#objectTypesList .toolbar{width:100%}#objectTypesList .toolbar>.toolbar{justify-content:flex-end}.viewer-topbar-actions .topbar-indicator-button{display:inline-flex}.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn{width:100%}.viewer-topbar-statuses>[data-role=autosave],.viewer-topbar-statuses>.phase-context-badge{color:#486377;background:#f8fafc;border:1px solid #dbe3ec;border-radius:12px;min-height:36px;padding:0 12px;font-size:12px;font-weight:600}.viewer-topbar-statuses>[data-role=autosave]{gap:8px}.viewer-topbar-statuses>[data-role=autosave]:before{width:8px;height:8px;box-shadow:0 0 0 3px #4863771f}.viewer-topbar-statuses>[data-role=autosave][data-state=dirty]{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.viewer-topbar-statuses>[data-role=autosave][data-state=saving]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.viewer-topbar-statuses>[data-role=autosave][data-state=saved]{color:#166534;background:#effaf3;border-color:#cfe7d5}.viewer-topbar-statuses>[data-role=autosave][data-state=error]{color:#b42318;background:#fff1f2;border-color:#fecdd3}.viewer-topbar-statuses>.phase-context-badge{text-overflow:ellipsis;white-space:nowrap;max-width:min(36vw,360px);overflow:hidden}@media (width<=640px){.editor-sidebar-top{gap:8px;padding:10px 12px}.editor-sidebar-header,.viewer-topbar-statuses{width:100%}.viewer-topbar-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.tool-strip-project-actions .viewer-topbar-actions{flex-flow:column;justify-content:flex-start;width:auto}.viewer-topbar-actions .topbar-action-btn,.viewer-topbar-actions .topbar-indicator-button{flex:calc(33.333% - 4px)}.tool-strip-project-actions .topbar-action-btn,.tool-strip-project-actions .topbar-indicator-button{flex:none}.viewer-topbar-actions .topbar-indicator-button>.topbar-action-btn{width:100%}.viewer-topbar-statuses>.phase-context-badge{flex:100%;max-width:none}}.viewer-topbar-statuses>[data-role=autosave].hide,.viewer-topbar-statuses>.phase-context-badge.hide{display:none!important}[data-role=status],[data-role=config]{color:#486377;background:#f8fafc;border:1px solid #dbe3ec;border-radius:12px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}[data-role=status]:before,[data-role=config]:before{content:"";background:currentColor;border-radius:999px;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px #4863771f}[data-role=status][data-tone=success]{color:#166534;background:#effaf3;border-color:#cfe7d5}[data-role=status][data-tone=danger]{color:#b42318;background:#fff1f2;border-color:#fecdd3}[data-role=config]{border-style:dashed}.auth-shell,.projects-shell{align-content:start;gap:1rem;display:grid}.auth-shell{place-items:center;padding:clamp(1.5rem,4vw,3rem)}.auth-card{text-align:center;background:linear-gradient(#fffffffa,#f7fafff2);border:1px solid #d0dbe8f5;border-radius:28px;gap:1rem;width:min(100%,460px);padding:2.15rem 2rem 1.9rem;display:grid;box-shadow:0 28px 80px #0f274229}.auth-brand{justify-items:center;gap:.55rem;margin-bottom:.2rem;display:grid}.auth-logo{width:min(100%,238px);height:auto;display:block}.auth-shell .eyebrow{color:#4e667e;letter-spacing:.16em;margin:0}.auth-card h1{color:#102a43;margin:0;font-size:clamp(1.8rem,1.3rem + 1vw,2.3rem);line-height:1.08}.auth-copy,.auth-error,.project-row-meta,.project-row-stats{margin:0}.auth-copy{color:#60758a;max-width:32ch;margin:0 auto;line-height:1.55}.auth-error{color:#991b1b;text-align:left;background:#fff1f2;border:1px solid #f3b5bc;border-radius:14px;padding:.85rem 1rem;font-size:.92rem}.auth-card .field-grid{gap:.95rem;margin-top:.1rem;display:grid}.auth-card .field-grid label{text-align:left;border-radius:18px;gap:.45rem;padding:.28rem;transition:background-color .12s,box-shadow .12s;display:grid}.auth-card .field-grid label.hidden{display:none}.auth-card .field-grid span{color:#35506a;font-size:.91rem;font-weight:600}.auth-card .field-grid label:focus-within{background:linear-gradient(#0f3b6824,#0f3b680d);box-shadow:inset 0 0 0 2px #0f3b6838,0 10px 24px #0f274214}.auth-card input{background:#fbfdff;border-color:#d7e2ed;border-radius:14px;padding:.95rem 1rem;transition:border-color .12s,box-shadow .12s,transform .12s;box-shadow:inset 0 1px #ffffffeb}.auth-card input:hover{border-color:#adc0d3}.auth-card .field-grid label:focus-within span{color:#0f3b68}.auth-card input:focus{outline-offset:2px;background:#eff6ff;border-color:#0f3b68;outline:3px solid #0f3b6838;box-shadow:inset 0 0 0 1px #0f3b68,0 0 0 5px #0f3b682e,0 16px 32px #0f27421f}.auth-card [data-role=submit]{width:100%;margin-top:.35rem;padding:.95rem 1rem;font-size:1rem;font-weight:700;box-shadow:0 18px 36px #0f3b682e}.projects-layout{grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start;gap:1.25rem;margin-top:.75rem;display:grid}.projects-list{gap:1rem;display:grid}.projects-shell .topbar{align-items:flex-start}.projects-shell .topbar>div:first-child{gap:.2rem;display:grid}.projects-layout>section:first-child .card{padding:1.6rem}.projects-layout>section:first-child h2{margin-bottom:1rem}.projects-layout .field-grid{gap:1rem}.projects-layout .field-grid label{gap:.45rem;display:grid}.projects-layout [data-role=create-submit]{margin-top:.35rem}.projects-dashboard{gap:1rem;padding:1.5rem;display:grid}.projects-dashboard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.projects-dashboard-head h2,.projects-dashboard-copy,.projects-dashboard-stat span,.projects-dashboard-link p{margin:0}.projects-dashboard-copy,.projects-dashboard-stat span,.projects-dashboard-link p{color:#60758a}.projects-dashboard-create{color:#fff;background:#0f3b68;border:1px solid #0f3b68;border-radius:12px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.projects-dashboard-summary,.projects-dashboard-nav{gap:.85rem;display:grid}.projects-dashboard-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.projects-dashboard-stat{background:#f8fafc;border:1px solid #d6dde6;border-radius:18px;gap:.35rem;padding:.95rem 1rem;display:grid}.projects-dashboard-stat strong{color:#102a43;font-size:1.4rem}.projects-dashboard-nav{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.projects-dashboard-link{color:inherit;background:#fbfdff;border:1px solid #d6dde6;border-radius:20px;gap:.55rem;padding:1rem;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:grid}.projects-dashboard-link strong{color:#102a43;font-size:1.02rem}.projects-dashboard-link:hover{border-color:#9eb5cb;transform:translateY(-1px);box-shadow:0 16px 32px #0f274214}.projects-dashboard-link.is-current{background:#eff6ff;border-color:#0f3b68}.project-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-row-main{gap:.45rem;display:grid}.project-row-head{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-row-head h2{margin:0;font-size:1.05rem}.project-row-meta{color:#5d6f82}.project-row-stats{color:#72879c;font-size:.9rem}.project-row-share{margin:0;font-size:.92rem}.project-row-share a{color:#0f3b68}.project-row-worker-links{flex-wrap:wrap;gap:.45rem;display:flex}.project-row-worker-link{color:#0f3b68;background:#f8fafc;border:1px solid #d6dde6;border-radius:999px;padding:.28rem .7rem;font-size:.82rem;text-decoration:none}.project-row-worker-link:hover{background:#eef4fb}.project-row-actions{flex-wrap:wrap;gap:.75rem;display:flex}.project-row-actions button[data-loading=true]{position:relative}.project-row-actions button[data-loading=true]:after{content:" Bezig..."}@media (width<=760px){.projects-layout{grid-template-columns:1fr}.projects-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-row{flex-direction:column;align-items:stretch}}.auth-success{color:#0e6a34;text-align:left;background:#effaf2;border:1px solid #9ec5a7;border-radius:14px;margin:0;padding:.8rem 1rem;font-size:.92rem}.auth-links{justify-items:center;gap:.35rem;display:grid}.auth-link{color:#0f3b68;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.planner-dashboard-shell{--planner-navy:#0b1a25;--planner-mid:#31414a;--planner-cyan:#29abe2;--planner-bg:#f7f9fa;--planner-card:#fff;--planner-border:#e8eef0;--planner-muted:#8a9ba3;--planner-subtle:#d2dde0;background:var(--planner-bg);grid-template-columns:210px minmax(0,1fr);gap:0;min-height:calc(100vh - 2.4rem);margin:-1.2rem;display:grid}.planner-dashboard-shell .card{border:1px solid var(--planner-border);background:var(--planner-card);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px}.planner-sidebar{background:var(--planner-card);border-right:1px solid var(--planner-border)}.planner-sidebar-panel,.planner-main-body,.planner-topbar-copy,.planner-intro-copy,.planner-sidebar-nav,.planner-sidebar-footer,.planner-sidebar-actions{gap:.9rem;display:grid}.planner-sidebar-panel{grid-template-rows:auto 1fr auto;min-height:100vh;padding:1.5rem 0 1rem;position:sticky;top:0}.planner-sidebar-brand{gap:.8rem;padding:0 1.25rem;display:grid}.planner-sidebar-brand>div{gap:.15rem;display:grid}.planner-brand-logo{width:4.7rem;height:auto;display:block}.planner-sidebar-brand h1,.planner-topbar h2,.planner-intro-copy h2,.planner-panel h2,.planner-projects-section h2{color:var(--planner-navy);margin:0}.planner-sidebar-brand h1{font-size:1.25rem;line-height:1.1}.planner-sidebar-copy,.planner-sidebar-user p,.planner-intro-copy p,.planner-projects-section .muted{color:var(--planner-muted);margin:0;line-height:1.55}.planner-sidebar-nav{gap:.2rem;padding:.35rem 0 0}.planner-sidebar-link{color:var(--planner-muted);border-left:3px solid #0000;padding:.8rem 1.25rem;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:grid}.planner-sidebar-link:hover{color:var(--planner-mid);background:#f3f7f8}.planner-sidebar-link.is-current{color:var(--planner-navy);border-left-color:var(--planner-cyan);background:#eef7fb}.planner-sidebar-link strong{font-size:.96rem;font-weight:700}.planner-sidebar-period,.planner-recent-code,.planner-project-id{letter-spacing:.08em;text-transform:uppercase;color:var(--planner-muted);font-size:.71rem}.planner-sidebar-footer{padding:0 1.25rem}.planner-sidebar-user{border-top:1px solid var(--planner-border);gap:.3rem;padding-top:1rem;display:grid}.planner-sidebar-user strong{color:var(--planner-navy);font-size:.95rem}.planner-sidebar-actions button,.planner-secondary-link,.projects-dashboard-create{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.planner-sidebar-actions button{border-radius:12px;min-height:42px}.planner-sidebar-period{margin:0;padding-top:.1rem}.planner-main{background:var(--planner-bg);grid-template-rows:auto 1fr;min-width:0;display:grid}.planner-main-body{background:var(--color-background-tertiary);align-content:start;padding:1.5rem 1.75rem 2rem}.planner-topbar{border-bottom:1px solid var(--planner-border);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.75rem;display:flex}.planner-topbar-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.project-list-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-left:auto;display:flex}.project-list-toolbar-search{flex:0 16rem;max-width:20rem}.project-list-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.project-list-toolbar-actions .project-list-filter select{min-width:9rem}.planner-search{min-width:min(18rem,100%)}.project-list-toolbar .planner-search{min-width:min(14rem,100%)}.planner-search input{border-color:var(--planner-border);background:var(--planner-bg);border-radius:10px;padding:.72rem .95rem}.planner-intro-card{background:linear-gradient(135deg,#29abe21a,#fffffff5 58%);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.3rem 1.35rem;display:grid}.planner-intro-copy{gap:.45rem}.planner-intro-copy h2{max-width:22ch;font-size:clamp(1.4rem,1.1rem + .7vw,1.85rem);line-height:1.08}.planner-intro-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.planner-secondary-link{border:1px solid var(--planner-border);min-height:40px;color:var(--planner-mid);background:#fff;border-radius:10px;padding:.7rem .95rem}.planner-secondary-link:hover{color:var(--planner-navy);background:#f6fbfd}.planner-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;display:grid}.planner-dashboard-shell .projects-dashboard-stat{gap:.3rem;min-height:88px;padding:.95rem 1rem;display:grid;position:relative;overflow:hidden}.planner-dashboard-shell .projects-dashboard-stat:before{content:"";background:var(--planner-subtle);width:100%;height:3px;position:absolute;inset:0 auto auto 0}.planner-dashboard-shell .projects-dashboard-stat strong{color:var(--planner-navy);font-size:clamp(1.35rem,1.08rem + .5vw,1.75rem)}.planner-dashboard-shell .projects-dashboard-stat span{color:var(--planner-muted);margin:0}.planner-dashboard-shell .projects-dashboard-stat[data-tone=info]:before{background:var(--planner-cyan)}.planner-dashboard-shell .projects-dashboard-stat[data-tone=warning]:before{background:#d4a73f}.planner-dashboard-shell .projects-dashboard-stat[data-tone=success]:before{background:#57a968}.planner-dashboard-shell .projects-dashboard-stat[data-tone=danger]:before{background:#cc5a5a}@media (width>=761px){.planner-topbar-tools{flex:auto;min-width:0}.project-list-toolbar{width:100%}}@media (width<=1180px){.planner-dashboard-shell{grid-template-columns:1fr;min-height:100vh;margin:0}.planner-sidebar{border-right:0;border-bottom:1px solid var(--planner-border)}.planner-sidebar-panel{min-height:auto;position:static}.planner-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.planner-main-body{padding:1rem}.planner-topbar{padding:1rem 1.1rem}.planner-intro-card{grid-template-columns:1fr}}@media (width<=760px){.planner-topbar,.planner-topbar-tools{align-items:flex-start}.planner-topbar{flex-direction:column}.planner-topbar-tools,.planner-search,.planner-search input,.projects-dashboard-create{width:100%}.project-list-toolbar{width:100%;margin-left:0}.project-list-toolbar-search{flex:100%;min-width:0;max-width:none}.project-list-toolbar-actions{width:100%}.project-list-toolbar-actions .project-list-filter{flex:11rem}.project-list-toolbar-actions .project-list-filter select{width:100%;min-width:0}.project-list-toolbar-actions .projects-dashboard-create{width:auto;margin-left:auto}.planner-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.planner-projects-section,.planner-projects-section .section-head>div,.project-row-main{gap:.8rem;display:grid}.planner-projects-section{padding:1.2rem}.project-list-page-section{padding-top:0}.planner-projects-section .section-head{align-items:end;margin-bottom:0}.planner-results-badge{white-space:nowrap}.planner-create-shell{place-items:start center;padding:0}.planner-create-card{text-align:left;width:min(100%,560px)}.planner-create-card h1,.planner-dashboard-shell .project-row-head h2{color:var(--planner-navy);margin:0}.planner-create-card .auth-copy{max-width:none;margin:0}.planner-create-card .field-grid{margin-top:.35rem}.planner-edit-review{border:1px solid var(--planner-border);background:#f7fbff;border-radius:14px;margin-top:.9rem;padding:.9rem}.planner-edit-review h2{color:var(--planner-navy);margin:0;font-size:1rem}.planner-edit-review .auth-copy{color:var(--planner-mid);margin-top:.45rem;line-height:1.45}.planner-edit-review-list{gap:.65rem;margin-top:.7rem;display:grid}.planner-edit-review-row{background:#fff;border:1px solid #dbe6f2;border-radius:12px;padding:.7rem .75rem}.planner-edit-review-row h3,.planner-edit-review-row p{margin:0}.planner-edit-review-row p+p{margin-top:.28rem}.planner-edit-review-actions{flex-wrap:wrap;gap:.65rem;margin-top:.75rem;display:flex}.planner-dashboard-shell .status-pill[data-tone=neutral]{color:#5f7278;background:#f0f4f5;border-color:#dde6e8}.planner-dashboard-shell .status-pill[data-tone=info]{color:#1a8cbf;background:#e6f6fc;border-color:#c7ebf8}.planner-dashboard-shell .status-pill[data-tone=warning]{color:#b8860b;background:#fff8e6;border-color:#f5e1ae}.planner-dashboard-shell .status-pill[data-tone=success]{color:#2e7d32;background:#e8f5e9;border-color:#cae7cd}.planner-dashboard-shell .status-pill[data-tone=danger]{color:#c62828;background:#feecec;border-color:#f5caca}.planner-dashboard-shell .project-row{grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.05rem 1.15rem;display:grid}.planner-dashboard-shell .project-row[data-open-project]{cursor:pointer}.planner-dashboard-shell .project-row[data-open-project]:hover{border-color:#9eb5cb;box-shadow:0 16px 32px #0f274214}.planner-dashboard-shell .project-row[data-open-project]:focus-visible{outline-offset:3px;outline:3px solid #0f3b683d}.planner-dashboard-shell .project-context-menu{z-index:80;background:#fffffffa;border:1px solid #dbe4ef;border-radius:14px;min-width:220px;padding:.35rem;position:fixed;box-shadow:0 16px 28px #0f172a29}.planner-dashboard-shell .project-context-menu[hidden]{display:none}.planner-dashboard-shell .project-context-menu button{width:100%;color:var(--planner-navy);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.7rem .85rem;font-weight:600}.planner-dashboard-shell .project-context-menu button:hover,.planner-dashboard-shell .project-context-menu button:focus-visible{background:#eef4fb;outline:none}.planner-dashboard-shell .project-context-menu button[data-project-context-action=archive]{color:#b54708}.planner-dashboard-shell .project-context-menu button[data-project-context-action=archive]:hover,.planner-dashboard-shell .project-context-menu button[data-project-context-action=archive]:focus-visible{background:#fff7ed}.planner-dashboard-shell .project-row-main{min-width:0}.project-row-head,.project-row-stats{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.planner-dashboard-shell .project-row-head h2{font-size:1rem;line-height:1.2}.planner-dashboard-shell .project-row-meta{color:var(--planner-mid);margin:0;line-height:1.5}.planner-dashboard-shell .project-row-stats{color:var(--planner-muted);margin:0;font-size:.83rem}.planner-dashboard-shell .project-row-stats span{border:1px solid var(--planner-border);background:#f3f6f8;border-radius:999px;align-items:center;padding:.3rem .6rem;display:inline-flex}@media (width<=1180px){.planner-dashboard-shell .project-row{grid-template-columns:1fr}}@media (width<=760px){.planner-dashboard-shell .project-context-menu{min-width:200px}}.opdracht-slot.needs-attention{background:#fff1f2;border-color:#f6c3c8}.opdracht-slot-media{background:#f5f8fc;position:relative;overflow:hidden}.opdracht-slot-preview-button{border-radius:inherit;cursor:zoom-in;background:#d7e1ec;border:0;width:100%;height:100%;padding:0;display:block;overflow:hidden}.opdracht-slot-image{object-fit:cover;width:100%;height:100%;display:block}.opdracht-slot-overlay{color:#fff;background:linear-gradient(#0000,#0f172ab8);padding:.65rem .85rem;font-weight:600;position:absolute;inset:auto 0 0}.opdracht-photo-lightbox{z-index:120;background:#0f172ae0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.opdracht-photo-lightbox.hidden{display:none}.opdracht-photo-lightbox-backdrop{background:0 0;border:0;position:absolute;inset:0}.opdracht-photo-lightbox-image{z-index:1;border-radius:14px;max-width:min(100%,1100px);max-height:calc(100svh - 2rem);position:relative;box-shadow:0 20px 48px #00000073}.upload-progress{background:#dce6f0;border-radius:999px;height:.5rem;overflow:hidden}.upload-progress-bar{border-radius:inherit;background:#166534;height:100%}.opdracht-upload-button{width:100%;min-height:48px;font-size:1rem}.upload-source-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}@media (width<=480px){.opdracht-point-card{flex-direction:column;align-items:flex-start;padding:.9rem}.opdracht-sidebar .badge,.opdracht-sidebar .status-pill{font-size:1rem}.opdracht-feedback{flex-direction:column;align-items:stretch}}.field-quick-upload{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border:1px solid #d7e1ec;border-radius:18px;gap:.75rem;width:min(380px,100vw - 2rem);padding:.9rem;display:grid;position:fixed;box-shadow:0 16px 34px #0f274229}.field-quick-upload.hidden{display:none}.field-quick-upload__summary{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.field-quick-upload__copy{color:#60758a;margin:.3rem 0 0;font-size:.9rem}.field-quick-upload__primary,.field-quick-upload__slot{text-align:left;gap:.15rem;width:100%;display:grid}.field-quick-upload__chips{gap:.6rem;display:grid}.field-quick-upload__slot.is-filled{background:#f4fbf5;border-color:#c6e5cc}.field-quick-upload-active .opdracht-shell{padding-bottom:calc(11rem + env(safe-area-inset-bottom))}@media (width<=1180px){.field-quick-upload{width:auto;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom))}}@media (width<=480px){.field-quick-upload-active .opdracht-shell{padding-bottom:calc(12.5rem + env(safe-area-inset-bottom))}.field-quick-upload{left:.5rem;right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom));padding:.8rem}}.opdracht-layer-chip[data-chip-state=inactive]{color:#8a9aab;background:#f8fbff;border-color:#d6dde6}.opdracht-layer-chip[data-chip-state=inactive] span{color:#8a9aab;background:#eef2f6}.opdracht-layer-chip[data-chip-state=inactive]:disabled{opacity:1;cursor:default}@media (width<=640px){.opdracht-layer-chip{min-height:44px}}@media (width<=480px){.canvas-toolbar button{min-width:44px;min-height:44px}}.opdracht-shell{gap:.65rem;display:grid}.opdracht-topbar{align-items:flex-start;gap:.85rem;padding:.85rem 1rem}.opdracht-head-copy{gap:.3rem;min-width:0;display:grid}.opdracht-meta-line{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.opdracht-number{color:#64748b;white-space:nowrap;font-size:.85rem}[data-role=project-status][data-tone=info]{color:#c2410c;background:#fff7ed;border-color:#fdba74}[data-role=project-status][data-tone=success]{color:#166534;background:#edf9f0;border-color:#b9e6c6}.opdracht-head-badges{justify-content:flex-end;gap:.45rem}.opdracht-head-badges .badge{padding:.35rem .62rem;font-size:.8rem}.opdracht-copy,.opdracht-selection-copy{color:#60758a;margin:0}.opdracht-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,420px);grid-template-areas:"canvas sidebar";gap:1rem;margin-top:.2rem;display:grid}.opdracht-canvas-panel{grid-area:canvas;min-height:clamp(360px,100svh - 220px,960px)}.opdracht-sidebar{flex-direction:column;grid-area:sidebar;gap:1rem;display:flex;overflow:auto}.opdracht-summary{margin:.85rem 0}.summary-progress{background:#e5ebf2;border-radius:999px;height:.8rem;overflow:hidden}.summary-progress-bar{border-radius:inherit;background:#94a3b8;height:100%}.summary-progress-bar[data-tone=success]{background:#166534}.summary-progress-bar[data-tone=warning]{background:#c2410c}.summary-legend{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.opdracht-filter-toggle{color:#526274;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.opdracht-filter-toggle input{width:auto}.opdracht-point-list,.opdracht-slot-grid{gap:.75rem;display:grid}.opdracht-point-card{text-align:left;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:44px;display:flex}.opdracht-point-card>div{gap:.25rem;display:grid}.opdracht-point-card.active{background:#eaf2fb;border-color:#0f3b68}.opdracht-selection{gap:.85rem;display:grid}.opdracht-feedback{color:#35506a;background:#f7fafc;border:1px solid #d6e1ec;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem .9rem;font-size:.92rem;display:flex}.opdracht-feedback[data-tone=success]{color:#166534;background:#effbf3;border-color:#b9e6c6}.opdracht-feedback[data-tone=danger]{color:#991b1b;background:#fff1f2;border-color:#f6c3c8}.opdracht-slot{background:#ffffffe6;border:1px solid #d7e1ec;border-radius:16px;gap:.75rem;padding:.9rem;display:grid}.opdracht-slot.filled{background:#f4fbf5;border-color:#c6e5cc}.opdracht-slot-placeholder,.opdracht-slot-media{border-radius:12px;min-height:148px}.opdracht-slot-placeholder{color:#72879c;text-align:center;background:#f5f8fc;place-items:center;padding:1rem;display:grid}.opdracht-slot-media{position:relative;overflow:hidden}.opdracht-slot-media.is-uploading{box-shadow:inset 0 0 0 1px #1665342e}@media (width<=768px){.opdracht-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"canvas""sidebar"}.opdracht-sidebar{overflow:visible}}.opdracht-canvas-panel{grid-template-rows:auto auto minmax(0,1fr);gap:.6rem;width:100%;min-width:0;min-height:clamp(420px,100svh - 200px,960px);display:grid}.opdracht-layout>*{min-width:0}.canvas-scroller{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#f8fbfffa,#f0f6fcf0),#fff;border:1px solid #d6dde6;border-radius:18px;justify-content:flex-start;align-items:flex-start;width:100%;height:100%;min-height:0;padding:.75rem;display:flex;position:relative;overflow:hidden}.canvas-stage-wrap{flex:none;justify-items:center;min-width:100%;min-height:100%;margin:0;display:grid;position:relative}.field-detail-stage-viewport{flex:none;position:relative}.field-detail-stage-plane{transform-origin:0 0;will-change:transform;position:relative}.canvas-stage{position:relative;box-shadow:0 18px 40px #0f274214}.canvas-image,.canvas-pdf,.canvas-overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.canvas-image{object-fit:contain}.canvas-overlay{pointer-events:none;overflow:visible}.field-detail-marker-overlay{z-index:4}.overlay-point{cursor:pointer;pointer-events:all}.overlay-point[data-field-draggable=true]{cursor:grab}.overlay-point[data-field-dragging=true]{cursor:grabbing}.overlay-hit-target{pointer-events:all}.public-overlay-marker{cursor:pointer;pointer-events:all}.public-overlay-hit{pointer-events:all}.public-overlay-label{fill:#0f172a;stroke:#fff;stroke-width:3px;paint-order:stroke;text-anchor:middle;dominant-baseline:middle;font-size:12px;font-weight:700}.opdracht-zoom-hint{color:#60758a;margin:0;font-size:.82rem}.canvas-floating-controls{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #c1cedce6;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 8px 20px #0f274229}.canvas-floating-controls button,.canvas-floating-controls .zoom-value{border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.canvas-floating-controls .zoom-value{color:#274861;background:#f8fbff;border:1px solid #d6e1ec;min-width:62px;padding:0 .35rem;font-size:.88rem;font-weight:700}.canvas-fit-control{font-size:1.05rem;font-weight:700}.opdracht-layer-filters{scrollbar-width:thin;gap:.55rem;padding-bottom:.2rem;display:flex;overflow:auto}.opdracht-layer-filters:empty{display:none}.opdracht-layer-chip{color:#35506a;white-space:nowrap;background:#f8fbff;border:1px solid #d6dde6;border-radius:999px;align-items:center;gap:.45rem;padding:.65rem .85rem;font-weight:600;display:inline-flex}.opdracht-layer-chip span{background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:1.4rem;min-height:1.4rem;padding:0 .35rem;font-size:.75rem;display:inline-flex}.opdracht-layer-chip.is-zero{color:#8aa0b5;cursor:not-allowed;background:#f8fbff;border-color:#d6dde6}.opdracht-layer-chip.is-zero span{color:#8aa0b5;background:#edf2f7}.opdracht-layer-chip.is-zero:hover{box-shadow:none;border-color:#d6dde6;transform:none}.opdracht-layer-chip.is-active{color:#0f3b68;background:#eaf2fb;border-color:#0f3b68}.opdracht-layer-chip.is-active span{color:#fff;background:#0f3b68}.opdracht-point-meta{color:#60758a;font-size:.82rem}@media (width<=1180px){.opdracht-canvas-panel{min-height:min(74svh,760px)}}@media (width<=640px){.opdracht-layout{grid-template-areas:"canvas""sidebar"}.opdracht-canvas-panel{min-height:66svh}.opdracht-zoom-hint{font-size:.79rem}.opdracht-layer-chip{min-height:44px}.canvas-floating-controls{bottom:10px;right:10px}}.opdracht-sheet{z-index:35;background:#0206176b;align-items:end;padding:0;display:grid;position:fixed;inset:0}.opdracht-sheet.hidden{display:none}.opdracht-sheet-panel{background:#fff;border:1px solid #d6dde6;border-bottom:0;border-radius:20px 20px 0 0;max-height:min(72svh,600px);padding:.65rem .95rem 1rem;transition:transform .18s;overflow:auto;transform:translateY(0)}.opdracht-sheet-handle{background:#d3dbe6;border-radius:999px;width:48px;height:5px;margin:.1rem auto .6rem}.opdracht-sheet-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.opdracht-sheet-photos{grid-auto-columns:minmax(110px,1fr);grid-auto-flow:column;gap:.55rem;padding-bottom:.2rem;display:grid;overflow-x:auto}.opdracht-sheet-photos img{object-fit:cover;border:1px solid #d6dde6;border-radius:10px;width:100%;height:90px}.opdracht-sheet-actions{gap:.55rem;margin-top:.7rem;display:flex}.opdracht-sheet-actions button{flex:auto;min-height:44px}.field-app{color:#17212b;max-width:1120px;margin:0 auto;padding:16px;font-family:Arial,Helvetica,sans-serif}body{background:#eef2f6;margin:0}.field-header{color:#fff;background:linear-gradient(135deg,#0f3b68 0%,#1b4f88 100%);border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;padding:20px;display:flex;box-shadow:0 20px 45px #0f3b682e}.field-header-copy{max-width:640px}.field-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.field-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#c7dcf4;margin:0 0 10px;font-size:11px;font-weight:700}.field-title{font-size:20px;font-weight:700}.field-greeting{letter-spacing:-.5px;color:#0b2545;margin:0 0 8px;font-size:30px;font-weight:800;line-height:1.15}.field-subtitle{opacity:.95;font-size:14px}.field-hero-copy{color:#e6eff8;max-width:54ch;margin:10px 0 0;font-size:14px;line-height:1.5}#fieldRefreshBtn,#fieldOpenHoursBtn,#fieldOpenPlanningBtn,#fieldLogoutBtn,#fieldHoursBackBtn,#fieldPlanningBackBtn,#fieldOpenHoursPrimaryBtn,#fieldOpenFirstProjectBtn{cursor:pointer;border:none;border-radius:12px;padding:11px 14px;font-size:13px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}#fieldRefreshBtn:hover,#fieldOpenHoursBtn:hover,#fieldOpenPlanningBtn:hover,#fieldLogoutBtn:hover,#fieldHoursBackBtn:hover,#fieldPlanningBackBtn:hover,#fieldOpenHoursPrimaryBtn:hover,#fieldOpenFirstProjectBtn:hover{transform:translateY(-1px)}#fieldOpenHoursBtn,#fieldOpenPlanningBtn,#fieldLogoutBtn,#fieldHoursBackBtn,#fieldPlanningBackBtn{color:#0f3b68;background:#fff;box-shadow:0 8px 24px #0f172a1f}#fieldRefreshBtn{color:#fff;background:#ffffff2e}#fieldOpenHoursPrimaryBtn,#fieldOpenFirstProjectBtn{color:#fff;background:#0f3b68;width:100%;box-shadow:0 10px 24px #0f3b682e}#fieldOpenHoursBtn:disabled,#fieldOpenPlanningBtn:disabled,#fieldRefreshBtn:disabled,#fieldHoursBackBtn:disabled,#fieldPlanningBackBtn:disabled,#fieldOpenHoursPrimaryBtn:disabled,#fieldOpenFirstProjectBtn:disabled{cursor:not-allowed;box-shadow:none;background:#9ca3af;transform:none}.field-banner{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:14px;margin-bottom:12px;padding:12px 14px;font-size:13px;display:none}.field-empty{color:#66788a;font-weight:700}.field-muted{color:#66788a;font-size:13px}.field-launcher-page{isolation:isolate;width:min(100%,430px);max-width:430px;min-height:100svh;padding:max(12px, env(safe-area-inset-top)) 22px max(10px, env(safe-area-inset-bottom));background:#fff;grid-template-rows:auto auto minmax(0,1fr) auto auto;align-content:start;gap:1.1rem;display:grid;position:relative;overflow:hidden}.field-launcher-header{grid-row:1;gap:clamp(1.45rem,4svh,2.4rem);display:grid}#fieldBanner{grid-row:2}.field-launcher-copy{gap:.55rem;display:grid}.field-launcher-copy .field-greeting{color:#0b2545;letter-spacing:-.03em;gap:.1rem;margin:0;display:grid}.field-greeting-prefix{font-size:22px;font-weight:400;line-height:1.12}.field-greeting-name{font-size:clamp(42px,12vw,56px);font-weight:800;line-height:.98}.field-launcher-watermark{z-index:-1;color:#0b2545;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:12px;opacity:.035;pointer-events:none;width:min(82svh,118vw,520px);min-width:360px;position:absolute;top:49%;left:52%;transform:translate(-50%,-46%)}.field-launcher-watermark path:first-child,.field-launcher-watermark circle{fill:currentColor;stroke:none}.field-launcher-worker{color:#5f7380;background:#eef4f7;border:1px solid #d7e2ea;border-radius:999px;justify-self:start;margin:0;padding:6px 12px;font-size:12px;font-weight:700;line-height:1.2}.field-launcher-actions{gap:.85rem;display:grid}.field-launcher-actions--primary{grid-row:3;align-self:center}.field-launcher-actions--logout{grid-row:4;align-self:end}.field-launcher-actions button{text-align:left;cursor:pointer;border-radius:24px;min-height:76px;font-size:1rem;font-weight:700;transition:border-color .15s,box-shadow .15s,transform .15s}.field-launcher-actions--primary #fieldOpenProjectsBtn,.field-launcher-actions--primary #fieldOpenHoursBtn,.field-launcher-actions--primary #fieldOpenPlanningBtn{color:#0b2545;background:#fff;border:1px solid #edf2f6;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 18px 36px #0f2a4417}.field-launcher-actions--primary #fieldOpenProjectsBtn:hover,.field-launcher-actions--primary #fieldOpenHoursBtn:hover,.field-launcher-actions--primary #fieldOpenPlanningBtn:hover,.field-launcher-actions--primary #fieldOpenProjectsBtn:focus-visible,.field-launcher-actions--primary #fieldOpenHoursBtn:focus-visible,.field-launcher-actions--primary #fieldOpenPlanningBtn:focus-visible{border-color:#cbd5e1;box-shadow:0 14px 30px #0f172a14}.field-launcher-action-icon{color:#0b2545;flex:0 0 34px;place-items:center;width:34px;height:34px;display:inline-grid}.field-launcher-action-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:27px;height:27px}.field-launcher-action-label{font-size:17px;line-height:1.2}.field-launcher-actions button:disabled{cursor:not-allowed;opacity:.55;transform:none}.field-launcher-actions #fieldLogoutBtn{color:#b91c1c;text-align:center;width:min(100%,180px);min-height:48px;box-shadow:none;background:0 0;border:1.5px solid #ef4444;justify-self:center;margin:0}.field-launcher-brand{color:#0b1a25;letter-spacing:-.03em;align-items:center;gap:11px;font-size:21px;font-weight:800;display:flex}.field-launcher-brand-icon{color:#0b1a25;flex:0 0 42px;place-items:center;width:42px;height:42px;display:inline-grid}.field-launcher-brand-icon svg{fill:none;width:100%;height:100%}.field-launcher-brand-icon circle:first-child{fill:currentColor}.field-launcher-brand-icon path,.field-launcher-brand-icon circle:not(:first-child){stroke:#b5c9cc;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.4px}.field-launcher-brand-icon path:first-of-type,.field-launcher-brand-icon path:nth-of-type(2){stroke:#fff;stroke-width:4.2px}.field-launcher-system-nav{grid-row:5;height:22px;position:relative}.field-launcher-system-nav:after{content:"";background:#0b2545;border-radius:999px;width:128px;height:5px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.field-detail-page{--field-detail-header-height:0px;gap:.75rem;display:grid}.field-detail-header{grid-template-columns:auto 1fr auto;align-items:start;gap:.6rem;display:grid}.field-detail-header-copy{gap:.25rem;min-width:0;display:grid}.field-detail-header-copy h1{margin:0;font-size:1.2rem;line-height:1.2}.field-detail-header-meta{flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-width:0;display:flex}.field-detail-header-meta p{color:#60758a;flex:12rem;min-width:0;margin:0;font-size:.875rem}.field-detail-switch-controls{flex:100%}.field-detail-header-meta .field-detail-badges{flex-wrap:wrap;gap:.35rem;display:inline-flex}.field-detail-layout{gap:1rem;display:grid}.field-detail-map-panel{gap:.4rem;display:grid;position:relative}.field-detail-floating-actions{flex-wrap:wrap;justify-content:flex-end;align-self:start;gap:.45rem;display:inline-flex}.field-detail-floating-action{color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 16px 28px #0f172a2e}.field-detail-floating-action--compact{letter-spacing:.03em;text-align:center;min-width:42px;min-height:36px;padding:0 10px;font-size:.64rem;line-height:1.15;box-shadow:0 10px 22px #0f172a24}.field-detail-floating-action-klic{background:#ef9f27}.field-detail-floating-action-nav{background:#185fa5}.field-detail-floating-action-docs{background:#15803d}.field-detail-layer-filters{scrollbar-width:none;gap:.55rem;display:flex;overflow:auto}.field-detail-layer-filters::-webkit-scrollbar{display:none}.field-detail-ready-toggle{margin-top:.45rem;display:flex}.field-detail-feedback{background:#f7fafc;border:1px solid #d6dde6;border-radius:14px;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;display:flex}.field-detail-feedback[data-tone=success]{color:#166534;background:#effbf3;border-color:#b9e6c6}.field-detail-feedback[data-tone=danger]{color:#991b1b;background:#fff1f2;border-color:#f6c3c8}.field-detail-point-list{gap:.75rem;padding:.25rem 0 .5rem;display:grid}.field-detail-point-list-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.field-detail-point-list-title{color:#17212b;margin:0;font-size:.95rem;font-weight:700}.field-detail-point-list-copy{color:#60758a;margin:0;font-size:.82rem}.field-detail-point-list-items{gap:.75rem;max-height:min(34svh,320px);padding-right:.2rem;display:grid;overflow:auto}.field-detail-point-list-items .opdracht-point-card{text-align:left;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:44px;display:flex}.field-detail-point-list-items .opdracht-point-card>div{gap:.25rem;display:grid}.field-detail-point-list-items .opdracht-point-card.active{background:#eaf2fb;border-color:#0f3b68}.field-detail-canvas-scroller{-webkit-overflow-scrolling:touch;border-radius:24px;min-height:clamp(400px,62svh,680px)}.field-detail-stage-wrap{min-height:100%}.field-detail-sheet{background:#fffffffa;border:1px solid #d6dde6;border-radius:24px;flex-direction:column;display:flex}.field-detail-sheet.hidden{display:none}.field-detail-sheet-card{gap:.9rem;min-height:0;display:grid}.field-detail-sheet-copy{gap:.5rem;padding:0 1rem;display:grid}.field-detail-sheet-copy p{margin:0}.field-detail-sheet-copy strong{font-size:1rem;line-height:1.35;display:block}.field-detail-sheet-head{justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem 1rem 0;display:flex}.field-detail-sheet-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:700;line-height:1.25;overflow:hidden}.field-detail-sheet-head button{flex-shrink:0;min-height:40px}.field-detail-sheet-handle{background:#d3dbe6;border-radius:999px;width:56px;height:5px;margin:.5rem auto 0}.field-detail-sheet-slots{align-content:start;gap:.75rem;min-height:0;padding:0 1rem 1rem;display:grid}.field-detail-sheet-documents{max-height:min(56svh,560px);overflow:auto}.field-detail-layout.has-sheet{grid-template-columns:minmax(0,1.25fr) minmax(320px,420px);align-items:start}.field-detail-layout.has-sheet .field-detail-sheet{position:sticky;top:16px}.field-detail-action-menu.hidden,.field-detail-action-menu-item.hidden,.field-detail-mobile-view-controls.hidden,.field-detail-point-filters.hidden,.field-detail-point-filter-panel.hidden{display:none}.field-detail-action-menu>summary{list-style:none;display:none}.field-detail-action-menu>summary::-webkit-details-marker{display:none}.field-detail-mobile-view-controls>summary::-webkit-details-marker{display:none}.field-detail-action-menu-items{align-items:center;gap:.45rem;display:inline-flex}.field-detail-action-menu-item{color:#fff;cursor:pointer;min-width:42px;min-height:36px;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 10px;font-size:.72rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 10px 22px #0f172a24}.field-detail-action-menu-icon{flex-shrink:0;width:1rem;height:1rem}.field-detail-action-menu-item span,.field-detail-mobile-view-controls{display:none}.field-detail-point-filters{display:inline-flex;position:relative}.field-detail-point-filter-panel{z-index:3;background:#fff;border:1px solid #d6dde6;border-radius:14px;min-width:18rem;padding:.7rem;display:none;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 22px #0f172a24}.field-detail-point-filters.is-open .field-detail-point-filter-panel{gap:.75rem;display:grid}.field-detail-point-filter-group{gap:.45rem;display:grid}.field-detail-point-filter-label{color:#60758a;font-size:.72rem;font-weight:700}.field-detail-point-filter-options{flex-wrap:wrap;gap:.4rem;display:flex}.field-detail-point-filter-options .opdracht-layer-chip{min-height:34px;padding:.42rem .68rem;font-size:.78rem}.field-detail-action-menu-item--klic{background:#ef9f27}.field-detail-action-menu-item--maps{background:#185fa5}.field-detail-action-menu-item--location{background:#0f766e}.field-detail-action-menu-item--docs{background:#15803d}.field-detail-action-menu-item--chat{background:#7c3aed}.field-detail-action-menu-item--location.is-active{box-shadow:0 0 0 2px #0f766e2e,0 10px 22px #0f172a24}.field-detail-action-menu-item--location.is-error{background:#b91c1c}.field-detail-action-menu-item--location:disabled{opacity:.68;cursor:not-allowed}.field-detail-action-menu-item--points.is-active{color:#0f3b68;background:#eaf2fb;border-color:#bfd7ff}.field-detail-action-menu-item--points.is-active .field-detail-action-menu-icon{color:#0f3b68}@media (width<=768px){.field-detail-header>.field-detail-action-menu{z-index:6;place-self:start end;position:relative}.field-detail-action-menu>summary{color:#185fa5;cursor:pointer;background:#fff;border:1px solid #d6dde6;border-radius:12px;justify-content:center;align-items:center;width:38px;min-width:38px;min-height:38px;padding:0;display:inline-flex;box-shadow:0 10px 22px #0f172a29}.field-detail-action-menu[open]>summary{background:#eaf2fb;border-color:#bfd7ff}.field-detail-action-menu-items{min-width:min(260px, calc(100vw - 1rem - env(safe-area-inset-right)));gap:.35rem;display:none;position:absolute;top:calc(100% + .35rem);right:0}.field-detail-action-menu[open]>.field-detail-action-menu-items{display:grid}.field-detail-action-menu-item,.field-detail-mobile-view-controls>summary{color:#17212b;background:#fff;border:1px solid #d6dde6;border-radius:14px;justify-content:flex-start;width:100%;min-height:40px;padding:.55rem .8rem;box-shadow:0 10px 22px #0f172a24}.field-detail-action-menu-item span{display:inline}.field-detail-mobile-view-controls,.field-detail-point-filters{width:100%;display:block}.field-detail-mobile-view-controls>summary,.field-detail-action-menu-item--points{cursor:pointer;align-items:center;gap:.65rem;font-size:.82rem;font-weight:700;display:inline-flex}.field-detail-mobile-view-controls>summary:after,.field-detail-action-menu-item--points:after{content:"+";color:#60758a;margin-left:auto;font-size:1rem;line-height:1}.field-detail-mobile-view-controls[open]>summary:after,.field-detail-point-filters.is-open .field-detail-action-menu-item--points:after{content:"−"}.field-detail-mobile-view-controls .field-detail-switch-controls{margin-top:.35rem}.field-detail-point-filters .field-detail-point-filter-panel{min-width:0;margin-top:.35rem;position:static}.field-detail-mobile-view-controls .field-detail-switch-controls,.field-detail-mobile-view-controls .field-detail-switches,.field-detail-mobile-view-controls .field-detail-switch{width:100%;min-width:0}.field-detail-action-menu-item--klic .field-detail-action-menu-icon{color:#ef9f27}.field-detail-action-menu-item--maps .field-detail-action-menu-icon{color:#185fa5}.field-detail-action-menu-item--location .field-detail-action-menu-icon{color:#0f766e}.field-detail-action-menu-item--docs .field-detail-action-menu-icon{color:#15803d}.field-detail-action-menu-item--location.is-active{color:#0f766e;background:#ecfdf5;border-color:#a7f3d0}.field-detail-action-menu-item--location.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.field-detail-action-menu-item--location.is-error .field-detail-action-menu-icon{color:#b91c1c}.field-detail-point-filters .field-detail-point-filter-options{display:grid}.field-detail-point-filters .opdracht-layer-chip{justify-content:space-between;width:100%}}.field-chat-sheet{min-height:min(60svh,560px)}.field-chat-messages{gap:.65rem;max-height:min(42svh,380px);display:grid;overflow:auto}.field-chat-message{background:#fff;border:1px solid #d6dde6;border-radius:14px;gap:.35rem;padding:.7rem;display:grid}.field-chat-message[data-mine=true]{background:#eaf2fb;border-color:#bfd7ff}.field-chat-meta{color:#60758a;justify-content:space-between;gap:.5rem;font-size:.78rem;display:flex}.field-chat-body{white-space:pre-wrap}.field-chat-attachments{flex-wrap:wrap;gap:.4rem;display:flex}.field-chat-attachments a{color:#185fa5;font-weight:700}.field-chat-form{gap:.55rem;display:grid}.field-chat-form textarea{resize:vertical;min-height:5rem}.field-chat-form-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.field-chat-status{color:#60758a;margin:0;font-size:.82rem}.field-detail-klic-menu{display:inline-flex;position:relative}.field-detail-klic-options a{color:#17212b;border-radius:10px;padding:.5rem .65rem;font-size:.78rem;font-weight:700;text-decoration:none}.field-detail-klic-options a:hover{background:#f8fafc}@media (width<=768px){.field-detail-klic-menu{width:100%;display:block}}.field-detail-switch-controls{width:100%}.field-detail-switches{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:.45rem;width:100%;display:grid}.field-detail-switch{gap:.2rem;min-width:0;display:grid}.field-detail-switch>span{color:#60758a;font-size:.7rem;font-weight:700}.field-detail-switch select{color:#17212b;width:100%;min-height:36px;font:inherit;background:#fff;border:1px solid #d6dde6;border-radius:12px;padding:0 .7rem}.field-detail-switch select:disabled{opacity:.65;cursor:not-allowed}@media (width<=768px){.field-detail-switches{grid-template-columns:minmax(0,1fr);gap:.35rem}.field-detail-switch>span{font-size:.66rem}.field-detail-switch select{min-height:36px;text-overflow:initial;padding:0 .65rem;font-size:.82rem}}.field-detail-header{position:relative}.field-detail-point-list-wrap{display:grid}.field-detail-canvas-scroller .canvas-floating-controls{display:none!important}.field-detail-selected-point{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d6e1ec;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem 1rem;display:grid;box-shadow:0 12px 28px #0f172a14}.field-detail-selected-point.hidden{display:none}.field-detail-selected-point.is-open{background:linear-gradient(#f8fff9 0%,#effbf3 100%);border-color:#b9e6c6}.field-detail-selected-point-main{gap:.45rem;min-width:0;display:grid}.field-detail-selected-point-copy{gap:.3rem;min-width:0;display:grid}.field-detail-selected-point-copy strong{color:#17212b;font-size:.98rem;line-height:1.25}.field-detail-selected-point-copy span{color:#60758a;font-size:.84rem;line-height:1.35}.field-detail-selected-point-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.field-detail-selected-point-status{justify-self:start}.field-detail-selected-point-actions .primary{white-space:nowrap;min-height:40px;padding:0 .95rem}.field-detail-point-list{gap:.5rem}.field-detail-point-list-head{display:flex}.field-detail-point-list-items{gap:.45rem;max-height:min(22svh,190px)}.field-detail-point-list-items .opdracht-point-card{border-radius:14px;padding:.7rem .8rem}.field-detail-slot-overview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem;display:grid}.field-detail-slot-overview-item{background:#f8fbff;border:1px solid #dbe5ef;border-radius:14px;justify-content:space-between;align-items:center;gap:.65rem;padding:.72rem .8rem;display:flex}.field-detail-slot-overview-item strong{color:#17212b;font-size:.86rem;line-height:1.25}.field-detail-slot-overview-item.is-required{background:#fff8eb;border-color:#f3d19b}.field-detail-slot-overview-item.is-complete{background:#effbf3;border-color:#b9e6c6}.field-detail-slot-overview-item.is-rejected{background:#fff1f2;border-color:#f6c3c8}.field-detail-sheet[data-panel=point]{min-height:0}.field-detail-sheet[data-panel=point]>[data-role=point-sheet-content]{flex:1;min-height:0;display:flex}.field-detail-sheet[data-panel=point] .field-detail-sheet-card{height:100%}.field-detail-sheet[data-panel=point] .field-detail-sheet-title{white-space:normal}@media (width<=768px){.field-detail-floating-actions{top:50%;right:max(8px, calc(env(safe-area-inset-right) + 8px));z-index:40;flex-flow:column;gap:.5rem;position:fixed;transform:translateY(-50%)}.field-detail-floating-action,.field-detail-floating-action--compact{letter-spacing:0;border-radius:999px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:.78rem;box-shadow:0 14px 24px #0f172a29}.field-detail-selected-point{border-radius:16px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.7rem;padding:.8rem .85rem}.field-detail-selected-point-actions{grid-template-columns:auto 1fr;place-items:center stretch}.field-detail-selected-point-actions .status-pill{justify-self:start}.field-detail-selected-point-actions .primary{width:100%}.field-detail-point-list-items{max-height:min(18svh,160px)}.field-detail-point-list-items .opdracht-point-card{min-height:0}.field-detail-page--point-open{background:#fff;min-height:100svh}.field-detail-page--point-open .field-detail-header,.field-detail-page--point-open .field-detail-map-panel,.field-detail-page--point-open .field-detail-sheet-backdrop{display:none!important}.field-detail-page--point-open .field-detail-layout{display:block}.field-detail-page--point-open .field-detail-sheet{z-index:60;max-height:none;box-shadow:none;padding-top:env(safe-area-inset-top);background:#fff;border:0;border-radius:0;display:flex;position:fixed;inset:0}.field-detail-page--point-open .field-detail-sheet-handle{display:none}.field-detail-page--point-open .field-detail-sheet-head{border-bottom:1px solid #e2e8f0;padding:.75rem .85rem .45rem}.field-detail-page--point-open .field-detail-sheet-title{font-size:1.02rem}.field-detail-page--point-open .field-detail-sheet>[data-role=point-sheet-content]{flex:1;min-height:0;display:flex}.field-detail-page--point-open .field-detail-sheet-slots{height:100%;padding:.75rem .85rem calc(1rem + env(safe-area-inset-bottom));gap:.7rem}.field-detail-page--point-open .field-detail-slot-summary{z-index:2;background:#fff;padding-bottom:.15rem;position:sticky;top:0}.field-detail-page--point-open .field-detail-slot-overview{grid-template-columns:1fr}.field-detail-page--point-open .field-detail-sheet-slots .opdracht-slot{padding:.76rem}.field-detail-page--point-open .field-detail-sheet-slots .opdracht-slot-placeholder,.field-detail-page--point-open .field-detail-sheet-slots .opdracht-slot-media{min-height:120px}.field-detail-page--point-open .field-detail-floating-actions{display:none!important}.field-detail-page{gap:.45rem}.field-detail-header{grid-template-columns:auto minmax(0,1fr) auto;gap:.4rem .5rem}.field-detail-header>button{min-height:34px;padding:0 .7rem;font-size:.82rem}.field-detail-floating-actions{grid-column:3;place-self:start end;gap:.25rem}.field-detail-header-copy{gap:.2rem}.field-detail-header-copy h1{font-size:1rem}.field-detail-header-meta{gap:.25rem .45rem}.field-detail-header-meta p{flex:100%;font-size:.78rem;line-height:1.25}.field-detail-header-meta .field-detail-badges{gap:.25rem;width:100%}.field-detail-layout,.field-detail-layout.has-sheet{grid-template-columns:minmax(0,1fr)}.field-detail-map-panel{gap:.35rem}.field-detail-canvas-scroller{min-height:clamp(360px,50svh,500px);padding:.3rem}.field-detail-header-meta .badge{padding:.18rem .45rem;font-size:.68rem}.field-detail-layer-filters{flex-wrap:nowrap;gap:.35rem;margin:0 8px 4px;padding-bottom:2px;display:flex}.field-detail-ready-toggle{margin:0 8px 4px}.field-detail-point-list-title{font-size:.88rem}.field-detail-point-list-items .opdracht-point-card strong{font-size:.88rem;line-height:1.2}.field-detail-point-list-items .opdracht-point-meta{font-size:.72rem}.field-detail-point-list-items .status-pill{padding:.25rem .5rem;font-size:.7rem}.field-detail-floating-action--compact{min-width:32px;min-height:30px;padding:0 6px;font-size:.56rem}.field-detail-sheet{top:max(10px, env(safe-area-inset-top));z-index:30;border-bottom:0;border-radius:24px 24px 0 0;max-height:none;bottom:0;left:0;right:0;box-shadow:0 -20px 50px #0f172a2e}.field-detail-sheet.hidden{display:none}.field-detail-layout.has-sheet .field-detail-sheet{top:max(10px, env(safe-area-inset-top))}.field-detail-sheet>[data-role=point-sheet-content]{flex-direction:column;flex:1;min-height:0;display:flex}.field-detail-sheet-card{height:100%}.field-detail-sheet-head{gap:.5rem;padding:.35rem .85rem 0}.field-detail-sheet-title{font-size:.95rem}.field-detail-sheet-head button{min-height:34px;padding:0 .7rem;font-size:.82rem}.field-detail-sheet-handle{margin-top:.4rem}.field-detail-sheet-slots{height:100%;max-height:none;padding:0 .85rem calc(.85rem + env(safe-area-inset-bottom));gap:.55rem;overflow:auto}.field-detail-sheet-documents{height:100%;max-height:none}.field-detail-sheet-slots .photo-slot-head{border-top:0;align-items:flex-start;gap:.5rem;padding:0}.field-detail-slot-head-copy{align-items:flex-start}.field-detail-slot-summary{gap:.35rem}.field-detail-slot-summary-badges{gap:.3rem}.field-detail-slot-summary-copy{font-size:.78rem;line-height:1.3}.field-detail-sheet-slots .status-pill{padding:.25rem .5rem;font-size:.7rem}.field-detail-sheet-slots .opdracht-slot{border-radius:14px;gap:.55rem;padding:.72rem}.field-detail-sheet-slots .opdracht-slot-placeholder,.field-detail-sheet-slots .opdracht-slot-media{min-height:100px}.field-detail-sheet-slots .opdracht-slot-overlay{padding:.5rem .7rem;font-size:.82rem}.field-detail-sheet-slots .opdracht-upload-button{min-height:42px;font-size:.95rem}.field-detail-map-panel .opdracht-layer-chip{background:#fffffff0;border-radius:999px;min-height:34px;padding:.42rem .65rem;font-size:.82rem}.field-detail-page{gap:.4rem;position:relative}.field-detail-point-list-wrap--mobile-hidden{display:none!important}.field-detail-page--point-open .field-detail-header,.field-detail-page--point-open .field-detail-layer-filters,.field-detail-page--point-open .field-detail-point-list-wrap,.field-detail-page--point-open .field-detail-selected-point,.field-detail-page--point-open .field-detail-feedback,.field-detail-page--point-open .field-detail-canvas-scroller{display:none}.field-detail-page--point-open .field-detail-map-panel{display:block}.field-detail-header{z-index:4;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.25rem .45rem;margin-bottom:0;padding:0;position:relative}.field-detail-header-copy{gap:.1rem;padding-right:0}.field-detail-header-copy h1{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;line-height:1.1;overflow:hidden}.field-detail-header-meta{align-items:flex-start;gap:.18rem .35rem}.field-detail-header-meta p{-webkit-line-clamp:1;-webkit-box-orient:vertical;width:100%;font-size:.72rem;line-height:1.2;display:-webkit-box;overflow:hidden}.field-detail-switch-controls{width:100%}.field-detail-header-meta .field-detail-badges{display:none}.field-detail-map-panel{gap:.3rem;padding-top:0}.field-detail-header>.field-detail-action-menu{top:max(8px, env(safe-area-inset-top));right:max(8px, calc(env(safe-area-inset-right) + 8px));z-index:40;flex-flow:row;gap:.25rem;position:fixed;transform:none}.field-detail-layer-filters{z-index:2;align-items:center;gap:.25rem;min-height:2.2rem;margin-top:0;padding-right:0;position:relative}.field-detail-point-list{gap:.35rem;padding:0 4px}.field-detail-point-list-head{display:none}.field-detail-point-list-items{gap:.45rem;max-height:min(22svh,184px)}.field-detail-point-list-items .opdracht-point-card{gap:.5rem;min-height:38px;padding:.55rem .7rem}.field-detail-point-list-items .opdracht-point-card strong{font-size:.84rem}.field-detail-point-list-items .opdracht-point-card span{font-size:.78rem}.field-detail-selected-point{z-index:2;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.45rem;padding:.6rem .7rem;position:relative}.field-detail-selected-point-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.4rem;display:grid}.field-detail-selected-point-copy{gap:.15rem}.field-detail-selected-point-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.field-detail-selected-point-copy span,.field-detail-feedback{display:none}.field-detail-feedback:not(.hidden){z-index:2;display:flex;position:relative}.field-detail-selected-point-actions{grid-template-columns:1fr 1fr;justify-content:stretch;align-items:center;gap:.4rem}.field-detail-selected-point-status{justify-self:end;padding:.2rem .45rem;font-size:.66rem}.field-detail-selected-point-link,.field-detail-selected-point .primary{width:100%;min-height:34px;padding:0 .75rem;font-size:.82rem}.field-detail-map-panel .opdracht-layer-chip{min-height:32px;padding:.36rem .58rem;font-size:.78rem}.field-detail-canvas-scroller{z-index:1;min-height:clamp(340px,53svh,500px);margin-top:0;padding:.25rem;position:relative}.field-detail-canvas-scroller .canvas-floating-controls{display:none}.field-detail-sheet{z-index:35;box-shadow:none;background:#fffffffa;border:0;border-radius:0;position:fixed;inset:0}.field-detail-sheet[data-panel=point]{padding-top:max(8px, env(safe-area-inset-top))}.field-detail-sheet[data-panel=documents]{top:max(10px, env(safe-area-inset-top));border-radius:24px 24px 0 0;bottom:0;box-shadow:0 -20px 50px #0f172a2e}.field-detail-sheet[data-panel=documents]>[data-role=point-sheet-content]{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;display:block;overflow-y:auto}.field-detail-sheet[data-panel=documents] .field-detail-sheet-documents{height:auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom));overflow:visible}.field-detail-sheet[data-panel=point] .field-detail-sheet-handle{display:none}.field-detail-sheet[data-panel=point] .field-detail-sheet-head{border-bottom:1px solid #e2e8f0;padding:0 .9rem .65rem}.field-detail-sheet[data-panel=point]>[data-role=point-sheet-content]{flex:1;min-height:0}.field-detail-sheet[data-panel=point] .field-detail-sheet-card{height:100%}.field-detail-sheet[data-panel=point] .field-detail-sheet-slots{height:100%;padding:.8rem .9rem calc(1rem + env(safe-area-inset-bottom));gap:.7rem}.field-detail-sheet[data-panel=point] .field-detail-slot-overview{grid-template-columns:1fr}.field-detail-sheet[data-panel=point] .field-detail-slot-overview-item{padding:.75rem .8rem}.field-detail-sheet[data-panel=point] .opdracht-slot{border-radius:14px;gap:.55rem;padding:.72rem}.field-detail-sheet[data-panel=point] .opdracht-slot-placeholder,.field-detail-sheet[data-panel=point] .opdracht-slot-media{min-height:112px}.field-detail-sheet[data-panel=point] .opdracht-upload-button{min-height:44px;font-size:.95rem}.field-detail-header>.field-detail-action-menu[open]>.field-detail-action-menu-items{top:calc(max(8px, env(safe-area-inset-top)) + 46px);right:max(8px, calc(env(safe-area-inset-right) + 8px));width:min(280px, calc(100vw - 1rem - env(safe-area-inset-right)));max-height:calc(100svh - max(64px, calc(env(safe-area-inset-top) + 64px)) - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:pan-y;z-index:41;background:#fffffffa;border:1px solid #d6dde6;border-radius:18px;padding:.4rem;position:fixed;overflow-y:auto;box-shadow:0 18px 34px #0f172a2e}.field-detail-header>.field-detail-action-menu[open]>.field-detail-action-menu-items *{touch-action:pan-y}.field-detail-header>.field-detail-action-menu[open]>.field-detail-action-menu-items .field-detail-action-menu-item,.field-detail-header>.field-detail-action-menu[open]>.field-detail-action-menu-items .field-detail-mobile-view-controls>summary{box-shadow:none}.field-detail-header>.field-detail-action-menu[open]>.field-detail-action-menu-items .field-detail-point-filter-panel{overflow:visible}}.field-detail-sheet-backdrop{z-index:25;background:#0f172a61;display:none;position:fixed;inset:0}.field-detail-sheet-backdrop:not(.hidden){display:block}.field-detail-live-location-overlay,.field-detail-measurement-overlay,.field-detail-measurement-overlay.active{pointer-events:none}.field-detail-measurement-overlay.measure-input-active,.field-detail-stage.measure-input-active .field-detail-measurement-overlay{opacity:.24}.measure-shape{fill:none;stroke-linecap:round;stroke-linejoin:round}.measure-shape.line{stroke:#0f3b68;stroke-width:3px}.measure-shape.draft{stroke:#b42318;stroke-width:2.5px;stroke-dasharray:8 5}.measure-node{fill:#b42318;stroke:#fff;stroke-width:1.5px}.measure-label{text-anchor:middle;dominant-baseline:central;fill:#0f172a;paint-order:stroke;stroke:#fffffff0;stroke-width:4px;font-size:11px;font-weight:700}.measure-label-segment--saved-line{fill:#0f3b68}.measure-label-segment--draft{fill:#b42318}.measure-label-badge rect{stroke:#ffffffe6;stroke-width:1.5px}.measure-label-badge--saved-line rect{fill:#0f3b68}.measure-label-badge--draft rect{fill:#b42318}.measure-label-badge-text{text-anchor:middle;dominant-baseline:central;fill:#fff;font-size:11px;font-weight:700}.field-detail-measurement-panel-wrap{top:calc(var(--field-detail-header-height,0px) + 12px);z-index:20;pointer-events:none;position:fixed;left:12px}.field-measurement-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#fffffff5;border:1px solid #c1cedce6;border-radius:18px;gap:.6rem;width:min(320px,100vw - 24px);padding:.8rem;display:grid;position:relative;box-shadow:0 10px 22px #0f274229}.field-measurement-panel.hidden{display:none}.field-measurement-panel-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.field-measurement-panel-head strong{color:#17212b}.field-measurement-panel-head span{color:#0f3b68;font-weight:700}.field-measurement-panel-status{color:#35506a;font-size:.84rem}.field-measurement-panel-actions{flex-wrap:wrap;gap:.45rem;display:flex}.field-measurement-panel-actions button{min-height:38px;padding:0 .8rem}.field-measurement-panel-list{gap:.4rem;max-height:160px;display:grid;overflow:auto}.field-measurement-item,.field-measurement-empty{background:#f8fbff;border:1px solid #d6dde6;border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .65rem;font-size:.82rem;display:flex}.field-measurement-item strong{color:#17212b}.field-measurement-item span,.field-measurement-empty{color:#35506a}.field-live-location-marker{pointer-events:none}.field-live-location-accuracy{fill:#2563eb24;stroke:#2563eb57;stroke-width:1.5px}.field-live-location-ring{fill:#ffffffe6;stroke:#2563eb;stroke-width:2.5px}.field-live-location-dot{fill:#2563eb;opacity:.22}.field-live-location-core{fill:#1d4ed8}@media (width>=769px){.field-detail-sheet-backdrop{display:none!important}}@media (width<=768px){.field-detail-measurement-panel-wrap{top:auto;right:8px;bottom:calc(env(safe-area-inset-bottom) + 8px);left:8px}.field-measurement-panel{border-radius:16px;width:auto;padding:.7rem}.field-measurement-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-measurement-panel-actions button{min-width:0;min-height:42px;padding:0 .35rem;font-size:.78rem}}.field-detail-action-menu-item--measure .field-detail-action-menu-icon{color:#0f3b68}.field-detail-action-menu-item--measure.is-active{color:#0f3b68;background:#eaf2fb;border-color:#bfd7ff}@media (width<=768px){.field-measurement-panel{gap:.55rem;padding:.75rem;bottom:8px;left:8px;right:8px}.field-measurement-panel-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.field-measurement-panel-actions button{min-height:38px;padding:.45rem .55rem;font-size:.76rem}.field-detail-action-menu-item--measure.is-active{color:#0f3b68;background:#eaf2fb;border-color:#bfd7ff}}@media (width<=900px){body[data-page=field] #embeddedUrlOverlay{justify-content:center;align-items:stretch}body[data-page=field] #embeddedUrlOverlay .maps-panel{width:100vw;max-width:100vw;height:100dvh;box-shadow:none;border-radius:0}body[data-page=field] #embeddedUrlOverlay .maps-header{padding:12px}}.field-project-shell .field-action-strip{top:calc(env(safe-area-inset-top) + 84px);z-index:45;flex-direction:column;gap:10px;display:flex;position:fixed;right:16px}.field-project-shell .field-action-card{color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;text-decoration:none;display:inline-flex;box-shadow:0 16px 28px #0f172a29}.field-project-shell .field-action-icon{justify-content:center;align-items:center;width:100%;height:100%;font-size:1rem;font-weight:800;display:inline-flex}.field-project-shell .field-action-klic{background:#ef9f27}.field-project-shell .field-action-nav{background:#185fa5}.field-project-shell .field-action-docs{background:#166534}.field-project-shell .field-quick-upload{display:none}.field-mobile-sheet-card{gap:.9rem;display:grid}.field-mobile-sheet-copy strong{font-size:1rem;line-height:1.35;display:block}.field-mobile-sheet-slots{gap:.75rem;display:grid}.field-detail-slot-summary{gap:.45rem;display:grid}.field-detail-slot-summary-badges{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.field-detail-slot-summary-copy{color:#60758a;margin:0;font-size:.85rem}.field-detail-selected-point-link{color:#203040;white-space:nowrap;background:#fff;border:1px solid #ccd7e3;border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 .95rem;text-decoration:none;display:inline-flex}.field-detail-selected-point-link:hover{border-color:#91a8c3;box-shadow:0 10px 20px #16253814}.field-detail-selected-point-link.hidden{display:none}.field-detail-sheet-copy .field-detail-point-maps-button{color:#0f3b68;background:#fff;border:1px solid #b8c6d8;border-radius:10px;justify-content:center;align-items:center;width:fit-content;min-height:34px;padding:0 .8rem;font-size:.92rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.field-detail-slot-head-copy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.field-detail-sheet-slots .opdracht-slot-placeholder{min-height:124px}.field-detail-sheet-slots .opdracht-upload-button{min-height:44px}.field-detail-sheet-slots .upload-source-actions{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}@media (width<=768px){.field-project-shell .opdracht-topbar{padding-right:88px}.field-project-shell .opdracht-head-badges,.field-project-shell .opdracht-sidebar,.field-project-shell .field-quick-upload,.field-project-shell .document-action-popover{display:none!important}.field-project-shell .opdracht-layout{display:block}.field-project-shell .opdracht-canvas-panel{min-height:clamp(320px,46svh,420px)}.field-project-shell .opdracht-sheet{pointer-events:none;background:0 0}.field-project-shell .opdracht-sheet-panel{pointer-events:auto}.field-project-shell .canvas-scroller{border-radius:20px;min-height:40svh;padding:.55rem}.field-project-shell .canvas-floating-controls{bottom:10px;right:10px}.field-project-shell .opdracht-sheet-panel{max-height:70svh;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.field-documents-groups{gap:10px;display:grid}.field-doc-group{background:#fff;border:1px solid #d9e2ec;border-radius:14px;overflow:hidden}.field-doc-group-title,.field-doc-group>h3{color:#334155;border-bottom:1px solid #eef2f7;margin:0;padding:.75rem .9rem .45rem;font-size:12px;font-weight:700}.field-doc-row{width:100%;min-height:46px;box-shadow:none;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-top:1px solid #eef2f7;border-radius:0;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:.7rem;padding:.72rem .9rem;transition:background .12s;display:grid}.field-doc-icon{border-radius:50%;width:10px;height:10px}.field-doc-icon[data-category=tekening]{background:#185fa5}.field-doc-icon[data-category=instructie]{background:#15803d}.field-doc-icon[data-category=overig]{background:#6b7280}.field-doc-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.field-doc-row:first-of-type{border-top:0}.field-doc-row:hover{box-shadow:none;background:#f8fafc;transform:none}.field-doc-row:focus-visible{outline-offset:-2px;outline:2px solid #0f3b682e}.field-projects-page{gap:1rem;max-width:720px;display:grid}.field-projects-header{gap:.85rem;display:grid}.field-projects-title{margin:0;font-size:1.8rem}.field-projects-worker{color:#60758a;margin:.25rem 0 0}.field-projects-actions{flex-wrap:wrap;gap:.65rem;display:flex}.field-projects-list-shell{align-content:start;gap:1rem;display:grid}.field-projects-list{gap:1rem;display:grid}.field-projects-page .field-project-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:linear-gradient(#fbfdff 0%,#f4f8fc 100%);border:1px solid #d6dde6;border-radius:18px;flex-direction:column;gap:.85rem;padding:1rem 1.05rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.field-projects-page .field-project-card:hover,.field-projects-page .field-project-card:focus-visible{border-color:#0f3b68;transform:translateY(-2px);box-shadow:0 18px 30px #0f3b681f}.field-projects-page .field-project-card-top,.field-projects-page .field-project-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.field-projects-page .field-project-card-body{gap:.35rem;display:grid}.field-projects-page .field-project-card-body strong{font-size:1.05rem;line-height:1.25}.field-projects-page .field-project-card-body p{margin:0}.field-projects-page .field-project-meta-primary{color:#35506a;font-size:.95rem;font-weight:600;line-height:1.35}.field-projects-page .field-project-meta-secondary{color:#60758a;font-size:.88rem;line-height:1.35}.field-projects-page .field-project-count,.field-projects-page .field-status-pill{border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.field-projects-page .field-project-count{color:#0f3b68;background:#e0ecf8}.field-projects-page .field-status-pill[data-tone=success]{color:#166534;background:#dcfce7}.field-projects-page .field-status-pill[data-tone=warning]{color:#92400e;background:#fef3c7}.field-projects-page .field-status-pill[data-tone=danger]{color:#b91c1c;background:#fee2e2}.field-projects-page .field-status-pill[data-tone=accent]{color:#1d4ed8;background:#dbeafe}.field-projects-page .field-status-pill[data-tone=neutral]{color:#475569;background:#e2e8f0}.field-projects-page .field-project-card-footer{border-top:1px solid #dbe4ee;align-items:flex-end;padding-top:.75rem}.field-projects-page .field-project-update{gap:.2rem;display:grid}.field-projects-page .field-project-footer-label{letter-spacing:.06em;text-transform:uppercase;color:#60758a;font-size:.68rem;font-weight:700}.field-projects-page .field-project-footer-value{color:#17212b;font-size:.88rem;line-height:1.35}.field-projects-page .field-project-link{color:#0f3b68;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.field-projects-page .field-project-link:after{content:"›";font-size:1rem;line-height:1}@media (width<=640px){.field-projects-page{gap:.85rem}.field-projects-actions button{flex:140px}.field-projects-list{gap:1.15rem}.field-projects-page .field-project-card{padding:.95rem 1rem}}.field-home-dashboard{gap:14px;display:grid}.field-home-dashboard .field-card,.field-home-dashboard .field-summary-card{background:#fff;border:1px solid #d6dde6;border-radius:18px;padding:18px;box-shadow:0 16px 30px #0f172a0f}.field-home-dashboard .field-home-hero{gap:18px;margin-bottom:0;padding:18px;display:grid}.field-home-dashboard .field-home-worker{color:#dbeafe;margin:0;font-size:14px;line-height:1.5}.field-home-dashboard .field-home-primary-actions{gap:10px;display:grid}.field-home-dashboard #fieldOpenFirstProjectBtn{min-height:52px;font-size:15px}.field-home-dashboard .field-home-primary-hint{color:#dbeafe;margin:0}.field-home-dashboard .field-home-actions-panel{gap:16px;display:grid}.field-home-dashboard .field-home-actions-copy h2,.field-home-dashboard .field-projects-head h2{margin:0 0 6px;font-size:20px}.field-home-dashboard .field-home-actions-copy p:last-child,.field-home-dashboard .field-projects-head p:last-child{margin-bottom:0}.field-home-dashboard .field-home-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.field-home-dashboard .field-home-toolbar button{width:100%}.field-home-dashboard .field-home-toolbar #fieldLogoutBtn{grid-column:1/-1}.field-home-dashboard .field-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-home-dashboard .field-summary-card{flex-direction:column;gap:8px;display:flex}.field-home-dashboard .field-summary-card:last-child{grid-column:1/-1}.field-home-dashboard .field-summary-label{color:#60758a;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.field-home-dashboard .field-summary-card strong{font-size:24px;line-height:1.15}.field-home-dashboard .field-summary-card:last-child strong{font-size:18px;line-height:1.35}.field-home-dashboard .field-summary-note{color:#60758a;font-size:12px}.field-home-dashboard .field-projects-panel{gap:14px;display:grid}.field-home-dashboard .field-projects-head{gap:12px;margin-bottom:0;display:grid}.field-home-dashboard .field-empty{border-radius:12px;width:100%;font-size:13px;line-height:1.45}.field-home-dashboard .field-empty:empty{display:none}.field-home-dashboard .field-empty:not(:empty){background:#f8fafc;border:1px dashed #cbd5e1;padding:10px 12px}.field-home-dashboard .field-project-list{grid-template-columns:1fr;gap:12px;display:grid}.field-home-dashboard .field-project-card{text-align:left;color:inherit;cursor:pointer;background:linear-gradient(#fbfdff 0%,#f4f8fc 100%);border:1px solid #d6dde6;border-radius:18px;flex-direction:column;gap:14px;padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.field-home-dashboard .field-project-card:hover,.field-home-dashboard .field-project-card:focus-visible{border-color:#0f3b68;transform:translateY(-2px);box-shadow:0 18px 30px #0f3b681f}.field-home-dashboard .field-project-card-top,.field-home-dashboard .field-project-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-home-dashboard .field-project-card-body{gap:0;display:grid}.field-home-dashboard .field-project-count{color:#0f3b68;background:#e0ecf8;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.field-home-dashboard .field-project-facts{gap:8px;display:grid}.field-home-dashboard .field-project-card-body strong{font-size:20px;line-height:1.2}.field-home-dashboard .field-project-fact{background:#ffffffe6;border:1px solid #dbe4ee;border-radius:14px;gap:3px;padding:10px 12px;display:grid}.field-home-dashboard .field-project-fact-label,.field-home-dashboard .field-project-footer-label{letter-spacing:.06em;text-transform:uppercase;color:#60758a;font-size:11px;font-weight:700}.field-home-dashboard .field-project-fact-value,.field-home-dashboard .field-project-footer-value{color:#17212b;font-size:14px;line-height:1.35}.field-home-dashboard .field-project-card-footer{border-top:1px solid #dbe4ee;align-items:flex-end;padding-top:14px}.field-home-dashboard .field-project-update{gap:4px;display:grid}.field-home-dashboard .field-project-link{color:#0f3b68;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.field-home-dashboard .field-project-link:after{content:"›";font-size:18px;line-height:1}.field-home-dashboard .field-status-pill{border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.field-home-dashboard .field-status-pill[data-tone=success]{color:#166534;background:#dcfce7}.field-home-dashboard .field-status-pill[data-tone=warning]{color:#92400e;background:#fef3c7}.field-home-dashboard .field-status-pill[data-tone=danger]{color:#b91c1c;background:#fee2e2}.field-home-dashboard .field-status-pill[data-tone=accent]{color:#1d4ed8;background:#dbeafe}.field-home-dashboard .field-status-pill[data-tone=neutral]{color:#475569;background:#e2e8f0}@media (width>=721px){.field-home-dashboard{gap:16px}.field-home-dashboard .field-home-hero{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:end}.field-home-dashboard .field-home-actions-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.field-home-dashboard .field-home-toolbar{grid-template-columns:repeat(3,auto);width:auto}.field-home-dashboard .field-home-toolbar #fieldLogoutBtn{grid-column:auto}.field-home-dashboard .field-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-home-dashboard .field-summary-card:last-child{grid-column:auto}.field-home-dashboard .field-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.field-home-dashboard .field-greeting{font-size:30px}.field-home-dashboard .field-project-card-footer{align-items:center}}@media (width>=1080px){.field-home-dashboard .field-project-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.field-home-dashboard .field-planning-view{gap:8px;display:grid}.field-home-dashboard .field-planning-head{justify-content:center;align-items:center;display:flex}.field-home-dashboard .field-planning-head h2{margin:0;font-size:18px}.field-planning-week-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:10px 0;display:flex}.field-planning-week-nav-button{border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.field-planning-week-nav-label{color:#60758a;text-align:center;font-size:13px;font-weight:600}.field-planning-days{gap:0;display:grid}.field-dag-kaart{background:#fff;border:1px solid #d6dde6;border-radius:12px;margin:0 0 10px;overflow:hidden}.field-dag-kaart.is-vandaag{border:1.5px solid #16a34a}.field-dag-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.field-dag-naam-datum{gap:2px;display:grid}.field-dag-naam{font-size:14px;font-weight:500}.field-dag-datum{color:#66788a;font-size:12px}.field-vandaag-badge{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.2}.field-dag-project{border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;padding:10px 14px;display:flex}.field-project-dot{background:var(--dot-color,#c7d2fe);border-radius:50%;flex-shrink:0;width:10px;height:10px}.field-project-info{flex:1;gap:2px;display:grid}.field-project-naam{font-size:14px}.field-project-gepland{color:#66788a;font-size:12px}.field-uren-invoer{background:#f8fafc;align-items:center;gap:8px;padding:8px 14px;display:flex}.field-uren-label{color:#60758a;white-space:nowrap;font-size:12px}.field-uren-input{text-align:center;border:1px solid #d5e0eb;border-radius:8px;width:60px;padding:6px;font-size:14px}.field-uren-opslaan{border-radius:8px;flex:1;padding:8px;font-size:13px}.field-dag-leeg{color:#66788a;padding:12px 14px;font-size:13px;font-style:italic}.field-planning-status{color:#66788a;text-align:center;min-height:36px;padding:8px;font-size:13px}.field-planning-status.is-error{color:#b91c1c}.field-home-dashboard .field-home-hero{gap:14px;padding:20px}.field-home-dashboard .field-home-worker{color:#edf5ff;font-size:15px}.field-home-dashboard .field-hero-copy{max-width:42ch;margin-top:8px}.field-home-dashboard .field-home-primary-grid{gap:10px;display:grid}.field-home-dashboard .field-home-utility-row{flex-wrap:wrap;gap:10px;display:flex}.field-home-dashboard .field-home-utility-row button{flex:120px}.field-home-dashboard .field-summary-grid{gap:10px}.field-home-dashboard .field-summary-card{gap:6px;padding:15px 16px}.field-home-dashboard .field-project-card{gap:10px;padding:15px 16px}.field-home-dashboard .field-project-card.is-priority{border-color:#0f3b68;box-shadow:0 20px 34px #0f3b681f}.field-home-dashboard .field-project-card[data-loading=true]{opacity:.72;box-shadow:none;transform:none}.field-home-dashboard .field-project-card-body{gap:6px}.field-home-dashboard .field-project-card-body p{margin:0}.field-home-dashboard .field-project-meta-primary{color:#35506a;font-size:14px;font-weight:600;line-height:1.35}.field-home-dashboard .field-project-meta-secondary{color:#60758a;font-size:13px;line-height:1.35}.field-home-dashboard .field-project-card-footer{align-items:center;padding-top:10px}.field-home-dashboard .field-project-link{color:#fff;background:#0f3b68;border-radius:999px;padding:8px 12px}.field-home-dashboard .field-project-link:after{font-size:15px}@media (width>=721px){.field-home-dashboard .field-home-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.field-home-dashboard .field-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-home-dashboard .field-summary-card:last-child{grid-column:1/-1}}.upload-exact-page{background:#f0f2f5;min-height:100vh;padding:12px;font-family:-apple-system,Arial,sans-serif}.upload-exact-page *{box-sizing:border-box;margin:0;padding:0}.upload-exact-page .header{color:#fff;border-radius:12px;margin-bottom:12px;padding:16px}.upload-exact-page .header h1{margin-bottom:2px;font-size:20px;font-weight:700}.upload-exact-page .header p{opacity:.85;font-size:13px}.upload-exact-page .notes-box{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-bottom:12px;padding:12px 14px;font-size:13px}.upload-exact-page .slot{background:#fff;border-radius:12px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 4px #00000014}.upload-exact-page .slot-title{text-transform:uppercase;letter-spacing:.6px;color:#888;padding:12px 14px 0;font-size:11px;font-weight:700}.upload-exact-page .slot-body{padding:10px 14px 14px}.upload-exact-page .preview-wrap{background:#f3f5f8;border-radius:8px;margin-bottom:10px;display:none;position:relative;overflow:hidden}.upload-exact-page .preview-wrap img{object-fit:contain;width:100%;max-height:240px;display:block}.upload-exact-page .remove-btn{color:#fff;cursor:pointer;text-align:center;background:#0000008c;border:none;border-radius:50%;width:28px;height:28px;padding:0;font-size:18px;line-height:26px;position:absolute;top:6px;right:6px}.upload-exact-page .btn-pick{color:#4a6080;cursor:pointer;text-align:center;background:#f8fafc;border:2px dashed #c0cad6;border-radius:10px;width:100%;padding:13px;font-size:14px;font-weight:600;display:block}.upload-exact-page .btn-pick.filled{color:#15803d;background:#f0fdf4;border-style:solid;border-color:#86efac}.upload-exact-page .upload-source-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.upload-exact-page .btn-submit{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:12px;width:100%;margin-top:4px;padding:15px;font-size:16px;font-weight:700;display:block}.upload-exact-page .btn-submit:disabled{cursor:not-allowed;background:#9ca3af}.upload-exact-page .progress-box{text-align:center;color:#555;background:#fff;border-radius:12px;margin-bottom:10px;padding:20px;font-size:14px;display:none}.upload-exact-page .bar-wrap{background:#e5e7eb;border-radius:99px;height:8px;margin-top:12px;overflow:hidden}.upload-exact-page .bar{background:#16a34a;border-radius:99px;width:0;height:8px;transition:width .3s}.upload-exact-page .done-box{text-align:center;background:#fff;border-radius:14px;padding:40px 20px;display:none;box-shadow:0 2px 12px #00000014}.upload-exact-page .done-box .icon{margin-bottom:12px;font-size:56px}.upload-exact-page .done-box h2{color:#16a34a;margin-bottom:8px;font-size:22px}.upload-exact-page .done-box p{color:#666;font-size:14px;line-height:1.6}.upload-exact-page .error-box{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin-bottom:10px;padding:12px 14px;font-size:13px;display:none}.upload-exact-page .invalid-box{text-align:center;color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;padding:40px 20px}.upload-exact-page input[type=file]{display:none}.upload-exact-page .upload-nav-box{margin-bottom:10px;display:none}.upload-exact-page .upload-back-btn{color:#0f3b68;background:#fff;border:1px solid #d6dde6;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700}.upload-exact-page .upload-back-btn:hover{background:#f0f5ff}.upload-exact-page .upload-list-box{background:#fff;border:1px solid #d6dde6;border-radius:12px;margin-bottom:12px;padding:12px;display:none}.upload-exact-page .upload-list-intro{color:#66788a;margin-bottom:10px;font-size:12px}.upload-exact-page .upload-list-scroll{flex-direction:column;gap:8px;max-height:48vh;padding-right:2px;display:flex;overflow:auto}.upload-exact-page .upload-list-card{background:#f8fafc;border:1px solid #e5e9ef;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.upload-exact-page .upload-list-badge{color:#fff;background:#0f3b68;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.upload-exact-page .upload-list-body{min-width:0}.upload-exact-page .upload-list-title{color:#17212b;margin:0;font-size:13px;font-weight:700;line-height:1.3}.upload-exact-page .upload-list-address,.upload-exact-page .upload-list-opdracht{color:#334155;margin-top:2px;font-size:11px;font-weight:700;line-height:1.3}.upload-exact-page .upload-list-meta,.upload-exact-page .upload-list-info{color:#64748b;margin-top:2px;font-size:11px;line-height:1.3}.upload-exact-page .upload-list-open{color:#fff;cursor:pointer;white-space:nowrap;background:#0f3b68;border:none;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700}.upload-exact-page .upload-list-open:hover{background:#123f6e}.upload-exact-page .done-back-btn{color:#fff;cursor:pointer;background:#0f3b68;border:none;border-radius:10px;margin-top:14px;padding:10px 14px;font-size:13px;font-weight:700}.upload-exact-page .done-back-btn:hover{background:#123f6e}.upload-exact-page .upload-hours-panel{background:#fff;border:1px solid #d6dde6;border-radius:12px;margin-top:14px;padding:12px}.upload-exact-page .upload-hours-header h2{color:#0f3b68;margin:0;font-size:16px}.upload-exact-page .upload-hours-header p{color:#66788a;margin:6px 0 12px;font-size:12px}.upload-exact-page .upload-hours-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.upload-exact-page .upload-hours-actions button{flex:180px}.upload-exact-page .upload-hours-status{color:#475569;min-height:18px;margin-top:8px;font-size:12px}.upload-exact-page .upload-hours-status.error{color:#b42318}.upload-exact-page .upload-home{background:#fff;border:1px solid #d6dde6;border-radius:18px;margin-bottom:12px;padding:18px;display:none;box-shadow:0 14px 32px #0f274214}.upload-exact-page .upload-home-welcome{gap:10px;padding:6px 2px 2px;display:grid}.upload-exact-page .upload-home-greeting{letter-spacing:.12em;text-transform:uppercase;color:#60758a;font-size:12px;font-weight:800}.upload-exact-page .upload-home-welcome h2{color:#0f3b68;margin:0;font-size:30px;line-height:1.05}.upload-exact-page .upload-home-welcome p{color:#66788a;margin:0;font-size:14px;line-height:1.45}.upload-exact-page .upload-home-identity{background:linear-gradient(#eff6ff,#f8fbff);border:1px solid #dbe8f4;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.upload-exact-page .upload-home-identity-name{color:#17212b;font-size:15px;font-weight:800}.upload-exact-page .upload-home-identity-meta{color:#60758a;font-size:12px}.upload-exact-page .upload-home-summary{flex-wrap:wrap;gap:10px;display:flex}.upload-exact-page .upload-home-summary-chip{text-align:left;background:#f8fafc;border:1px solid #dbe5ef;border-radius:14px;gap:2px;min-width:88px;padding:10px 12px;display:grid}.upload-exact-page .upload-home-summary-chip strong{color:#0f3b68;font-size:20px;line-height:1}.upload-exact-page .upload-home-summary-chip span{color:#60758a;font-size:12px}.upload-exact-page .upload-home-modules{grid-template-columns:1fr;gap:12px;margin-top:18px;display:grid}.upload-exact-page .upload-home-module-btn{color:#0f3b68;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #d6dde6;border-radius:16px;gap:6px;width:100%;padding:16px;display:grid;box-shadow:0 8px 20px #0f27420a}.upload-exact-page .upload-home-module-title{color:#0f3b68;font-size:17px;font-weight:800}.upload-exact-page .upload-home-module-copy{color:#5d6f82;font-size:13px;line-height:1.4}.upload-exact-page .upload-home-module-btn:hover{background:#eef6ff}.upload-exact-page .upload-home-module-btn:focus-visible{outline-offset:2px;outline:3px solid #0f3b682e}.upload-exact-page .upload-home-error{margin-top:10px}.upload-exact-page .upload-home-projects-panel{border-top:1px solid #e5e9ef;margin-top:14px;padding-top:12px;display:none}.upload-exact-page .upload-home-projects-head,.upload-exact-page .upload-home-project-detail-head,.upload-exact-page .upload-hours-head-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.upload-exact-page .upload-home-projects-head h3,.upload-exact-page .upload-home-project-detail-head h3{color:#0f3b68;margin:0;font-size:16px}.upload-exact-page .upload-home-projects-head button,.upload-exact-page #uploadHomeBackFromHoursBtn,.upload-exact-page .upload-home-project-detail-head button{color:#0f3b68;cursor:pointer;background:#fff;border:1px solid #d6dde6;border-radius:8px;padding:8px 10px;font-size:12px}.upload-exact-page .upload-home-projects-status{color:#66788a;margin:0 0 10px;font-size:12px}.upload-exact-page .upload-home-projects-list{flex-direction:column;gap:8px;display:flex}.upload-exact-page .upload-home-project-card,.upload-exact-page .upload-home-project-detail-panel{background:#f8fafc;border:1px solid #d6dde6;border-radius:10px;padding:10px}.upload-exact-page .upload-home-project-card h3{color:#17212b;margin:0;font-size:14px}.upload-exact-page .upload-home-project-meta{color:#64748b;margin:6px 0 0;font-size:12px}.upload-exact-page .upload-home-project-actions,.upload-exact-page .upload-home-project-detail-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.upload-exact-page .upload-home-project-actions a,.upload-exact-page .upload-home-project-actions button,.upload-exact-page .upload-home-project-detail-actions a{color:#0f3b68;cursor:pointer;background:#fff;border:1px solid #0f3b68;border-radius:8px;justify-content:center;align-items:center;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.upload-exact-page .upload-home-project-detail-meta{color:#64748b;margin-top:6px;font-size:12px}.upload-exact-page .upload-home-project-detail-body{gap:6px;margin-top:10px;display:grid}.upload-exact-page .upload-home-project-detail-row{justify-content:space-between;gap:10px;font-size:12px;display:flex}.upload-exact-page #uploadHomeBackFromHoursBtn{display:none}.upload-exact-page #appWrap.home-mode #uploadHome{display:block}.upload-exact-page #appWrap.home-mode #uploadListWrap,.upload-exact-page #appWrap.home-mode #notesBox,.upload-exact-page #appWrap.home-mode #slotsWrap,.upload-exact-page #appWrap.home-mode #progressBox,.upload-exact-page #appWrap.home-mode #btnSubmit,.upload-exact-page #appWrap.home-mode #jumpToUploadHoursBtn,.upload-exact-page #appWrap.home-mode #uploadHoursPanel{display:none!important}.upload-exact-page #appWrap.home-mode.home-projects-active .upload-home-modules{display:none}.upload-exact-page #appWrap.home-mode.home-projects-active #uploadHomeProjectsPanel{display:block}.upload-exact-page #appWrap.home-mode.home-hours-active #uploadHome{display:none}.upload-exact-page #appWrap.home-mode.home-hours-active #uploadHoursPanel{display:block!important}.upload-exact-page #appWrap.home-mode.home-hours-active #uploadHomeBackFromHoursBtn{display:inline-flex}@media (width<=640px){.upload-exact-page #appWrap.home-mode.home-hours-active #uploadHoursPanel{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 24px);padding-bottom:22px;overflow-y:auto}}@media (width>=760px){.upload-exact-page .upload-home{padding:24px}.upload-exact-page .upload-home-welcome h2{font-size:34px}.upload-exact-page .upload-home-modules{grid-template-columns:1fr 1fr}}.planning-page-root{min-width:0;color:inherit;gap:16px;display:grid}.planning-page-root *{box-sizing:border-box}.planning-page-root .planning-panel{background:var(--color-background-primary);border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);padding:16px}.planning-page-root .planning-subheader{background:var(--color-background-primary);border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);gap:0;padding:0 16px;display:grid}.planning-page-root .planning-subheader-row{justify-content:space-between;align-items:stretch;gap:12px;min-height:62px;display:flex}.planning-page-root .planning-panel h2{margin:0 0 12px;font-size:17px}.planning-page-root .planning-status,.planning-page-root .planning-row-meta,.planning-page-root .planning-empty,.planning-page-root .planning-project-number,.planning-page-root .planning-metric-label{color:#60758a}.planning-page-root .planning-status{display:none}.planning-page-root .planning-status.planning-danger,.planning-page-root .planning-danger{color:#b42318}.planning-page-root .planning-status.planning-danger{background:#fff1f2;border-color:#fecdd3}.planning-page-root .planning-subheader-tabs{align-items:stretch;gap:18px;display:flex}.planning-page-root .planning-subheader-tab{color:#60758a;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;min-height:60px;padding:0;font-weight:600}.planning-page-root .planning-subheader-tab:hover{color:var(--ui-accent);background:0 0;border-color:#0000;transform:none}.planning-page-root .planning-subheader-tab.is-active{color:var(--ui-accent);border-bottom-color:var(--ui-accent)}.planning-page-root .planning-subheader-context{align-items:center;gap:8px;display:flex}.planning-page-root .planning-subheader-context[hidden]{display:none}.planning-page-root .planning-week-toolbar{border-top:1px solid var(--ui-line);flex-wrap:wrap;justify-content:space-between;gap:14px;min-height:72px;padding:10px 0}.planning-page-root .planning-week-toolbar-main{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.planning-page-root .planning-week-title-block{gap:2px;min-width:142px;display:grid}.planning-page-root .planning-week-nav-controls{align-items:center;gap:8px;display:inline-flex}.planning-page-root .planning-week-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.planning-page-root .planning-week-loading-indicator{color:var(--color-text-tertiary);font-size:12px}.planning-page-root .project-list-filter{align-items:center;margin:0;display:inline-flex}.planning-page-root .project-list-filter select{width:auto;min-width:168px;max-width:240px;padding:8px 30px 8px 10px;font-size:13px}.planning-page-root .planning-week-nav-button{border-radius:var(--ui-radius-md);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.planning-page-root .planning-week-today-button{padding:8px 12px}.planning-page-root button{border:1px solid var(--ui-line);color:#17212b;border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;background:#fff;padding:10px 14px;transition:background .15s,border-color .15s,transform .15s}.planning-page-root button:hover{background:#f8fafc;border-color:#bfd0e0;transform:translateY(-1px)}.planning-page-root button.primary{background:var(--ui-accent);color:#fff;border-color:var(--ui-accent)}.planning-page-root button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.planning-page-root .planning-week-icon-button .ui-icon{stroke-width:2px;width:16px;height:16px}.planning-page-root .planning-metric-label,.planning-page-root .planning-project-number{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.planning-page-root .planning-metric-value{font-size:30px;line-height:1}.planner-topbar-tools .planning-topbar-action{border-radius:var(--ui-radius-md);min-height:40px;font:inherit;cursor:pointer;padding:.7rem .95rem}.planner-topbar-tools .planning-topbar-action-primary{border-color:var(--ui-accent);background:var(--ui-accent);color:#fff}.planner-topbar-tools .planning-topbar-action-primary:hover{border-color:var(--ui-accent-hover);background:var(--ui-accent-hover);color:#fff}.planning-page-root .planning-content{gap:16px;display:grid}.planning-page-root .planning-tab-panel[hidden]{display:none}.planning-page-root .planning-main{gap:16px;display:grid}.planning-page-root .planning-list{gap:12px;display:grid}.planning-page-root .planning-row{border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:#f8fafc;padding:14px}.planning-page-root .planning-project-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.planning-page-root .planning-project-toggle{text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;display:flex}.planning-page-root .planning-project-toggle:hover{background:0 0;border-color:#0000;transform:none}.planning-page-root .planning-project-heading{gap:0;min-width:0;display:grid}.planning-page-root .planning-project-title{font-size:14px;font-weight:700;line-height:1.3}.planning-page-root .planning-project-summary-right{align-items:center;gap:14px;margin-left:auto;display:inline-flex}.planning-page-root .planning-project-member-summary{align-items:center;gap:8px;display:inline-flex}.planning-page-root .planning-project-member-label{color:#60758a;font-size:12px;font-weight:600}.planning-page-root .planning-project-member-count{min-width:24px;height:24px;color:var(--ui-accent);background:#f4f8fc;border:1px solid #bfd0e0;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.planning-page-root .planning-project-chevron{border-bottom:2px solid #60758a;border-right:2px solid #60758a;width:10px;height:10px;transition:transform .15s;transform:rotate(45deg)}.planning-page-root .planning-project-card.is-expanded .planning-project-chevron{transform:rotate(-135deg)}.planning-page-root .planning-project-card .planning-dashed-add-row{margin-top:14px}.planning-page-root .planning-row-meta,.planning-page-root .planning-empty{font-size:13px;line-height:1.45}.planning-page-root .planning-assignment-grid{border-top:1px solid #dbe4ee;gap:10px;margin-top:10px;padding-top:14px;display:grid}.planning-page-root .planning-assignment-grid[hidden]{display:none}.planning-page-root .planning-assignment-grid-v2{gap:12px}.planning-page-root .planning-assignment-label-heading{letter-spacing:.08em;text-transform:uppercase;color:#7b8b9d;margin:0;font-size:11px;font-weight:700}.planning-page-root .planning-assigned-group-heading{color:#465a6d;align-items:center;gap:8px;margin:2px 0;font-size:12px;display:inline-flex}.planning-page-root .planning-assigned-group-heading strong{color:#17212b;font-size:13px}.planning-page-root .planning-crew-chip{background:var(--planning-crew-color,#3b82f6);border:1px solid color-mix(in srgb, var(--planning-crew-color,#3b82f6) 65%, #fff 35%);border-radius:999px;width:10px;height:10px}.planning-page-root .planning-assigned-row{border-radius:var(--ui-radius-lg);background:#fff;border:1px solid #dbe4ee;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.planning-page-root .planning-assigned-identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.planning-page-root .planning-assigned-identity span{gap:3px;display:grid}.planning-page-root .planning-assigned-identity strong{font-size:14px}.planning-page-root .planning-assigned-identity small{color:#60758a;font-size:12px}.planning-page-root .planning-avatar{--avatar-color:var(--ui-accent);color:#fff;background:var(--avatar-color);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.planning-page-root .planning-remove-link{color:#b42318;background:#fff;border-color:#fecaca;padding:8px 12px}.planning-page-root .planning-dashed-add-row{border-style:solid;justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.planning-page-root .planning-dashed-add-plus{border:1px dashed;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-weight:700;display:inline-flex}.planning-page-root .planning-empty{border-radius:var(--ui-radius-lg);background:#fff;border:1px dashed #cbd5e1;padding:14px}.planning-page-root .planning-empty-compact{padding:10px 12px}.planning-page-root .planning-worker-overview-row{border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:#f8fafc;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.planning-page-root .planning-worker-meta-stack small:empty{display:none}.planning-page-root .planning-active-dot{background:#cbd5e1;border-radius:999px;width:10px;height:10px}.planning-page-root .planning-active-dot.is-active{background:#16a34a}.planning-page-root .planning-workers-note{color:#7b8b9d;margin:2px 4px 0;font-size:12px}@media (width>=900px){.planning-page-root .planning-main{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}}.planning-page-root .planning-week-conflict-banner{color:#b42318;border-radius:var(--ui-radius-md);background:#fff1f2;border:1px solid #fca5a5;margin-bottom:10px;padding:8px 10px;font-size:13px;line-height:1.4}.planning-page-root .planning-week-days-grid{grid-template-columns:minmax(240px,2fr) repeat(6,minmax(0,1fr)) 70px;align-items:end;gap:6px;margin-bottom:10px;display:grid}.planning-page-root .planning-week-days-grid-inline{margin-bottom:4px}.planning-page-root .planning-week-days-spacer{min-height:1px}.planning-page-root .planning-week-day-head,.planning-page-root .planning-week-total-head{text-transform:uppercase;letter-spacing:.06em;color:#60758a;padding:0 6px;font-size:11px;font-weight:700}.planning-page-root .planning-week-total-head{text-align:right}.planning-page-root .planning-week-groups{gap:10px;display:grid}.planning-page-root .planning-week-group{border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);background:#fff;border:1px solid #dbe4ee;overflow:hidden}.planning-page-root .planning-week-project-header{background:color-mix(in srgb, var(--project-color,#cbd5e1) 22%, #fff 78%);width:100%;color:color-mix(in srgb, var(--project-color,var(--ui-accent)) 70%, #17212b 30%);border:0;border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 12px;display:flex}.planning-page-root .planning-week-project-left{align-items:center;gap:8px;min-width:0;display:inline-flex}.planning-page-root .planning-week-project-header-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:0;display:flex}.planning-page-root .planning-week-project-header-main:hover{background:0 0;border:0;transform:none}.planning-page-root .planning-week-project-dot{background:var(--project-color,var(--ui-accent));border-radius:999px;flex-shrink:0;width:10px;height:10px}.planning-page-root .planning-week-project-name{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.planning-page-root .planning-week-project-badge{border:1px solid color-mix(in srgb, var(--project-color,var(--ui-accent)) 35%, #dbe4ee 65%);color:var(--ui-accent);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.planning-page-root .planning-week-project-functies{color:#60758a;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.planning-page-root .planning-week-project-toggle-icon{border-radius:var(--ui-radius-md);border:.5px solid color-mix(in srgb, currentColor 45%, transparent 55%);width:26px;height:26px;min-height:26px;color:inherit;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.planning-page-root .planning-week-project-toggle-icon:hover{background:color-mix(in srgb, currentColor 9%, transparent 91%);border-color:color-mix(in srgb, currentColor 62%, transparent 38%);transform:none}.planning-page-root .planning-week-project-toggle-icon .ui-icon{stroke-width:2px;width:16px;height:16px}.planning-page-root .planning-week-project-delta{font-weight:700}.planning-page-root .planning-week-project-delta--over{color:#a16207}.planning-page-root .planning-week-project-delta--under{color:#0c447c}.planning-page-root .planning-week-project-delta--match{color:#047857}.planning-page-root .planning-week-project-header-neutral{--project-color:#cbd5e1;color:#334155}.planning-page-root .planning-week-project-header.is-sortable-drop-target{box-shadow:inset 0 0 0 2px var(--ui-accent)}.planning-page-root .planning-week-group-body{gap:8px;padding:10px 10px 12px;display:grid}.planning-page-root .planning-week-worker-row{grid-template-columns:minmax(240px,2fr) repeat(6,minmax(0,1fr)) 70px;align-items:stretch;gap:6px;display:grid}.planning-page-root .planning-week-worker-info{border-radius:var(--ui-radius-md);background:#fff;border:1px solid #dbe4ee;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.planning-page-root .planning-week-worker-handle{cursor:grab;grid-template-columns:auto minmax(0,1fr) auto}.planning-page-root .planning-week-worker-handle:active{cursor:grabbing}.planning-page-root .planning-week-worker-info>span,.planning-page-root .planning-week-worker-copy{gap:2px;min-width:0;display:grid}.planning-page-root .planning-week-worker-info strong{font-size:13px;font-weight:500;line-height:1.2}.planning-page-root .planning-week-worker-info small{color:#60758a;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;line-height:1.2;display:block;overflow:hidden}.planning-page-root .planning-week-worker-dragger{color:#94a3b8;letter-spacing:1px;font-size:14px;line-height:1}.planning-page-root .planning-week-worker-row.is-sortable-row-ghost .planning-week-worker-info,.planning-page-root .planning-week-worker-row.is-sortable-row-ghost .planning-week-cell,.planning-page-root .planning-week-worker-row.is-sortable-row-ghost .planning-week-worker-total{box-shadow:inset 0 0 0 1.5px #93c5fd}.planning-page-root .planning-week-worker-functie{color:#17212b;white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:100%;font-weight:500;display:inline-block;overflow:hidden}.planning-page-root .planning-week-worker-bedrijf,.planning-page-root .planning-week-worker-dot,.planning-page-root .planning-week-worker-company-only{color:#60758a;font-weight:400}.planning-page-root .planning-week-cell{border-radius:var(--ui-radius-md);background:#fff;border:1px dashed #bfd0e0;justify-content:stretch;align-items:stretch;min-height:56px;display:flex;position:relative;overflow:visible}.planning-page-root .planning-week-cell-filled{border-style:solid;border-color:color-mix(in srgb, var(--cell-primary-color,var(--project-color,#cbd5e1)) 40%, var(--ui-line) 60%);background:color-mix(in srgb, var(--cell-primary-color,var(--project-color,#cbd5e1)) 18%, #fff 82%);color:color-mix(in srgb, var(--cell-primary-color,var(--ui-accent)) 72%, var(--color-text-primary) 28%);cursor:grab}.planning-page-root .planning-week-container.is-fill-pointer-dragging .planning-week-cell-filled{cursor:grabbing}.planning-page-root .planning-week-cell-disabled{background:#f8fafc;border-color:#e2e8f0}.planning-page-root .planning-week-cell.is-fill-source{box-shadow:inset 0 0 0 2px var(--ui-accent)}.planning-page-root .planning-week-cell.is-fill-range:not(.is-fill-source){box-shadow:inset 0 0 0 1.5px var(--ui-accent)}.planning-page-root .planning-week-add-cell{border-radius:var(--ui-radius-md);text-align:center;color:#3b556f;background:#fff;border:0;justify-content:center;align-items:center;width:100%;height:100%;min-height:100%;margin:0;padding:8px 6px;font-size:12px;font-weight:600;display:flex}.planning-page-root .planning-week-add-cell:hover{color:#17212b;background:#f3f7fb;border:0;transform:none}.planning-page-root .planning-week-entry-btn{border-radius:var(--ui-radius-md);background:color-mix(in srgb, var(--project-color,#cbd5e1) 22%, #fff 78%);width:100%;color:color-mix(in srgb, var(--project-color,var(--ui-accent)) 80%, #17212b 20%);text-align:center;border:0;padding:8px 6px;font-size:12px;font-weight:600}.planning-page-root .planning-week-entry-btn:hover{background:color-mix(in srgb, var(--project-color,#cbd5e1) 30%, #fff 70%);border:0;transform:none}.planning-page-root .planning-week-entry-btn.is-conflict{color:#b42318;background:#fee2e2}.planning-page-root .planning-week-cell-summary-btn{border-radius:var(--ui-radius-md);text-align:left;width:100%;height:100%;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:stretch;margin:0;padding:6px;display:flex}.planning-page-root .planning-week-cell-summary-btn:hover{background:0 0;border:0;transform:none}.planning-page-root .planning-week-cell-summary-btn.is-conflict,.planning-page-root .planning-week-cell-summary-btn.is-conflict:hover{color:#b42318;background:#fee2e2}.planning-page-root .planning-week-cell-plan{gap:4px;width:100%;min-width:0;font-size:12px;line-height:1.3;display:grid;position:relative}.planning-page-root .planning-week-cell-bookings{gap:4px;min-width:0;display:grid}.planning-page-root .planning-week-cell-booking{border-radius:var(--ui-radius-sm);border:1px solid color-mix(in srgb, var(--booking-color,var(--project-color,#cbd5e1)) 42%, var(--ui-line) 58%);background:color-mix(in srgb, var(--booking-color,var(--project-color,#cbd5e1)) 18%, #fff 82%);align-items:center;gap:6px;min-width:0;padding:3px 5px;font-size:12px;line-height:1.3;display:flex}.planning-page-root .planning-week-cell-booking+.planning-week-cell-booking{margin-top:0}.planning-page-root .planning-week-cell-booking-dot{background:var(--booking-color,var(--project-color));border-radius:999px;flex-shrink:0;width:6px;height:6px}.planning-page-root .planning-week-cell-booking-hours{color:color-mix(in srgb, var(--booking-color,var(--cell-primary-color,var(--ui-accent))) 70%, var(--color-text-primary) 30%);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.planning-page-root .planning-week-cell-booking-project{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:color-mix(in srgb, var(--booking-color,var(--cell-primary-color,var(--ui-accent))) 52%, var(--color-text-primary) 48%);font-size:11px;overflow:hidden}.planning-page-root .planning-week-cell-total-badge{color:var(--ui-muted);font-size:11px;font-weight:500;position:absolute;top:0;right:0}.planning-page-root .planning-week-worker-total{border-radius:var(--ui-radius-md);color:#334155;background:#f8fafc;border:1px solid #dbe4ee;justify-content:flex-end;align-items:center;padding:0 10px;font-size:13px;font-weight:600;display:flex}.planning-page-root .planning-week-empty{margin-top:0}.planning-page-root .planning-week-legend{color:#465a6d;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;font-size:12px;display:flex}.planning-page-root .planning-week-legend .sw{vertical-align:-1px;border:1px solid #0000;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.planning-page-root .planning-week-legend .sw-planned{background:#e6f1fb;border-color:#85b7eb}.planning-page-root .planning-week-legend .sw-match{background:#e1f5ee;border-color:#5dcaa5}.planning-page-root .planning-week-legend .sw-over{background:#faeeda;border-color:#ef9f27}.planning-page-root .planning-week-legend .sw-under{background:#faece7;border-color:#f0997b}.planning-page-root .planning-week-legend .sw-unplanned{background:#fef3c7;border-color:#f5c471}.planning-page-root .planning-week-cell--planned .planning-week-cell-real{color:var(--color-text-info)}.planning-page-root .planning-week-cell--match .planning-week-cell-real{color:var(--color-text-success)}.planning-page-root .planning-week-cell--over .planning-week-cell-real,.planning-page-root .planning-week-cell--under .planning-week-cell-real,.planning-page-root .planning-week-cell--unplanned .planning-week-cell-real{color:var(--color-text-warning)}.planning-page-root .planning-week-cell--conflict{background:color-mix(in srgb, var(--ui-danger) 18%, #fff 82%);border-color:color-mix(in srgb, var(--ui-danger) 40%, var(--ui-line) 60%);color:var(--ui-danger);border-style:solid}.planning-page-root .planning-week-cell-real{opacity:.78;color:var(--color-text-secondary);margin-top:2px;font-size:10px;line-height:1.1}.planning-page-root .planning-week-footer-caption{color:var(--color-text-tertiary);margin:10px 0 0;font-size:12px;line-height:1.4}@media (prefers-color-scheme:dark){.planning-page-root .planning-week-cell-filled{background:color-mix(in srgb, var(--cell-primary-color,var(--project-color,#cbd5e1)) 28%, #fff 72%)}.planning-page-root .planning-week-cell-booking{background:color-mix(in srgb, var(--booking-color,var(--project-color,#cbd5e1)) 30%, #fff 70%)}}.planning-select-dialog{z-index:1400;display:none;position:fixed;inset:0}.planning-select-dialog.is-visible{display:block}.planning-select-dialog__backdrop{background:#0f172a73;position:absolute;inset:0}.planning-select-dialog__sheet{border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);width:min(92vw,560px);max-height:min(86vh,760px);box-shadow:var(--ui-shadow-sm);background:#fff;padding:18px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.planning-select-dialog__title{color:#102a43;margin:0;font-size:1.1rem}.planning-select-dialog__description{color:#60758a;margin:.5rem 0 0;line-height:1.5}.planning-select-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.planning-week-dialog-form{gap:.8rem;margin-top:.9rem;display:grid}.planning-week-dialog-field{gap:.35rem;display:grid}.planning-week-dialog-field span{color:#60758a;font-size:12px}.planning-week-dialog-field input,.planning-week-dialog-field select,.planning-week-dialog-field textarea{border-radius:var(--ui-radius-md);width:100%;font:inherit;background:#fbfdff;border:1px solid #d7e2ed;padding:.65rem .75rem}.planning-week-dialog-error{color:#b42318;margin-top:.1rem;font-size:12px;line-height:1.35}.planning-week-dialog-danger-row{justify-content:flex-end;margin-top:.25rem;display:flex}.planning-week-dialog-delete{color:#b42318;background:#fff1f2;border-color:#fecaca}.planning-week-remove-modal__body{gap:10px;display:grid}.planning-week-remove-modal__warning{color:#8d5a00;border-radius:var(--ui-radius-md);background:#fff8db;border:1px solid #f0b429;padding:8px 10px;font-size:13px;font-weight:600;line-height:1.4}.planning-select-dialog__actions .ui-confirm-ok--danger{color:#fff;background:#a32d2d;border-color:#a32d2d}.planning-week-worker-context-menu__remove{border-radius:var(--ui-radius-sm);color:#a32d2d;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 10px}.planning-week-worker-context-menu__remove:hover{background:#fef2f2}.planning-page-root .planning-week-add-worker-btn{border:1px solid var(--project-border,var(--color-border-tertiary));background:var(--project-text,var(--color-text-primary));color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;height:28px;padding:0 12px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.planning-page-root .planning-week-add-worker-btn:hover{background:color-mix(in srgb, var(--project-text,var(--color-text-primary)) 88%, #000 12%);border-color:var(--project-border,var(--color-border-tertiary));transform:none}.hours-page-root{min-height:100vh;color:var(--ui-ink);background:var(--ui-bg);margin:0}.hours-page-root *{box-sizing:border-box}.hours-page-root .hours-shell{gap:18px;padding:24px;display:grid}.hours-page-root .hours-panel{background:var(--color-background-primary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);border:1px solid #d0dbe8eb;padding:20px 22px}.hours-page-root .hours-panel h2{color:#102a43;margin:0;font-size:1.12rem}.hours-page-root .hours-lead,.hours-page-root .small{color:#5d7186;margin:0;font-size:13px;line-height:1.55}.hours-page-root .hours-actions,.hours-page-root .hours-filter-actions{flex-wrap:wrap;gap:10px;display:flex}.hours-page-root .hours-view-toggle{gap:10px;display:inline-flex}.hours-page-root .field{gap:7px;display:grid}.hours-page-root .field label{color:#35506a;font-size:13px;font-weight:600}.hours-page-root .field input,.hours-page-root .field select{border-radius:var(--ui-radius-md);background:#fff;border:1px solid #d5e0eb;width:100%;padding:12px 14px}.hours-page-root .field input:focus,.hours-page-root .field select:focus{outline-offset:1px;border-color:var(--ui-accent);background:#f8fbff;outline:3px solid #0f3b682e;box-shadow:0 0 0 5px #0f3b6824}.hours-page-root .hours-daily-summary,.hours-page-root .hours-status:not(:empty){background:#f8fbff;border:1px solid #d8e4f0;border-radius:14px;margin-top:12px;padding:12px 14px}.hours-page-root .hours-status.error{color:#991b1b;background:#fff1f2;border-color:#f3b5bc}.hours-page-root .hours-empty-cell{color:#6b7f94;text-align:center;background:#f8fbff;border-radius:14px;padding:14px 16px;font-weight:600}.hours-page-root .hours-table-wrap{overflow:auto}.hours-page-root .hours-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.hours-page-root .hours-table th,.hours-page-root .hours-table td{text-align:left;border-top:1px solid #e5e9ef;padding:7px 12px;font-size:13px}.hours-page-root .hours-table th{color:#50667b;letter-spacing:.04em;text-transform:uppercase;background:#f8fbff;font-size:11px;font-weight:700}.hours-page-root .hours-table tbody tr:nth-child(2n){background:#fbfdff}.hours-page-root .hours-week-row{cursor:pointer}.hours-page-root .hours-week-row:hover{background:var(--color-background-secondary)}.hours-page-root .hours-week-details-row{background:#f8fbff}.hours-page-root .hours-cell-booked,.hours-page-root .hours-cell-planned,.hours-page-root .hours-cell-submitted{font-variant-numeric:tabular-nums}.hours-page-root .hours-bulk-bar{align-items:center;gap:10px;margin-top:12px;margin-bottom:10px;display:flex}.hours-page-root .hours-match{border-radius:999px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-flex}.hours-page-root .hours-match--match{color:#04342c;background:#e1f5ee}.hours-page-root .hours-match--over{color:#633806;background:#faeeda}.hours-page-root .hours-match--under{color:#712b13;background:#faece7}.hours-page-root .hours-match--unplanned{color:#785014;background:#fef3c7}.hours-page-root .hours-align-right{text-align:right!important}.hours-page-root .ui-badge{text-transform:uppercase;letter-spacing:.04em;justify-content:center;min-width:106px}.hours-page-root .hours-approval-actions{white-space:nowrap;flex-wrap:nowrap;gap:8px;display:inline-flex}.hours-page-root .hours-approval-actions button,.hours-page-root .hours-approval-reject-wrap button{border-radius:var(--ui-radius-md);cursor:pointer;background:#fff;border:1px solid #d5e0eb;padding:8px 10px}.hours-page-root .hours-approval-actions button.primary,.hours-page-root .hours-approval-reject-wrap button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.hours-page-root .hours-approval-reject-wrap{gap:8px;margin-top:8px;display:grid}.hours-page-root .hours-approval-reject-wrap[hidden]{display:none!important}.hours-page-root .hours-reject-panel-row td{background:#f8fbff;border-top:none}.hours-page-root .hours-reject-panel{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.hours-page-root .hours-reject-panel label{color:#35506a;font-size:13px;font-weight:600}.hours-page-root .hours-reject-panel input[type=text]{border-radius:var(--ui-radius-md);background:#fff;border:1px solid #d5e0eb;flex:260px;min-width:220px;padding:8px 10px}.hours-page-root .hours-reject-panel button{border-radius:var(--ui-radius-md);cursor:pointer;background:#fff;border:1px solid #d5e0eb;padding:8px 10px}.hours-page-root .hours-reject-panel button.danger{color:#fff;background:#b91c1c;border-color:#b91c1c}.hours-page-root .hours-reject-panel-row[hidden]{display:none!important}.hours-page-root .hours-company-extra{color:#64748b;margin-left:4px;font-size:11px}.hours-page-root #hoursBulkApproveBtn:disabled{opacity:.45;cursor:not-allowed}.hours-page-root .hours-filters{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}@media (width<=800px){.hours-page-root .hours-shell{padding:14px}.hours-page-root .hours-filters{grid-template-columns:1fr}.hours-page-root .hours-actions,.hours-page-root .hours-filter-actions{width:100%}.hours-page-root .hours-actions button,.hours-page-root .hours-filter-actions button{flex:auto}}.hours-page-root .hours-sync-bar{border-radius:var(--ui-radius-md);color:#35506a;background:linear-gradient(90deg,#f8fbff,#f8fbff00);border:1px solid #d8e4f0;align-items:center;gap:10px;margin-bottom:14px;padding:10px 22px;font-size:13px;display:flex}.hours-page-root .hours-sync-dot{background:#64748b;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite hours-sync-pulse}.hours-page-root .hours-sync-meta{color:#64748b;margin-left:auto;font-size:12px}.hours-page-root .hours-sync-bar[data-sync-state=loading],.hours-page-root .hours-sync-bar[data-sync-state=info]{color:#35506a;background:linear-gradient(90deg,#f8fbff,#f8fbff00);border-color:#d8e4f0}.hours-page-root .hours-sync-bar[data-sync-state=loading] .hours-sync-dot,.hours-page-root .hours-sync-bar[data-sync-state=info] .hours-sync-dot{background:#64748b}.hours-page-root .hours-sync-bar[data-sync-state=loading] .hours-sync-meta,.hours-page-root .hours-sync-bar[data-sync-state=info] .hours-sync-meta{color:#64748b}.hours-page-root .hours-sync-bar[data-sync-state=synced]{color:#166534;background:linear-gradient(90deg,#dff7e6,#dff7e600);border-color:#a7d9b6}.hours-page-root .hours-sync-bar[data-sync-state=synced] .hours-sync-dot{background:#166534}.hours-page-root .hours-sync-bar[data-sync-state=synced] .hours-sync-meta{color:#4a6b54}.hours-page-root .hours-sync-bar[data-sync-state=error]{color:#991b1b;background:linear-gradient(90deg,#fff1f2,#fff1f200);border-color:#f3b5bc}.hours-page-root .hours-sync-bar[data-sync-state=error] .hours-sync-dot{background:#991b1b}.hours-page-root .hours-sync-bar[data-sync-state=error] .hours-sync-meta{color:#991b1b}.hours-page-root .hours-week-row.is-fresh td{background:#fbfdf5}.hours-page-root .hours-week-row.is-fresh td:nth-child(8):before{content:"zojuist · ";color:#166534;font-weight:700}@keyframes hours-sync-pulse{0%,to{opacity:1}50%{opacity:.35}}.productie-materieel-kpi-grid{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;padding:14px 16px;display:grid}.productie-materieel-dialog{color:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;z-index:1001;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(440px,100vw - 24px);max-width:440px;max-height:90vh;margin:0;padding:0;position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 16px 40px #00000040}.productie-materieel-dialog::backdrop{z-index:1000;background:#0006;position:fixed;inset:0}.productie-materieel-dialog .productie-stamdata-form{border-left:none;align-content:start;gap:0;min-width:0;max-width:none;padding:20px 22px;display:grid}.productie-materieel-dialog .productie-stamdata-form h3{color:#111827;margin:0 0 14px;font-size:18px;font-weight:500}.productie-materieel-dialog .productie-veld{gap:5px;margin-bottom:12px;display:grid}.productie-materieel-dialog .productie-veld span{letter-spacing:.4px;text-transform:uppercase;color:#374151;font-size:11px;font-weight:500}.productie-materieel-dialog .productie-veld input,.productie-materieel-dialog .productie-veld select,.productie-materieel-dialog .productie-veld textarea{box-sizing:border-box;width:100%;font:inherit;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:14px}.productie-materieel-dialog .productie-veld input::placeholder,.productie-materieel-dialog .productie-veld textarea::placeholder{color:#9ca3af}.productie-materieel-dialog .productie-veld input:focus,.productie-materieel-dialog .productie-veld select:focus,.productie-materieel-dialog .productie-veld textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.productie-materieel-dialog .productie-veld textarea{resize:vertical;min-height:64px}.productie-materieel-dialog .productie-form-acties{border-top:1px solid #f3f4f6;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:2px;padding-top:10px;display:flex}.productie-materieel-dialog .productie-form-acties button{color:#374151;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 18px;font-size:14px;transition:background .15s}.productie-materieel-dialog .productie-form-acties button:hover{background:#f3f4f6}.productie-materieel-dialog .productie-form-acties button.primary{color:#fff;background:#2563eb;border:none;padding:8px 20px}.productie-materieel-dialog .productie-form-acties button.primary:hover{background:#1d4ed8}.materieel-tabel{font-variant-numeric:tabular-nums}.field-hours-page .field-hours-top{box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;max-width:100%;display:flex}.field-hours-page .field-hours-top>:first-child{flex:auto;min-width:0}.field-hours-page .field-hours-top-actions{box-sizing:border-box;flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;max-width:100%;display:flex}.field-hours-page #fieldHoursBackBtn{box-sizing:border-box;white-space:nowrap;flex:none;justify-content:center;align-items:center;width:auto;min-width:44px;max-width:100%;min-height:44px;padding:8px 16px;display:inline-flex}.field-hours-page .field-hours-shell{max-width:28rem;margin:0 auto}.field-hours-page .field-hours-panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:1rem 1.15rem 1.35rem;position:relative;box-shadow:0 4px 24px #0f172a0f}.field-hours-page .field-hours-tabs{grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:1.15rem;display:grid}.field-hours-page .field-hours-tab{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #d0dbe8;border-radius:12px;min-height:44px;margin:0;font-size:.9rem;font-weight:600}.field-hours-page .field-hours-tab.is-active{color:#fff;background:#0f3b68;border-color:#0f3b68}.field-hours-page .field-hours-hidden-fields{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hours-page .field-hours-form{flex-direction:column;gap:1.1rem;display:flex}.field-hours-page .field-hours-block{flex-direction:column;gap:.45rem;display:flex}.field-hours-page .field-hours-block-split{grid-template-columns:1fr 1fr;gap:.85rem 1rem;display:grid}.field-hours-page .field-hours-split-item{flex-direction:column;gap:.4rem;min-width:0;display:flex}.field-hours-page .field-hours-label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:700}.field-hours-page .field-hours-label-static{margin-top:.35rem}.field-hours-page .field-hours-input{color:#0f172a;background:#fff;border:1px solid #d0dbe8;border-radius:12px;width:100%;margin:0;padding:.65rem .75rem;font-size:1rem}.field-hours-page .field-hours-hours{text-align:center;padding:.75rem .5rem;font-size:1.35rem;font-weight:700}.field-hours-page .field-hours-textarea{resize:vertical;min-height:4rem}.field-hours-page .field-hours-more{background:#f8fafc;border:0;border-radius:14px;margin:0;overflow:hidden}.field-hours-page .field-hours-more-summary{cursor:pointer;color:#475569;padding:.65rem .85rem;font-size:.85rem;font-weight:700;list-style:none}.field-hours-page .field-hours-more-summary::-webkit-details-marker{display:none}.field-hours-page .field-hours-more[open] .field-hours-more-summary{border-bottom:1px solid #e2e8f0}.field-hours-page .field-hours-more-body{flex-direction:column;gap:.5rem;padding:.75rem .85rem .9rem;display:flex}.field-hours-page .field-hours-receipt-row{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.field-hours-page .field-hours-receipt-row button{cursor:pointer;background:#fff;border:1px solid #d0dbe8;border-radius:12px;min-height:44px;font-weight:600}.field-hours-page .field-hours-receipt-list{margin-top:.25rem}.field-hours-page .field-hours-actions{margin-top:.25rem;padding-top:.5rem}.field-hours-page .field-hours-save{cursor:pointer;border:none;border-radius:14px;width:100%;min-height:52px;font-size:1rem;font-weight:700}@media (width<=720px){.field-hours-page .field-hours-top-actions{flex-wrap:nowrap;justify-content:flex-end;width:auto;margin-left:auto}.field-hours-page .field-hours-top-actions button{flex:none;width:auto;min-width:44px;max-width:100%;min-height:44px}.field-hours-page .field-hours-shell{max-width:none}.field-hours-page .field-hours-block-split{grid-template-columns:1fr}}.field-hours-page .field-time-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hours-page .field-time-trigger{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #d0dbe8;border-radius:12px;width:100%;min-height:52px;margin:0;font-size:1.35rem;font-weight:700}.field-hours-page .field-time-trigger.is-empty{color:#64748b;font-size:1rem;font-weight:600}.field-time-scroller-overlay{z-index:10000;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.field-time-scroller-backdrop{background:#0f172a70;position:absolute;inset:0}.field-time-scroller-sheet{background:#fff;border-radius:24px 24px 0 0;width:min(100%,28rem);max-height:92vh;padding:1rem 1rem 1.1rem;position:relative;box-shadow:0 -18px 40px #0f172a3d}.field-time-scroller-title{letter-spacing:.08em;text-transform:uppercase;color:#64748b;text-align:center;font-size:.8rem;font-weight:700}.field-time-scroller-value{color:#0f3b68;text-align:center;font-variant-numeric:tabular-nums;margin:.35rem 0 .75rem;font-size:2.6rem;font-weight:800;line-height:1}.field-time-scroller-columns{grid-template-columns:1fr 1fr;gap:.8rem;max-width:17rem;margin:0 auto;display:grid;position:relative}.field-time-scroller-columns:after{content:"";pointer-events:none;background:#0f3b6817;border-radius:14px;height:44px;position:absolute;top:88px;left:0;right:0}.field-time-scroller-wheel{scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#f8fafc;border-radius:18px;height:220px;padding:88px 0;overflow-y:auto}.field-time-scroller-wheel::-webkit-scrollbar{display:none}.field-time-scroller-item{color:#64748b;scroll-snap-align:center;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:44px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.field-time-scroller-item.is-selected{color:#0f3b68;font-size:1.45rem}.field-time-scroller-actions{grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-top:1rem;display:grid}.field-time-scroller-actions button{color:#0f3b68;cursor:pointer;background:#fff;border:1px solid #d0dbe8;border-radius:12px;min-height:46px;font-weight:700}.field-time-scroller-actions .primary{color:#fff;background:#0f3b68;border-color:#0f3b68}.field-planning-page .field-planning-top{box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;max-width:100%;display:flex}.field-planning-page .field-planning-top>:first-child{flex:auto;min-width:0}.field-planning-page .field-planning-top-actions{box-sizing:border-box;flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;max-width:100%;display:flex}.field-planning-page #fieldPlanningBackBtn{cursor:pointer;white-space:nowrap;box-sizing:border-box;color:#0f3b68;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;width:auto;min-width:44px;max-width:100%;min-height:44px;padding:8px 16px;font-size:13px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 8px 24px #0f172a1f}.field-planning-page .field-planning-shell{max-width:28rem;margin:0 auto}.field-planning-page .field-planning-panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:1rem 1.15rem 1.35rem;box-shadow:0 4px 24px #0f172a0f}.field-planning-page .field-planning-week-nav{margin-bottom:.75rem}.field-planning-page .field-planning-days{gap:0;margin-bottom:.25rem;display:grid}.field-planning-page .field-planning-status{color:#66788a;text-align:center;min-height:36px;padding:8px;font-size:13px}.field-planning-page .field-planning-status.is-error{color:#b91c1c}.field-planning-page #fieldPlanningBackBtn:hover{transform:translateY(-1px)}.field-planning-page #fieldPlanningBackBtn:disabled{box-shadow:none;cursor:not-allowed;background:#9ca3af;transform:none}@media (width<=720px){.field-planning-page{grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-height:100dvh;padding:10px 10px 12px;display:grid}.field-planning-page .field-planning-top{border-radius:14px;gap:10px;margin-bottom:0;padding:12px 14px}.field-planning-page .field-title{font-size:18px}.field-planning-page .field-subtitle{font-size:12px;line-height:1.2}.field-planning-page #fieldPlanningBackBtn{border-radius:10px;min-height:36px;padding:6px 12px;font-size:12px}.field-planning-page .field-planning-shell{max-width:none;min-height:0}.field-planning-page .field-planning-panel{border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;gap:4px;height:100%;padding:.65rem .8rem .75rem;display:grid}.field-planning-page .field-planning-week-nav{gap:6px;margin-bottom:0;padding:2px 0 4px}.field-planning-page .field-planning-week-nav-button{width:32px;height:32px}.field-planning-page .field-planning-week-nav-label{font-size:12px}.field-planning-page .field-planning-days{min-height:0}.field-planning-page .field-dag-kaart{border-radius:10px;margin:0 0 6px}.field-planning-page .field-dag-header{padding:7px 10px}.field-planning-page .field-dag-naam{font-size:13px;line-height:1.15}.field-planning-page .field-dag-datum{font-size:11px}.field-planning-page .field-vandaag-badge{padding:2px 6px;font-size:9px}.field-planning-page .field-dag-leeg{padding:8px 10px;font-size:12px}.field-planning-page .field-planning-status{min-height:0;padding:2px 0 0;font-size:12px}.field-planning-page .field-planning-days.is-empty-week{grid-template-rows:repeat(5,minmax(0,1fr));gap:6px;display:grid}.field-planning-page .field-planning-days.is-empty-week .field-dag-kaart{grid-template-rows:auto minmax(0,1fr);height:100%;margin:0;display:grid}.field-planning-page .field-planning-days.is-empty-week .field-dag-leeg{align-items:center;padding-block:6px;display:flex}}.field-hours-page .field-hours-overview{flex-direction:column;gap:1rem;margin-top:.35rem;display:flex}.field-hours-page .field-hours-week-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:.65rem;padding:.8rem .9rem;display:flex}.field-hours-page .field-hours-week-nav{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.field-hours-page .field-hours-week-nav button{color:#0f3b68;cursor:pointer;background:#fff;border:1px solid #d0dbe8;border-radius:12px;min-width:44px;min-height:44px;font-size:.95rem;font-weight:700}.field-hours-page .field-hours-week-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;text-align:center;flex:1;min-width:0;font-size:.8rem;font-weight:700;line-height:1.35}.field-hours-page .field-hours-week-total{text-align:center;color:#0f3b68;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:0;padding:.55rem .75rem;font-size:1.05rem;font-weight:800}.field-hours-page .field-hours-week-list{flex-direction:column;gap:.55rem;min-height:2rem;display:flex}.field-hours-page .field-hours-week-list .upload-home-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:0;padding:.85rem 1rem;box-shadow:0 1px 3px #0f172a0d}.field-hours-page .field-hours-week-list .upload-home-project-card strong{color:#0f172a;font-size:.95rem;font-weight:700;line-height:1.35;display:block}.field-hours-page .field-hours-week-list .upload-home-project-meta{color:#64748b;margin:.4rem 0 0;font-size:.8125rem;line-height:1.45}.field-hours-page .field-hours-week-list .upload-home-project-meta+.upload-home-project-meta{margin-top:.25rem}.field-hours-page .field-hours-week-list .upload-home-project-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;margin-top:.65rem;padding-top:.55rem;display:flex}.field-hours-page .field-hours-week-list .upload-home-project-actions button{color:#0f3b68;cursor:pointer;background:#fff;border:1px solid #0f3b68;border-radius:12px;min-height:40px;padding:0 1rem;font-size:.8125rem;font-weight:700}.field-hours-page .field-hours-week-list .small{text-align:center;color:#64748b;background:#fafbfc;border:1px dashed #d0dbe8;border-radius:14px;margin:0;padding:1.25rem .75rem;font-size:.875rem}.field-hours-page .field-hours-status{color:#64748b;min-height:1.1rem;margin-top:.65rem;font-size:.8125rem}.field-hours-page .field-hours-status.error{color:#b42318}.planning-page-root .planning-subheader{background:var(--color-background-primary);border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);gap:12px;padding:0 16px 12px;display:grid}.planning-page-root .planning-subheader-tabs{border-bottom:1px solid var(--color-border-tertiary)}.planning-page-root .planning-subheader-tab{min-height:50px}.planning-page-root .planning-week-nav-label,.planning-page-root .planning-week-toggle-all,.planning-page-root .planning-summary-grid,.planning-page-root .planning-metric-card,.planning-page-root .planning-week-chevron{display:none!important}.planning-page-root .planning-subheader-contexts{gap:12px;display:grid}.planning-page-root .planning-subheader-context--week{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.planning-page-root .planning-week-toolbar-main{align-items:flex-end;gap:12px;min-width:0;display:flex}.planning-page-root .planning-week-title-group{gap:2px;display:grid}.planning-page-root .planning-week-title{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:500;line-height:1.2}.planning-page-root .planning-week-range{color:var(--color-text-tertiary);margin:0;font-size:13px;line-height:1.25}.planning-page-root .planning-week-toolbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.planning-page-root .planning-week-loading-spinner{border:1.5px solid var(--color-border-tertiary);border-top-color:var(--ui-accent);border-radius:999px;width:14px;height:14px;animation:.8s linear infinite planning-week-spin}.planning-page-root .planning-week-toolbar-divider{background:var(--color-border-tertiary);width:1px;height:24px;margin:0 2px}.planning-page-root .planning-week-icon-button{border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);width:32px;height:32px;min-height:32px;color:var(--color-text-primary);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.planning-page-root .planning-week-icon-button:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary);transform:none}.planning-page-root .planning-week-icon{stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.planning-page-root .planning-week-project-header{border:1px solid var(--project-border,var(--color-border-tertiary));background:var(--project-bg,var(--color-background-secondary));border-top:1px solid var(--project-border,var(--color-border-tertiary));border-bottom:1px solid var(--project-border,var(--color-border-tertiary));width:100%;color:var(--project-text,var(--color-text-primary));cursor:inherit;border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 12px;display:flex}.planning-page-root .planning-week-project-left{flex:0 auto;align-items:center;gap:8px;min-width:0;display:inline-flex}.planning-page-root .planning-week-project-meta{min-width:0;color:var(--project-text-secondary,var(--color-text-secondary));white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:12px;font-weight:400;display:inline-flex;overflow:hidden}.planning-page-root .planning-week-project-heading-wrap{gap:1px;min-width:0;display:grid}.planning-page-root .planning-week-project-meta{color:var(--project-secondary-text,var(--color-text-secondary));white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.25;overflow:hidden}.planning-page-root .planning-week-project-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.planning-page-root .planning-week-project-total{color:var(--project-text-secondary,var(--color-text-secondary));white-space:nowrap;text-align:right;font-size:12px;font-weight:500}.planning-page-root .planning-week-project-name{color:var(--project-text,var(--color-text-primary));white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;line-height:1.2;overflow:hidden}.planning-page-root .planning-week-project-dot{background:var(--project-text,var(--color-text-primary))}.planning-page-root .planning-week-project-toggle-btn{border:.5px solid var(--project-border,currentColor);border-radius:var(--ui-radius-md);width:26px;height:26px;min-height:26px;color:var(--project-text,var(--color-text-primary));background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.planning-page-root .planning-week-project-toggle-btn:hover{background:color-mix(in srgb, var(--project-text,currentColor) 8%, transparent 92%);border-color:var(--project-border,currentColor);transform:none}.planning-page-root .planning-week-project-toggle-icon{stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.planning-page-root .planning-week-cell-filled{background:var(--project-bg,var(--color-background-primary));border-style:solid;border-color:var(--project-border,var(--color-border-tertiary));color:var(--project-text,var(--color-text-primary))}.planning-page-root .planning-week-cell-filled-multi{background:var(--project-bg,var(--color-background-primary))}.planning-page-root .planning-week-cell-filled-multi .planning-week-cell-summary-btn{background:0 0}.planning-page-root .planning-week-cell-booking{border-radius:calc(var(--ui-radius-md) - 2px);background:var(--booking-bg,var(--project-bg,var(--color-background-primary)));border:1px solid var(--booking-border,var(--project-border,var(--color-border-tertiary)));color:var(--booking-text,var(--project-text,var(--color-text-primary)));padding:3px 4px}.planning-page-root .planning-week-cell-booking+.planning-week-cell-booking{border-top:1px solid var(--booking-border,var(--project-border,var(--color-border-tertiary)));padding-top:3px}.planning-page-root .planning-week-cell-booking-hours{color:var(--booking-text,var(--project-text,var(--color-text-primary)))}.planning-page-root .planning-week-cell-booking-project{color:var(--booking-text-secondary,var(--project-text-secondary,var(--color-text-secondary)))}.planning-page-root .planning-week-cell-booking-dot{background:var(--booking-text,var(--project-text,var(--color-text-primary)))}.planning-page-root .planning-week-cell-real{color:var(--project-text-secondary,var(--color-text-secondary))}.planning-page-root .planning-week-cell--planned,.planning-page-root .planning-week-cell--match,.planning-page-root .planning-week-cell--over,.planning-page-root .planning-week-cell--under,.planning-page-root .planning-week-cell--unplanned{background:var(--project-bg,var(--color-background-primary));border-color:var(--project-border,var(--color-border-tertiary));color:var(--project-text,var(--color-text-primary))}.planning-page-root .planning-week-footer-status{border-top:1px solid var(--color-border-tertiary);color:var(--color-text-tertiary);margin-top:12px;padding-top:10px;font-size:12px;line-height:1.4}.planning-page-root .planning-week-cell--conflict{background:var(--color-background-danger);color:var(--color-text-danger);border-color:var(--color-border-danger)}@media (prefers-color-scheme:dark){.planning-page-root .planning-week-cell-filled{background:var(--project-bg,var(--color-background-primary));border-color:var(--project-border,var(--color-border-tertiary))}.planning-page-root .planning-week-cell-booking{background:var(--booking-bg,var(--project-bg,var(--color-background-primary)));border-color:var(--booking-border,var(--project-border,var(--color-border-tertiary)))}.planning-page-root .planning-week-cell--planned,.planning-page-root .planning-week-cell--match,.planning-page-root .planning-week-cell--over,.planning-page-root .planning-week-cell--under,.planning-page-root .planning-week-cell--unplanned{background:var(--project-bg,var(--color-background-primary));border-color:var(--project-border,var(--color-border-tertiary))}}@media (width<=980px){.planning-page-root .planning-subheader-context--week{align-items:stretch}.planning-page-root .planning-week-toolbar-main{flex-wrap:wrap;align-items:center}.planning-page-root .planning-week-toolbar-right{justify-content:flex-start;width:100%;margin-left:0}.planning-page-root .planning-week-project-right{max-width:none}.planning-page-root .planning-week-project-meta,.planning-page-root .planning-week-project-total{white-space:normal}}@keyframes planning-week-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.planning-page-root .planning-subheader--week{padding-top:0;padding-bottom:0}.planning-page-root .planning-week-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;min-height:56px;padding:12px 0;display:flex}.planning-page-root .planning-week-heading-group{gap:2px;min-width:142px;display:grid}.planning-page-root .planning-week-nav-group{align-items:center;gap:8px;display:inline-flex}.planning-page-root .planning-week-toolbar-spacer{flex:auto;min-width:12px}.planning-page-root .planning-week-filter-group,.planning-page-root .planning-week-toggle-group{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.planning-page-root .planning-week-toolbar-divider{width:1px;height:18px}.planning-page-root .planning-week-loading-indicator{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.planning-page-root .planning-week-nav-button{width:30px;height:30px;min-height:30px}.planning-page-root .planning-week-today-button{justify-content:center;align-items:center;height:30px;min-height:30px;padding:0 12px;display:inline-flex}.planning-page-root .project-list-filter select{height:30px;min-height:30px;padding:0 30px 0 10px}.planning-page-root .planning-week-icon-button{width:30px;height:30px;min-height:30px}@media (width<=1180px){.planning-page-root .planning-week-toolbar-spacer{display:none}.planning-page-root .planning-week-filter-group{margin-left:0}}@media (width<=980px){.planning-page-root .planning-week-heading-group{min-width:0}.planning-page-root .planning-week-filter-group{width:100%}}.planning-page-root .planning-week-worker-info.is-context-open{box-shadow:inset 0 0 0 2px var(--ui-accent)}.planning-week-worker-context-menu{z-index:1600;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);min-width:220px;box-shadow:var(--ui-shadow-sm);background:#fff;padding:6px;position:fixed}.planning-week-worker-context-menu button{border-radius:var(--ui-radius-sm);width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:8px 10px;transform:none}.planning-week-worker-context-menu button:hover{background:#f8fafc;border:0;transform:none}.planning-week-worker-context-menu button.planning-week-worker-context-delete{color:#a32d2d}.planning-week-removal-dialog{z-index:1600;position:fixed;inset:0}.planning-week-removal-dialog__backdrop{background:#0f172a73;position:absolute;inset:0}.planning-week-removal-dialog__sheet{border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);width:min(92vw,520px);box-shadow:var(--ui-shadow-sm);background:#fff;gap:10px;padding:16px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.planning-week-removal-dialog__title{color:#102a43;margin:0;font-size:1.05rem}.planning-week-removal-dialog__text{color:#465a6d;margin:0;line-height:1.4}.planning-week-removal-dialog__loading{color:#60758a;margin:0;font-size:13px}.planning-week-removal-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.planning-week-removal-dialog__actions button.danger{color:#fff;background:#a32d2d;border-color:#a32d2d}.planning-week-removal-warning{border-radius:var(--ui-radius-md);color:#7a4a00;background:#fff7e6;border:1px solid #f4c152;gap:5px;padding:10px;display:grid}.planning-week-removal-warning strong{font-size:13px}.planning-week-removal-warning-list{gap:3px;margin:0;padding-left:18px;display:grid}.planning-week-removal-warning-list li{margin:0}.planning-week-removal-warning-meta{color:#8f5b10}.admin-hero{background:linear-gradient(135deg,#29abe21a,#fffffffa),#fff;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.9rem;margin-top:.25rem;padding:1rem 1.15rem;display:grid}.admin-hero-copy{gap:.3rem;display:grid}.admin-hero-actions{justify-items:end;gap:.7rem;display:grid}.admin-hero-copy h2,.admin-summary-card p,.admin-summary-card strong{margin:0}.admin-hero-copy h2{font-size:clamp(1.05rem,.98rem + .35vw,1.3rem);line-height:1.2}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.95rem;display:grid}.admin-summary-card{background:#fffffff0;border:1px solid #d6dde6;border-radius:18px;gap:.3rem;padding:1rem 1.05rem;display:grid}.admin-summary-label{letter-spacing:.08em;text-transform:uppercase;color:#60758a;font-size:.75rem;font-weight:700}.admin-summary-card strong{color:#102a43;font-size:clamp(1.5rem,1.1rem + .6vw,1.9rem)}.admin-summary-sub{color:#60758a;font-size:.8rem}.admin-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.admin-form-stack,.admin-sections{gap:1rem;display:grid}.admin-form-card,.admin-user-row,.admin-access-card,.admin-invites-card,.admin-invite-row{gap:.85rem;display:grid}.admin-list-card{gap:1rem;display:grid}.admin-layout .field-grid{gap:1rem}.admin-layout label{gap:.45rem;display:grid}.admin-layout label span{color:#35506a;font-size:.9rem;font-weight:600}.admin-layout input,.admin-layout select{background:#fbfdff;border:1px solid #d7e1ec;border-radius:14px;padding:.9rem .95rem;transition:border-color .12s,box-shadow .12s,background-color .12s}.admin-layout input:focus,.admin-layout select:focus{background:#eff6ff;border-color:#0f3b68;outline:none;box-shadow:0 0 0 4px #0f3b6824}.admin-row-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-row-copy{gap:.45rem;display:grid}.admin-row-copy strong,.admin-company-row strong,.admin-access-copy strong{color:#102a43}.admin-row-chips{flex-wrap:wrap;gap:.45rem;display:flex}.admin-row-side-label{color:#60758a;background:#f5f8fb;border:1px solid #d6dde6;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.82rem;display:inline-flex}.admin-user-row,.admin-invite-row,.admin-invite-result-card{background:linear-gradient(#fff,#f8fbff);border-radius:20px;padding:1.05rem 1.15rem}.admin-link-confirm-card{background:linear-gradient(#f7fbff,#eef5ff);border:1px solid #c5d7eb}.admin-link-confirm-grid{gap:.9rem}.admin-link-membership-count{margin:0}.admin-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:center}.admin-access-row{background:linear-gradient(#fbfdff,#f4f8fc);border:1px solid #d7e1ec;border-radius:16px;align-items:flex-start;gap:.85rem;padding:.95rem 1rem;display:flex}.admin-access-row input{width:auto;margin-top:.2rem}.admin-access-copy{gap:.2rem;display:grid}.admin-access-copy small{color:#60758a;font-size:.82rem}.admin-companies{gap:.85rem;display:grid}.admin-invites-card{margin-top:0}.admin-company-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-project-access-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.admin-project-access-toolbar button{min-height:48px}.admin-invite-result-card code{background:#eef5ff;border-radius:8px;padding:.16rem .4rem;font-size:1rem;display:inline-flex}.admin-invite-link{color:#35506a;overflow-wrap:anywhere;background:#f8fbff;border:1px dashed #c5d3e1;border-radius:14px;padding:.85rem .95rem;font-size:.88rem}.admin-layout .projects-list>.card{border-radius:18px}@media (width<=1100px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.admin-layout,.admin-hero,.admin-project-access-toolbar{grid-template-columns:1fr}.admin-hero-actions{justify-items:start}}@media (width<=640px){.admin-summary-grid{grid-template-columns:1fr}.admin-row-actions{justify-content:stretch}.admin-row-actions button,.admin-project-access-toolbar button{width:100%}}.admin-list-toolbar{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.admin-list-toolbar .project-list-filter{width:auto}.admin-list-toolbar .project-list-filter select{min-width:8.5rem}.admin-page-stack{gap:1.2rem;display:grid}.admin-hero{overflow:hidden}.admin-summary-card{transition:transform .14s,box-shadow .14s,border-color .14s;position:relative;overflow:hidden;box-shadow:0 16px 28px #0f27420f}.admin-summary-card:after{content:"";background:linear-gradient(90deg,#0f3b68e6,#29abe28c);height:3px;position:absolute;inset:auto 0 0}.admin-summary-card:hover{transform:translateY(-2px);box-shadow:0 22px 36px #0f274217}.admin-quick-shell,.admin-users-shell,.admin-access-card{border-radius:24px}.admin-quick-shell .section-head,.admin-users-shell .section-head,.admin-access-card .section-head{align-items:flex-start;margin-bottom:1.05rem}.admin-quick-grid,.admin-management-grid,.admin-side-stack,.admin-panel-copy,.admin-user-form-shell,.admin-invite-meta-grid{gap:1rem;display:grid}.admin-quick-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.admin-management-grid{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:start}.admin-side-stack{gap:1.2rem}.admin-quick-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #d6dde6;border-radius:20px;gap:1rem;min-height:100%;padding:1.1rem;display:grid;box-shadow:inset 0 1px #ffffffd9}.admin-panel-copy{gap:.35rem}.admin-panel-copy h3{color:#102a43;margin:0;font-size:1.1rem}.admin-panel-copy p:last-child{margin:0}.admin-page-stack .field-grid{gap:1rem;display:grid}.admin-page-stack .field-grid label{gap:.45rem;display:grid}.admin-page-stack .field-grid label span{color:#35506a;font-size:.9rem;font-weight:600}.admin-page-stack input,.admin-page-stack select{background:#fbfdff;border:1px solid #d7e1ec;border-radius:14px;width:100%;padding:.9rem .95rem;transition:border-color .12s,box-shadow .12s,background-color .12s}.admin-page-stack input:focus,.admin-page-stack select:focus{background:#eff6ff;border-color:#0f3b68;outline:none;box-shadow:0 0 0 4px #0f3b6824}.admin-page-stack .admin-readonly-field input[readonly]{color:#6b7d90;background:#f1f5f9;border-color:#d8e1ea}.admin-page-stack .admin-readonly-field input[readonly]:focus{box-shadow:none;background:#f1f5f9;border-color:#d8e1ea}.admin-page-stack .admin-readonly-field small{color:#6b7d90;font-size:.83rem;line-height:1.4}.admin-quick-card .field-grid,.admin-users-shell .projects-list,.admin-side-stack .projects-list{gap:1rem}.admin-users-list,.admin-invites-list,.admin-members-list{gap:1rem;display:grid}.admin-user-row,.admin-invite-row,.admin-invite-result-card{border:1px solid #dbe4ee;box-shadow:0 18px 34px #0f27420d}.admin-user-head,.admin-user-identity,.admin-access-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.admin-user-identity,.admin-access-head{justify-content:flex-start}.admin-user-avatar{color:#0f3b68;background:linear-gradient(135deg,#d9ebfb,#eef6ff);border:1px solid #c8dff4;border-radius:16px;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.admin-user-form-shell{background:#ffffffd1;border:1px solid #e0e8f0;border-radius:18px;padding:1rem}.admin-user-form-grid{gap:.95rem}.admin-user-form-grid label.full{grid-column:1/-1}.admin-row-actions-compact{border-top:1px solid #e5edf5;padding-top:.2rem}.admin-row-note{max-width:36ch}.admin-company-copy{gap:.2rem;display:grid}.admin-access-grid{gap:.85rem;display:grid}.admin-access-row{align-items:stretch;padding:0;transition:transform .14s,border-color .14s,box-shadow .14s;overflow:hidden}.admin-access-row:hover{border-color:#b9cee1;transform:translateY(-1px);box-shadow:0 14px 28px #0f27420d}.admin-access-row input{margin:1rem 0 0 1rem}.admin-access-copy{width:100%;padding:.95rem 1rem 1rem 0}.admin-access-head strong{color:#102a43}.admin-access-copy .chip{align-self:flex-start}.admin-project-access-toolbar{background:linear-gradient(#fbfdff,#f5f9fd);border:1px solid #dde6ef;border-radius:18px;padding:1rem}.admin-project-access-toolbar label{gap:.45rem;display:grid}.admin-project-access-toolbar label span{color:#35506a;font-size:.9rem;font-weight:600}.admin-invite-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-invite-meta-card,.admin-invite-link{background:#ffffffeb;border:1px solid #dde6ef;border-radius:16px;padding:.95rem 1rem}.admin-invite-meta-card{gap:.35rem;display:grid}.admin-invite-meta-card strong,.admin-invite-link a,.admin-invite-link span:last-child{color:#102a43;font-weight:600}.admin-invite-link{overflow-wrap:anywhere;gap:.4rem;display:grid}.admin-copy-actions{justify-content:flex-end}.admin-copy-actions button{min-width:136px}@media (width<=1120px){.admin-management-grid{grid-template-columns:1fr}}@media (width<=820px){.admin-quick-shell .section-head,.admin-users-shell .section-head,.admin-access-card .section-head,.admin-user-head,.admin-access-head{flex-direction:column;align-items:flex-start}.admin-invite-meta-grid{grid-template-columns:1fr}}@media (width<=640px){.admin-summary-card,.admin-quick-card,.admin-user-form-shell,.admin-project-access-toolbar,.admin-invite-meta-card,.admin-invite-link{border-radius:16px}.admin-copy-actions{justify-content:stretch}.admin-copy-actions button{width:100%}}.admin-page-stack{gap:1.5rem}.admin-management-grid{gap:1.4rem}.admin-quick-shell,.admin-users-shell,.admin-access-card{padding:1.35rem}.admin-quick-shell .section-head,.admin-users-shell .section-head,.admin-access-card .section-head{margin-bottom:1.2rem}.admin-quick-tabs{background:#f3f7fb;border:1px solid #dbe4ee;border-radius:18px;flex-wrap:wrap;gap:.7rem;padding:.25rem;display:flex}.admin-quick-tab{color:#60758a;background:0 0;border:1px solid #0000;border-radius:14px;padding:.8rem 1rem;font-weight:700}.admin-quick-tab.is-active{color:#102a43;background:#fff;border-color:#d6dde6;box-shadow:0 10px 20px #0f27420f}.admin-quick-panel-stack{gap:1rem;display:grid}.admin-quick-panel{background:linear-gradient(#fff,#f8fbff);border:1px solid #dde6ef;border-radius:22px;gap:1rem;padding:1.15rem;display:grid;box-shadow:inset 0 1px #ffffffe6}.admin-panel-copy-wide{max-width:64ch}.admin-quick-panel .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-panel .field-grid>.full,.admin-quick-panel .field-grid>.auth-error,.admin-quick-panel .field-grid>button{grid-column:1/-1}.admin-quick-panel .field-grid>button{justify-self:start;min-width:220px}.admin-users-list{gap:.85rem}.admin-user-row{padding:0;overflow:hidden}.admin-user-summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;list-style:none;display:flex}.admin-user-summary::-webkit-details-marker{display:none}.admin-user-summary-side{justify-items:end;gap:.55rem;display:grid}.admin-user-summary-action{color:#0f3b68;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.admin-user-summary-action:after{content:"v";font-size:.75rem;transition:transform .14s}.admin-user-row[open] .admin-user-summary{background:#f8fbffc2;border-bottom:1px solid #e5edf5}.admin-user-row[open] .admin-user-summary-action:after{transform:rotate(180deg)}.admin-user-details{gap:.95rem;padding:1rem 1.1rem 1.1rem;display:grid}.admin-row-actions-compact{padding-top:.95rem}.admin-side-stack{align-self:start}.admin-invites-list,.admin-members-list{gap:.85rem}.admin-invite-row,.admin-invite-result-card{gap:.95rem}.admin-invite-link{background:#fff}.admin-invite-link a,.admin-invite-link span:last-child{overflow-wrap:anywhere;line-height:1.45}.admin-copy-actions .admin-share-link{color:#166534;background:#ecfdf3;border-color:#bfe3ca;min-width:136px}.admin-copy-actions .admin-share-link:hover{color:#166534;background:#dcfce7}.admin-access-card .projects-list{gap:.85rem}.admin-project-access-toolbar{gap:.9rem}.admin-access-grid{gap:.75rem}.admin-access-row{background:#fff}@media (width>=1180px){.admin-side-stack{position:sticky;top:1rem}}@media (width<=900px){.admin-quick-panel .field-grid{grid-template-columns:1fr}.admin-quick-panel .field-grid>button{width:100%;min-width:0}.admin-user-summary,.admin-user-summary-side{place-items:flex-start start}.admin-user-summary{flex-direction:column}}@media (width<=640px){.admin-quick-tabs{grid-template-columns:1fr;display:grid}.admin-quick-tab,.admin-copy-actions button,.admin-copy-actions .admin-share-link{width:100%}.admin-user-details,.admin-user-summary{padding-inline:.95rem}}.admin-members-panel{gap:0;padding:0;display:grid}.admin-company-tabs{margin-top:4px;margin-bottom:6px}.admin-members-page-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:12px;display:flex}.admin-members-page-copy{gap:.25rem;display:grid}.admin-members-page-label{letter-spacing:.07em;text-transform:uppercase;color:#66788b;margin:0;font-size:11px;font-weight:500;line-height:1.2}.admin-members-page-copy h2{color:#18242f;margin:0;font-size:18px;font-weight:500;line-height:1.3}.admin-members-page-copy .muted{margin:0;font-size:13px;line-height:1.45}.admin-member-card{width:100%;box-shadow:none;background:#fff;border:.5px solid #dbe4ee;border-radius:16px;gap:0;margin:0 0 12px;overflow:hidden}.admin-members-existing-shell{width:100%}.admin-members-existing-label{letter-spacing:.07em;text-transform:uppercase;color:#66788b;margin:0 0 8px;font-size:11px;font-weight:500;line-height:1.2}.admin-members-existing-list{width:100%}.admin-members-existing-list>*{margin-bottom:12px}.admin-members-existing-list>:last-child{margin-bottom:0}.admin-member-card-header{border-bottom:.5px solid #dbe4ee;justify-content:space-between;align-items:center;gap:.75rem;padding:16px 24px;display:flex}.admin-member-card-header-copy{align-items:center;gap:.6rem;min-width:0;display:flex}.admin-member-card-header h3{color:#18242f;margin:0;font-size:15px;font-weight:500;line-height:1.25}.admin-member-card-icon{color:#35506a;background:#eef3f8;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:inline-flex}.admin-member-card-body{gap:20px;padding:20px 24px;display:grid}.admin-member-form-section{gap:10px;display:grid}.admin-member-form-section-title{letter-spacing:.07em;text-transform:uppercase;color:#66788b;margin:0;font-size:11px;line-height:1.2}.admin-member-form-grid{gap:16px;display:grid}.admin-member-form-grid-personal{grid-template-columns:1fr 1fr}.admin-member-bsn-field small{margin-top:6px}.admin-member-bsn-field .auth-error{margin-top:8px}.admin-member-form-grid-role-status{grid-template-columns:1fr 1fr 1fr 160px}.admin-member-form-grid label{gap:0;display:grid}.admin-member-form-grid label span{color:#66788b;margin-bottom:6px;font-size:13px;font-weight:500}.admin-member-form-grid input,.admin-member-form-grid select{width:100%}.admin-member-card-footer{border-top:.5px solid #dbe4ee;justify-content:flex-end;gap:.6rem;padding:12px 24px 16px;display:flex}.admin-member-card-footer button{width:auto;padding:8px 16px}.admin-member-card-footer .primary{padding:8px 20px}.admin-member-empty-card{padding:16px 24px}.admin-member-empty-card p{margin:0}.admin-user-row .admin-user-detail-header{border-bottom:0}.admin-user-detail-header{justify-content:space-between;align-items:center;gap:.85rem;padding:16px 24px;display:flex}.admin-user-row:not(.is-collapsed) .admin-user-detail-header{border-bottom:.5px solid #dbe4ee}.admin-user-detail-identity{align-items:center;gap:.8rem;min-width:0;display:flex}.admin-user-row .admin-user-avatar{color:#1d4ed8;background:#eef5ff;border-color:#bfd7ff;border-radius:999px;width:40px;height:40px;font-size:.88rem}.admin-crew-card{border-color:color-mix(in srgb, var(--crew-color,#3b82f6) 30%, #dbe4ee 70%);background:linear-gradient(180deg, color-mix(in srgb, var(--crew-tint,#f8fbff) 75%, #fff 25%), #fff)}.admin-crew-color-swatch{border:1px solid color-mix(in srgb, var(--crew-color,#3b82f6) 60%, #fff 40%);background:var(--crew-color,#3b82f6);border-radius:999px;flex:none;width:14px;height:14px}.admin-crew-mini-avatars{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.admin-crew-avatar{border-radius:999px;width:28px;height:28px;font-size:11px}.admin-crew-avatar-overflow{color:#60758a;justify-content:center;align-items:center;min-width:20px;height:20px;font-weight:600;display:inline-flex}.admin-user-detail-name{font-size:15px;font-weight:500}.admin-user-row .admin-row-copy{min-width:0}.admin-user-row .admin-row-chips{scrollbar-width:none;flex-wrap:nowrap;gap:.4rem;overflow-x:auto}.admin-user-row .admin-row-chips::-webkit-scrollbar{display:none}.admin-user-row .admin-row-chips>*{flex:none}.admin-user-row [data-action=edit-user]{flex:none;padding:8px 16px}.admin-user-row-actions{align-items:center;gap:.6rem;display:inline-flex}.admin-user-row.is-collapsed .admin-user-detail-body,.admin-user-row.is-collapsed .admin-user-detail-actions{display:none}@media (width<=640px){.admin-members-page-header{flex-direction:column;align-items:flex-start}.admin-member-card-header,.admin-user-detail-header,.admin-member-card-body,.admin-member-card-footer,.admin-member-empty-card{padding-left:16px;padding-right:16px}.admin-member-form-grid-personal,.admin-member-form-grid-role-status{grid-template-columns:1fr}.admin-user-detail-header{flex-direction:column;align-items:flex-start}.admin-user-row .admin-row-chips{flex-wrap:wrap}.admin-user-row-actions,.admin-user-row-actions button{width:100%}}.admin-user-detail-actions{justify-content:space-between}.admin-user-detail-actions-right{align-items:center;gap:.6rem;display:inline-flex}.admin-user-password-reset-button{color:#991b1b;background:0 0;border-color:#f0b6b6;align-items:center;gap:.45rem;display:inline-flex}.admin-user-password-reset-button:hover{border-color:#dc2626}.admin-user-password-reset-button svg{width:14px;height:14px}@media (width<=640px){.admin-user-detail-actions{flex-direction:column;align-items:stretch}.admin-user-detail-actions-right{width:100%;display:flex}.admin-user-detail-actions-right button,.admin-user-password-reset-button{width:100%}}.admin-force-password-reset-dialog{z-index:1400;position:fixed;inset:0}.admin-force-password-reset-dialog-backdrop{background:#0f172a73;position:absolute;inset:0}.admin-force-password-reset-dialog-sheet{background:#fff;border:1px solid #d6dde6;border-radius:20px;width:min(92vw,560px);padding:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 56px #0f172a3d}.admin-force-password-reset-dialog-sheet h2{color:#102a43;margin:0;font-size:1.1rem}.admin-force-password-reset-dialog-sheet p{color:#60758a;margin:.75rem 0 0;line-height:1.5}.admin-force-password-reset-dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.admin-force-password-reset-dialog-link-row{align-items:center;gap:.75rem;margin-top:.9rem;padding:.5rem 0;display:flex}.admin-force-password-reset-dialog-link-row input[type=text]{-webkit-user-select:all;user-select:all;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.admin-force-password-reset-dialog-link-row button{flex-shrink:0}@media (width>=641px){.admin-force-password-reset-dialog-sheet{width:min(92vw,640px)}}@media (width<=640px){.admin-force-password-reset-dialog-sheet{width:calc(100vw - 24px);inset:auto 12px 12px;transform:none}.admin-force-password-reset-dialog-actions{flex-direction:column}.admin-force-password-reset-dialog-actions button{width:100%}.admin-force-password-reset-dialog-link-row{flex-direction:column;align-items:stretch}.admin-force-password-reset-dialog-link-row button{width:100%}}.admin-activity-table-wrap{background:#fff;border:1px solid #dbe4ee;border-radius:16px;overflow-x:auto}.admin-activity-table{border-collapse:collapse;width:100%;min-width:760px}.admin-activity-table th,.admin-activity-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e7eef6;padding:.7rem .8rem}.admin-activity-table th{letter-spacing:.06em;text-transform:uppercase;color:#5d7288;white-space:nowrap;background:#f8fbff;font-size:.78rem}.admin-activity-table td{color:#102a43;font-size:.9rem}.admin-activity-table tr:last-child td{border-bottom:0}.admin-activity-summary-cell{min-width:300px}@media (width<=900px){.admin-activity-table{min-width:640px}}.photo-compare-overlay{z-index:1000;background:#000000e6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.photo-compare-overlay.hidden{display:none}.photo-compare-dialog{width:min(100%,1100px);position:relative}.photo-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.photo-compare-panel{gap:.65rem;margin:0;display:grid}.photo-compare-panel figcaption{color:#fff;letter-spacing:.08em;font-size:.9rem;font-weight:700}.photo-compare-panel img{object-fit:contain;background:#ffffff14;border-radius:18px;width:100%;max-height:78vh}.photo-compare-close{min-width:44px;min-height:44px;font-size:1.5rem;line-height:1;position:absolute;top:0;right:0}@media (width<=480px){.photo-compare-grid{grid-template-columns:1fr}.photo-compare-panel img{max-height:38vh}}.field-preview-page{gap:1rem;display:grid}.field-preview-toolbar{padding:1.1rem 1.2rem}.field-preview-kicker{letter-spacing:.08em;text-transform:uppercase;color:#4b6b86;margin:0 0 .35rem;font-size:.74rem;font-weight:700}.field-preview-toolbar{gap:.9rem;display:grid}.field-preview-toolbar-group{gap:.45rem;display:grid}.field-preview-toolbar-group>span{color:#60758a;font-size:.85rem}.field-preview-control-row{flex-wrap:wrap;gap:.55rem;display:flex}.field-preview-toggle{color:#35506a;background:#fff;border:1px solid #d2dce8;border-radius:999px;min-height:42px;padding:.7rem .95rem;font-weight:700}.field-preview-toggle.is-active{color:#fff;background:#0f3b68;border-color:#0f3b68}.field-preview-stage{place-items:start center;gap:1rem;display:grid}.field-preview-frame{background:linear-gradient(#0f172a,#1e293b);border-radius:32px;width:100%;padding:.9rem;box-shadow:0 30px 80px #0f172a38}.field-preview-frame.is-phone{max-width:422px}.field-preview-frame.is-tablet{max-width:880px}.field-preview-frame.is-desktop{max-width:1180px}.field-preview-viewport{background:linear-gradient(#f5f9fffa,#ecf3faf5),#f8fbff;border-radius:24px;width:100%;overflow:hidden}.field-preview-frame.is-phone .field-preview-viewport{aspect-ratio:390/844}.field-preview-frame.is-tablet .field-preview-viewport{aspect-ratio:834/1194}.field-preview-frame.is-desktop .field-preview-viewport{min-height:760px}@media (width<=767px){.field-preview-toolbar{padding:1rem}.field-preview-frame{padding:.65rem}.field-preview-frame.is-phone{max-width:min(100%,392px)}}.field-preview-screen{min-height:inherit;gap:1rem;padding:1.1rem;display:grid}.field-preview-phone-bar{background:#0f172a2e;border-radius:999px;width:6rem;height:.38rem;margin:0 auto .4rem}.field-preview-launcher-hero{gap:.45rem;display:grid}.field-preview-launcher-hero h2,.field-preview-inline-header h2,.field-preview-sheet-head h3{margin:0}.field-preview-launcher-hero p:last-child,.field-preview-inline-header p:last-child,.field-preview-sheet-head p{color:#60758a;margin:0}.field-preview-launcher-actions{gap:.75rem;display:grid}.field-preview-primary-cta,.field-preview-secondary-cta{border-radius:16px;min-height:52px;font-weight:700}.field-preview-primary-cta{color:#fff;background:#0f3b68;border:1px solid #0f3b68}.field-preview-secondary-cta{color:#0f3b68;background:#fff;border:1px solid #d7e1ec}.field-preview-launcher-card,.field-preview-project-card,.field-preview-slot{background:#ffffffeb;border:1px solid #d7e1ec;border-radius:20px}.field-preview-launcher-card{gap:.25rem;padding:1rem;display:grid}.field-preview-launcher-card span,.field-preview-project-card span{color:#60758a}.field-preview-launcher-card p,.field-preview-project-card span{margin:0}.field-preview-launcher-card.is-muted{background:#eaf2fbcc}.field-preview-inline-header{grid-template-columns:auto 1fr;align-items:start;gap:.8rem;display:grid}.field-preview-icon-button{border-radius:14px;min-width:44px;min-height:44px}.field-preview-project-list{gap:.75rem;display:grid}.field-preview-project-card{text-align:left;gap:.25rem;padding:1rem;display:grid}.field-preview-project-layout{min-height:620px;display:grid;position:relative}.field-preview-map-shell{gap:.65rem;display:grid}.field-preview-map-toolbar,.field-preview-slot-copy,.field-preview-sheet-head{justify-content:space-between;gap:.75rem;display:flex}.field-preview-slot-state{background:#fff;border:1px solid #d6dde6;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.92rem;line-height:1;display:inline-flex}.field-preview-slot-state.is-accepted{color:#166534;background:#effbf3;border-color:#166534}.field-preview-slot-state.is-captured{color:#c2410c;background:#fff7ed;border-color:#c2410c}.field-preview-slot-state.is-empty{color:#94a3b8;border-style:dashed}.field-preview-map-chip,.field-preview-status{color:#0f3b68;background:#fff;border:1px solid #d7e1ec;border-radius:999px;align-items:center;min-height:36px;padding:.2rem .75rem;font-weight:700;display:inline-flex}.field-preview-map-controls{gap:.45rem;display:inline-flex}.field-preview-map-controls button{border-radius:999px;min-width:40px;min-height:40px}.field-preview-map{background:radial-gradient(circle at 20% 20%,#2dd4bf38,#0000 28%),radial-gradient(circle at 78% 70%,#0ea5e92e,#0000 34%),linear-gradient(#f8fbff,#eef4f9);border:1px solid #d6dde6;border-radius:28px;min-height:360px;position:relative;overflow:hidden}.field-preview-map-grid{background-image:linear-gradient(#0f3b6814 1px,#0000 1px),linear-gradient(90deg,#0f3b6814 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.field-preview-map-point{color:#fff;background:#0f3b68;border:3px solid #fff;border-radius:999px;width:48px;height:48px;margin-top:-24px;margin-left:-24px;position:absolute;box-shadow:0 12px 24px #0f3b683d}.field-preview-map-point.is-active{background:#1d4ed8;transform:scale(1.08)}.field-preview-sheet{background:#fffffffa;border-radius:28px 28px 0 0;gap:.85rem;height:70%;padding:.85rem 1rem 1rem;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -20px 50px #0f172a2e}.field-preview-project-layout.is-desktop{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:1rem}.field-preview-sheet.is-desktop,.field-preview-project-layout.is-desktop .field-preview-sheet{height:auto;min-height:100%;box-shadow:none;border:1px solid #d7e1ec;border-radius:28px;position:static}.field-preview-sheet-handle{background:#0f172a24;border-radius:999px;width:5rem;height:.35rem;margin:0 auto}.field-preview-sheet-body,.field-preview-slot{gap:.75rem;display:grid}.field-preview-slot{padding:.9rem}.field-preview-slot-media{background:#eff5fa;border-radius:16px;min-height:112px;overflow:hidden}.field-preview-slot-placeholder,.field-preview-slot-photo{width:100%;height:100%}.field-preview-slot-placeholder{place-items:center;display:grid}.field-preview-slot-photo{background:linear-gradient(135deg,#0f3b6824,#0f3b6805),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='220' viewBox='0 0 400 220'%3E%3Crect width='400' height='220' fill='%23dbeafe'/%3E%3Cpath d='M0 170 L90 108 L160 156 L242 82 L324 134 L400 76 V220 H0 Z' fill='%2393c5fd'/%3E%3Ccircle cx='290' cy='68' r='20' fill='%23ffffff' fill-opacity='0.7'/%3E%3C/svg%3E") 50%/cover}.field-preview-slot-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}@media (width<=767px){.field-preview-screen{padding:1rem}}.productie-materieel-kpi-grid,.productie-kpi-grid{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:0;padding:14px 16px;display:grid}.productie-materieel-kpi-card{padding:4px}.productie-kpi-card{background:var(--color-background-secondary);border-radius:var(--ui-radius-md);padding:10px 12px}.productie-week-kpi-grid{margin-bottom:0}.productie-materieel-kpi-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);font-size:10px;font-weight:500}.productie-materieel-kpi-value{color:var(--ui-accent);margin-top:4px;font-size:22px;font-weight:500}.productie-materieel-kpi-sub{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.productie-materieel-cat{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.productie-materieel-cat--machine{color:#0c447c;background:#e6f1fb}.productie-materieel-cat--gereedschap{color:#633806;background:#faeeda}.productie-materieel-cat--voertuig{color:#27500a;background:#eaf3de}.productie-materieel-cat--meetmateriaal{color:#4b1528;background:#fbeaf0}.productie-materieel-cat--ict{color:#3c3489;background:#eeedfe}.productie-materieel-cat--overig{color:#444441;background:#f1efe8}.productie-materieel-readonly-banner{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);color:var(--color-text-secondary);margin-bottom:12px;padding:8px 14px;font-size:12px}@media (width<=719px){.productie-filters-grid,.productie-extern-form{grid-template-columns:1fr}}.productie-page-root{--productie-accent:var(--ui-accent);--productie-accent-hover:var(--ui-accent-hover);min-width:0;color:inherit;gap:16px;display:grid}.productie-page-root *{box-sizing:border-box}.productie-topbar-menu-wrap{position:relative}.productie-topbar-menu-trigger{min-width:40px;padding:.7rem .8rem;font-size:18px;line-height:1}.productie-topbar-menu{z-index:20;border:1px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);background:var(--color-background-primary);min-width:190px;box-shadow:var(--ui-shadow-sm);gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.productie-topbar-menu[hidden]{display:none}.productie-topbar-menu button{text-align:left;width:100%}.productie-tabs{border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex}.productie-tab-links{align-items:stretch;gap:0;display:flex}.productie-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;min-height:48px;margin-right:18px;padding:0 4px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.productie-tab:hover{color:var(--color-text-primary);background:0 0;transform:none}.productie-tab.is-active{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary)}.productie-tab-contexts{align-items:center;min-height:48px;margin-left:auto;display:flex}.productie-tab-context{align-items:center;gap:8px;display:flex}.productie-tab-context button{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;padding:8px 12px;font-size:14px;transition:background .15s,border-color .15s}.productie-tab-context button:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.productie-tab-context button.primary{background:var(--productie-accent);color:#fff;border-color:var(--productie-accent)}.productie-tab-context button.primary:hover{background:var(--productie-accent-hover);border-color:var(--productie-accent-hover)}.productie-tab-context[hidden]{display:none}.productie-tab-panel{gap:20px;display:grid}.productie-tab-panel[hidden]{display:none}.productie-subheader{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 16px;display:flex}.productie-subheader--tools-only{justify-content:flex-end}.productie-weeknav{align-items:center;gap:8px;display:flex}.productie-weeknav button{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;padding:8px 12px;font-size:14px;transition:background .15s,border-color .15s}.productie-weeknav button:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.productie-weeknav-label{color:var(--color-text-secondary);text-align:center;min-width:120px;font-size:13px;font-weight:500}.productie-weeknav-tools{align-items:center;gap:10px;display:flex}.productie-weektotaal{color:var(--color-text-primary);text-align:right;min-width:80px;font-size:18px;font-weight:500}.productie-kpi-compat{display:none!important}.productie-weeknav-tools button{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;padding:8px 16px;transition:background .15s,border-color .15s}.productie-weeknav-tools button:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.productie-weeknav-tools button.primary,.productie-stamdata-header button,.productie-form-acties button.primary{background:var(--productie-accent);color:#fff;border-color:var(--productie-accent)}.productie-weeknav-tools button.primary:hover,.productie-form-acties button.primary:hover{background:var(--productie-accent-hover);border-color:var(--productie-accent-hover)}.productie-filter-select{border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);font:inherit;background:var(--color-background-primary);color:var(--color-text-primary);cursor:pointer;padding:7px 10px;font-size:13px}.productie-filter-select:focus{border-color:var(--productie-accent);outline:none}.productie-filters-bar{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);padding:14px 16px}.productie-filters-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.productie-filters-grid .productie-filter-field{gap:7px;display:grid}.productie-filters-grid .productie-filter-field label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:11px;font-weight:500}.productie-filters-grid .productie-filter-field select{width:100%}.productie-pil-balk{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);overflow:hidden}.productie-pil-toggle{width:100%;font:inherit;color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:10px 16px;font-size:13px;transition:background .15s,color .15s;display:flex}.productie-pil-toggle:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.productie-pil-toggle:before{content:"▸";font-size:10px;transition:transform .15s}.productie-pil-toggle[aria-expanded=true]:before{transform:rotate(90deg)}.productie-pil-toggle[aria-expanded=true]{color:var(--color-text-primary)}.productie-pillen{border-top:.5px solid var(--color-border-tertiary);flex-wrap:wrap;gap:5px;padding:0 16px 12px;display:flex}.productie-pillen[hidden]{display:none}.productie-pil{border-radius:var(--ui-radius-md);border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);width:36px;height:28px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.productie-pil:hover{background:var(--color-background-info);border-color:var(--color-border-info);color:var(--color-text-info)}.productie-pil--actief{background:var(--productie-accent);color:#fff;border-color:var(--productie-accent)}.productie-pil--gevuld{background:var(--color-background-success);color:var(--color-text-success);border-color:var(--color-border-success)}.productie-pil--leeg{background:var(--color-background-secondary);color:var(--color-text-tertiary);border-color:var(--color-border-tertiary)}.productie-tabel-sectie{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.productie-section-header{border-bottom:.5px solid var(--color-border-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.productie-section-title{color:var(--color-text-primary);margin:0;font-size:15px}.productie-tabel-wrap{border-bottom-left-radius:var(--ui-radius-lg);border-bottom-right-radius:var(--ui-radius-lg);overflow:auto hidden}.productie-tabel{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:900px;font-size:13px}.productie-tabel thead th{background:var(--color-background-secondary);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:.5px solid var(--color-border-tertiary);white-space:nowrap;padding:10px 8px;font-size:11px;font-weight:500}.productie-tabel thead th.productie-th-dag{text-align:center;width:52px}.productie-tabel thead th.productie-th-smal{width:64px}.productie-tabel tbody tr{border-bottom:.5px solid var(--color-border-tertiary);transition:background .1s}.productie-tabel tbody tr:last-child{border-bottom:none}.productie-tabel tbody tr:hover{background:var(--color-background-secondary)}.productie-tabel tbody tr.productie-extern-rij{background:var(--color-background-info)}.productie-tabel tbody tr.productie-extern-rij:hover{background:var(--color-background-info);filter:brightness(.97)}.productie-tabel tbody tr.productie-crew-row{background:var(--productie-crew-tint,transparent)}.productie-tabel tbody tr.productie-crew-row:hover{background:var(--productie-crew-tint,transparent);filter:brightness(.98)}.productie-tabel tbody tr.is-sortable-row-ghost{opacity:.42}.productie-tabel tbody tr.is-sortable-row-ghost td{background:#eff6ff repeating-linear-gradient(135deg,#3b82f60d 0 8px,#0000 8px 16px);box-shadow:inset 0 0 0 1.5px #93c5fd}.productie-crew-label{align-items:center;gap:6px;display:inline-flex}.productie-crew-dot{border:1px solid color-mix(in srgb, var(--productie-crew-color,#3b82f6) 60%, #fff 40%);background:var(--productie-crew-color,#3b82f6);border-radius:999px;flex-shrink:0;width:10px;height:10px}.productie-bontype-select{border-radius:var(--ui-radius-sm);background:var(--color-background-primary);color:var(--color-text-primary);padding:3px 6px;font-size:11px}tr[data-bontype=brandstof]{background:#faeeda}tr[data-bontype=eten]{background:#fbeaf0}tr[data-bontype=stagnatie]{background:#fcebeb}tr[data-bontype=voorij]{background:#e6f1fb}tr[data-bontype=materiaal]{background:#f1efe8}tr[data-bontype=overig]{background:var(--color-background-warning)}.productie-tabel td{vertical-align:middle;color:var(--color-text-primary);padding:6px 8px}.productie-tabel td.productie-functie{color:var(--color-text-secondary);font-size:12px}.productie-tabel td.productie-project{color:var(--color-text-info);font-size:12px}.productie-tabel td.productie-tarief{color:var(--color-text-secondary);text-align:right;font-size:12px}.productie-tabel td.productie-rij-totaal{color:var(--color-text-primary);text-align:right;white-space:nowrap;font-weight:500}.productie-tabel td.productie-rij-acties{white-space:nowrap;text-align:right}.productie-tabel select,.productie-tabel input[type=text],.productie-tabel input[type=number]{border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-sm);font:inherit;background:var(--color-background-primary);color:var(--color-text-primary);width:100%;padding:7px 9px;font-size:12px;transition:border-color .15s}.productie-tabel select:focus,.productie-tabel input[type=text]:focus,.productie-tabel input[type=number]:focus{border-color:var(--productie-accent);background:var(--color-background-info);outline:none}.productie-tabel input[type=number].productie-uur-input{text-align:center;width:52px;padding:7px 6px}.productie-tabel input[type=number].productie-tarief-input{text-align:right;width:56px}.productie-tabel select.productie-worker-select{min-width:140px}.productie-tabel select.productie-project-select{min-width:120px}.productie-verwijder-btn{border:.5px solid var(--color-border-danger);background:var(--color-background-danger);color:var(--color-text-danger);border-radius:var(--ui-radius-md);cursor:pointer;width:auto;margin-left:6px;padding:4px 8px;font-size:13px;font-weight:500;line-height:1;transition:background .15s}.productie-verwijder-btn:hover{filter:brightness(.95)}.productie-leeg{color:var(--color-text-tertiary);text-align:center;padding:14px;font-size:13px;font-style:italic}.productie-toevoeg-btn{border:.5px dashed var(--color-border-secondary);background:var(--color-background-secondary);width:100%;color:var(--color-text-secondary);border-radius:0 0 var(--ui-radius-lg) var(--ui-radius-lg);cursor:pointer;font:inherit;padding:10px;font-size:13px;transition:background .15s,color .15s}.productie-toevoeg-btn:hover{background:var(--color-background-info);color:var(--color-text-info);border-color:var(--color-border-info)}.productie-section-header .productie-toevoeg-btn{border-radius:var(--ui-radius-md);border-style:solid;width:auto;padding:8px 12px}.productie-externe-medewerker{align-items:center;gap:6px;min-width:160px;display:flex}.productie-worker-select-wrap{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.productie-drag-handle{cursor:grab}.productie-drag-handle:active{cursor:grabbing}.productie-row-dragger{color:#94a3b8;letter-spacing:1px;flex-shrink:0;font-size:14px;line-height:1}.productie-externe-tag{border:.5px solid var(--color-border-info);min-width:28px;height:20px;color:var(--color-text-info);background:var(--color-background-info);border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:500;display:inline-flex}.productie-bon-bedrag-label{gap:3px;display:grid}.productie-bon-bedrag-label span{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.productie-rijmenu{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);gap:12px;margin:12px 16px;padding:16px;display:grid}.productie-rijtoevoegen-wrap{display:inline-block;position:relative}.productie-rijtype-dropdown{z-index:30;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--ui-radius-md);min-width:240px;box-shadow:var(--ui-shadow-md);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.productie-rijtype-dropdown[hidden]{display:none}.productie-rijtype-optie{text-align:left;border-radius:var(--ui-radius-sm);width:100%;font:inherit;color:var(--color-text-primary);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:10px 12px;font-size:13px;display:block}.productie-rijtype-optie:hover{background:var(--color-background-secondary)}.productie-rijtype-optie:focus-visible{outline:2px solid var(--color-border-info);outline-offset:-2px}.productie-rijmenu[hidden]{display:none}.productie-extern-form{border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);background:var(--color-background-primary);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;display:grid}#productieRijMenu .productie-form-acties{grid-column:1/-1}.productie-toevoeg-btn-inline{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);font:inherit;cursor:pointer;padding:6px 14px;font-size:13px}.productie-toevoeg-btn-inline:hover{background:var(--color-background-secondary)}.productie-financial-cell{color:inherit;border-radius:var(--ui-radius-md);font:inherit;cursor:text;text-align:left;background:0 0;border:.5px solid #0000;width:100%;padding:4px 6px;font-size:12px}.productie-financial-cell:hover{border-color:var(--color-border-tertiary);background:var(--color-background-secondary)}.productie-financial-editor{border:.5px solid var(--productie-accent);border-radius:var(--ui-radius-md);width:100%;font:inherit;background:var(--color-background-info);color:var(--color-text-primary);padding:7px 9px;font-size:12px}.productie-resultaat-positief{color:var(--color-text-success)!important}.productie-resultaat-negatief{color:var(--color-text-danger)!important}.productie-stamdata-sectie{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);overflow:hidden}.productie-stamdata-header{border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.productie-stamdata-header h2{color:var(--color-text-primary);margin:0;font-size:16px}.productie-stamdata-header button{border:.5px solid var(--productie-accent);border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;padding:8px 16px;font-size:13px;transition:background .15s}.productie-stamdata-header button:hover{background:var(--productie-accent-hover)}.productie-stamdata-layout{grid-template-columns:1fr;gap:0;display:grid}@media (width>=800px){.productie-stamdata-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.productie-stamdata-tabel{border-collapse:collapse;width:100%;font-size:13px}.productie-stamdata-tabel thead th{background:var(--color-background-secondary);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:.5px solid var(--color-border-tertiary);padding:10px 12px;font-size:11px;font-weight:500}.productie-stamdata-tabel tbody tr{border-bottom:.5px solid var(--color-border-tertiary)}.productie-stamdata-tabel tbody tr:last-child{border-bottom:none}.productie-stamdata-tabel tbody tr:hover{background:var(--color-background-secondary)}.productie-stamdata-tabel td{vertical-align:middle;color:var(--color-text-primary);padding:10px 12px}.productie-stamdata-tabel td.productie-functie{color:var(--color-text-secondary);font-size:12px}.productie-stamdata-tabel td.productie-tarief{color:var(--color-text-primary);font-weight:500}.productie-bewerk-btn{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);cursor:pointer;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s}.productie-bewerk-btn:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.productie-stamdata-form{border-left:.5px solid var(--color-border-tertiary);align-content:start;gap:14px;padding:16px;display:grid}.productie-stamdata-form h3{color:var(--color-text-primary);margin:0;font-size:15px}.productie-veld{gap:5px;display:grid}.productie-veld label,.productie-veld span{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:11px;font-weight:500}.productie-veld input,.productie-veld select{border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-md);font:inherit;background:var(--color-background-primary);color:var(--color-text-primary);width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s}.productie-veld input:focus,.productie-veld select:focus{border-color:var(--productie-accent);background:var(--color-background-info);outline:none}.productie-form-acties{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.productie-form-acties button{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;padding:8px 14px;font-size:13px;transition:background .15s}.productie-form-acties button:hover{background:var(--color-background-secondary)}#stamdataDeactiveerBtn{border-color:var(--color-border-danger);color:var(--color-text-danger);background:var(--color-background-danger);margin-left:auto}#stamdataDeactiveerBtn:hover{filter:brightness(.95)}.productie-jaar-sectie{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);overflow:hidden}.productie-jaar-header{border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.productie-jaar-header h2{color:var(--color-text-primary);margin:0;font-size:16px}.productie-jaar-nav{gap:6px;display:flex}.productie-jaar-nav button{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--ui-radius-md);cursor:pointer;font:inherit;padding:6px 12px;transition:background .15s}.productie-jaar-nav button:hover{background:var(--color-background-secondary)}.productie-jaar-totaal-balk{background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.productie-jaar-totaal-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:11px;font-weight:500}.productie-jaar-totaal-bedrag{color:var(--color-text-primary);font-size:22px;font-weight:500}.productie-jaar-tabel tbody tr:hover{background:var(--color-background-secondary);cursor:pointer}.productie-jaar-rij--actief{background:var(--color-background-info)}.productie-jaar-rij--leeg td{color:var(--color-text-tertiary)}.productie-jaar-balk-wrap{align-items:center;gap:6px;display:flex}.productie-jaar-balk{background:var(--productie-accent);border-radius:3px;min-width:2px;height:6px}.productie-jaar-balk-pct{color:var(--color-text-secondary);white-space:nowrap;font-size:11px}
