@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/static/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/static/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/static/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/static/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/static/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/static/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/static/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff")}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;--brand: #2563eb;--brand-soft: #dbeafe;--ink: #071437;--muted: #4b5675;--line: #dbdfe9;--app-primary: #2563eb;--app-primary-active: #1d4ed8;--app-primary-soft: #dbeafe;--app-primary-clarity: rgba(37, 99, 235, .16);--app-primary-inverse: #ffffff;--app-text: #252f4a;--app-text-muted: #4b5675;--app-text-soft: #78829d;--app-border: #dbdfe9;--app-border-soft: #f1f1f4;--app-panel: #ffffff;--app-page: #ffffff;--app-surface: #ffffff;--app-surface-muted: #f8fafc;--app-row: #f9f9f9;--app-row-hover: #f5f8ff;--app-shadow: 0 3px 4px rgba(0, 0, 0, .03);--app-radius: 10px;color:var(--app-text);background:var(--app-page);line-height:1.42}:root[data-theme=dark]{color-scheme:dark;--brand: #6ea8ff;--brand-soft: rgba(96, 165, 250, .18);--ink: #dbe6f8;--muted: #92a0ba;--line: #2b3449;--app-primary: #60a5fa;--app-primary-active: #93c5fd;--app-primary-soft: rgba(96, 165, 250, .16);--app-primary-clarity: rgba(96, 165, 250, .26);--app-primary-inverse: #071437;--app-text: #dbe6f8;--app-text-muted: #9aa8c2;--app-text-soft: #76849f;--app-border: #2f3a51;--app-border-soft: #20293a;--app-panel: #111827;--app-page: #0b1020;--app-surface: #0f172a;--app-surface-muted: #151d2d;--app-row: #151d2d;--app-row-hover: #1b2941;--app-shadow: 0 10px 28px rgba(0, 0, 0, .28)}:root[data-theme=dark] body,:root[data-theme=dark] .content,:root[data-theme=dark] .page-header,:root[data-theme=dark] .sticky-actions,:root[data-theme=dark] .action-bar,:root[data-theme=dark] .dashboard-kpi-band{background:var(--app-page);color:var(--app-text)}:root[data-theme=dark] .side-nav,:root[data-theme=dark] .panel,:root[data-theme=dark] .card,:root[data-theme=dark] .modal-dialog,:root[data-theme=dark] .companies-search-box,:root[data-theme=dark] .users-dropdown-menu,:root[data-theme=dark] .dashboard-project-select,:root[data-theme=dark] .dashboard-project-options,:root[data-theme=dark] .mobile-menu-sheet{background:var(--app-panel);color:var(--app-text);border-color:var(--app-border-soft)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .users-select-button{background:#0f172a;color:var(--app-text);border-color:var(--app-border)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#6f7d99}:root[data-theme=dark] .report-list tbody tr:nth-child(odd),:root[data-theme=dark] .companies-table tbody tr:nth-child(odd),:root[data-theme=dark] .users-table tbody tr:nth-child(odd){background:var(--app-row)}:root[data-theme=dark] .report-list tbody tr:nth-child(2n),:root[data-theme=dark] .companies-table tbody tr:nth-child(2n),:root[data-theme=dark] .users-table tbody tr:nth-child(2n){background:#101827}:root[data-theme=dark] .report-list th,:root[data-theme=dark] .report-list td,:root[data-theme=dark] .companies-table th,:root[data-theme=dark] .companies-table td,:root[data-theme=dark] .users-table th,:root[data-theme=dark] .users-table td{color:var(--app-text)}:root[data-theme=dark] .btn.secondary,:root[data-theme=dark] .btn.light,:root[data-theme=dark] .nav-logout,:root[data-theme=dark] .drawer-collapse-button,:root[data-theme=dark] .icon-button{background:#172033;color:var(--app-text);border-color:var(--app-border)}:root[data-theme=dark] .app-product-logo,:root[data-theme=dark] .mobile-app-footer img{filter:brightness(1.15)}html,body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.project-camera-panel{margin-top:16px}.project-camera-frame{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#f8fafc;aspect-ratio:16 / 9;min-height:320px}.project-camera-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px}.pwa-status-stack{position:fixed;left:16px;right:16px;top:calc(16px + env(safe-area-inset-top,0px));z-index:10050;display:grid;gap:8px;pointer-events:none}.pwa-status-banner{width:min(760px,100%);margin:0 auto;padding:11px 14px;border:1px solid var(--app-border);border-radius:8px;box-shadow:0 10px 28px #0f2a5129;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto;font-size:.9rem;line-height:1.35}.pwa-status-banner strong{color:inherit;white-space:nowrap}.pwa-status-banner-offline{background:#fff7ed;border-color:#fdba74;color:#7c2d12}.pwa-status-banner-update{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.pwa-status-banner-update button{border:0;border-radius:7px;background:var(--app-primary);color:var(--app-primary-inverse);font-weight:700;padding:8px 12px;cursor:pointer}:root[data-theme=dark] .pwa-status-banner{box-shadow:0 14px 32px #00000059}:root[data-theme=dark] .pwa-status-banner-offline{background:#3b260f;border-color:#b45309;color:#fed7aa}:root[data-theme=dark] .pwa-status-banner-update{background:#172554;border-color:#315aa4;color:#dbeafe}:root[data-theme=dark] .mobile-header-profile-dropdown{background:var(--app-surface);border-color:var(--app-border);box-shadow:0 14px 32px #00000059}:root[data-theme=dark] .mobile-status-button{background:#3b260f;border-color:#b45309;color:#fed7aa}:root[data-theme=dark] .mobile-status-button svg:last-child{background:#3b260f;color:#fca5a5}:root[data-theme=dark] .mobile-header-status-dropdown{background:#3b260f;border-color:#b45309;color:#fed7aa;box-shadow:0 14px 32px #00000059}:root[data-theme=dark] .mobile-header-profile-dropdown a,:root[data-theme=dark] .mobile-header-profile-dropdown button{color:var(--app-text)}@media(max-width:640px){.pwa-status-stack{left:10px;right:10px;top:calc(10px + env(safe-area-inset-top,0px))}.pwa-status-banner{align-items:flex-start;flex-direction:column;gap:6px;padding:10px 12px;font-size:.82rem}.pwa-status-banner strong{white-space:normal}}.login-page{min-height:100vh;display:grid;place-items:center;background:#f6f8fc;padding:24px}.login-panel{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 44px #1426471f;padding:28px;display:grid;gap:18px}.login-brand{display:flex;align-items:center;gap:14px;color:var(--brand)}.login-brand h1{margin:0;color:var(--ink)}.form-error{margin:0;color:#b42318;font-weight:700}.form-success{margin:0;color:#087443;font-weight:700}.link-button,.login-small-link{border:0;background:transparent;color:var(--brand);font:inherit;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;padding:2px}.link-button:disabled{cursor:not-allowed;opacity:.6}.nav-logout{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;padding:7px 9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;font-size:12px;margin-top:8px}.nav-logout:hover{color:var(--brand);border-color:var(--brand-soft)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;overflow:hidden}.side-nav{background:#111820;color:#f8fafc;padding:28px 20px;display:flex;flex-direction:column;gap:28px;height:100vh;overflow:auto}.side-nav h1{margin:0;font-size:26px}.side-nav-logo{display:block;width:min(135px,100%);max-height:52px;object-fit:contain;object-position:left center}.mobile-menu-toggle,.mobile-top-actions,.mobile-bottom-nav,.mobile-menu-backdrop,.mobile-app-footer{display:none}.side-nav nav{display:grid;gap:8px}.project-nav{border-top:1px solid var(--app-border, rgba(148, 163, 184, .22));margin-top:10px;padding-top:12px}.project-nav-title{color:var(--app-muted, #66708a);font-size:11px;font-weight:800;letter-spacing:0;line-height:1.35;margin:0;padding:0 11px;text-transform:uppercase}.project-nav-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}.project-nav-exit{border:0;border-radius:6px;background:transparent;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;padding:5px;cursor:pointer}.project-nav-exit:hover{background:var(--app-primary-soft);color:var(--app-primary)}.side-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;color:#dbe3ec}.side-nav a.active,.side-nav a:hover{background:#243241;color:#fff}.core-hint{margin-top:auto;display:flex;gap:10px;color:#b5c2cf;font-size:13px}.dev-user-hint{border:1px solid rgba(219,227,236,.18);border-radius:8px;background:#ffffff0f;padding:10px;display:grid;gap:3px;color:#e8eef5;font-size:13px}.dev-user-hint span,.dev-user-hint small{color:#b5c2cf}.content{padding:28px;max-width:1280px;width:100%;height:100vh;overflow:auto;position:relative;--content-header-height: 96px;scroll-padding-top:var(--content-header-height)}.app-product-logo{position:fixed;top:14px;right:26px;width:178px;max-height:54px;object-fit:contain;object-position:right center;z-index:16;pointer-events:none}.content:before{content:"";position:fixed;top:0;right:0;left:260px;height:var(--content-header-height);background:var(--app-page);border-bottom:1px solid var(--app-border-soft);z-index:9;pointer-events:none}.page-stack,.form-stack{display:grid;gap:18px}.page-header,.section-head,.card-head,.action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-page{gap:0}.project-page .page-action-bar{min-height:0;height:0;margin:0;padding:0;background:transparent;pointer-events:none}.project-page .page-action-bar-left{display:none}.project-page .page-action-bar-right{pointer-events:auto;transform:translateY(18px)}.project-status-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));justify-content:start;gap:10px;margin-top:8px;width:min(100%,calc(100% - 430px))}.project-page.is-personal-project .project-status-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.project-cockpit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.project-page.is-personal-project .project-cockpit-grid{grid-template-columns:minmax(0,1fr)}.project-briefing-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:14px}.project-briefing-panel,.project-care-panel{display:grid;align-content:start;gap:14px}.project-briefing-panel .section-head,.project-care-panel .section-head{align-items:flex-start}.pdf-preview-page{display:grid;gap:14px;min-height:calc(100vh - 56px)}.pdf-preview-toolbar{position:sticky;top:0;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 12px;background:var(--app-page);border-bottom:1px solid var(--app-border-soft)}.pdf-preview-toolbar h2{margin:0;font-size:20px}.pdf-preview-toolbar .muted{margin:2px 0 0}.pdf-preview-frame{display:block;width:100%;min-height:calc(100vh - 168px);border:1px solid var(--app-border);border-radius:8px;background:#f8fafc}.pdf-assembly-state{min-height:calc(100vh - 210px);display:grid;place-items:center;gap:18px;text-align:center;color:var(--app-text)}.pdf-assembly-animation{width:min(220px,52vw);aspect-ratio:1;object-fit:contain;display:block}.pdf-assembly-lines{position:relative;width:min(420px,100%);min-height:34px;color:var(--app-text-muted);font-weight:800}.pdf-assembly-lines span{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;animation:pdf-message 8.5s ease-in-out infinite}@keyframes pdf-message{0%,16%{opacity:0;transform:translateY(7px)}20%,36%{opacity:1;transform:translateY(0)}42%,to{opacity:0;transform:translateY(-7px)}}.journal-collection-dialog{width:min(680px,100%)}.journal-collection-options{border:1px solid var(--app-border);border-radius:8px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.journal-collection-options legend{padding:0 6px;color:var(--app-text-muted);font-size:13px;font-weight:800}.journal-collection-options label{display:inline-flex;align-items:center;gap:8px;font-weight:700}.project-cockpit-grid>.panel{display:grid;grid-template-rows:44px minmax(0,1fr);gap:12px;padding-top:18px}.project-cockpit-grid>.panel>.section-head{min-height:44px;align-items:center;padding:0}.project-cockpit-grid>.panel>.section-head h3{line-height:1.2}.project-cockpit-grid>.panel>.section-head .btn.compact{min-height:36px;padding-top:0;padding-bottom:0;align-self:center}.project-briefing-sections{display:grid;gap:12px}.project-briefing-sections h4{margin:0 0 4px;color:var(--app-text);font-size:14px;font-weight:800}.project-briefing-sections p{margin:0;color:var(--app-text);font-size:14px;line-height:1.48}.project-briefing-closing{padding-top:10px;border-top:1px solid var(--app-border-soft);color:var(--app-primary)!important;font-weight:700}.project-briefing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.project-delay-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.project-delay-head h4{margin:1px 0 0;color:var(--app-text);font-size:18px}.project-delay-tabs{display:inline-flex;flex-shrink:0;gap:3px;padding:3px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f6f9ff}.project-delay-tabs button{min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--app-primary);padding:0 10px;font-weight:900;cursor:pointer}.project-delay-tabs button.is-active{background:var(--app-primary);color:#fff}.project-delay-card{display:grid;gap:13px;min-width:0;padding:0;border:0;background:transparent}.project-delay-title{color:var(--app-text);font-size:20px;line-height:1.2}.project-delay-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.project-delay-facts div{min-width:0;border:1px solid var(--app-border-soft);border-radius:8px;background:#fbfcff;padding:8px}.project-delay-facts div.is-highlight{border-color:#ffc7c7;background:#fff6f6}.project-delay-facts span{display:block;color:var(--app-text-muted);font-size:10px;font-weight:800;line-height:1.15}.project-delay-facts strong{display:block;margin-top:5px;color:var(--app-text);font-size:15px;line-height:1.15;overflow-wrap:anywhere}.project-delay-card>p{margin:0;color:var(--app-text);font-size:14px;line-height:1.45}.project-delay-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-delay-quality{min-width:0;border:1px solid var(--app-border-soft);border-radius:8px;background:#fbfcff;padding:11px;display:grid;gap:9px}.project-delay-quality h5{margin:0 0 4px;color:var(--app-text-muted);font-size:12px;font-weight:900}.project-delay-quality strong{color:var(--app-text);font-size:17px}.project-delay-bar{height:10px;overflow:hidden;border-radius:999px;background:#eef2f8}.project-delay-bar i{display:block;height:100%;border-radius:inherit;background:#159447}.project-delay-quality.is-amber .project-delay-bar i{background:#f59e0b}.project-delay-quality.is-red .project-delay-bar i{background:#d22b2b}.project-delay-quality ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}.project-delay-quality li{color:var(--app-text);font-size:12px;font-weight:700}@media(max-width:1280px){.project-delay-facts,.project-delay-quality-grid{grid-template-columns:1fr}}.project-overview-card{min-height:74px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);padding:10px 12px;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-areas:"icon title" "icon value" "icon detail";align-items:center;align-content:center;column-gap:10px;row-gap:0}.project-overview-card svg{grid-area:icon;color:var(--blue)}.project-overview-card.is-critical svg{color:#d22b2b}.project-overview-card.is-today svg{color:#087bff}.project-overview-card span{grid-area:title;font-weight:800;font-size:14px;line-height:1.2}.project-overview-card strong{grid-area:value;font-size:24px;line-height:1.05}.project-overview-card small,.project-overview-row small{color:var(--muted)}.project-overview-card small{grid-area:detail;font-size:12px;line-height:1.25}.project-overview-list{display:grid;gap:8px}.project-mini-table-wrap{overflow-x:auto;border:1px solid var(--app-border-soft);border-radius:8px}.project-mini-table{width:100%;min-width:520px;border-collapse:collapse;table-layout:fixed}.project-mini-table th{padding:9px 12px;color:#78829d;font-size:13px;font-weight:500;text-align:left;white-space:nowrap;border-bottom:1px solid var(--app-border-soft)}.project-mini-table td{padding:10px 12px;color:var(--app-text);font-size:14px;vertical-align:middle;white-space:nowrap}.project-mini-table tbody tr:nth-child(odd){background:var(--app-row)}.project-mini-table tr.is-clickable{cursor:pointer}.project-mini-table tr.is-clickable:hover,.project-mini-table tr.is-clickable:focus{background:var(--blue-soft)}.project-mini-table tr.is-overdue td:first-child{border-left:4px solid #d22b2b;padding-left:8px}.project-mini-table tr.is-today td:first-child{border-left:4px solid #087bff;padding-left:8px}.project-mini-table td:first-child{overflow:hidden;text-overflow:ellipsis}.project-mini-table td strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.project-mini-table td span{display:block;margin-top:2px;color:var(--app-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}.project-mini-todos{min-width:690px}.project-overview-row{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;text-align:left;cursor:pointer}.project-overview-row:hover,.project-overview-row:focus{border-color:var(--blue);background:var(--blue-soft)}.project-overview-row.is-overdue{border-left:4px solid #d22b2b}.project-overview-row.is-today{border-left:4px solid #087bff}.project-overview-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.project-timeline{display:flex;flex-wrap:wrap;gap:8px}.project-timeline button{min-height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--blue);font-weight:800;padding:0 12px}.project-timeline button:hover,.project-timeline button:focus{background:var(--blue-soft);border-color:var(--blue)}.project-timeline-calendar{display:grid;gap:8px}.project-timeline-weekdays,.project-timeline-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.project-timeline-weekdays span{color:var(--muted);font-size:12px;font-weight:800;text-align:center}.project-timeline-day{position:relative;min-width:0;min-height:58px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;color:var(--ink);padding:6px;display:grid;align-content:space-between;justify-items:start;cursor:pointer}.project-timeline-day:disabled{cursor:default;color:#9aa8bd;background:#fbfcff}.project-timeline-day.has-activity:hover,.project-timeline-day.has-activity:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2563d61f}.project-timeline-day.is-current-week{background:#f7faff}.project-timeline-day.is-today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.project-timeline-day span{font-size:15px;font-weight:900;line-height:1}.project-timeline-day i{font-style:normal;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.project-timeline-day em{display:flex;gap:3px;min-height:16px;font-style:normal}.project-timeline-day b,.project-timeline-legend i{width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:900}.project-timeline-day b.is-entry,.project-timeline-legend i.is-entry{background:var(--blue);color:#fff}.project-timeline-day b.is-todo,.project-timeline-legend i.is-todo{background:#15a6ff;color:#fff}.project-timeline-legend{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:800}.project-timeline-legend span{display:inline-flex;align-items:center;gap:5px}.project-info-list{display:grid;gap:0;overflow:hidden;border:1px solid var(--app-border-soft);border-radius:8px;margin-bottom:14px}.project-info-list div{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;min-height:40px;padding:9px 12px;color:var(--ink)}.project-info-list div:nth-child(odd){background:var(--app-row)}.project-info-list span{display:flex;align-items:center;gap:8px;color:var(--app-text-muted);font-weight:700}.project-info-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.project-info-list svg{flex:0 0 auto;color:var(--blue)}.project-team-table{display:grid;gap:8px}.project-team-table h4{margin:0;color:var(--app-text);font-size:14px;font-weight:700}.page-header{position:sticky;top:0;z-index:13;height:var(--content-header-height);min-height:var(--content-header-height);margin:-28px -28px 0;padding:10px 230px 10px 28px;background:var(--app-page);border-bottom:1px solid var(--app-border-soft);align-items:center;overflow:hidden}.page-header>div:not(.quick-actions):not(.dashboard-header-actions){display:grid;align-content:center;gap:3px;min-height:0}.page-header h2,.panel h3,.card h3{margin:0}.page-header h2{font-size:24px;line-height:1.15}.breadcrumbs{display:flex;align-items:center;gap:6px;color:#4b5f86;font-size:15px;line-height:1.2;font-weight:600}.breadcrumb-line{margin:0;color:#4b5f86;font-size:14px;line-height:1.2;font-weight:600}.breadcrumb-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumb-item a{color:#4b5f86}.breadcrumb-item a:hover{color:var(--app-primary)}.breadcrumb-item:last-child{color:var(--app-text);font-weight:800}.page-action-bar{position:sticky;top:var(--content-header-height);z-index:12;min-height:58px;padding:8px 0;background:linear-gradient(to bottom,var(--app-page) 82%,rgba(255,255,255,0));display:flex;align-items:center;justify-content:space-between;gap:12px}.page-action-bar-left,.page-action-bar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-action-bar-right{margin-left:auto;justify-content:flex-end}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:0;color:#668092;font-size:12px;font-weight:700}.panel,.card,.state{background:#fff;border:1px solid #dfe6ec;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.panel{padding:18px;display:grid;gap:16px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-title-row>strong{color:#31446a;font-size:14px;font-weight:700}.card{padding:16px}.entry-card{display:grid;gap:12px}.kpi-grid,.project-grid,.field-grid{display:grid;gap:14px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-grid,.field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi,.project-card{background:#fff;border:1px solid #dfe6ec;border-radius:8px;padding:16px}.kpi{display:grid;gap:6px}.kpi svg{color:var(--app-primary)}.kpi strong{font-size:28px}.kpi p,.kpi small,.muted,.note{margin:0;color:#5f7080}.kpi.warn svg{color:#b35621}.project-card{display:grid;gap:8px}.project-card:hover{border-color:var(--app-primary)}.btn,.icon-link,.icon-button{border:0;border-radius:8px;background:var(--app-primary);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px}.btn.secondary{background:var(--app-primary-soft);color:var(--app-primary)}.btn.danger{background:#b42318;color:#fff}.btn.success{background:#16a34a;color:#fff}.icon-link,.icon-button{width:38px;min-height:38px;padding:0}.dashboard-hero{align-items:center}.dashboard-page{gap:0}.dashboard-page .kpi-grid{grid-template-columns:repeat(5,minmax(145px,1fr));justify-content:start;gap:10px;margin-top:8px;width:min(100%,calc(100% - 430px))}.dashboard-page .page-action-bar{min-height:0;height:0;margin:0;padding:0;background:transparent;pointer-events:none}.dashboard-page .page-action-bar-left{display:none}.dashboard-page .page-action-bar-right{pointer-events:auto;transform:translateY(18px)}.dashboard-page .kpi{min-height:74px;padding:10px 12px;grid-template-columns:30px minmax(0,1fr);grid-template-areas:"icon value" "icon label" "icon detail";align-items:center;align-content:center;column-gap:10px;row-gap:0}.dashboard-page .kpi.is-clickable{cursor:pointer;text-align:left}.dashboard-page .kpi.is-clickable:hover{border-color:#b8d2ff;background:#f7fbff}.dashboard-page .kpi>span{grid-area:icon;display:inline-flex;align-items:center;justify-content:center}.dashboard-page .kpi strong{grid-area:value;font-size:24px;line-height:1.05}.dashboard-page .kpi p{grid-area:label;font-size:14px;line-height:1.25}.dashboard-page .kpi small{grid-area:detail;font-size:12px;line-height:1.25}.dashboard-briefing-modal{width:min(860px,calc(100vw - 32px));display:grid;gap:16px}.dashboard-briefing-head{align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--app-border-soft)}.dashboard-briefing-head .eyebrow{margin:0 0 4px;color:var(--app-muted);font-size:12px;font-weight:600}.dashboard-briefing-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.dashboard-briefing-projects>div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--app-border-soft);border-radius:8px;background:var(--app-surface-muted)}.dashboard-briefing-projects strong{color:var(--app-text);font-size:13px}.dashboard-briefing-projects span{color:var(--app-muted);font-size:12px;line-height:1.4}.dashboard-header-actions,.quick-actions,.project-card-actions,.task-health-actions,.task-row-actions,.modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.attendance-copy-modal{max-width:460px}.attendance-copy-modal p{color:var(--app-text-muted);line-height:1.5;margin:8px 0 0}.attendance-copy-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.attendance-copy-actions .btn{min-width:120px}.btn:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.task-panel{padding:0;overflow:hidden}.task-toggle{min-height:48px;width:100%;border:0;background:#f8fbff;color:#18375f;padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-weight:800;cursor:pointer}.task-body{display:grid;gap:16px;padding:16px;border-top:1px solid #dfe6ec}.task-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.task-user-line{margin:0;color:#5f7080}.scope-toggle{border:1px solid #cbd6df;border-radius:999px;background:#eef3fa;min-height:40px;padding:3px;display:inline-flex;gap:3px;cursor:pointer}.scope-toggle span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;color:var(--app-text-muted);font-weight:700}.todo-overview,.project-health{display:grid;gap:12px}.task-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.task-col{display:grid;gap:10px;align-content:start;align-items:start;border:1px solid #dfe6ec;border-radius:8px;padding:12px;background:#fbfcfd}.task-col h3{margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px}.task-count{min-width:30px;min-height:30px;border-radius:999px;background:#dbe8e6;color:#1f4f52;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.task-list{display:grid;gap:10px;align-content:start;align-items:start;width:100%}.task-item{border:1px solid #dfe6ec;border-radius:8px;background:#fff;padding:11px;display:grid;gap:5px;align-self:start;width:100%}.task-item span,.task-item p,.task-empty{margin:0;color:#5f7080;font-size:14px}.task-row-actions{justify-content:flex-end}.task-item-health{gap:10px}.task-health-main{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.task-badge{border-radius:999px;padding:5px 10px;font-weight:800;font-size:13px}.task-badge.ok{background:#dcefe7;color:#1f6b44}.task-badge.mid{background:#fff4cc;color:#80610d}.task-badge.warn{background:#fff0e8;color:#9a3412}.project-filter-panel{display:grid;gap:12px;padding:12px;border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd}.project-filter-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.project-filter-list label{display:flex;align-items:center;gap:8px;color:#294154}.project-filter-list input{width:16px;height:16px;min-width:16px;accent-color:var(--app-primary)}.dashboard-project-card{align-content:start}.dashboard-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px 22px;align-items:start}.dashboard-project-filter-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,.55fr) auto;align-items:end;gap:14px;position:relative}.dashboard-project-filter-row>svg{color:#31446b;margin-bottom:9px}.dashboard-project-multiselect,.dashboard-project-status-filter{display:grid;gap:4px;min-width:0}.dashboard-project-multiselect>label,.dashboard-project-status-filter>span{color:var(--app-text-soft);font-size:12px;padding-left:2px}.dashboard-project-select,.dashboard-project-status-filter select{min-height:40px;width:100%;border:1px solid var(--app-border);border-radius:6px;background:#fff;color:var(--app-text-muted);padding:0 12px}.dashboard-project-select{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;text-align:left;cursor:pointer}.dashboard-project-select.is-open,.dashboard-project-select:hover,.dashboard-project-status-filter select:focus{border-color:var(--app-primary);outline:none}.dashboard-project-select span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dashboard-project-select span:last-child{flex:0 0 auto}.dashboard-project-dropdown{position:absolute;left:44px;top:calc(100% + 6px);z-index:15;width:min(860px,calc(100% - 44px));max-width:calc(100% - 44px);background:#fff;border:1px solid var(--app-border-soft);border-radius:8px;box-shadow:0 12px 34px #07143724;overflow:hidden}.dashboard-project-options{display:grid;gap:8px;max-height:260px;overflow:auto;padding:12px}.dashboard-project-options label{display:flex;align-items:center;gap:8px;color:var(--app-text-muted);font-size:14px}.dashboard-project-options input,.dashboard-filter-toggle input{width:17px;height:17px;accent-color:var(--app-primary)}.dashboard-project-dropdown-actions{border-top:1px solid var(--app-border-soft);display:flex;justify-content:space-between;gap:10px;padding:8px 12px}.dashboard-filter-toggle{min-height:40px;display:inline-flex;align-items:center;gap:8px;color:var(--app-text);font-weight:700;white-space:nowrap;margin-bottom:0}.dashboard-project-tools{display:flex;align-items:center;justify-content:flex-start}.dashboard-project-tile{border:1px dashed #d7dfeb;border-radius:8px;background:#fff;min-height:190px;display:grid;align-content:start}.dashboard-project-tile.is-personal{border-style:solid;background:linear-gradient(180deg,#f8fbff,#fff)}.dashboard-project-tile-head{min-height:64px;border-bottom:1px solid var(--app-border-soft);display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 18px}.dashboard-project-tile-head>strong{text-align:center;font-size:19px;font-weight:700;color:var(--app-text)}.dashboard-project-tile.is-personal .dashboard-project-tile-head{background:#f1f7ff}.dashboard-project-tile.is-personal .dashboard-project-tile-head>strong:after{content:"Persönlich";display:inline-flex;align-items:center;margin-left:8px;border-radius:999px;padding:3px 8px;background:#dcebff;color:#1f5ecf;font-size:.7rem;font-weight:700;vertical-align:middle}.dashboard-project-toggle{width:32px;height:32px;border:1px solid var(--app-border);border-radius:6px;background:#fff;color:var(--app-text-soft);display:inline-flex;align-items:center;justify-content:center;font-size:23px;line-height:1;cursor:pointer}.dashboard-project-toggle:hover{border-color:var(--app-primary-clarity);color:var(--app-primary)}.dashboard-project-open{background:var(--app-primary);color:#fff;min-height:40px;padding-inline:18px}.dashboard-project-open:hover{background:var(--app-primary-active)}.dashboard-project-tile-body{padding:18px;display:grid;gap:12px}.dashboard-project-tile-body>div:first-child{display:grid;gap:2px}.dashboard-project-tile-body>div:first-child strong{color:var(--app-text-muted);font-weight:800}.dashboard-project-tile-body>div:first-child span{color:var(--app-text-muted);white-space:pre-line;line-height:1.3}.dashboard-project-meta{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1fr);gap:8px 14px;margin:0;color:var(--app-text-muted)}.dashboard-project-meta dt{font-weight:800}.dashboard-project-meta dd{margin:0}.dashboard-project-details{display:grid;gap:12px}.dashboard-project-people{display:grid;gap:5px;color:#647091;font-size:13px}.dashboard-avatar-row{display:flex;align-items:center;min-height:41px;padding-left:2px}.dashboard-avatar{width:39px;height:39px;border-radius:999px;border:2px solid #fff;background:#dbeafe;color:var(--app-primary);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;margin-left:-7px;box-shadow:0 1px 2px #0714371f;overflow:hidden;flex:0 0 auto}.dashboard-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-avatar:first-child{margin-left:0}.dashboard-avatar:nth-child(2n){background:#e0f2fe;color:#0369a1}.dashboard-avatar:nth-child(3n){background:#fef3c7;color:#92400e}.dashboard-avatar-more{background:#eef2ff;color:#4f46e5}.dashboard-project-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px}.project-card-head{display:flex;align-items:center;gap:10px}.project-plus{width:28px;height:28px;border-radius:999px;background:#dbe8e6;color:#1f4f52;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.project-card-actions{margin-top:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#1118206b;display:grid;place-items:center;padding:18px}.modal-dialog{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #dfe6ec;border-radius:8px;box-shadow:0 18px 45px #0f172a2e;padding:18px;display:grid;gap:16px}.modal-dialog h3{margin:0}.unsaved-changes-backdrop{z-index:95}.weather-required-backdrop{z-index:110}.unsaved-changes-dialog{width:min(750px,calc(100vw - 18px));padding:0;overflow:hidden}.unsaved-changes-head{min-height:56px;padding:14px 24px;border-bottom:1px solid var(--app-border-soft);display:flex;align-items:center;justify-content:space-between;gap:16px}.unsaved-changes-head h3{margin:0;font-size:17px}.unsaved-changes-dialog>p{margin:0;padding:18px 24px;color:var(--app-text-muted);font-size:20px;line-height:1.45}.unsaved-changes-actions{padding:14px 24px;border-top:1px solid var(--app-border-soft);display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.unsaved-changes-actions .btn:nth-child(2){justify-self:center}.unsaved-changes-actions .btn:last-child{justify-self:end}.modal-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.modal-title-row p{margin:6px 0 0}.delete-confirm-dialog{width:min(520px,100%)}.contractor-dialog{width:min(1180px,100%)}.dev-user-dialog{width:min(720px,100%)}.delete-confirm-head{display:flex;align-items:flex-start;gap:12px}.delete-confirm-head svg{color:#b42318;flex:0 0 auto}.delete-confirm-head p,.delete-confirm-warning{margin:6px 0 0;color:#5f7080}.delete-confirm-warning{padding:10px 12px;border:1px solid #fedf89;border-radius:6px;background:#fffbeb;color:#92400e;font-weight:600}.field-full{grid-column:1 / -1}.project-admin-form{display:grid;gap:16px}.core-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-controls-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-controls-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-mobile-actions{display:none}.calendar-controls-bottom strong{min-width:150px;text-align:center;color:#1f4ea6}.calendar-mode-group{display:grid;gap:8px}.calendar-mode{display:inline-flex;gap:8px;flex-wrap:wrap}.calendar-mode .is-active,.calendar-month-span-buttons .is-active{background:var(--app-primary);color:#fff}.calendar-month-count{display:flex;align-items:center;gap:8px;color:#4d5d6b;font-size:13px;font-weight:700}.calendar-month-span-buttons,.calendar-filter-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-mini{min-height:34px;padding:0 11px}.calendar-filter-tools{display:grid;justify-items:end;gap:8px}.calendar-print-meta{display:none}.calendar-project-legend{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e4f8;border-radius:999px;padding:4px 9px;background:#fff;font-size:12px;color:#2a4577}.legend-item.is-empty{background:#f7f9fc;color:#6b7e9f}.legend-color{width:10px;height:10px;border-radius:999px;border:1px solid rgba(0,0,0,.08)}.month-grid,.year-grid{display:grid;gap:12px}.month-block,.mini-month{border:1px solid #d9e4f8;border-radius:8px;background:#fff;padding:10px}.month-block-title,.mini-month-title{margin:0 0 8px;color:#1f4ea6;font-size:15px}.month-grid-head,.month-block-grid,.mini-week-head,.mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-grid-head{gap:6px;margin-bottom:8px;color:#5f7080;font-size:12px;font-weight:700;text-align:center}.month-block-grid{gap:6px}.day-cell{min-height:58px;border:1px solid #d9e4f8;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;color:#1f3f73;gap:4px}.day-cell.is-outside{opacity:.35}.day-cell.is-today{border-color:#1f4ea6;box-shadow:inset 0 0 0 1px #1f4ea6;font-weight:700}.day-cell.has-entry{border-color:#1f4ea6;background:#edf3ff;font-weight:700}.day-markers,.mini-markers{min-height:10px;display:inline-flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap}.day-dot,.mini-day-dot{width:8px;height:8px;border-radius:999px;border:1px solid rgba(0,0,0,.12)}.day-dot-btn,.mini-day-dot-btn{border:0;background:transparent;padding:1px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.day-more,.mini-day-more{font-size:10px;color:#274a80;font-weight:700}.year-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.mini-month-title{font-size:13px}.mini-week-head{gap:4px;margin-bottom:4px;font-size:10px;color:#6b7e9f;text-align:center;font-weight:700}.mini-grid{gap:4px}.mini-day{min-height:28px;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#46638f;border-radius:7px;padding:1px 0}.mini-day.has-entry{background:#edf3ff;color:#194a9f;border:1px solid #1f4ea6;font-weight:700}.calendar-pdf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f182a85;display:flex;align-items:center;justify-content:center;padding:18px}.calendar-pdf-dialog{width:min(100%,880px);max-height:min(88vh,920px);background:#fff;border:1px solid #d9e4f8;border-radius:8px;overflow:auto;display:grid;grid-template-rows:auto 1fr;box-shadow:0 18px 45px #0f172a2e}.calendar-pdf-topbar{position:sticky;top:0;z-index:1;padding:10px;display:flex;justify-content:space-between;align-items:center;background:#f4f8ff;border-bottom:1px solid #d9e4f8}.calendar-entry-preview{padding:18px;display:grid;gap:14px}.calendar-entry-preview h3,.calendar-entry-preview h4{margin:0}.calendar-entry-preview dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0}.calendar-entry-preview dl div{border:1px solid #dfe6ec;border-radius:8px;padding:10px}.calendar-entry-preview dt{color:#5f7080;font-size:13px;font-weight:700}.calendar-entry-preview dd{margin:4px 0 0}.dev-data-form{display:grid;grid-template-columns:130px minmax(220px,1fr) minmax(220px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.dev-user-form{grid-template-columns:130px minmax(220px,1fr) minmax(180px,220px) minmax(300px,1.3fr) auto}.dev-user-modal-form{display:grid;grid-template-columns:130px minmax(220px,1fr) minmax(180px,220px);gap:12px;align-items:end}.dev-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dev-project-checks{min-height:44px;border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dev-project-checks label{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--app-border-soft);border-radius:999px;background:#fff;padding:0 10px;color:var(--app-text);cursor:pointer;font-size:13px;font-weight:600}.dev-project-checks input{width:16px;height:16px;min-width:16px;accent-color:var(--app-primary)}.dev-project-checks small{color:var(--app-text-soft);font-size:12px}.dev-project-checks .compact-select{min-height:28px;border-radius:7px;border:1px solid var(--app-border);background:#f8fbff;color:var(--app-text);font-size:13px;font-weight:600;padding:0 8px}.project-user-admin{display:grid;gap:14px}.project-user-add-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;gap:10px;align-items:center}.project-user-add-row select,.project-user-table select{min-height:40px;border:1px solid var(--app-border);border-radius:7px;background:#fff;color:var(--app-text);padding:0 10px;font:inherit}.project-user-table td:last-child,.project-user-table th:last-child{width:48px;text-align:right}.btn.success{background:#18c45a;border-color:#18c45a;color:#fff}.btn.success:disabled{opacity:.45;cursor:not-allowed}.test-core-org-form{grid-template-columns:minmax(220px,1fr) minmax(160px,.5fr) minmax(320px,1.4fr)}.test-core-logo-panel{border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;overflow:hidden}.test-core-logo-panel h4{margin:0;padding:16px 20px;border-bottom:1px solid var(--app-border-soft);font-size:16px}.test-core-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:26px;padding:20px 28px}.test-core-logo-tile{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:20px}.test-core-logo-label{color:var(--app-text);font-weight:600}.test-core-logo-control{position:relative;width:70px;height:70px}.test-core-logo-drop{width:70px;height:70px;border:2px solid #17c653;border-radius:999px;background:#f9fafb;color:#8a94b4;display:grid;place-items:center;cursor:pointer;overflow:hidden}.test-core-logo-drop img{width:86%;height:86%;object-fit:contain}.test-core-logo-drop input{display:none}.test-core-logo-camera,.test-core-logo-delete{position:absolute;border-radius:999px;display:grid;place-items:center}.test-core-logo-camera{left:50%;bottom:2px;width:22px;height:22px;transform:translate(-50%);background:#ffffffe0;color:#8a94b4}.test-core-logo-delete{top:-4px;right:-4px;width:23px;height:23px;border:1px solid var(--app-border);background:#fff;color:#8a94b4;cursor:pointer}.core-diagnostics-panel{gap:16px}.core-diagnostics-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px}.core-status-card{display:grid;align-content:start;gap:14px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;padding:18px}.core-status-card h4,.core-status-card p{margin:0}.core-status-list{display:grid;gap:8px}.core-status-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(120px,1fr) auto;gap:10px;align-items:center;min-height:34px;border-bottom:1px solid var(--app-border-soft);font-size:13px}.core-status-row:last-child{border-bottom:0}.core-status-row span{color:var(--app-text-muted)}.core-status-row strong{color:var(--app-text);font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis}.core-status-row em,.core-mapping-item em{justify-self:end;border-radius:999px;padding:3px 8px;background:#eaf2ff;color:var(--app-primary-active);font-style:normal;font-size:12px;font-weight:700}.core-status-row em.is-warning,.core-mapping-item em.is-warning{background:#fff4e5;color:#b45309}.core-mapping-list{display:grid;gap:10px}.core-mapping-item{border:1px solid var(--app-border-soft);border-radius:8px;background:#f8fbff;overflow:hidden}.core-mapping-item summary{display:grid;grid-template-columns:minmax(80px,.5fr) minmax(130px,1fr) auto;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;font-weight:700}.core-mapping-item>p,.core-mapping-item .core-missing-list,.core-mapping-item .core-json-preview{margin:0 12px 12px}.core-missing-list{display:flex;flex-wrap:wrap;gap:7px}.core-missing-list span{border-radius:999px;background:#eaf2ff;color:var(--app-primary-active);padding:4px 9px;font-size:12px;font-weight:700}.core-missing-list span.danger{background:#fee2e2;color:#b91c1c}.core-json-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.core-json-preview span{display:block;margin-bottom:5px;color:var(--app-text-muted);font-size:12px;font-weight:700}.core-json-preview pre{max-height:260px;overflow:auto;margin:0;border:1px solid var(--app-border-soft);border-radius:7px;background:#fff;padding:10px;color:var(--app-text);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.mail-template-settings{display:grid;gap:18px}.mail-template-placeholder-panel{display:grid;gap:8px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f8fbff;padding:14px 16px}.mail-template-placeholder-panel>span{font-weight:700}.mail-template-placeholders,.mail-template-card-chips{display:flex;flex-wrap:wrap;gap:8px}.mail-placeholder-chip{border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:var(--app-primary-active);min-height:30px;padding:0 11px;font:inherit;font-size:13px;font-weight:700;cursor:grab}.mail-placeholder-chip:active{cursor:grabbing}.mail-template-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px}.mail-template-card{display:grid;gap:14px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;padding:18px}.mail-template-card h4,.mail-template-card p{margin:0}.mail-template-card textarea{min-height:116px;resize:vertical}.test-core-table th:last-child,.test-core-table td:last-child{width:120px;text-align:right}.app-settings-intro{grid-template-columns:minmax(0,1fr) auto;align-items:center}.app-settings-intro svg{color:var(--app-primary)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.settings-card{align-content:start}.settings-card-head{display:flex;align-items:center;gap:10px}.settings-card-icon{border:0;width:36px;height:36px;border-radius:8px;background:var(--app-primary-soft);color:var(--app-primary-active);display:grid;place-items:center}.settings-label-edit-trigger{cursor:pointer}.settings-label-display{border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}.settings-label-display h3{margin:0}.settings-label-edit{display:grid;grid-template-columns:minmax(180px,320px) auto auto;align-items:center;gap:8px}.settings-label-edit input{min-width:0}.settings-chip-row{display:flex;flex-wrap:wrap;gap:8px}.settings-chip-row span{border:1px solid var(--app-border);border-radius:999px;background:#fff;padding:6px 10px;color:var(--app-text-muted);font-size:13px;font-weight:600}.settings-title-grid{display:grid;gap:16px}.settings-add-section-button{justify-self:start}.settings-title-card{gap:14px}.settings-title-list{display:grid;gap:8px}.settings-title-row{display:grid;grid-template-columns:34px minmax(220px,1fr) auto auto auto auto auto;gap:8px;align-items:center}.settings-title-row.is-inactive{opacity:.58}.settings-active-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--app-text-soft);font-size:13px;font-weight:700;margin-left:auto}.settings-active-toggle input{width:16px;height:16px;accent-color:var(--app-primary)}.settings-option-active-toggle{min-width:86px;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;color:var(--app-text-soft);font-size:13px;font-weight:700}.settings-option-active-toggle input{width:16px;height:16px;accent-color:var(--app-primary)}.settings-option-used{min-height:26px;border-radius:999px;background:var(--app-primary-soft);color:var(--app-primary-active);display:inline-flex;align-items:center;padding:0 9px;font-size:12px;font-weight:800;white-space:nowrap}.settings-title-index{width:28px;height:28px;border-radius:999px;background:var(--app-primary-soft);color:var(--app-primary-active);display:grid;place-items:center;font-size:11px;font-weight:800}.settings-title-row input{min-width:0}.test-core-dialog{max-width:780px}.check-field{min-height:44px;display:inline-flex;align-items:center;gap:9px;color:var(--app-text);font-weight:700}.check-field input{width:18px;height:18px;accent-color:var(--app-primary)}.test-core-contact-list{display:grid;gap:10px}.test-core-contact-row{display:grid;grid-template-columns:90px minmax(170px,1fr) minmax(130px,.8fr) minmax(180px,1fr) auto;gap:8px;align-items:center}.test-core-contact-row input{min-width:0}.dev-data-list{display:grid;gap:10px}.dev-data-row{border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.dev-data-row div:first-child{display:grid;gap:4px}.dev-data-row span{color:#5f7080;font-size:14px}.dev-active-user{display:grid;grid-template-columns:minmax(220px,320px) minmax(220px,1fr) auto;gap:12px;align-items:end}.dev-active-preview{min-height:44px;border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:10px 12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dev-active-preview span{color:#5f7080;font-size:14px}.meta-row{display:flex;gap:12px;flex-wrap:wrap;color:#5f7080;font-size:14px}.meta-row span{display:inline-flex;align-items:center;gap:5px}.field{display:grid;gap:7px}.field span,.rich-field>span{font-size:13px;color:#4d5d6b;font-weight:700}.field.is-calculated input{border-color:#8eb8ff;background:#edf4ff;box-shadow:inset 0 0 0 1px #2f6fd624}.calculated-badge{display:inline-flex;align-items:center;min-height:18px;margin-left:8px;padding:0 7px;border-radius:999px;background:#dce9ff;color:#1f4ea6;font-size:11px;font-weight:700}input,select,textarea{border:1px solid #cbd6df;border-radius:8px;padding:10px 11px;background:#fbfcfd;color:#182029;min-width:0}textarea{resize:vertical}.readonly-note{min-height:0;border:0;border-radius:0;background:transparent;color:var(--app-text);padding:0;line-height:1.45;white-space:pre-wrap}.rich-field{display:grid;gap:7px}.rich-editor{border:1px solid #cbd6df;border-radius:8px;background:#fbfcfd;overflow:hidden;position:relative}.rich-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px;border-bottom:1px solid #dbe4ec;background:#f4f7fa}.rich-toolbar button{width:32px;height:32px;border:1px solid #cad6e0;border-radius:7px;background:#fff;color:#294154;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.rich-toolbar button.is-active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.rich-color-control{width:42px;height:32px;border:1px solid #cad6e0;border-radius:7px;background:#fff;color:#294154;display:inline-flex;align-items:center;justify-content:center;gap:2px;cursor:pointer;position:relative}.rich-color-control input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;padding:0;min-height:0}.rich-custom-select{min-height:32px;border:1px solid #cad6e0;border-radius:7px;background:#fff;color:#294154;padding:0 8px}.rich-editor-content{min-height:130px;padding:12px;outline:none;background:#fff}.rich-editor-content p{margin:0 0 8px}.rich-editor-content ul,.rich-editor-content ol{margin:8px 0;padding-left:22px}.rich-editor-content blockquote{margin:8px 0;padding-left:12px;border-left:3px solid #91a7bd;color:#4d5d6b}.rich-editor-content hr{border:0;border-top:1px solid #cbd6df;margin:12px 0}.rich-editor-content a{color:#245fd0;text-decoration:underline}.rich-editor-content .weather-report-block{border:1px solid #d9e6f3;border-radius:8px;background:#f8fbff;padding:10px 12px;margin:8px 0}.rich-editor-content .weather-report-block p{margin:0 0 6px}.rich-editor-content .weather-report-block ul{margin:4px 0 10px;padding-left:20px}.rich-editor-content .weather-marker{color:#7b8da1;font-size:11px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;opacity:.72}.rich-editor-content:empty:before{content:attr(data-placeholder);color:#8898a7;pointer-events:none}.compact-form{grid-template-columns:120px minmax(200px,1fr) 170px auto auto;display:grid;align-items:center;gap:12px}.compact-form-full{grid-column:1 / -1}.filters{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px}.count{margin:0;color:#5f7080;font-size:14px;font-weight:700}.weather-import{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.weather-panel{display:grid;gap:8px;padding:10px 12px 14px;border:1px solid #cfdcef;border-radius:14px;background:#fffdf2}.journal-visit-panel{order:10}.journal-attendance-panel{order:20}.journal-notes-panel{order:30}.journal-weather-panel{order:40}.journal-todos-panel{order:50}.journal-attachments-panel{order:60}.weather-panel-toggle{width:100%;border:1px solid #b9cdf0;border-radius:10px;background:#f8fbff;color:#18375f;min-height:40px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-weight:800;cursor:pointer}.weather-panel-content{display:grid;gap:10px}.weather-collapsed-preview{border:1px solid #dbe7ff;border-radius:10px;background:#fff;padding:10px 12px;display:grid;gap:8px}.weather-collapsed-preview strong{color:var(--app-text);font-size:14px}.weather-collapsed-preview pre{margin:0;white-space:pre-wrap;font:inherit;color:#344865;max-height:180px;overflow:auto}.weather-required-dialog{max-width:620px}.weather-default-location{display:grid;gap:4px;border:1px solid #dbe7ff;border-radius:8px;background:#f8fbff;padding:12px}.weather-default-location span{color:#60718a;font-size:13px;font-weight:700}.weather-default-location strong{color:var(--app-text)}.weather-validation-note{border:1px solid #dbe7ff;border-radius:8px;background:#f8fbff;padding:12px;display:grid;gap:4px}.weather-validation-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.weather-validation-badge{border-radius:999px;font-size:.78rem;font-weight:700;line-height:1;padding:7px 10px;white-space:nowrap}.weather-validation-badge.is-success{background:#e6f8ef;color:#087443}.weather-validation-badge.is-error{background:#fff0f0;color:#c02222}.weather-validation-button{justify-self:start;margin-top:4px}.weather-validation-success-text{color:#087443!important}.weather-validation-error-text{color:#c02222!important}.weather-validation-note span,.weather-validation-note small{color:#60718a}.weather-level-two{display:grid;gap:8px}.weather-level-two-toggle{width:100%;border:1px solid #bdd0ec;border-radius:9px;background:#f9fbff;color:#18375f;min-height:36px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;cursor:pointer}.weather-level-two-content{display:grid;gap:10px}.weather-live{display:grid;gap:10px;padding:10px;border:1px solid #c8d9f2;border-radius:12px;background:#f5f8ff}.weather-live-head,.weather-search-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.weather-live-head strong{color:#101d35;font-size:16px}.weather-search-row input{flex:1;min-height:44px;border-radius:12px;background:#fff}.weather-pill-button{border:1px solid #b8cbed;border-radius:999px;background:#fff;color:#245fd0;font-weight:800;min-height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;white-space:nowrap}.weather-live-text{margin:0;color:#244268;font-size:14px}.weather-current-visual{display:flex;align-items:center;gap:12px;border:1px solid #d7e4f6;border-radius:12px;background:#fff;padding:10px}.weather-current-visual div{display:grid;gap:2px}.weather-current-visual span{color:#5f7080;font-size:14px}.weather-live-details{display:grid;gap:12px;padding-top:6px}.weather-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.weather-choice{border:1px solid #bfd0ea;border-radius:999px;background:#eef3fa;color:#153258;min-height:44px;font-weight:800;cursor:pointer}.weather-choice.is-active{background:#2563d6;border-color:#2563d6;color:#fff}.weather-manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.weather-manual-grid textarea,.weather-manual-grid input{border-color:#cfd8c5;border-radius:12px;background:#fff}.weather-manual-grid .field{align-self:start;grid-template-rows:auto auto auto}.weather-manual-grid .field>span{min-height:20px;display:flex;align-items:flex-end}.weather-manual-grid input,.weather-manual-grid textarea{min-height:64px}.counter{color:#476286;font-size:12px}.weather-copy-panel{display:grid;gap:9px;padding:10px;border:1px solid #c8d9f2;border-radius:10px;background:#f8fbff;color:#244268}.weather-copy-panel strong{color:#244268}.weather-copy-panel label{display:inline-flex;align-items:center;gap:8px;font-size:14px}.weather-copy-panel label.is-disabled{opacity:.55}.weather-copy-panel input[type=checkbox]{width:16px;height:16px;accent-color:var(--app-primary)}.weather-copy-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;justify-self:start;border:0;border-radius:999px;background:#2563d6;color:#fff;min-height:40px;padding:0 14px;font-weight:800;cursor:pointer}.weather-copy-button:disabled{background:#9fb1c7;cursor:not-allowed}.weather-copy-button.is-copied{background:#18c45a}.weather-copy-hint{margin:0;color:#6b7d91;font-size:13px}.status-line{margin:0;color:#5f7080;font-size:14px}.weather-preview{display:grid;gap:12px;padding:14px;border:1px solid #cbd6df;border-radius:8px;background:#f7faf9}.weather-current,.weather-subsection-head,.weather-copy-options{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.weather-current div{display:grid;gap:3px}.weather-current span,.weather-source{color:#5f7080;font-size:14px}.weather-source{border:1px solid #bfd1ce;border-radius:999px;padding:4px 9px}.weather-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #bfd1ce;border-radius:999px;background:#fff;color:#315b5d;padding:7px 12px;cursor:pointer}.chip.is-active{background:var(--app-primary);color:#fff;border-color:var(--app-primary)}.forecast-block{display:grid;gap:8px}.forecast-block h4,.weather-subsection-head h4{margin:0}.forecast-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.weather-collapse{display:grid;gap:8px;padding-top:8px;border-top:1px solid #d5e1f2}.weather-collapse-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.weather-collapse-head button{border:1px solid #bdd0ec;border-radius:8px;background:#f9fbff;color:#18375f;min-height:34px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;cursor:pointer}.weather-collapse-head label{display:inline-flex;align-items:center;gap:7px;color:#244268;font-size:13px;font-weight:700}.weather-collapse-head select{border:1px solid #bdd0ec;border-radius:8px;background:#fff;min-height:34px;padding:0 8px;color:#18375f}.forecast-card{display:grid;gap:5px;border:1px solid #d7e1e7;background:#fff;border-radius:8px;padding:11px;min-height:122px}.forecast-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.weather-icon{flex:0 0 auto}.weather-icon-sun{color:#d99012}.weather-icon-cloud{color:#57718d}.weather-icon-rain{color:#2563d6}.weather-icon-snow{color:#4b9fc9}.weather-icon-storm{color:#7c3aed}.weather-icon-fog{color:#7b8794}.forecast-card span,.forecast-card small{color:#5f7080}.forecast-card p{margin:0;font-size:20px;font-weight:700}.weather-warnings{margin:0;display:grid;gap:5px;border-left:3px solid #b35621;padding-left:10px;color:#8a3f17}.weather-warnings p{margin:0}.weather-copy-options{justify-content:flex-start}.weather-copy-options label,.weather-subsection-head label{display:inline-flex;align-items:center;gap:7px;color:#4d5d6b;font-size:14px}.weather-subsection-head select{border:1px solid #cbd6df;border-radius:8px;padding:6px 8px;background:#fff}.todo-list{display:grid;gap:10px}.todo-row{border:1px solid #dfe6ec;border-radius:8px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.todo-row div{display:grid;gap:4px}.todo-row span{color:#5f7080;font-size:14px}.todo-row.done{opacity:.7}.todo-file-button{min-height:40px;border:1px solid var(--app-border);border-radius:6px;background:#fff;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;cursor:pointer;position:relative;overflow:hidden;white-space:nowrap}.todo-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.todo-attachments{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.todo-attachment-row{display:inline-flex;align-items:center;gap:4px}.todo-attachments a{min-height:28px;border:1px solid var(--app-border-soft);border-radius:999px;background:#fff;color:var(--app-primary-active);display:inline-flex;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:600}.todo-attachment-empty{color:var(--app-text-soft);font-size:13px}.report-todo-photo-layout{display:grid;grid-template-columns:minmax(165px,.42fr) minmax(280px,1fr);gap:14px;align-items:stretch}.report-todo-photo-list{display:grid;align-content:start;gap:8px}.report-todo-inline-upload{display:grid;gap:6px;margin-top:10px}.report-todo-inline-upload .photo-tile-grid{grid-template-columns:1fr;gap:8px}.report-todo-inline-upload .photo-tile{min-height:148px;grid-template-rows:82px auto 30px}.report-todo-inline-upload .photo-tile-preview{height:82px}.report-todo-inline-upload .photo-tile-add{min-height:148px}.report-todo-inline-upload .hint{font-size:12px}.todo-attachment-preview-button{min-height:28px;border:1px solid var(--app-border-soft);border-radius:999px;background:#fff;color:var(--app-primary-active);display:inline-flex;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.todo-attachment-preview-button.is-active,.todo-attachment-preview-button:hover{border-color:var(--app-primary);background:var(--app-primary-soft)}.report-todo-photo-preview{min-height:260px;border:1px solid #dfe6ec;border-radius:8px;background:#f8fbff;display:grid;place-items:center;overflow:hidden}.report-todo-photo-preview img{width:100%;height:100%;max-height:360px;object-fit:contain;display:block}.report-todo-photo-detail{display:grid;gap:8px}.report-todo-photo-caption-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.report-todo-photo-caption-row .btn{min-height:38px}.report-todo-photo-placeholder{display:grid;justify-items:center;gap:8px;color:var(--app-text-soft);font-size:13px;text-align:center;padding:18px}.print-menu-dialog{width:min(760px,100%)}.print-menu-body{display:grid;gap:14px;padding:8px 0 12px}.print-menu-label{color:var(--app-text-muted);font-size:13px;font-weight:700}.print-checkbox{display:inline-flex;align-items:center;gap:10px;color:var(--app-text);font-size:14px;cursor:pointer}.print-checkbox input{width:22px;height:22px;min-width:22px;accent-color:var(--app-primary);cursor:pointer}.print-checkbox.is-disabled{color:var(--app-text-soft);cursor:default}.print-checkbox.is-disabled input{cursor:default}.print-mode-field{max-width:340px;margin-top:4px}.state{padding:18px;color:#5f7080}.state.error{border-color:#efb5a4;background:#fff5f2;color:#9a3412}.app-shell{--drawer-width: 252px;grid-template-columns:var(--drawer-width) minmax(0,1fr);background:var(--app-page);transition:grid-template-columns .18s ease}.app-shell.drawer-collapsed{--drawer-width: 82px}.side-nav{background:#fff;color:var(--app-text);border-right:1px solid var(--app-border-soft);padding:18px;gap:18px;overflow-x:hidden;overflow-y:auto;position:relative}.side-nav-brand{min-height:66px;display:flex;align-items:flex-start}.side-nav h1{font-size:31px;letter-spacing:0;font-weight:800}.side-nav h1:after{content:".";color:#e11d48}.side-nav .eyebrow{display:none}.side-nav nav{gap:4px}.side-nav a{color:var(--app-text);border-radius:0;min-height:40px;padding:9px 11px;font-size:14px;font-weight:500;line-height:1.25}.side-nav a svg{flex:0 0 auto;color:#8a94b4}.side-nav a.active,.side-nav a:hover{background:var(--app-row);color:var(--app-text)}.side-nav a.active svg,.side-nav a:hover svg{color:var(--app-primary)}.admin-nav-group{display:grid;gap:2px}.admin-nav-trigger{border:0;border-radius:0;background:transparent;color:var(--app-text);display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 11px;width:100%;cursor:pointer;font:inherit;font-size:14px;font-weight:500;line-height:1.25;text-align:left}.admin-nav-trigger svg{flex:0 0 auto;color:#8a94b4}.admin-nav-trigger svg:last-child{margin-left:auto;transition:transform .16s ease}.admin-nav-group.is-open .admin-nav-trigger svg:last-child{transform:rotate(180deg)}.admin-nav-trigger:hover{background:var(--app-row)}.admin-nav-sub{display:grid;gap:2px;margin-left:18px;padding-left:12px;border-left:1px solid var(--app-border-soft)}.side-nav .admin-nav-sub a{min-height:36px;padding-block:7px;font-weight:400}.core-hint{color:var(--app-text-soft);font-size:12px}.drawer-collapse-button{position:fixed;top:20px;left:calc(var(--drawer-width) - 18px);z-index:20;width:38px;height:38px;border:1px solid var(--app-border-soft);border-radius:9px;background:#fff;color:var(--app-text-soft);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #07143714;cursor:pointer}.drawer-collapse-button:hover{color:var(--app-primary);border-color:#dbe7ff;background:#f8fbff}.side-nav-user{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;width:100%;padding:6px 4px;border:0;border-radius:8px;background:transparent;font:inherit;text-align:left;cursor:pointer}.side-nav-user:hover,.side-nav-user-menu.is-open .side-nav-user{background:var(--app-row)}.side-nav-user-menu{position:relative;min-width:0}.side-nav-profile-dropdown{position:absolute;z-index:45;top:calc(100% + 6px);left:4px;right:4px;display:grid;gap:3px;padding:7px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-panel);box-shadow:0 7px 18px #0f2a5121}.side-nav-profile-dropdown a,.profile-menu-row{display:flex;align-items:center;gap:9px;min-height:34px;padding:6px 7px;border:0;border-radius:6px;background:transparent;color:var(--app-text);font:inherit;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.side-nav-profile-dropdown a:hover,.profile-menu-row:hover{background:var(--app-row)}.profile-theme-switch{margin-left:auto;display:inline-flex;align-items:center;width:34px;height:19px;border-radius:999px;padding:2px;background:#d6deeb;transition:background .14s ease}.profile-theme-switch span{width:15px;height:15px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0714372e;transition:transform .14s ease}.profile-theme-switch.is-on{background:var(--app-primary)}.profile-theme-switch.is-on span{transform:translate(15px)}.side-nav-user-avatar{width:38px;height:38px;border-radius:999px;background:var(--app-primary-soft);color:var(--app-primary);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;box-shadow:inset 0 0 0 1px #2563eb1f;overflow:hidden;flex:0 0 auto}.side-nav-user-avatar img{width:100%;height:100%;object-fit:cover}.side-nav-user-text{min-width:0;display:grid;gap:1px}.side-nav-user-text strong,.side-nav-user-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav-user-text strong{color:var(--app-text);font-size:13.5px;font-weight:600;line-height:1.22}.side-nav-user-text span{color:var(--app-text-muted);font-size:12.5px;line-height:1.28}.dev-user-hint{border:0;border-radius:0;background:transparent;padding:0 10px;color:var(--app-text)}.dev-user-hint span,.dev-user-hint small{color:var(--app-text-soft)}.drawer-collapsed .side-nav{align-items:center;padding-inline:12px}.drawer-collapsed .side-nav-brand{min-height:54px;display:flex;align-items:center}.drawer-collapsed .side-nav-logo{max-width:46px;max-height:46px;object-fit:contain;object-position:left center}.drawer-collapsed .side-nav h1,.drawer-collapsed .side-nav .eyebrow,.drawer-collapsed .side-nav-user-text,.drawer-collapsed .side-nav a span,.drawer-collapsed .admin-nav-trigger span,.drawer-collapsed .admin-nav-trigger svg:last-child,.drawer-collapsed .admin-nav-sub,.drawer-collapsed .project-nav-title,.drawer-collapsed .core-hint,.drawer-collapsed .dev-user-hint span,.drawer-collapsed .dev-user-hint small,.drawer-collapsed .nav-logout,.drawer-collapsed .project-nav-exit{display:none}.drawer-collapsed .side-nav-user{grid-template-columns:42px;padding-inline:0}.drawer-collapsed .side-nav nav{width:100%}.drawer-collapsed .side-nav a,.drawer-collapsed .admin-nav-trigger{justify-content:center;padding-inline:0}.drawer-collapsed .project-nav{width:100%}.drawer-collapsed .project-nav-head{justify-content:center}.drawer-collapsed .core-hint{margin-top:auto}.content{max-width:none;--content-header-height: 86px;padding:0 38px 24px;background:var(--app-page)}.project-exit-page{min-height:calc(100vh - 24px);display:grid;place-items:center}.project-exit-page img{width:min(160px,21vw);opacity:.22}.content:before{left:var(--drawer-width)}.page-header{height:var(--content-header-height);min-height:var(--content-header-height);margin:0 -38px;padding:10px 230px 8px 38px}.page-header h2{color:var(--app-text);font-size:20px;font-weight:650}.page-header .muted,.page-header p{margin:0;line-height:1.22}.eyebrow{color:var(--app-text-muted);text-transform:none;font-size:12px}.panel,.card,.state,.task-col,.project-filter-panel,.modal-dialog,.entry-report,.mobile-card,.mobile-capture-header{border-color:var(--app-border-soft);border-radius:var(--app-radius);box-shadow:var(--app-shadow)}.panel{padding:18px 24px}.panel h3,.card h3,.mobile-card h3{color:var(--app-text);font-size:15px;font-weight:650}.btn,.icon-link,.icon-button{min-height:36px;border:1px solid transparent;border-radius:6px;background:var(--app-primary);color:var(--app-primary-inverse);font-size:12px;font-weight:600;box-shadow:none}.btn:hover,.icon-link:hover,.icon-button:hover{background:var(--app-primary-active)}.btn.secondary{background:var(--app-primary-soft);border-color:var(--app-primary-soft);color:var(--app-primary-active)}.btn.secondary:hover{background:#c7ddff}.btn.danger{background:#b42318;border-color:#b42318;color:#fff}.btn.danger:hover{background:#912018;border-color:#912018}.icon-link,.icon-button{background:transparent;border-color:transparent;color:#78829d}.icon-link:hover,.icon-button:hover{background:var(--app-primary-soft);color:var(--app-primary-active)}input,select,textarea,.rich-editor{border-color:var(--app-border);border-radius:6px;background:#fff;color:var(--app-text);font-size:13px}input:not([type=checkbox]):not([type=radio]),select{min-height:36px;padding-block:7px}textarea{padding:9px 10px}input:focus,select:focus,textarea:focus{border-color:var(--app-primary);outline:0;box-shadow:0 0 0 3px var(--app-primary-clarity)}.field span,.rich-field>span,.calendar-mode-group,.calendar-month-count,.weather-collapse-head label{color:#78829d;font-size:11px;font-weight:500}.muted,.note,.count,.todo-row span,.task-item span,.task-item p,.task-empty,.meta-row,.dev-data-row span,.dev-active-preview span{color:var(--app-text-muted)}.kpi,.project-card,.task-item,.todo-row,.dev-data-row,.entry-report-todo{border-color:transparent;border-radius:0;box-shadow:none}.project-card,.task-item,.todo-row,.dev-data-row,.entry-report-todo{background:var(--app-row)}.revision-panel{background:#fbfdff}.revision-title-row{display:inline-flex;align-items:center;gap:14px}.revision-title-row h3{margin:0}.toggle-switch{width:48px;min-height:26px;border:0;border-radius:999px;background:#d8e0eb;padding:3px;cursor:pointer;display:inline-flex;align-items:center;justify-content:flex-start;transition:background .16s ease}.toggle-switch span{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a38;transition:transform .16s ease}.toggle-switch.is-on{background:var(--app-primary)}.toggle-switch.is-on span{transform:translate(22px)}.assistant-toggle{display:inline-flex;align-items:center;gap:10px;color:var(--app-text-muted);font-size:13px;font-weight:700}.pending-todo-suggestion-mark{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:#d72c8d;text-decoration-thickness:2px;text-underline-offset:3px}.todo-suggestion-list{display:grid;gap:8px;border:1px solid #f0a9c8;border-radius:8px;background:#fff1f7;padding:10px 12px;margin-top:8px}.todo-suggestion-list>strong{color:#9b174f;font-size:13px;font-weight:800}.todo-suggestion-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.todo-suggestion-item>span{color:var(--app-text);font-size:13px;line-height:1.35}.todo-suggestion-item .btn{min-height:32px;padding:0 10px;font-size:13px}.btn.ghost{background:transparent;color:#9b174f;border:1px solid #f0a9c8}.revision-list{display:grid;gap:10px}.revision-item{display:grid;gap:10px;padding:12px;background:var(--app-row);border:1px solid var(--app-border);border-radius:6px}.revision-meta{display:grid;grid-template-columns:90px minmax(140px,1fr) minmax(140px,1fr);gap:12px;align-items:center;color:var(--app-text);font-size:14px}.revision-meta span{color:var(--app-text-muted)}.revision-fields{display:flex;flex-wrap:wrap;gap:6px}.revision-fields span{padding:4px 8px;background:var(--app-primary-soft);border-radius:999px;color:var(--app-primary-active);font-size:12px;font-weight:600}.revision-details{color:var(--app-text-muted);font-size:13px}.revision-details summary{cursor:pointer;color:var(--app-primary-active);font-weight:600}.revision-details dl{display:grid;gap:8px;margin:10px 0 0}.revision-details dl>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;padding-top:8px;border-top:1px solid var(--app-border)}.revision-details dt{color:var(--app-text);font-weight:700}.revision-details dd{margin:0;white-space:pre-wrap}.project-card:hover,.task-item:hover,.todo-row:hover,.dev-data-row:hover{background:var(--app-row-hover);border-color:transparent}.kpi svg,.project-card:hover,.project-plus,.mobile-capture-header svg,.mobile-photo-input svg{color:var(--app-primary)}.project-plus,.task-count,.scope-toggle span.is-active{background:var(--app-primary-soft);color:var(--app-primary-active)}.scope-toggle{background:var(--app-row);border-color:var(--app-border)}.scope-toggle span.is-active{background:var(--app-primary);color:#fff}.rich-toolbar{background:var(--app-row);border-bottom-color:var(--app-border-soft)}.rich-toolbar button.is-active,.chip.is-active,.weather-choice.is-active,.weather-copy-button,.calendar-mode .is-active,.calendar-month-span-buttons .is-active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.weather-panel,.mobile-weather-card{background:#f8fbff;border-color:#dbe7ff}.weather-panel-toggle,.weather-level-two-toggle,.weather-collapse-head button{color:var(--app-text);border-color:#dbe7ff}.weather-pill-button{color:var(--app-primary-active);border-color:#c7ddff}.calendar-controls-bottom strong,.month-block-title,.mini-month-title{color:var(--app-primary-active)}.day-cell.is-today,.day-cell.has-entry,.mini-day.has-entry{border-color:var(--app-primary)}.entry-report-page{display:grid;gap:16px}.entry-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pdf-mode-select{display:inline-flex;align-items:center;gap:8px;color:var(--app-text-muted);font-size:13px;font-weight:600}.pdf-mode-select select{min-width:260px;min-height:38px}.entry-report{background:#fff;border:1px solid #dfe6ec;border-radius:8px;padding:28px;display:grid;gap:22px}.entry-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:2px solid #182029}.entry-report-header h1,.entry-report-header p,.entry-report-section h2{margin:0}.entry-report-header h1{font-size:30px}.entry-report-version-lines{display:grid;gap:3px;margin-top:10px;color:#4d5d6b;font-size:13px;font-weight:600}.entry-report-meta-box{min-width:190px;border:1px solid #cbd6df;border-radius:8px;padding:12px;display:grid;gap:4px;color:#4d5d6b;text-align:right}.entry-report-meta-box strong{color:#182029}.entry-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.entry-report-grid div{border:1px solid #dfe6ec;border-radius:8px;padding:10px;background:#fbfcfd}.entry-report-grid dt{color:#5f7080;font-size:12px;font-weight:800}.entry-report-grid dd{margin:4px 0 0}.entry-report-section{display:grid;gap:8px}.entry-report-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #dfe6ec}.entry-report-section h2{font-size:18px;padding-bottom:6px;border-bottom:0}.entry-report-revision-hint{padding-top:2px;color:var(--app-primary-active);font-size:12px;font-weight:700;text-align:right}.entry-report-previous-value{display:grid;gap:4px;padding:10px;background:#f6f9ff;border:1px solid #c7ddff;border-radius:6px;color:var(--app-text-muted);font-size:13px}.entry-report-previous-value p{margin:0;white-space:pre-wrap}.entry-report-rich{color:#182029}.entry-report-rich p{margin:0 0 8px}.entry-report-rich ul,.entry-report-rich ol{margin:8px 0;padding-left:22px}.entry-report-rich .weather-marker{color:#7b8da1;font-size:.78em;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;opacity:.72}.entry-report-todo-list{display:grid;gap:8px}.entry-report-todo{border:1px solid #dfe6ec;border-radius:8px;padding:10px;display:grid;gap:4px}.entry-report-todo span,.entry-report-attachments{color:#5f7080}.entry-report-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.entry-report-photo-grid figure{margin:0;display:grid;gap:6px}.entry-report-photo-grid button,.entry-report-inline-photo-grid button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.entry-report-photo-grid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;border:1px solid var(--app-border-soft);border-radius:8px;background:#f8fafc;box-shadow:var(--app-shadow)}.entry-report-photo-grid figcaption{color:var(--app-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-report-inline-photo-grid{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.entry-report-inline-photo-grid button{width:68px;height:68px;flex:0 0 68px;border:1px solid var(--app-border-soft);border-radius:8px;overflow:hidden;box-shadow:var(--app-shadow)}.entry-report-inline-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.entry-photo-preview-backdrop{z-index:75}.entry-photo-preview-modal{width:min(840px,calc(100vw - 36px));padding:12px;display:grid;gap:10px}.entry-photo-preview-modal img{width:100%;max-height:calc(100dvh - 150px);object-fit:contain;background:#f8fafc;border:1px solid var(--app-border-soft);border-radius:8px;display:block}.entry-report-revision-list{display:grid;gap:8px}.entry-report-revision-row{display:grid;grid-template-columns:80px minmax(180px,1fr) minmax(220px,2fr);gap:12px;padding:8px 0;border-bottom:1px solid #dfe6ec;color:#4d5d6b;font-size:13px}.inline-revision{margin-top:-8px;padding:8px 10px;border:1px solid #c7ddff;border-radius:6px;background:#f6f9ff;color:var(--app-text-muted);font-size:13px}.inline-revision summary{display:flex;align-items:center;gap:8px;cursor:pointer}.inline-revision summary strong{color:var(--app-primary-active)}.inline-revision div{display:grid;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #c7ddff}.inline-revision div>span{color:var(--app-text);font-weight:700}.inline-revision p{margin:0;white-space:pre-wrap}.report-list-wrap{width:100%;overflow-x:auto}.report-list{width:100%;min-width:980px;border-collapse:collapse;color:#1f3763;font-size:14px}.project-report-list{min-width:860px}.todo-table{min-width:1040px;table-layout:fixed}.project-todo-table{min-width:1120px}.todo-col-project{width:16%}.todo-col-date,.todo-col-due{width:104px}.todo-col-owner{width:14%}.todo-col-third{width:18%}.todo-col-text{width:26%}.todo-col-mail{width:74px}.todo-col-photo{width:72px}.todo-col-actions{width:96px}.todo-col-status{width:118px}.report-list th{padding:9px 8px;color:#78829d;font-size:13px;font-weight:500;text-align:left;white-space:nowrap}.report-list td{padding:10px 8px;border:0;vertical-align:middle;white-space:nowrap}.todo-table td{overflow:hidden;text-overflow:ellipsis}.todo-table td:last-child,.todo-table td:nth-last-child(2),.todo-table td:nth-last-child(3),.todo-table td:nth-last-child(4){overflow:visible}.todo-mail-state{display:inline-flex;position:relative;width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;border:1px solid #d8e4f7;color:#7f8da9;background:#f8fbff;vertical-align:middle}.todo-mail-count{position:absolute;right:-7px;top:-7px;min-width:16px;height:16px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--app-primary);color:#fff;font-size:9px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--app-surface)}.todo-mail-state.is-queued{color:#0f56d9;border-color:#c8dcff;background:#eef5ff}.todo-mail-state.is-sent{color:#14823b;border-color:#bde9cc;background:#eefaf2}.todo-mail-state.is-failed{color:#c0251d;border-color:#ffd0ca;background:#fff1ef}.todo-mail-legend{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:10px 8px 2px;color:var(--app-text-muted);font-size:12px}.todo-mail-legend span{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.todo-mail-legend .todo-mail-state{width:22px;height:22px;border-radius:7px}.todo-mail-detail{display:inline-flex;gap:8px;align-items:center;margin:0;color:var(--app-text-muted);font-size:13px;line-height:1.35}.inline-check{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--app-text);font-size:13px;font-weight:600}.inline-check input{width:18px;height:18px;accent-color:var(--app-primary)}.inline-check.is-disabled{color:var(--app-text-muted)}.entry-report-todo .todo-mail-detail,.mobile-journal-todo-list .todo-mail-detail{display:flex;margin-top:5px}.report-list td strong{display:block;font-weight:600}.report-list td>span{display:block;color:var(--app-text-muted);font-size:12px;margin-top:2px}.report-list td>.todo-mail-state{display:inline-flex;color:inherit;font-size:inherit;margin-top:0}.report-list tbody tr:nth-child(odd){background:var(--app-row)}.report-list tbody tr:nth-child(2n){background:#fff}.report-list tbody tr.is-clickable{cursor:pointer}.report-list tbody tr.is-clickable:hover,.report-list tbody tr.is-clickable:focus{background:var(--app-primary-soft);color:var(--app-primary-active);outline:0}.report-list th:last-child,.report-list td:last-child{text-align:right}.report-list-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.report-list-actions .icon-button{width:32px;min-height:32px;color:#78829d}.report-list-actions .icon-button.danger{color:#b42318}.report-list-actions .icon-button.danger:hover{background:#fee4e2;color:#912018}.companies-panel{margin-top:8px}.companies-search-box{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;width:100%;min-height:41px;border:1px solid #cfd8e6;border-radius:7px;overflow:hidden;background:#fff}.companies-search-box span{display:inline-flex;align-items:center;justify-content:center;height:100%;color:#8b98b3;border-right:1px solid #cfd8e6;background:#fbfcff}.companies-search-box input{border:0;min-height:40px;padding:0 12px;font:inherit;color:var(--app-text);background:transparent}.companies-search-box input:focus{outline:0}.companies-table{min-width:760px;color:#1f3763}.companies-table tbody tr{cursor:pointer}.companies-table tbody tr:hover{background:var(--app-primary-soft);color:var(--app-primary-active)}.companies-table td small{display:block;color:var(--app-text-muted);font-size:12px;margin-top:2px}.companies-table th{padding-top:5px;padding-bottom:5px;line-height:1.15}.companies-table td{padding-top:6px;padding-bottom:6px;line-height:1.2}.companies-table th:first-child,.companies-table td:first-child{width:120px}.companies-table th:last-child,.companies-table td:last-child{width:70px}.companies-table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 0;color:#679;font-size:13px;font-weight:500}.companies-page-size,.companies-pagination{display:inline-flex;align-items:center;gap:9px}.companies-page-size select{min-height:32px;min-width:62px;border:1px solid #cfd8e6;border-radius:7px;padding:0 8px;background:#fff;color:var(--app-text)}.companies-pagination button{min-width:32px;height:32px;border:0;border-radius:7px;color:#679;background:transparent;cursor:pointer;font:inherit}.companies-pagination button:hover:not(:disabled),.companies-pagination button.is-active{background:#edf3ff;color:var(--app-primary)}.companies-pagination button:disabled{color:#c3cad8;cursor:default}.companies-edit-stack{display:grid;gap:18px}.company-form-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px 24px}.company-labeled-field{display:grid;grid-template-columns:minmax(130px,170px) minmax(0,1fr);align-items:center;gap:12px}.company-labeled-field span{color:#31446a;font-size:13px;font-weight:600}.company-labeled-field b{color:#d92d20}.company-labeled-field input,.company-labeled-field select{width:100%;min-height:38px;border:1px solid #cfd8e6;border-radius:7px;padding:0 12px;color:var(--app-text);background:#fff;font:inherit}.company-labeled-field input:focus,.company-labeled-field select:focus{border-color:var(--app-primary);outline:0;box-shadow:0 0 0 3px #2563eb1f}.users-panel{margin-top:8px}.users-filter-row{display:grid;grid-template-columns:42px minmax(260px,1.15fr) minmax(220px,.85fr) minmax(220px,.85fr) auto;gap:16px;align-items:end;margin:0 0 22px}.users-filter-icon{display:inline-flex;align-items:center;justify-content:center;min-height:41px;color:#4b5675}.users-filter-field{position:relative;display:grid;gap:5px;min-width:0}.users-filter-field>span{color:#78829d;font-size:12px;font-weight:500}.users-filter-reset .btn{min-height:41px;white-space:nowrap}.users-select-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:41px;border:1px solid #cfd8e6;border-radius:7px;padding:0 12px;background:#fff;color:var(--app-text);font:inherit;text-align:left;cursor:pointer}.users-select-button:after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.75}.users-select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-dropdown-menu{position:absolute;z-index:25;top:calc(100% + 5px);left:0;right:0;border:1px solid #dbe3ef;border-radius:8px;background:#fff;box-shadow:0 7px 18px #0f2a5117}.users-dropdown-items{display:grid;gap:4px;padding:8px;max-height:220px;overflow:auto}.users-checkbox-row{display:flex;align-items:center;gap:8px;padding:5px 6px;color:#31446a;font-size:13px;cursor:pointer}.users-checkbox-row input{width:17px;height:17px;accent-color:var(--app-primary)}.users-dropdown-actions{display:flex;justify-content:space-between;gap:8px;padding:8px;border-top:1px solid #edf1f7}.users-table{min-width:980px;color:#1f3763}.users-table th{padding-top:5px;padding-bottom:5px;line-height:1.15}.users-table td{padding-top:6px;padding-bottom:6px;line-height:1.2}.users-table tbody tr{cursor:pointer}.users-table tbody tr:hover{background:var(--app-primary-soft);color:var(--app-primary-active)}.users-table th:first-child,.users-table td:first-child{width:110px}.users-table th:nth-child(5),.users-table td:nth-child(5){width:120px}.users-table th:last-child,.users-table td:last-child{width:76px}.status-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:600}.status-pill.is-active{color:#1454d8;background:#e6efff}.status-pill.is-muted{color:#667085;background:#f2f4f7}.user-edit-profile-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;color:#679;font-size:13px}.user-profile-picture{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border:1px dashed #cfd8e6;border-radius:50%;color:var(--app-primary);background:#f7fbff;overflow:hidden;flex:0 0 auto}.user-profile-picture img{width:100%;height:100%;object-fit:cover}.user-profile-actions{display:grid;gap:7px;min-width:0}.user-profile-actions strong{color:var(--app-text);font-size:14px;font-weight:600}.user-profile-actions span{color:var(--app-text-muted);line-height:1.35}.user-profile-buttons{display:flex;flex-wrap:wrap;gap:8px}.user-profile-buttons input[type=file]{display:none}.users-name-cell{display:inline-flex;align-items:center;gap:10px;min-width:0;line-height:1.15;vertical-align:middle}.report-list td>.users-name-cell{display:inline-flex;color:inherit;font-size:inherit;margin-top:0}.users-name-cell strong{display:inline;line-height:1.15}.users-inline-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:var(--app-primary-soft);color:var(--app-primary);font-size:9px;font-weight:700;overflow:hidden;flex:0 0 auto}.users-inline-avatar img{width:100%;height:100%;object-fit:cover}.user-switch-field input[type=checkbox]{justify-self:start;width:42px;height:22px;min-height:22px;accent-color:var(--app-primary)}.users-membership-table{min-width:760px}.users-membership-table tbody tr{cursor:pointer}.users-membership-note{margin:12px 0 0}.icon-text{display:inline-flex!important;align-items:center;gap:6px;color:inherit!important;font-size:inherit!important;margin:0!important}.attendance-grid-wrap{width:100%;overflow-x:auto}.attendance-entry-bar{display:grid;grid-template-columns:minmax(260px,1fr) 110px auto;gap:10px;align-items:end;margin-bottom:12px}.attendance-entry-bar .field{margin:0}.attendance-count-field{min-width:100px}.attendance-grid{width:100%;min-width:620px;border-collapse:collapse;color:#1f3763;font-size:14px}.attendance-grid th{padding:8px 6px;color:#78829d;font-size:13px;font-weight:600;text-align:left;white-space:nowrap}.attendance-grid td{padding:4px 6px;border-top:1px solid #eef2f6;vertical-align:middle}.attendance-grid th:first-child,.attendance-grid td:first-child{width:92px}.attendance-grid th:nth-child(4),.attendance-grid td:nth-child(4){width:92px}.attendance-grid th:last-child,.attendance-grid td:last-child{width:42px;text-align:right}.attendance-grid input,.attendance-grid select{width:100%;min-height:34px;border:1px solid #d8e0eb;border-radius:6px;background:#fff;color:#1f3763;padding:6px 8px;font:inherit}.attendance-grid input:focus,.attendance-grid select:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px var(--app-primary-soft);outline:0}.attendance-count-input{max-width:82px}.attendance-contractor-modal{max-width:760px}.company-combobox{position:relative}.company-combobox-input-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;align-items:center}.company-combobox-clear{width:38px;min-height:38px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-primary-soft);color:var(--app-primary-active);display:grid;place-items:center;cursor:pointer}.company-combobox-clear:disabled{cursor:not-allowed;opacity:.45}.company-combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:45;max-height:260px;overflow:auto;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);box-shadow:0 16px 35px #0f172a29;padding:4px}.company-combobox-list button{width:100%;border:0;border-radius:6px;background:transparent;color:var(--app-text);display:grid;gap:2px;padding:8px 10px;text-align:left;cursor:pointer}.company-combobox-list button:hover{background:var(--app-primary-soft)}.company-combobox-list button strong{font-size:13px;font-weight:650}.company-combobox-list button span,.company-combobox-list p{color:var(--app-text-muted);font-size:12px}.company-combobox-list p{margin:0;padding:8px 10px}.company-combobox-mobile .company-combobox-list{position:static;margin-top:6px;max-height:180px;box-shadow:none}@media(max-width:820px){.attendance-entry-bar{grid-template-columns:1fr}}.photo-tile-section,.existing-attachments{display:grid;gap:8px}.attachment-manager{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(360px,1.25fr);gap:16px;align-items:start}.attachment-manager .photo-tile-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.photo-tile-label{color:var(--app-text);font-size:13px;font-weight:700}.photo-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photo-tile{min-height:178px;border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:8px;display:grid;grid-template-rows:108px auto 32px;gap:8px;position:relative;color:var(--app-text);text-decoration:none}.photo-tile-preview{width:100%;height:108px;border:0;border-radius:6px;background:#eef4fb;display:grid;place-items:center;overflow:hidden;color:#78829d;cursor:default;padding:0}button.photo-tile-preview{cursor:pointer}.photo-tile-preview img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile input[type=text],.photo-tile>input{width:100%;min-height:36px;border:1px solid #d8e0eb;border-radius:6px;padding:7px 8px;color:var(--app-text);font:inherit}.photo-tile-remove{position:absolute;top:6px;right:6px;width:28px;min-height:28px;background:#ffffffeb}.photo-tile-add{min-height:178px;border-style:dashed;place-items:center;text-align:center;cursor:pointer;font-weight:800;color:var(--app-primary-active)}.photo-tile-add input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.mobile-entry-photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-entry-photo-thumb{border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;overflow:hidden;display:grid;color:var(--app-text);font-size:11px;font-weight:700;position:relative}.mobile-entry-photo-thumb img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.mobile-entry-photo-thumb span{overflow:hidden;padding:5px 6px;text-overflow:ellipsis;white-space:nowrap}.mobile-entry-photo-thumb.is-draft{border-color:#bfdbfe;background:#f8fbff}.existing-photo-tile{grid-template-rows:108px auto 32px}.existing-photo-tile strong{font-size:13px;line-height:1.3}.photo-tile-caption{min-height:36px;color:var(--app-text);font-size:13px;line-height:1.3;overflow:hidden;overflow-wrap:anywhere}.photo-tile-actions{display:flex;justify-content:flex-end;gap:6px}.photo-tile-actions .icon-button{width:30px;min-height:30px}.existing-attachments.is-empty{min-height:178px;align-content:start;border:1px dashed #dfe6ec;border-radius:8px;padding:12px;background:#fbfcfd}.attachment-edit-dialog{width:min(860px,100%)}.attachment-edit-preview{min-height:340px;max-height:62vh;border:1px solid #dfe6ec;border-radius:8px;background:#f8fbff;display:grid;place-items:center;overflow:hidden}.attachment-edit-preview img{max-width:100%;max-height:62vh;object-fit:contain;display:block}.section-rich-layout{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:start}.section-rich-main{display:grid;gap:0;min-width:0}.section-photo-rail{min-height:132px;border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:8px;display:grid;align-content:start;gap:8px}.section-photo-rail.is-empty{color:#78829d;font-size:12px;place-items:center;border-style:dashed}.section-photo-mini{display:grid;gap:4px;font-size:11px;color:var(--app-text)}.section-photo-mini strong{color:var(--app-primary-active);font-size:12px}.section-photo-mini-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.section-photo-mini-head span{display:inline-flex;gap:4px}.section-photo-mini-head button{width:24px;height:24px;border:1px solid #d8e0eb;border-radius:6px;background:#fff;color:var(--app-primary-active);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.section-photo-mini-head button:last-child{color:#b42318}.section-photo-mini-preview{width:100%;height:82px;border:1px solid #dfe6ec;border-radius:6px;background:#eef4fb;color:#78829d;cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:0}.section-photo-mini-preview img,.section-photo-mini img{width:100%;height:82px;object-fit:cover}.section-photo-mini span{line-height:1.2;overflow-wrap:anywhere}.photo-marker{display:inline;color:var(--app-primary-active);font-weight:700}.todo-work-panel{padding:0;overflow:hidden}.todo-work-title-row{min-height:58px;padding:16px 24px;border-bottom:1px solid var(--app-border-soft);display:flex;align-items:center;justify-content:space-between;gap:14px}.todo-work-title-row h3{margin:0}.todo-work-filters{padding:20px 24px 10px;display:grid;grid-template-columns:42px repeat(4,minmax(150px,1fr)) auto;gap:16px;align-items:end}.todo-work-filters>svg{color:var(--app-text-muted);align-self:center;margin-bottom:7px}.todo-work-list{display:grid}.todo-work-item{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,2.25fr);gap:30px;padding:28px 24px;border-top:1px solid var(--app-border-soft)}.todo-work-item.is-done{color:var(--app-text-muted)}.todo-work-meta{display:grid;align-content:start;gap:14px}.todo-work-meta-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px}.todo-work-meta-row strong{color:var(--app-text)}.todo-work-meta-row span{color:#7380a5;min-width:0}.todo-work-delete-row{padding-top:4px}.todo-work-delete-row .btn{min-height:36px}.mobile-mail-queue-toggle{min-height:48px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;color:var(--app-text);display:flex;align-items:center;gap:10px;padding:0 12px;font-weight:800}.mobile-mail-queue-toggle input{width:18px;height:18px;accent-color:var(--app-primary)}.mobile-mail-queue-toggle.is-active{border-color:var(--app-primary);background:var(--app-primary-soft);color:var(--app-primary-active)}.mobile-mail-queue-toggle.is-disabled{opacity:.62}.mobile-send-count{min-width:24px;height:24px;border-radius:999px;border:1px solid var(--app-primary);color:var(--app-primary-active);display:inline-grid;place-items:center;font-size:12px;margin-left:auto}.mobile-send-count.is-empty{border-color:#c9d2e3;color:#7b879e}.mobile-card-label{display:block;color:var(--app-text-soft);font-size:13px;font-weight:800;margin-bottom:8px}.mobile-send-options{gap:10px}.mobile-segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-segmented button{min-height:42px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;color:var(--app-primary-active);font-weight:800}.mobile-segmented button.is-active{background:var(--app-primary);color:#fff;border-color:var(--app-primary)}.mobile-send-preview-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.mobile-send-preview-actions .btn{justify-content:center}.mobile-send-list{display:grid;gap:12px}.mobile-send-group{gap:10px}.mobile-send-group-head{display:flex;gap:10px;align-items:flex-start}.mobile-send-group-head>div{display:grid;gap:2px;min-width:0}.mobile-send-group-head span{color:var(--app-text-soft);font-size:13px;overflow-wrap:anywhere}.mobile-send-todo{border-top:1px solid var(--app-border-soft);padding-top:10px;display:flex;align-items:flex-start;gap:10px}.mobile-send-todo input{width:18px;height:18px;margin-top:3px;accent-color:var(--app-primary)}.mobile-send-todo>span{display:grid;gap:3px;min-width:0}.mobile-send-todo strong{color:var(--app-text);line-height:1.25}.mobile-send-todo small{color:var(--app-text-soft)}.mobile-send-todo.is-disabled{opacity:.58}.mobile-send-result{gap:8px}.mobile-send-log{gap:10px}.mobile-send-log-row{border-top:1px solid var(--app-border-soft);padding-top:10px;display:grid;gap:3px}.mobile-send-log-row strong{color:var(--app-text)}.mobile-send-log-row span,.mobile-send-log-row small{color:var(--app-text-soft);overflow-wrap:anywhere}.send-options-panel,.send-group-panel,.send-result-panel,.send-log-panel{display:grid;gap:14px}.send-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.segmented-control{display:inline-grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px;padding:4px;border-radius:8px;background:var(--app-surface-muted)}.segmented-control button{min-height:36px;border:0;border-radius:7px;background:transparent;color:var(--app-primary-active);font-weight:800;padding:0 14px}.segmented-control button.is-active{background:var(--app-primary);color:#fff}.send-todo-table th:first-child,.send-todo-table td:first-child{width:82px;text-align:center}.send-todo-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--app-primary)}.send-todo-table td>span,.send-todo-table td strong+span{display:block;color:var(--app-text-soft);font-size:13px;margin-top:2px}.send-todo-table tr.is-disabled{opacity:.58}.send-footer-panel{display:flex;justify-content:flex-end;gap:10px}.todo-work-edit{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;align-items:start}.todo-work-readonly{min-height:106px;border:1px solid var(--app-border);border-radius:6px;background:#fbfcfd;color:#a4acc4;padding:12px 14px;line-height:1.45}.todo-work-edit textarea{min-height:106px;resize:vertical}.todo-work-photo-summary{width:fit-content;max-width:100%;min-height:30px;border:1px solid var(--app-border-soft);border-radius:999px;background:#fff;padding:2px 9px 2px 3px;display:inline-flex;align-items:center;gap:7px;color:var(--app-primary-active);font-weight:700;cursor:pointer}.todo-work-photo-summary:hover{border-color:var(--app-primary);background:var(--app-primary-soft)}.todo-work-photo-summary img{width:34px;height:28px;border-radius:5px;object-fit:cover;border:1px solid var(--app-border)}.todo-work-photo-dialog{width:min(980px,100%)}.todo-work-photo-layout{align-items:start}.todo-work-empty{padding:24px;margin:0}@media(max-width:860px){.section-rich-layout{grid-template-columns:1fr}}@media(max-width:860px){.attachment-manager{grid-template-columns:1fr}}.entry-report-attendance{width:100%;border-collapse:collapse;font-size:13px}.entry-report-attendance th,.entry-report-attendance td{padding:7px 8px;border-bottom:1px solid #e6edf5;text-align:left}.entry-report-attendance th{color:#78829d;font-weight:600}.todo-table tr.is-done{opacity:.68}.todo-table tr.is-clickable:hover,.todo-table tr.is-clickable:focus{opacity:1}.todo-photo-state{min-height:28px;color:var(--app-text-soft);display:inline-flex;align-items:center;gap:5px}.todo-photo-state.has-photo{border:1px solid var(--app-primary-soft);border-radius:999px;background:#fff;color:var(--app-primary-active);padding:0 9px;font-size:12px;font-weight:700}.todo-text-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.todo-open-state{display:inline-flex;align-items:center;gap:5px;color:var(--app-primary-active)!important;font-weight:700}.report-filter-panel{display:grid;grid-template-columns:34px repeat(5,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:12px 0 16px}.report-filter-panel-wide{grid-template-columns:34px repeat(6,minmax(120px,1fr)) auto}.report-filter-panel>svg{color:#4b5675;align-self:center}.report-filter-panel .btn{white-space:nowrap}.search-control{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:6px;width:100%}.search-control button{width:40px;min-height:40px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f3f6fa;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0}.search-control button:not(:disabled):hover,.search-control button:not(:disabled):active{background:var(--app-primary-soft);color:var(--app-primary)}.search-control button:disabled{opacity:.45}.project-todos-panel{display:grid;gap:16px}.project-todo-indicators{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.project-todo-indicators span{min-height:30px;min-width:44px;border:1px solid var(--app-border-soft);border-radius:999px;background:#f8fbff;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;font-weight:800}.project-todo-indicators .is-overdue{border-color:#f4c7c1;color:#b42318;background:#fff4f2}.project-todo-indicators .is-today{border-color:#b8dcff;color:#005fcc;background:#f0f7ff}.project-todo-indicators .is-future{border-color:#cfe0f8;color:var(--app-primary);background:var(--app-primary-soft)}.project-todo-filter-panel{display:grid;grid-template-columns:auto repeat(4,minmax(130px,1fr)) minmax(220px,1.4fr) auto;gap:12px;align-items:end}.project-todo-status-filter{display:inline-flex;gap:6px;align-items:end;padding-bottom:1px}.project-todo-status-filter button{width:40px;height:40px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f3f6fa;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0}.project-todo-status-filter button.active{background:var(--app-primary-soft);border-color:#cfe0f8;color:var(--app-primary)}.project-todo-status-filter button.has-overdue{color:#b42318}.project-todo-status-filter button.has-today{color:#111827}.project-todo-status-filter button.is-empty{color:#a8b3c1}.todo-table tr.is-overdue td:first-child{border-left:4px solid #b42318}.todo-table tr.is-today td:first-child{border-left:4px solid #008cff}.todo-table tr.is-future td:first-child{border-left:4px solid var(--app-primary-soft)}.contractor-form{display:grid;grid-template-columns:1fr;gap:12px;align-items:end;padding:8px 0 0}.contractor-edit-dialog{width:min(680px,calc(100vw - 32px))}.contractor-form-grid{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(220px,1fr);gap:12px}.contractor-company-card{display:grid;gap:3px;border:1px solid #d8e0eb;border-radius:8px;background:#f8fbff;padding:10px 12px;color:var(--app-text);font-size:13px}.contractor-company-card strong{font-size:14px}.contractor-company-card span{color:var(--app-text-muted)}.contractor-company-card.muted{background:#fff}.toggle-field{min-height:40px;display:inline-flex;align-items:center;gap:8px;color:var(--app-text-muted);font-size:13px;font-weight:700}.contractor-form-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;grid-column:1 / -1}.contractor-table{min-width:860px}.photo-export-panel .section-head p{margin:.25rem 0 0;color:var(--app-text-muted)}.photo-export-form{display:grid;grid-template-columns:minmax(180px,240px) minmax(180px,240px) minmax(210px,1fr) minmax(210px,1fr);gap:1rem;align-items:end}.photo-export-form label{display:grid;gap:.35rem;color:var(--app-text-muted);font-size:.85rem}.photo-export-form input{min-height:2.5rem}.photo-export-form .btn{width:100%;justify-content:center}.photo-export-table{width:100%;border-collapse:collapse}.photo-export-table th,.photo-export-table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--app-border);vertical-align:top}.photo-export-table th{color:var(--app-text-muted);font-size:.82rem;font-weight:600}.photo-export-table tbody tr:nth-child(odd){background:var(--app-row)}.photo-export-table tbody tr:hover{background:var(--app-row-hover)}.photo-export-table small{display:block;margin-top:.25rem;color:#dc2626}.photo-export-table small.muted-note{color:var(--app-text-muted)}.photo-export-table .btn.compact{min-height:2rem;padding:.35rem .65rem;font-size:.8rem}.photo-plan-upload-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end}.photo-plan-upload-form label,.photo-plan-side-panel label{display:grid;gap:6px;color:var(--app-text-muted);font-size:.85rem}.photo-plan-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:12px}.photo-plan-board-panel .section-head select{min-width:220px}.photo-plan-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.photo-plan-board{position:relative;min-height:560px;border:1px solid var(--app-border);border-radius:8px;overflow:hidden;background:var(--app-panel-muted);touch-action:none}.photo-plan-board.is-placing{cursor:crosshair;box-shadow:inset 0 0 0 2px #2563eb47}.photo-plan-file{width:100%;height:560px;display:block;border:0;object-fit:contain;background:#fff}.photo-plan-pdf-canvas-wrap{position:relative;min-height:560px;display:flex;align-items:flex-start;justify-content:center;padding:16px;background:#d9d9d9}.photo-plan-pdf-canvas{max-width:100%;height:auto;background:#fff;box-shadow:0 10px 24px #0f2a512e}.photo-plan-pdf-link{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);color:var(--app-primary);font-weight:600}.photo-plan-marker-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto}.photo-plan-marker{position:absolute;width:30px;height:30px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:999px;background:var(--app-primary);color:#fff;font-weight:700;box-shadow:0 6px 18px #0f2a513d;pointer-events:auto;cursor:grab;touch-action:none}.photo-plan-marker:active{cursor:grabbing}.photo-plan-marker.is-active{box-shadow:0 0 0 4px var(--app-primary-soft),0 8px 22px #0f2a514d}.photo-plan-marker span:last-child{position:relative;z-index:2}.photo-plan-marker-arrow{position:absolute;left:50%;top:-9px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid var(--app-primary);transform-origin:50% 24px}.photo-plan-list-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.photo-plan-tab{display:grid;gap:2px;min-width:120px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);color:var(--app-text);padding:8px 10px;text-align:left}.photo-plan-tab.is-active{border-color:var(--app-primary);background:var(--app-primary-soft);color:var(--app-primary)}.photo-plan-tab small{color:var(--app-text-muted)}.photo-plan-side-panel{align-self:start}.photo-plan-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.photo-plan-filter-grid label{display:grid;gap:4px}.photo-plan-quick-filter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}.photo-plan-quick-filter button,.photo-plan-quick-filter label{min-height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--app-border);border-radius:999px;padding:4px 9px;background:var(--app-surface);color:var(--app-text);font-size:.8rem}.photo-plan-photo-list{display:grid;gap:8px;max-height:680px;overflow:auto;padding-right:2px}.photo-plan-photo-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 10px;align-items:center;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);color:var(--app-text);padding:8px;text-align:left}.photo-plan-photo-card.is-selected{border-color:var(--app-primary);background:var(--app-primary-soft)}.photo-plan-photo-card img{grid-row:span 3;width:64px;height:54px;object-fit:cover;border-radius:6px;background:#fff}.photo-plan-photo-fallback{grid-row:span 3;width:64px;height:54px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--app-border);border-radius:6px;background:var(--app-panel-muted);color:var(--app-text-muted)}.photo-plan-photo-card span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.photo-plan-photo-card small,.photo-plan-photo-card em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text-muted);font-style:normal;font-size:.78rem}.photo-plan-photo-card em{display:flex;gap:4px;align-items:center;color:var(--app-primary)}.photo-plan-photo-card em b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:var(--app-primary);color:#fff;font-size:.75rem;line-height:1}.photo-plan-marker-table{width:100%;border-collapse:collapse}.photo-plan-marker-table th,.photo-plan-marker-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--app-border)}.photo-plan-marker-table tbody tr:nth-child(odd){background:var(--app-row)}.photo-plan-marker-table tbody tr:hover{background:var(--app-row-hover)}.photo-plan-detail-panel{margin-top:0}.photo-plan-marker-detail-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:16px}.direction-picker{width:132px;height:132px;position:relative;border:1px solid var(--app-border);border-radius:999px;background:var(--app-panel-muted);margin-bottom:12px}.direction-picker button{position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface);color:var(--app-text);font-weight:700}.direction-picker button:nth-child(1){transform:translateY(-46px)}.direction-picker button:nth-child(2){transform:translate(32px,-32px)}.direction-picker button:nth-child(3){transform:translate(46px)}.direction-picker button:nth-child(4){transform:translate(32px,32px)}.direction-picker button:nth-child(5){transform:translateY(46px)}.direction-picker button:nth-child(6){transform:translate(-32px,32px)}.direction-picker button:nth-child(7){transform:translate(-46px)}.direction-picker button:nth-child(8){transform:translate(-32px,-32px)}.direction-picker button.is-active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.photo-plan-marker-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.photo-plan-marker-photo-card{display:grid;gap:7px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);color:var(--app-text);padding:8px;text-decoration:none}.photo-plan-marker-photo-card img{width:100%;height:130px;object-fit:cover;border-radius:6px;background:#fff}.photo-plan-capture-modal{max-width:520px}.photo-plan-capture-modal label{display:grid;gap:6px;margin-top:12px}@media(max-width:1100px){.photo-plan-workspace{grid-template-columns:1fr}.photo-plan-photo-list{max-height:none;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:720px){.photo-plan-upload-form{grid-template-columns:1fr}.photo-plan-board-panel .section-head{align-items:stretch}.photo-plan-board-panel .section-head select{min-width:0;width:100%}.photo-plan-board{min-height:420px}.photo-plan-file,.photo-plan-pdf-canvas-wrap{height:420px;min-height:420px}.photo-plan-marker-detail-grid,.photo-plan-filter-grid{grid-template-columns:1fr}}.status-pill{display:inline-flex;align-items:center;min-height:1.5rem;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600}.status-pill.is-success{background:#e6f7ed;color:#087a34}.status-pill.is-error{background:#fff0f0;color:#c62828}.status-pill.is-muted{background:var(--app-row);color:var(--app-text-muted)}:root[data-theme=dark] .status-pill.is-success{background:#22c55e2e;color:#86efac}:root[data-theme=dark] .status-pill.is-error{background:#ef44442e;color:#fca5a5}.mobile-capture{width:min(100%,560px);margin:0 auto;display:grid;gap:14px}.mobile-capture-header{border:1px solid #dfe6ec;border-radius:8px;background:#fff;padding:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mobile-capture-header h2,.mobile-capture-header p,.mobile-card h3{margin:0}.mobile-capture-header p:not(.eyebrow){color:#5f7080}.mobile-capture-header svg{color:var(--app-primary);flex:0 0 auto}.mobile-form{display:grid;gap:14px}.mobile-card{border:1px solid #dfe6ec;border-radius:8px;background:#fff;padding:16px;display:grid;gap:14px}.mobile-home{width:min(100%,560px);margin:0 auto;display:grid;gap:14px;padding:10px;border-radius:18px;background:linear-gradient(145deg,#eef3f8,#f8fafc);box-shadow:inset 0 0 0 1px #94a3b82e;transform-origin:center;transform-style:preserve-3d;animation:mobile-mode-card-flip .62s cubic-bezier(.22,.8,.24,1) both}.mobile-home-header{display:grid}.mobile-day-briefing{gap:12px;border-color:#c8dcff;background:#fff}.mobile-day-briefing.is-critical{border-color:#ffd0ca;background:#fff8f7}.mobile-day-briefing.is-active{border-color:#c8dcff;background:#f7fbff}.mobile-day-briefing.is-calm{border-color:#dbe8de;background:#fbfefc}.mobile-day-briefing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-day-briefing-head h3,.mobile-day-briefing-head p,.mobile-day-briefing>p{margin:0}.mobile-day-briefing>p{color:var(--app-text);font-size:15px;line-height:1.48}.mobile-day-briefing-icon{width:42px;height:42px;border:1px solid #c8dcff;border-radius:12px;background:#eef5ff;color:var(--app-primary);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.mobile-day-briefing.is-critical .mobile-day-briefing-icon{border-color:#ffd0ca;background:#fff1ef;color:#c0251d}.mobile-day-briefing.is-calm .mobile-day-briefing-icon{border-color:#cfead6;background:#effaf2;color:#14823b}.mobile-day-projects{display:grid;gap:7px}.mobile-day-projects div{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--app-border-soft);border-radius:8px;background:#ffffffd1}.mobile-day-projects strong{font-size:14px}.mobile-day-projects span{color:var(--app-text-muted);font-size:13px}.mobile-day-briefing-actions{display:flex;flex-wrap:wrap;gap:8px}.mobile-mode-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-mode-head h2,.mobile-mode-head p{margin:0}.mobile-mode-switch{width:46px;height:46px;border:1px solid var(--app-primary-soft);border-radius:12px;background:var(--app-primary-soft);color:var(--app-primary-active);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.mobile-mode-switch:hover{background:#c7ddff}.mobile-action-grid{display:grid;gap:12px}.mobile-action-card,.mobile-list-link{border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;color:var(--app-text);display:grid;gap:6px;padding:18px;box-shadow:var(--app-shadow)}.mobile-action-card{min-height:136px;align-content:center}.mobile-action-card.is-primary,.mobile-list-link.is-primary{border-color:var(--app-primary);background:#f5f8ff}.mobile-action-card svg,.mobile-list-link svg{color:var(--app-primary)}.mobile-action-card span{font-size:20px;font-weight:800}.mobile-action-card small{color:var(--app-text-muted);font-size:14px}.mobile-home-secondary{gap:10px}.mobile-list-link{min-height:52px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:12px;font-weight:800}.mobile-settings-link{border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;box-shadow:var(--app-shadow)}.mobile-list-link>span:not(.mobile-home-todo-indicators){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-home-todo-indicators{display:inline-flex;align-items:center;gap:0;justify-self:end;flex:0 0 auto}.mobile-home-todo-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid currentColor;border-radius:999px;background:#fff;font-size:9px;font-weight:800;position:relative}.mobile-home-todo-indicator+.mobile-home-todo-indicator{margin-left:-5.5px}.mobile-home-todo-indicator:nth-child(1){z-index:3}.mobile-home-todo-indicator:nth-child(2){z-index:2}.mobile-home-todo-indicator:nth-child(3){z-index:1}.mobile-home-todo-indicator i{display:none}.mobile-home-todo-indicator.is-overdue{color:#b42318;background:#fee4e2}.mobile-home-todo-indicator.is-today{color:#008cff;background:#e0f2fe}.mobile-home-todo-indicator.is-all{color:var(--app-primary);background:var(--app-primary-soft)}.mobile-home-todo-indicator.is-empty{opacity:1}.mobile-home-todo-indicator.is-overdue.is-empty{color:#d92d20;background:#fff1f0;border-color:#f6b5b0}.mobile-home-todo-indicator.is-today.is-empty{color:#008cff;background:#eff8ff;border-color:#b8dcff}.mobile-home-todo-indicator.is-all.is-empty{color:var(--app-primary);background:#f3f7ff;border-color:#cfe0f8}.mobile-desktop-menu{gap:10px}@keyframes mobile-mode-card-flip{0%{opacity:0;background:#e5eaf0;box-shadow:inset 0 0 0 1px #94a3b84d,0 22px 42px #0f172a1f;transform:perspective(900px) rotateY(-180deg) scale(.94)}45%{opacity:.55;background:#e2e8f0;box-shadow:inset 0 0 0 1px #94a3b857,0 26px 48px #0f172a24;transform:perspective(900px) rotateY(-270deg) scale(.97)}72%{opacity:.86;background:#edf2f7;transform:perspective(900px) rotateY(-335deg) scale(.99)}to{opacity:1;background:linear-gradient(145deg,#eef3f8,#f8fafc);transform:perspective(900px) rotateY(-360deg) scale(1)}}@media(prefers-reduced-motion:reduce){.mobile-home{animation:none}}.success-state{border-color:#bbf7d0;background:#f0fdf4;color:#166534;padding:12px;display:flex;align-items:center;gap:8px}.mobile-todo-card-head,.mobile-todo-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mobile-todo-card-head span{display:inline-flex;align-items:center;gap:5px;color:var(--app-primary-active);font-weight:700}.mobile-todo-text{margin:0;color:var(--app-text);font-weight:700;line-height:1.45}.mobile-todo-actions .btn{flex:1;min-width:130px}.mobile-todo-compact-list,.mobile-journal-list{display:grid;gap:8px}.mobile-journal-list-row{width:100%;border:1px solid var(--app-border-soft);border-left:4px solid var(--app-primary-soft);border-radius:8px;background:#fff;color:var(--app-text);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;text-align:left;box-shadow:var(--app-shadow)}.mobile-journal-list-row:active,.mobile-journal-list-row:hover{border-left-color:var(--app-primary);background:#f5f8ff}.mobile-journal-list-main,.mobile-journal-list-meta{display:grid;gap:4px;min-width:0}.mobile-journal-list-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.mobile-journal-list-main small,.mobile-journal-list-meta{color:var(--app-text-muted);font-size:12px}.mobile-journal-list-meta{justify-items:end}.mobile-journal-list-meta svg{color:var(--app-primary)}.mobile-journal-list-icons{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;color:var(--app-primary)}.mobile-journal-list-icons svg{flex:0 0 auto}.mobile-journal-detail{display:grid;gap:10px}.mobile-journal-detail-page.has-bottom-edit-bar{padding-bottom:0}.mobile-journal-bottom-edit-bar{position:fixed;left:0;right:0;bottom:0;z-index:44;display:flex;justify-content:center;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:var(--app-primary);box-shadow:0 -12px 26px #0714371f}.mobile-journal-bottom-edit-bar .btn{width:min(100%,532px);min-height:46px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff}.mobile-journal-summary{gap:7px}.mobile-journal-summary p,.mobile-journal-attendance-list p{margin:0;display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px}.mobile-journal-summary strong,.mobile-journal-attendance-list strong{color:var(--app-text)}.mobile-journal-summary span,.mobile-journal-attendance-list span{min-width:0;color:var(--app-text-muted)}.mobile-journal-read-section{gap:8px}.mobile-journal-read-section h3{margin:0;font-size:16px}.mobile-journal-rich{color:var(--app-text);font-size:14px;line-height:1.45}.mobile-journal-rich p,.mobile-journal-rich ul,.mobile-journal-rich ol{margin-top:0}.mobile-journal-rich p:last-child,.mobile-journal-rich ul:last-child,.mobile-journal-rich ol:last-child{margin-bottom:0}.mobile-journal-todo-list{display:grid;gap:8px}.mobile-journal-todo-list div{border-left:3px solid var(--app-primary-soft);padding-left:9px;display:grid;gap:2px}.mobile-journal-todo-list strong{font-size:14px}.mobile-journal-todo-list small{color:var(--app-text-muted)}.mobile-journal-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-journal-photo-grid figure{margin:0;display:grid;gap:4px}.mobile-journal-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--app-border-soft);border-radius:8px;background:#f8fafc}.mobile-journal-photo-grid button,.mobile-journal-inline-photo-grid button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.mobile-journal-photo-grid figcaption{color:var(--app-text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-journal-inline-photo-grid{display:flex;gap:6px;overflow-x:auto;padding-top:4px}.mobile-journal-inline-photo-grid button{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--app-border-soft);border-radius:8px;overflow:hidden;box-shadow:var(--app-shadow)}.mobile-journal-inline-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.mobile-journal-attachment-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.mobile-journal-attachment-list li{display:flex;align-items:center;gap:6px;color:var(--app-text-muted);font-size:13px}.mobile-search-highlight,.search-highlight{border-radius:4px;background:var(--app-primary-soft);color:var(--app-primary-active);padding:0 2px}.report-match-hint{color:var(--app-text-muted);font-size:13px;line-height:1.35}.mobile-todo-search{margin:0;display:block;width:100%}.mobile-todo-search input{width:100%;min-height:40px}.mobile-search-control{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:6px;width:100%}.mobile-search-control button{width:40px;min-height:40px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f3f6fa;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0}.mobile-search-control button:not(:disabled):hover,.mobile-search-control button:not(:disabled):active{background:var(--app-primary-soft);color:var(--app-primary)}.mobile-search-control button:disabled{opacity:.45}.mobile-todo-filter{display:inline-flex;gap:6px}.mobile-todo-filter button{width:38px;height:38px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f3f6fa;color:var(--app-text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.mobile-todo-filter button.active{background:var(--app-primary-soft);border-color:#cfe0f8;color:var(--app-primary)}.mobile-todo-filter button.is-empty{color:#a8b3c1}.mobile-todo-filter button.has-overdue{color:#b42318}.mobile-todo-filter button.has-today{color:#111827}.mobile-todo-filter button.has-overdue.active,.mobile-todo-filter button.has-today.active{background:var(--app-primary-soft);border-color:#cfe0f8}.mobile-today-icon{position:relative;display:inline-flex}.mobile-today-icon i{position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border:1px solid #ffffff;border-radius:999px;background:#008cff}.mobile-todo-filter button.is-empty .mobile-today-icon i{background:#a8b3c1}.mobile-todo-list-row{width:100%;border:1px solid var(--app-border-soft);border-left:4px solid var(--app-primary-soft);border-radius:8px;background:#fff;color:var(--app-text);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;text-align:left;box-shadow:var(--app-shadow)}.mobile-todo-list-row:active,.mobile-todo-list-row:hover{border-left-color:var(--app-primary);background:#f5f8ff}.mobile-todo-list-row.is-overdue{border-left-color:#b42318}.mobile-todo-list-row.is-today{border-left-color:#008cff}.mobile-todo-list-main,.mobile-todo-list-meta{display:grid;gap:4px;min-width:0}.mobile-todo-list-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.mobile-todo-list-main small,.mobile-todo-list-meta small{color:var(--app-text-muted);font-size:12px}.mobile-todo-match-hint{color:var(--app-primary-active)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-todo-list-meta{justify-items:end;font-size:12px}.mobile-todo-list-meta small{display:inline-flex;align-items:center;gap:4px}.mobile-todo-modal{width:min(560px,calc(100vw - 20px));max-height:calc(100dvh - 24px);overflow:auto;padding:12px;display:grid;gap:9px}.mobile-todo-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-todo-modal-head p,.mobile-todo-modal-head h3{margin:0}.mobile-todo-modal-meta{margin:-2px 0 0;color:var(--app-text-muted);font-size:12px;line-height:1.35}.mobile-todo-readonly-text{color:var(--app-text);font-weight:700;line-height:1.32}.mobile-todo-photo-viewer{display:grid;gap:5px}.mobile-todo-photo-viewer>span{color:var(--app-text-muted);font-size:12px;font-weight:700}.mobile-todo-photo-thumbs{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.mobile-todo-photo-thumbs button{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;padding:0;overflow:hidden;box-shadow:var(--app-shadow)}.mobile-todo-photo-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.mobile-photo-preview-backdrop{z-index:75}.mobile-photo-preview-modal{width:min(560px,calc(100vw - 20px));padding:12px;display:grid;gap:10px}.mobile-photo-preview-modal img{width:100%;max-height:calc(100dvh - 150px);object-fit:contain;background:#f8fafc;border:1px solid var(--app-border-soft);border-radius:8px;display:block}.mobile-photo-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-photo-preview-footer p{margin:0;color:var(--app-text-muted);font-size:13px;font-weight:700;min-width:0}.mobile-photo-preview-nav{display:inline-flex;gap:6px;flex:0 0 auto}.mobile-photo-preview-nav button{width:38px;height:38px;border:1px solid var(--app-border-soft);border-radius:8px;background:#f3f6fa;color:var(--app-text);display:inline-flex;align-items:center;justify-content:center;font-size:21px;line-height:1;font-weight:900;cursor:pointer}.mobile-photo-preview-nav button:hover,.mobile-photo-preview-nav button:active{background:var(--app-primary-soft);border-color:#cfe0f8;color:var(--app-primary)}.mobile-settings-card{gap:12px}.mobile-settings-card-toggle{width:100%;border:0;background:transparent;color:inherit;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.mobile-settings-card-head{display:flex;align-items:flex-start;gap:10px;min-width:0}.mobile-settings-card-head svg{color:var(--app-primary);flex:0 0 auto;margin-top:2px}.mobile-settings-card-head h3,.mobile-settings-card-head p{margin:0}.mobile-settings-card-subtitle{font-size:10px;line-height:1.25;white-space:nowrap}.mobile-settings-card-chevron{color:var(--app-text-muted);flex:0 0 auto;transition:transform .16s ease}.mobile-settings-card.is-collapsed .mobile-settings-card-chevron{transform:rotate(-90deg)}.mobile-settings-card-body{display:grid;gap:12px}.mobile-project-filter-list{display:grid;gap:8px}.mobile-project-option{width:100%;min-height:46px;border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;color:var(--app-text);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;text-align:left;font-weight:750}.mobile-project-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-project-option.is-selected{border-color:#cfe0f8;background:var(--app-primary-soft);color:var(--app-primary-active)}.mobile-project-option svg{color:var(--app-primary)}.mobile-settings-saved{margin:0;color:#157347;font-size:13px;font-weight:800}.mobile-offline-settings-warning{display:grid;gap:5px;border:1px solid #fed7aa;border-radius:8px;background:#fff7ed;color:#7c2d12;padding:10px 12px;font-size:13px;line-height:1.4}.mobile-offline-settings-warning strong{color:inherit}.mobile-settings-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--app-border-soft);border-radius:8px;background:var(--app-row);padding:11px 12px}.mobile-settings-toggle-row>span{display:grid;gap:4px;min-width:0}.mobile-settings-toggle-row strong{display:inline-flex;align-items:center;gap:6px;color:var(--app-text)}.mobile-settings-toggle-row small{color:var(--app-text-muted);line-height:1.35}.mobile-settings-toggle-row input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--app-primary)}.mobile-offline-sync-actions{display:grid;gap:8px}.mobile-offline-sync-actions .btn{width:100%;justify-content:center}.mobile-settings-sync-message{margin:0;color:var(--app-text-muted);font-size:13px;line-height:1.35}.is-spinning{animation:app-spin .9s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}:root[data-theme=dark] .mobile-offline-settings-warning{background:#3b260f;border-color:#b45309;color:#fed7aa}.mobile-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-card input,.mobile-card select,.mobile-card textarea{min-height:48px;font-size:16px}.mobile-insert-select{display:flex;justify-content:flex-end;margin:-2px 0 8px}.mobile-insert-select select{width:min(190px,100%);min-height:34px;border-radius:8px;background:var(--app-primary-soft);border-color:#cfe0f8;color:var(--app-primary-active);font-size:13px;font-weight:800;padding:0 30px 0 10px}.mobile-mini-editor{display:grid;gap:8px}.mobile-mini-editor .rich-field{gap:6px}.mobile-mini-editor .rich-toolbar{gap:6px;padding:8px}.mobile-mini-editor .rich-toolbar button,.mobile-mini-editor .rich-color-control{width:38px;height:38px}.mobile-mini-editor .rich-custom-select{flex:1;min-width:142px;min-height:38px}.mobile-mini-editor .rich-editor-content{min-height:132px;font-size:16px}.mobile-section-photo-drafts{display:flex;flex-wrap:wrap;gap:6px}.mobile-section-photo-drafts button{border:1px solid #cfe0f8;border-radius:999px;background:var(--app-primary-soft);color:var(--app-primary-active);padding:4px 8px;font-size:12px;font-weight:800;cursor:pointer}.mobile-section-photo-drafts button:hover,.mobile-section-photo-drafts button:active{border-color:#8eb8ff;background:#dce9ff}.mobile-todo-suggestion-list{margin-top:0}.mobile-todo-suggestion-list .todo-suggestion-item{grid-template-columns:1fr}.mobile-todo-suggestion-list .todo-suggestion-item .btn{width:100%}.mobile-card textarea{line-height:1.45}.mobile-wide-button,.mobile-save-button{width:100%;min-height:52px;font-weight:800}.mobile-photo-input{min-height:88px;border:1px dashed #9fb7cc;border-radius:8px;background:#f8fbff;color:#244268;display:grid;place-items:center;gap:6px;padding:14px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.mobile-photo-input input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.mobile-photo-input svg{color:var(--app-primary)}.mobile-photo-input span{font-weight:800}.mobile-photo-insert-modal,.mobile-todo-create-modal{max-width:520px;display:grid;gap:14px}.mobile-photo-insert-picker{min-height:180px}.mobile-photo-insert-picker.has-preview{padding:8px;grid-template-rows:minmax(0,1fr) auto}.mobile-photo-insert-picker img{width:100%;max-height:260px;object-fit:contain;border-radius:8px;background:#f4f7fb}.mobile-todo-photo-input{min-height:58px;border-style:solid;background:#fff}.mobile-todo-file-count{display:inline-flex;align-items:center;gap:5px;color:var(--app-primary-active)!important;font-weight:700}.mobile-attendance-list,.mobile-attendance-add{display:grid;gap:10px}.mobile-attendance-count-field{max-width:140px}.mobile-attendance-zebra-list{display:grid;border:1px solid #e4ebf4;border-radius:8px;overflow:hidden}.mobile-attendance-zebra-row{display:grid;grid-template-columns:72px minmax(0,1fr) 82px 36px;gap:8px;align-items:center;padding:9px 10px;background:#fff}.mobile-attendance-zebra-row:nth-child(odd){background:#f7f9fc}.mobile-attendance-zebra-row span{display:block;color:#78829d;font-size:11px;line-height:1.2}.mobile-attendance-zebra-row strong{display:block;min-width:0;overflow:hidden;color:#1f3763;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mobile-attendance-zebra-row label{margin:0}.mobile-attendance-zebra-row input{width:100%;min-height:34px;border:1px solid #d8e0eb;border-radius:6px;padding:5px 7px}.mobile-count-dial{touch-action:none}.mobile-weather-card{background:#f8fbff;border-color:#c8d9f2}.mobile-weather-actions,.mobile-weather-search{display:grid;gap:10px}.mobile-weather-search{grid-template-columns:minmax(0,1fr) auto}.mobile-weather-card .weather-pill-button{min-height:48px}.mobile-weather-manual-collapse{display:grid;gap:10px;margin-top:6px}.mobile-weather-manual-toggle{display:flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;border:1px solid #c8d9f2;border-radius:8px;background:#fff;color:#0f3570;font-weight:700;padding:10px 12px}.mobile-weather-manual-content{display:grid;gap:12px}.mobile-save-bar{position:sticky;bottom:0;z-index:4;padding:10px 0 2px;background:linear-gradient(to top,#f4f6f8 75%,#f4f6f800)}.settings-draft-card{align-items:center}.settings-draft-control{display:flex;align-items:center;gap:14px;min-width:220px;color:#1f5fe5}.settings-draft-control .field{min-width:130px}.journal-status-panel,.mobile-entry-status-card{padding:14px 18px}.journal-final-toggle,.mobile-entry-final-toggle{display:flex;align-items:center;gap:12px;color:#05143a}.journal-final-toggle input,.mobile-entry-final-toggle input{width:20px;height:20px;accent-color:#1f5fe5}.journal-final-toggle span,.mobile-entry-final-toggle span,.mobile-home-drafts .mobile-list-link span{display:grid;gap:3px}.journal-final-toggle small,.mobile-entry-final-toggle small,.mobile-home-drafts small{color:#5d6e89;font-weight:500}@media(max-width:860px){.app-product-logo{display:none}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.app-shell.simple-mobile-flow{display:block}.side-nav{position:sticky;top:0;z-index:30;padding:6px 12px;height:66px;min-height:66px;box-sizing:border-box;overflow:visible;gap:8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0714370f;transform:translateY(0);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;will-change:transform}.simple-mobile-flow.mobile-header-hidden .side-nav{box-shadow:none;transform:translateY(calc(-100% - env(safe-area-inset-top)))}.side-nav-brand{min-width:0}.drawer-collapse-button,.side-nav-user{display:none}.side-nav-logo{width:auto;max-width:112px;max-height:30px;transform:translateY(3px)}:root[data-theme=dark] .simple-mobile-flow .side-nav-logo.needs-dark-logo-filter{filter:grayscale(1) brightness(0) invert(1);opacity:.96}.side-nav h1{font-size:24px}.side-nav nav{display:none}.core-hint,.dev-user-hint{display:none}.mobile-menu-toggle{border:1px solid var(--app-border);border-radius:8px;background:#fff;color:var(--app-text);min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0}.mobile-top-actions{display:inline-flex;align-items:center;gap:8px;position:relative}.mobile-header-user-menu,.mobile-header-status-menu{position:relative}.mobile-status-button{position:relative;width:38px;height:38px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#9a3412;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.mobile-status-button svg:last-child{position:absolute;right:4px;bottom:4px;color:#dc2626;background:#fff7ed;border-radius:999px}.mobile-header-user-button{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;cursor:pointer}.mobile-header-user-button .side-nav-user-avatar{width:38px;height:38px}.mobile-header-profile-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(252px,calc(100vw - 24px));border:1px solid var(--app-border);border-radius:10px;background:#fff;box-shadow:0 14px 32px #0f2a5129;padding:8px;display:grid;gap:4px}.mobile-header-status-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(300px,calc(100vw - 24px));border:1px solid #fdba74;border-radius:10px;background:#fff7ed;color:#7c2d12;box-shadow:0 14px 32px #0f2a5129;padding:11px 12px;display:grid;gap:7px;font-size:12.5px;line-height:1.35}.mobile-header-status-dropdown strong{font-size:13px}.mobile-header-status-dropdown button{justify-self:start;min-height:32px;border:0;border-radius:7px;background:var(--app-primary);color:var(--app-primary-inverse);padding:6px 10px;font-weight:700}.mobile-header-profile-dropdown a,.mobile-header-profile-dropdown button{min-height:42px;border:0;border-radius:8px;background:transparent;color:var(--app-text);display:flex;align-items:center;gap:9px;padding:9px 10px;font-size:13px;font-weight:650;text-decoration:none;cursor:pointer}.mobile-header-profile-dropdown a:hover,.mobile-header-profile-dropdown button:hover{background:var(--app-primary-soft);color:var(--app-primary-active)}.simple-mobile-flow .profile-page{width:min(100%,560px);margin:0 auto;display:grid;gap:12px}.simple-mobile-flow .profile-page .page-header{position:static;height:auto;min-height:0;margin:0;padding:0;border:0;background:transparent}.simple-mobile-flow .profile-page .page-header h2{font-size:22px}.simple-mobile-flow .profile-page .page-header p:not(.breadcrumb-line){font-size:13px;line-height:1.35}.simple-mobile-flow .profile-page .page-action-bar{top:0;min-height:50px;padding:4px 0 8px}.simple-mobile-flow.mobile-header-hidden .profile-page .page-action-bar{top:0}.simple-mobile-flow .profile-page .companies-edit-stack{gap:12px}.simple-mobile-flow .profile-page .profile-panel{padding:14px;gap:14px}.simple-mobile-flow .profile-page .panel-title-row{display:none}.simple-mobile-flow .profile-page .user-edit-profile-row{align-items:center;gap:12px;margin-bottom:6px}.simple-mobile-flow .profile-page .user-profile-picture{width:58px;height:58px}.simple-mobile-flow .profile-page .user-profile-actions span{font-size:12px}.simple-mobile-flow .profile-page .user-profile-buttons{gap:6px}.simple-mobile-flow .profile-page .user-profile-buttons .btn{min-height:34px;padding-inline:10px}.simple-mobile-flow .profile-page .company-form-grid{grid-template-columns:1fr;gap:11px}.simple-mobile-flow .profile-page .company-labeled-field{grid-template-columns:1fr;gap:5px}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:35;display:grid;grid-template-columns:repeat(5,1fr);background:#fffffffa;border-top:1px solid var(--app-border-soft);box-shadow:0 -4px 18px #07143714;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.mobile-bottom-nav a,.mobile-bottom-nav button{min-width:0;border:0;background:transparent;color:var(--app-text-muted);display:grid;justify-items:center;align-content:center;gap:2px;min-height:48px;padding:3px 2px;font-size:11px;font-weight:700}.mobile-bottom-nav a.active,.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{color:var(--app-primary)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;align-items:end;background:#07143761}.mobile-menu-sheet{background:#fff;border-radius:16px 16px 0 0;padding:16px;display:grid;gap:14px;box-shadow:0 -18px 40px #0714372e;max-height:min(80vh,560px);overflow:auto}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-menu-head div,.mobile-menu-links{display:grid;gap:4px}.mobile-menu-head span,.mobile-menu-meta{color:var(--app-text-muted);font-size:13px}.mobile-menu-links a,.mobile-menu-links button{border:1px solid var(--app-border-soft);border-radius:8px;background:#fff;color:var(--app-text);display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;font-weight:700}.mobile-menu-links button{cursor:pointer}.content{padding:16px 14px calc(82px + env(safe-area-inset-bottom));display:block;height:auto;max-width:none;overflow:visible;--content-header-height: 0px}.simple-mobile-flow .content{display:block;align-content:normal;align-items:stretch;justify-content:flex-start;min-height:0;margin:0;padding-top:10px;padding-bottom:18px}.simple-mobile-flow .mobile-capture,.simple-mobile-flow .mobile-home{margin-top:0!important;transform:none}.simple-mobile-flow .mobile-todos-page{align-self:start}.simple-mobile-flow .mobile-app-footer{display:flex;justify-content:center;padding:28px 0 calc(20px + env(safe-area-inset-bottom))}.simple-mobile-flow .content:has(.mobile-journal-bottom-edit-bar) .mobile-app-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.simple-mobile-flow .mobile-app-footer img{width:168px;max-width:58vw;height:auto;object-fit:contain;opacity:.92}.page-action-bar{top:62px;padding:8px 0;align-items:stretch;background:#fffffff5;border-bottom:1px solid var(--app-border-soft);transition:top .28s cubic-bezier(.22,1,.36,1)}.simple-mobile-flow.mobile-header-hidden .page-action-bar{top:0}.page-header{position:static;min-height:auto;margin:0;padding:0;background:transparent;border-bottom:0}.page-action-bar-left,.page-action-bar-right{width:100%}.page-action-bar .btn{flex:1;min-height:44px}.content:before{display:none}.kpi-grid,.dashboard-project-grid,.compact-form,.dev-active-user,.dev-data-form,.filters,.project-status-grid,.project-briefing-grid,.project-cockpit-grid,.task-columns,.weather-import,.report-filter-panel,.settings-grid,.settings-title-row,.weather-search-row,.weather-live-head,.weather-manual-grid{grid-template-columns:1fr}.dashboard-project-tile-head{grid-template-columns:36px minmax(0,1fr)}.dashboard-project-open{grid-column:1 / -1;width:100%}.dashboard-project-filter-row{grid-template-columns:1fr}.dashboard-project-filter-row>svg{display:none}.dashboard-project-dropdown{left:0;width:100%}.project-overview-row{grid-template-columns:minmax(0,1fr);gap:4px}.dashboard-hero,.task-head-row,.calendar-controls-top{align-items:stretch;flex-direction:column}.calendar-filter-tools{justify-items:stretch}.day-cell{min-height:48px;font-size:12px}.weather-search-row,.weather-live-head{align-items:stretch;flex-direction:column}.todo-work-filters,.project-todo-filter-panel,.todo-work-item,.todo-work-edit{grid-template-columns:1fr}.todo-work-filters>svg{display:none}.todo-work-item{gap:18px;padding:22px 16px}.todo-work-meta-row{grid-template-columns:126px minmax(0,1fr)}.weather-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-collapse-head{grid-template-columns:1fr}.report-filter-panel>svg{display:none}.contractor-form,.contractor-form-grid{grid-template-columns:1fr}.contractor-form-actions{justify-content:stretch}.contractor-form-actions .btn{flex:1}.mobile-capture{width:100%}.mobile-weather-search{grid-template-columns:1fr}.calendar-page .calendar-controls-top{align-items:center;flex-direction:row}.calendar-page .calendar-mode-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-page .calendar-month-count{gap:6px}.calendar-page .calendar-filter-tools{display:none}.calendar-mobile-actions{display:flex}}@media(max-width:560px){.content{padding:14px 10px calc(82px + env(safe-area-inset-bottom))}.page-header h2,.mobile-capture-header h2{font-size:24px}.panel,.mobile-card,.mobile-capture-header{padding:14px}.field-grid,.mobile-two-cols{grid-template-columns:1fr}.section-head,.action-bar{align-items:stretch;flex-direction:column}.todo-row{align-items:flex-start}.entry-report{padding:16px}.entry-report-header,.entry-report-toolbar{align-items:stretch;flex-direction:column}.entry-report-meta-box{text-align:left}.entry-report-grid{grid-template-columns:1fr}.entry-report-section-title,.inline-revision summary{align-items:flex-start;flex-direction:column}.pdf-mode-select{align-items:stretch;flex-direction:column;width:100%}.pdf-mode-select select{width:100%;min-width:0}.entry-report-revision-hint{text-align:left}.entry-report-revision-row{grid-template-columns:1fr}.revision-meta,.revision-details dl>div{grid-template-columns:1fr}}@media(min-width:769px){.content{font-size:14px}.page-header h2{font-size:19px;font-weight:600}.page-header p,.breadcrumbs,.eyebrow,.muted,.note,.count{font-weight:400}.side-nav a,.side-nav-user-text strong,.project-nav-title{font-weight:600}.side-nav a{font-size:13px}.panel h3,.card h3,.section-head h3,.todo-work-title-row h3,.dashboard-project-tile-head>strong{font-size:14px;font-weight:600}.btn,.icon-link,.icon-button,.btn-mini,.dashboard-project-open{font-weight:500}.field span,.rich-field>span,.dashboard-project-multiselect>label,.dashboard-project-status-filter>span,.calendar-mode-group,.calendar-month-count,.weather-collapse-head label,.print-menu-label,.revision-fields span,.weather-manual-grid .field>span{font-size:11px;font-weight:500}input,select,textarea,.rich-editor,.dashboard-project-select,.dashboard-project-status-filter select{font-size:13px;font-weight:400}.report-list th,.todo-table th,.project-mini-table th,.test-core-table th,.project-team-table th,.project-user-table th{font-size:12px;font-weight:500}.report-list td,.todo-table td,.project-mini-table td,.test-core-table td,.project-team-table td,.project-user-table td,.todo-work-meta-row,.dashboard-project-tile-body,.dashboard-project-meta{font-size:13px;font-weight:400}.report-list td strong,.todo-work-meta-row strong,.project-mini-table td strong,.dashboard-project-meta dt,.settings-label-display h3,.photo-tile-label{font-weight:600}.kpi strong,.project-status-item strong,.dashboard-avatar,.side-nav-user-avatar{font-weight:700}.kpi p,.kpi small,.project-status-item span,.project-status-item small{font-weight:400}}@media(min-width:769px){body,.content,.side-nav,.panel,.card,.report-list,.todo-table,.project-mini-table,.contractor-table,.settings-list,.dashboard-project-tile,.project-overview-card,input,select,textarea,button{color:var(--app-text);font-size:14px;line-height:1.45;font-weight:400}.side-nav a,.side-nav-user-text strong,.project-nav-title,.breadcrumbs,.field span,.rich-field>span,.calendar-mode-group,.weather-collapse-head label,.print-menu-label,.revision-fields span,.settings-label-display h3,.photo-tile-label,.dashboard-project-meta dt,.todo-work-meta-row strong,.report-list td strong,.project-mini-table td strong,.todo-row strong,.task-item strong,.meta-row strong{font-weight:500!important}.side-nav a.active,.side-nav a:hover,.page-header h2,.panel h3,.card h3,.section-head h3,.todo-work-title-row h3,.dashboard-project-tile-head>strong,.project-cockpit-grid>.panel>.section-head h3{font-weight:600!important}.page-header h2{font-size:21px;line-height:1.25}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-weight:600}.content strong,.content b,.content dt{font-weight:500}.btn,.icon-link,.icon-button,.btn-mini,.dashboard-project-open,.rich-toolbar button,.chip,.scope-toggle span,.calendar-mode button,.calendar-month-span-buttons button{font-weight:500!important}.report-list th,.todo-table th,.project-mini-table th,.test-core-table th,.project-team-table th,.project-user-table th,.contractor-table th,.settings-list-head,.project-filter-list label,.dashboard-project-options label,.field span,.rich-field>span{color:var(--app-text-muted);font-weight:500!important}.report-list td,.todo-table td,.project-mini-table td,.test-core-table td,.project-team-table td,.project-user-table td,.contractor-table td,.todo-work-meta-row,.dashboard-project-tile-body,.dashboard-project-meta,.project-briefing-sections p,.project-delay-card>p,.field-value,.entry-report-meta,.settings-value,.dev-data-row{color:var(--app-text-muted);font-weight:400!important}.kpi strong,.project-status-item strong,.project-overview-card strong,.dashboard-avatar,.side-nav-user-avatar{font-weight:550!important}.side-nav a,.dashboard-project-tile-body>div:first-child strong,.dashboard-project-tile-body>div:first-child span,.dashboard-project-meta,.dashboard-project-options label,.report-list td,.todo-table td,.project-mini-table td,.contractor-table td{color:var(--app-text-muted)}.side-nav-user-text strong{color:var(--app-text);font-size:14px;font-weight:600!important;line-height:1.22}.side-nav-user-text span{color:var(--app-text-muted);font-size:13px;line-height:1.28}.side-nav a{font-size:14px;font-weight:500!important;line-height:1.25}.side-nav a.active,.side-nav a:hover,.page-header h2,.panel h3,.card h3,.section-head h3,.todo-work-title-row h3,.dashboard-project-tile-head>strong,.report-list td strong,.todo-table td strong,.project-mini-table td strong{color:var(--app-text)}.page-header p,.muted,.note,.count,.todo-row span,.task-item span,.task-item p,.task-empty,.meta-row,.dev-data-row span,.dev-active-preview span,.side-nav-user-text span,.dev-user-hint span,.dev-user-hint small{color:var(--app-text-muted);font-weight:400!important}input,select,textarea,.rich-editor,.dashboard-project-select,.dashboard-project-status-filter select{color:var(--app-text);font-size:13px;font-weight:400!important;line-height:1.385}.dashboard-project-tile-head>strong{font-size:17.5px!important;font-weight:400!important;line-height:1.4}.dashboard-project-tile-body{color:var(--app-text-muted);font-size:14.5px;line-height:1.52}.dashboard-project-tile-body>div:first-child strong{color:var(--app-text);font-weight:500!important;line-height:1.5}.dashboard-project-meta dt{color:var(--app-text);font-weight:500!important}.dashboard-project-tile-body>div:first-child span,.dashboard-project-meta dd{color:var(--app-text-muted);font-weight:400!important;line-height:1.48}.dashboard-project-open{font-size:13px;font-weight:500!important}}:root[data-theme=dark] .kpi,:root[data-theme=dark] .project-status-item,:root[data-theme=dark] .project-overview-card,:root[data-theme=dark] .project-delay-card,:root[data-theme=dark] .task-col,:root[data-theme=dark] .task-item,:root[data-theme=dark] .project-filter-panel,:root[data-theme=dark] .dashboard-project-tile,:root[data-theme=dark] .core-status-card,:root[data-theme=dark] .core-mapping-item,:root[data-theme=dark] .mail-template-card,:root[data-theme=dark] .mail-template-placeholder-panel,:root[data-theme=dark] .dev-data-row,:root[data-theme=dark] .dev-active-preview,:root[data-theme=dark] .test-core-logo-panel,:root[data-theme=dark] .section-photo-rail,:root[data-theme=dark] .todo-work-readonly,:root[data-theme=dark] .calendar-pdf-dialog,:root[data-theme=dark] .calendar-entry-preview dl div{background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important;box-shadow:none}:root[data-theme=dark] .dashboard-page .kpi,:root[data-theme=dark] .project-page .project-status-item{background:#111a2b!important}:root[data-theme=dark] .dashboard-page .kpi.is-clickable:hover{background:#162238!important;border-color:#2c65b7!important}:root[data-theme=dark] .kpi strong,:root[data-theme=dark] .kpi p,:root[data-theme=dark] .kpi small,:root[data-theme=dark] .project-status-item strong,:root[data-theme=dark] .project-status-item span,:root[data-theme=dark] .project-status-item small,:root[data-theme=dark] .project-briefing-sections p,:root[data-theme=dark] .project-briefing-sections h4,:root[data-theme=dark] .panel-title-row>strong,:root[data-theme=dark] .dashboard-project-tile-head>strong,:root[data-theme=dark] .dashboard-project-tile-body,:root[data-theme=dark] .dashboard-project-tile-body>div:first-child strong,:root[data-theme=dark] .dashboard-project-tile-body>div:first-child span,:root[data-theme=dark] .dashboard-project-meta,:root[data-theme=dark] .dashboard-project-meta dt,:root[data-theme=dark] .dashboard-project-meta dd,:root[data-theme=dark] .dashboard-project-people,:root[data-theme=dark] .task-item span,:root[data-theme=dark] .task-item p,:root[data-theme=dark] .task-empty,:root[data-theme=dark] .todo-work-meta-row span,:root[data-theme=dark] .todo-work-readonly,:root[data-theme=dark] .calendar-month-count,:root[data-theme=dark] .calendar-controls-bottom strong,:root[data-theme=dark] .month-grid-head,:root[data-theme=dark] .mini-week-head,:root[data-theme=dark] .month-block-title,:root[data-theme=dark] .mini-month-title,:root[data-theme=dark] .day-cell,:root[data-theme=dark] .mini-day,:root[data-theme=dark] .legend-item,:root[data-theme=dark] .field span,:root[data-theme=dark] .rich-field>span,:root[data-theme=dark] .readonly-note,:root[data-theme=dark] .entry-report-meta,:root[data-theme=dark] .entry-report-card,:root[data-theme=dark] .entry-report-card *{color:var(--app-text)!important}:root[data-theme=dark] .muted,:root[data-theme=dark] .note,:root[data-theme=dark] .count,:root[data-theme=dark] .task-user-line,:root[data-theme=dark] .dashboard-project-multiselect>label,:root[data-theme=dark] .dashboard-project-status-filter>span,:root[data-theme=dark] .calendar-entry-preview dt,:root[data-theme=dark] .section-photo-rail.is-empty,:root[data-theme=dark] .section-photo-mini span{color:var(--app-text-muted)!important}:root[data-theme=dark] .dashboard-project-tile-head,:root[data-theme=dark] .todo-work-title-row,:root[data-theme=dark] .task-body,:root[data-theme=dark] .task-panel,:root[data-theme=dark] .unsaved-changes-head,:root[data-theme=dark] .unsaved-changes-actions{border-color:var(--app-border)!important}:root[data-theme=dark] .dashboard-project-tile.is-personal,:root[data-theme=dark] .dashboard-project-tile.is-personal .dashboard-project-tile-head{background:#132033!important}:root[data-theme=dark] .dashboard-project-tile.is-personal .dashboard-project-tile-head>strong:after{background:#60a5fa2e;color:#9fc9ff}:root[data-theme=dark] .task-toggle,:root[data-theme=dark] .calendar-pdf-topbar,:root[data-theme=dark] .scope-toggle,:root[data-theme=dark] .segmented-control,:root[data-theme=dark] .dev-project-checks,:root[data-theme=dark] .weather-panel{background:#151f33!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .dashboard-project-select,:root[data-theme=dark] .dashboard-project-status-filter select,:root[data-theme=dark] .dashboard-project-dropdown,:root[data-theme=dark] .dashboard-project-options,:root[data-theme=dark] .dashboard-project-dropdown-actions{background:#101827!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .dashboard-project-toggle,:root[data-theme=dark] .rich-toolbar button,:root[data-theme=dark] .rich-color-control,:root[data-theme=dark] .rich-custom-select,:root[data-theme=dark] .section-photo-mini-head button,:root[data-theme=dark] .mobile-mail-queue-toggle,:root[data-theme=dark] .mobile-segmented button,:root[data-theme=dark] .mail-placeholder-chip,:root[data-theme=dark] .settings-chip-row span,:root[data-theme=dark] .dev-project-checks label,:root[data-theme=dark] .todo-work-photo-summary{background:#0f172a!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .rich-editor,:root[data-theme=dark] .rich-toolbar,:root[data-theme=dark] .rich-editor-content{background:#0f172a!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .rich-editor-content .weather-report-block,:root[data-theme=dark] .field.is-calculated input,:root[data-theme=dark] .calculated-badge{background:#111d32!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .section-photo-mini-preview,:root[data-theme=dark] .photo-tile-preview,:root[data-theme=dark] .photo-tile-add,:root[data-theme=dark] .report-todo-photo-preview,:root[data-theme=dark] .report-todo-photo-placeholder{background:#101827!important;border-color:var(--app-border)!important;color:var(--app-text-muted)!important}:root[data-theme=dark] .month-block,:root[data-theme=dark] .mini-month,:root[data-theme=dark] .day-cell,:root[data-theme=dark] .legend-item{background:#111827!important;border-color:var(--app-border)!important}:root[data-theme=dark] .day-cell.has-entry,:root[data-theme=dark] .mini-day.has-entry{background:#172b49!important;border-color:var(--app-primary)!important}:root[data-theme=dark] .day-cell.is-today{border-color:var(--app-primary)!important;box-shadow:inset 0 0 0 1px var(--app-primary)}:root[data-theme=dark] .project-delay-facts div,:root[data-theme=dark] .project-delay-quality{background:#111a2b!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .project-delay-facts div.is-highlight{background:#7f1d1d3d!important;border-color:#f871717a!important}:root[data-theme=dark] .project-delay-facts span,:root[data-theme=dark] .project-delay-quality h5{color:var(--app-text-muted)!important}:root[data-theme=dark] .project-delay-facts strong,:root[data-theme=dark] .project-delay-quality strong,:root[data-theme=dark] .project-delay-quality li{color:var(--app-text)!important}:root[data-theme=dark] .project-delay-bar{background:#263149!important}:root[data-theme=dark] .project-mini-table-wrap{border-color:var(--app-border)!important}:root[data-theme=dark] .project-mini-table,:root[data-theme=dark] .project-mini-table tbody,:root[data-theme=dark] .project-mini-table tr,:root[data-theme=dark] .project-mini-table td,:root[data-theme=dark] .project-mini-table th{background:transparent;color:var(--app-text)!important}:root[data-theme=dark] .project-mini-table th,:root[data-theme=dark] .project-mini-table td{border-color:var(--app-border)!important}:root[data-theme=dark] .project-mini-table tbody tr:nth-child(odd){background:#121b2c!important}:root[data-theme=dark] .project-mini-table tbody tr:nth-child(2n){background:#0f172a!important}:root[data-theme=dark] .project-mini-table tr.is-clickable:hover,:root[data-theme=dark] .project-mini-table tr.is-clickable:focus{background:#172b49!important}:root[data-theme=dark] .project-mini-table td span{color:var(--app-text-muted)!important}:root[data-theme=dark] .project-timeline-weekdays span,:root[data-theme=dark] .project-timeline-legend,:root[data-theme=dark] .project-timeline-day i{color:var(--app-text-muted)!important}:root[data-theme=dark] .project-timeline-day{background:#111827!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .project-timeline-day:disabled{background:#0f172a!important;color:#66728c!important}:root[data-theme=dark] .project-timeline-day.is-current-week{background:#172033!important}:root[data-theme=dark] .project-timeline-day.is-today{border-color:var(--app-primary)!important;box-shadow:inset 0 0 0 1px var(--app-primary)}:root[data-theme=dark] .project-timeline-day.has-activity:hover,:root[data-theme=dark] .project-timeline-day.has-activity:focus{border-color:var(--app-primary)!important;box-shadow:0 0 0 2px #60a5fa29}:root[data-theme=dark] .revision-panel,:root[data-theme=dark] .revision-item,:root[data-theme=dark] .inline-revision,:root[data-theme=dark] .entry-report-previous-value,:root[data-theme=dark] .todo-suggestion-list,:root[data-theme=dark] .weather-panel,:root[data-theme=dark] .mobile-weather-card,:root[data-theme=dark] .weather-preview,:root[data-theme=dark] .weather-copy-panel,:root[data-theme=dark] .forecast-card,:root[data-theme=dark] .weather-collapse-head button,:root[data-theme=dark] .weather-collapse-head select,:root[data-theme=dark] .weather-subsection-head select,:root[data-theme=dark] .weather-pill-button,:root[data-theme=dark] .mobile-weather-manual-toggle,:root[data-theme=dark] .chip,:root[data-theme=dark] .todo-row,:root[data-theme=dark] .todo-file-button,:root[data-theme=dark] .todo-attachments a,:root[data-theme=dark] .todo-attachment-preview-button,:root[data-theme=dark] .todo-photo-state.has-photo,:root[data-theme=dark] .project-todo-indicators span,:root[data-theme=dark] .project-todo-status-filter button,:root[data-theme=dark] .search-control button,:root[data-theme=dark] .todo-mail-state,:root[data-theme=dark] .attachment-edit-preview,:root[data-theme=dark] .existing-attachments,:root[data-theme=dark] .photo-tile,:root[data-theme=dark] .entry-photo-preview-modal,:root[data-theme=dark] .entry-photo-preview-modal img{background:#111827!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .weather-panel-toggle,:root[data-theme=dark] .weather-level-two-toggle,:root[data-theme=dark] .weather-collapsed-preview,:root[data-theme=dark] .weather-default-location,:root[data-theme=dark] .weather-live,:root[data-theme=dark] .weather-current-visual,:root[data-theme=dark] .weather-choice,:root[data-theme=dark] .weather-manual-grid input,:root[data-theme=dark] .weather-manual-grid textarea,:root[data-theme=dark] .weather-copy-options label,:root[data-theme=dark] .weather-subsection-head select,:root[data-theme=dark] .weather-source,:root[data-theme=dark] .chip{background:#0f172a!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .weather-live{background:#111d32!important}:root[data-theme=dark] .weather-level-two-content,:root[data-theme=dark] .weather-live-details,:root[data-theme=dark] .weather-collapse{border-color:var(--app-border)!important}:root[data-theme=dark] .weather-search-row input{background:#0f172a!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .weather-choice:hover,:root[data-theme=dark] .weather-pill-button:hover,:root[data-theme=dark] .weather-panel-toggle:hover,:root[data-theme=dark] .weather-level-two-toggle:hover,:root[data-theme=dark] .weather-collapse-head button:hover{background:#172b49!important;border-color:#60a5fa6b!important;color:var(--app-primary-active)!important}:root[data-theme=dark] .weather-choice.is-active,:root[data-theme=dark] .chip.is-active{background:var(--app-primary)!important;border-color:var(--app-primary)!important;color:var(--app-primary-inverse)!important}:root[data-theme=dark] .weather-copy-button{background:var(--app-primary)!important;color:var(--app-primary-inverse)!important}:root[data-theme=dark] .weather-copy-button:disabled{background:#334155!important;color:#94a3b8!important}:root[data-theme=dark] .weather-copy-button.is-copied{background:#22c55e!important;color:#052e16!important}:root[data-theme=dark] .weather-validation-note{background:#0f172a!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .weather-validation-note span,:root[data-theme=dark] .weather-validation-note small{color:var(--app-text-muted)!important}:root[data-theme=dark] .weather-validation-note strong{color:var(--app-text)!important}:root[data-theme=dark] .weather-validation-badge.is-success{background:#22c55e29!important;color:#86efac!important}:root[data-theme=dark] .weather-validation-badge.is-error{background:#7f1d1d3d!important;color:#fca5a5!important}:root[data-theme=dark] .weather-validation-success-text{color:#86efac!important}:root[data-theme=dark] .weather-validation-error-text{color:#fca5a5!important}:root[data-theme=dark] .todo-suggestion-list{background:#8318432e!important;border-color:#f472b66b!important}:root[data-theme=dark] .todo-suggestion-list>strong,:root[data-theme=dark] .btn.ghost{color:#f9a8d4!important}:root[data-theme=dark] .weather-panel *,:root[data-theme=dark] .weather-preview *,:root[data-theme=dark] .weather-copy-panel *,:root[data-theme=dark] .forecast-card *,:root[data-theme=dark] .weather-collapse-head label,:root[data-theme=dark] .weather-copy-hint,:root[data-theme=dark] .status-line,:root[data-theme=dark] .weather-current span,:root[data-theme=dark] .weather-source,:root[data-theme=dark] .forecast-card span,:root[data-theme=dark] .forecast-card small,:root[data-theme=dark] .weather-copy-options label,:root[data-theme=dark] .weather-subsection-head label,:root[data-theme=dark] .counter,:root[data-theme=dark] .todo-row span,:root[data-theme=dark] .todo-attachment-empty,:root[data-theme=dark] .todo-mail-legend,:root[data-theme=dark] .todo-mail-detail,:root[data-theme=dark] .report-list td>span{color:var(--app-text-muted)!important}:root[data-theme=dark] .weather-panel strong,:root[data-theme=dark] .weather-current strong,:root[data-theme=dark] .forecast-card p,:root[data-theme=dark] .todo-row strong,:root[data-theme=dark] .todo-text-cell,:root[data-theme=dark] .todo-open-state,:root[data-theme=dark] .report-list td strong{color:var(--app-text)!important}:root[data-theme=dark] .weather-warnings{color:#fbbf24!important;border-left-color:#f59e0b!important}:root[data-theme=dark] .todo-mail-state.is-queued,:root[data-theme=dark] .project-todo-indicators .is-future,:root[data-theme=dark] .project-todo-status-filter button.active{background:#60a5fa29!important;border-color:#60a5fa61!important;color:var(--app-primary-active)!important}:root[data-theme=dark] .todo-mail-state.is-sent{background:#22c55e29!important;border-color:#22c55e61!important;color:#86efac!important}:root[data-theme=dark] .todo-mail-state.is-failed,:root[data-theme=dark] .project-todo-indicators .is-overdue,:root[data-theme=dark] .project-todo-status-filter button.has-overdue{background:#7f1d1d3d!important;border-color:#f871717a!important;color:#fca5a5!important}:root[data-theme=dark] .project-todo-indicators .is-today,:root[data-theme=dark] .project-todo-status-filter button.has-today{background:#38bdf829!important;border-color:#38bdf86b!important;color:#bae6fd!important}:root[data-theme=dark] .report-list-actions .icon-button.danger:hover{background:#7f1d1d3d!important;color:#fca5a5!important}:root[data-theme=dark] .entry-report{background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .entry-report *,:root[data-theme=dark] .entry-report-rich,:root[data-theme=dark] .entry-report-grid dd,:root[data-theme=dark] .entry-report-meta-box strong{color:var(--app-text)!important}:root[data-theme=dark] .entry-report-grid div,:root[data-theme=dark] .entry-report-todo,:root[data-theme=dark] .entry-report-previous-value,:root[data-theme=dark] .entry-report-photo-grid img,:root[data-theme=dark] .entry-report-inline-photo-grid button{background:var(--app-surface)!important;border-color:var(--app-border)!important}:root[data-theme=dark] .entry-report-header,:root[data-theme=dark] .entry-report-attendance th,:root[data-theme=dark] .entry-report-attendance td,:root[data-theme=dark] .entry-report-rich,:root[data-theme=dark] .entry-report-section{border-color:var(--app-border)!important}:root[data-theme=dark] .entry-report-version-lines,:root[data-theme=dark] .entry-report-meta-box,:root[data-theme=dark] .entry-report-grid dt,:root[data-theme=dark] .entry-report-todo span,:root[data-theme=dark] .entry-report-attachments,:root[data-theme=dark] .entry-report-photo-grid figcaption,:root[data-theme=dark] .entry-report-revision-row{color:var(--app-text-muted)!important}:root[data-theme=dark] .report-list tbody tr:nth-child(odd),:root[data-theme=dark] .todo-table tbody tr:nth-child(odd),:root[data-theme=dark] .project-mini-table tbody tr:nth-child(odd),:root[data-theme=dark] .contractor-table tbody tr:nth-child(odd),:root[data-theme=dark] .test-core-table tbody tr:nth-child(odd),:root[data-theme=dark] .project-team-table tbody tr:nth-child(odd),:root[data-theme=dark] .project-user-table tbody tr:nth-child(odd){background:#121b2c!important}:root[data-theme=dark] .report-list tbody tr:nth-child(2n),:root[data-theme=dark] .todo-table tbody tr:nth-child(2n),:root[data-theme=dark] .project-mini-table tbody tr:nth-child(2n),:root[data-theme=dark] .contractor-table tbody tr:nth-child(2n),:root[data-theme=dark] .test-core-table tbody tr:nth-child(2n),:root[data-theme=dark] .project-team-table tbody tr:nth-child(2n),:root[data-theme=dark] .project-user-table tbody tr:nth-child(2n){background:#0f172a!important}:root[data-theme=dark] .report-list th,:root[data-theme=dark] .todo-table th,:root[data-theme=dark] .project-mini-table th,:root[data-theme=dark] .contractor-table th,:root[data-theme=dark] .test-core-table th,:root[data-theme=dark] .project-team-table th,:root[data-theme=dark] .project-user-table th,:root[data-theme=dark] .report-list td,:root[data-theme=dark] .todo-table td,:root[data-theme=dark] .project-mini-table td,:root[data-theme=dark] .contractor-table td,:root[data-theme=dark] .test-core-table td,:root[data-theme=dark] .project-team-table td,:root[data-theme=dark] .project-user-table td{border-color:var(--app-border)!important}:root[data-theme=dark] .report-list tbody tr:hover,:root[data-theme=dark] .todo-table tbody tr:hover,:root[data-theme=dark] .project-mini-table tbody tr:hover,:root[data-theme=dark] .contractor-table tbody tr:hover,:root[data-theme=dark] .test-core-table tbody tr:hover,:root[data-theme=dark] .project-team-table tbody tr:hover,:root[data-theme=dark] .project-user-table tbody tr:hover,:root[data-theme=dark] .companies-table tbody tr:hover,:root[data-theme=dark] .users-table tbody tr:hover{background:#1c2c46!important;color:var(--app-text)!important}:root[data-theme=dark] .contractor-company-card{background:var(--app-surface)!important;border-color:var(--app-border)!important}:root[data-theme=dark] .contractor-company-card.muted{background:var(--app-panel)!important}:root[data-theme=dark] .mobile-attendance-zebra-list,:root[data-theme=dark] .mobile-attendance-zebra-row input{border-color:var(--app-border)!important}:root[data-theme=dark] .mobile-attendance-zebra-row{background:#0f172a!important}:root[data-theme=dark] .mobile-attendance-zebra-row:nth-child(odd){background:#121b2c!important}:root[data-theme=dark] .mobile-attendance-zebra-row strong{color:var(--app-text)!important}:root[data-theme=dark] .mobile-attendance-zebra-row span{color:var(--app-text-muted)!important}:root[data-theme=dark] .todo-table tr.is-overdue td:first-child,:root[data-theme=dark] .project-mini-table tr.is-overdue td:first-child{border-left:4px solid #f04438!important}:root[data-theme=dark] .todo-table tr.is-today td:first-child,:root[data-theme=dark] .project-mini-table tr.is-today td:first-child{border-left:4px solid #38bdf8!important}:root[data-theme=dark] .todo-table tr.is-future td:first-child,:root[data-theme=dark] .project-mini-table tr.is-future td:first-child{border-left:4px solid #93c5fd!important}:root[data-theme=dark] .todo-table tr.is-overdue td:first-child,:root[data-theme=dark] .todo-table tr.is-today td:first-child,:root[data-theme=dark] .todo-table tr.is-future td:first-child,:root[data-theme=dark] .project-mini-table tr.is-overdue td:first-child,:root[data-theme=dark] .project-mini-table tr.is-today td:first-child,:root[data-theme=dark] .project-mini-table tr.is-future td:first-child{padding-left:8px}:root[data-theme=dark] .entry-report-page .panel,:root[data-theme=dark] .entry-report-card,:root[data-theme=dark] .entry-report-preview,:root[data-theme=dark] .entry-report-read,:root[data-theme=dark] .journal-report-preview,:root[data-theme=dark] .report-document{background:#fff!important;color:#071437!important}:root[data-theme=dark] .entry-report-page .panel *,:root[data-theme=dark] .entry-report-card *,:root[data-theme=dark] .entry-report-preview *,:root[data-theme=dark] .entry-report-read *,:root[data-theme=dark] .journal-report-preview *,:root[data-theme=dark] .report-document *{color:#071437!important}:root[data-theme=dark] .entry-report-page .panel .muted,:root[data-theme=dark] .entry-report-card .muted,:root[data-theme=dark] .entry-report-preview .muted,:root[data-theme=dark] .entry-report-read .muted,:root[data-theme=dark] .journal-report-preview .muted,:root[data-theme=dark] .report-document .muted{color:#64748b!important}:root[data-theme=dark] .simple-mobile-flow{background:var(--app-page);color:var(--app-text)}:root[data-theme=dark] .simple-mobile-flow .content{background:var(--app-page);color:var(--app-text)}:root[data-theme=dark] .simple-mobile-flow .side-nav{background:#0f172afa;border-color:var(--app-border);box-shadow:0 2px 10px #0000003d}:root[data-theme=dark] .simple-mobile-flow .page-action-bar,:root[data-theme=dark] .simple-mobile-flow .mobile-save-bar{background:linear-gradient(to bottom,#0b1020fa,#0b1020eb);border-color:var(--app-border)}:root[data-theme=dark] .simple-mobile-flow .mobile-capture-header,:root[data-theme=dark] .simple-mobile-flow .mobile-card,:root[data-theme=dark] .simple-mobile-flow .mobile-day-briefing,:root[data-theme=dark] .simple-mobile-flow .mobile-action-card,:root[data-theme=dark] .simple-mobile-flow .mobile-list-link,:root[data-theme=dark] .simple-mobile-flow .mobile-settings-link,:root[data-theme=dark] .simple-mobile-flow .mobile-project-option,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-list-row,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-row,:root[data-theme=dark] .simple-mobile-flow .mobile-send-group,:root[data-theme=dark] .simple-mobile-flow .mobile-send-result,:root[data-theme=dark] .simple-mobile-flow .mobile-send-log,:root[data-theme=dark] .simple-mobile-flow .mobile-send-todo,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-modal,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-preview-modal,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-insert-modal,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-create-modal,:root[data-theme=dark] .simple-mobile-flow .attendance-contractor-modal,:root[data-theme=dark] .simple-mobile-flow .attendance-copy-modal,:root[data-theme=dark] .simple-mobile-flow .weather-required-dialog{background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important;box-shadow:none}:root[data-theme=dark] .simple-mobile-flow .mobile-home{background:linear-gradient(145deg,#0b1020,#101827)!important;box-shadow:inset 0 0 0 1px #60a5fa1f}:root[data-theme=dark] .simple-mobile-flow .mobile-day-briefing.is-critical{background:#7f1d1d2e!important;border-color:#f8717159!important}:root[data-theme=dark] .simple-mobile-flow .mobile-day-briefing.is-active{background:#1e40af29!important;border-color:#60a5fa52!important}:root[data-theme=dark] .simple-mobile-flow .mobile-day-briefing.is-calm{background:#14532d26!important;border-color:#4ade8047!important}:root[data-theme=dark] .simple-mobile-flow .mobile-day-projects div,:root[data-theme=dark] .simple-mobile-flow .mobile-settings-toggle-row,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-todo-list div,:root[data-theme=dark] .simple-mobile-flow .mobile-entry-photo-thumb,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-input,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-photo-thumbs button,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-inline-photo-grid button,:root[data-theme=dark] .simple-mobile-flow .mobile-search-control button,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-filter button,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-preview-nav button,:root[data-theme=dark] .simple-mobile-flow .mobile-mode-switch,:root[data-theme=dark] .simple-mobile-flow .mobile-weather-manual-toggle,:root[data-theme=dark] .simple-mobile-flow .mobile-bottom-nav,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-toggle,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-links a,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-links button{background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .simple-mobile-flow .mobile-project-option.is-selected,:root[data-theme=dark] .simple-mobile-flow .mobile-action-card.is-primary,:root[data-theme=dark] .simple-mobile-flow .mobile-list-link.is-primary,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-filter button.active,:root[data-theme=dark] .simple-mobile-flow .mobile-search-control button:not(:disabled):hover,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-preview-nav button:hover{background:var(--app-primary-clarity)!important;border-color:#60a5fa6b!important;color:var(--app-primary-active)!important}:root[data-theme=dark] .simple-mobile-flow input,:root[data-theme=dark] .simple-mobile-flow select,:root[data-theme=dark] .simple-mobile-flow textarea,:root[data-theme=dark] .simple-mobile-flow .rich-editor,:root[data-theme=dark] .simple-mobile-flow .rich-toolbar,:root[data-theme=dark] .simple-mobile-flow .rich-editor-content,:root[data-theme=dark] .simple-mobile-flow .rich-custom-select{background:var(--app-surface)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .simple-mobile-flow input::placeholder,:root[data-theme=dark] .simple-mobile-flow textarea::placeholder{color:#6f7d99!important}:root[data-theme=dark] .simple-mobile-flow .rich-toolbar button,:root[data-theme=dark] .simple-mobile-flow .rich-color-control,:root[data-theme=dark] .simple-mobile-flow .mobile-section-photo-drafts button{background:#172033!important;border-color:var(--app-border)!important;color:var(--app-text)!important}:root[data-theme=dark] .simple-mobile-flow .rich-toolbar button.is-active,:root[data-theme=dark] .simple-mobile-flow .mobile-section-photo-drafts button:hover{background:var(--app-primary-clarity)!important;color:var(--app-primary-active)!important}:root[data-theme=dark] .simple-mobile-flow .mobile-capture-header p:not(.eyebrow),:root[data-theme=dark] .simple-mobile-flow .mobile-action-card small,:root[data-theme=dark] .simple-mobile-flow .mobile-day-projects span,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-list-main small,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-list-meta,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-main small,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-meta small,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-modal-meta,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-preview-footer p,:root[data-theme=dark] .simple-mobile-flow .mobile-settings-toggle-row small,:root[data-theme=dark] .simple-mobile-flow .mobile-settings-sync-message,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-head span,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-meta,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-summary span,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-attendance-list span,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-todo-list small,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-photo-grid figcaption,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-attachment-list li,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-photo-viewer>span,:root[data-theme=dark] .simple-mobile-flow .mobile-card .muted{color:var(--app-text-muted)!important}:root[data-theme=dark] .simple-mobile-flow .mobile-capture-header h2,:root[data-theme=dark] .simple-mobile-flow .mobile-card h3,:root[data-theme=dark] .simple-mobile-flow .mobile-day-briefing-head h3,:root[data-theme=dark] .simple-mobile-flow .mobile-day-projects strong,:root[data-theme=dark] .simple-mobile-flow .mobile-list-link,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-text,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-list-main strong,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-main strong,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-readonly-text,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-summary strong,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-attendance-list strong,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-read-section h3,:root[data-theme=dark] .simple-mobile-flow .mobile-settings-toggle-row strong{color:var(--app-text)!important}:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-row:hover,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-row:active,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-list-row:hover,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-list-row:active,:root[data-theme=dark] .simple-mobile-flow .mobile-list-link:hover,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-links a:hover,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-links button:hover{background:var(--app-row-hover)!important;border-color:#60a5fa61!important}:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-row.is-overdue{border-left-color:#f04438!important}:root[data-theme=dark] .simple-mobile-flow .mobile-todo-list-row.is-today{border-left-color:#38bdf8!important}:root[data-theme=dark] .simple-mobile-flow .mobile-home-todo-indicator,:root[data-theme=dark] .simple-mobile-flow .mobile-day-briefing-icon{background:var(--app-surface)!important;border-color:var(--app-border)!important}:root[data-theme=dark] .simple-mobile-flow .mobile-home-todo-indicator.is-overdue,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-filter button.has-overdue{background:#7f1d1d3d!important;border-color:#f871717a!important;color:#fca5a5!important}:root[data-theme=dark] .simple-mobile-flow .mobile-home-todo-indicator.is-today,:root[data-theme=dark] .simple-mobile-flow .mobile-todo-filter button.has-today{background:#38bdf829!important;border-color:#38bdf86b!important;color:#bae6fd!important}:root[data-theme=dark] .simple-mobile-flow .mobile-home-todo-indicator.is-all{background:var(--app-primary-clarity)!important;border-color:#60a5fa6b!important;color:var(--app-primary-active)!important}:root[data-theme=dark] .simple-mobile-flow .mobile-weather-card{background:#1e40af1f!important;border-color:#60a5fa47!important}:root[data-theme=dark] .simple-mobile-flow .mobile-offline-settings-warning{background:#3b260f!important;border-color:#b45309!important;color:#fed7aa!important}:root[data-theme=dark] .simple-mobile-flow .success-state,:root[data-theme=dark] .simple-mobile-flow .mobile-settings-saved{background:#14532d2e!important;border-color:#4ade804d!important;color:#86efac!important}:root[data-theme=dark] .simple-mobile-flow .mobile-photo-input img,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-preview-modal img,:root[data-theme=dark] .simple-mobile-flow .mobile-journal-photo-grid img,:root[data-theme=dark] .simple-mobile-flow .mobile-photo-insert-picker img{background:var(--app-surface-muted)!important;border-color:var(--app-border)!important}:root[data-theme=dark] .simple-mobile-flow .modal-backdrop,:root[data-theme=dark] .simple-mobile-flow .mobile-menu-backdrop{background:#030712bd!important}:root[data-theme=dark] .simple-mobile-flow .mobile-bottom-nav{background:#0f172afa!important;box-shadow:0 -4px 18px #00000047}:root[data-theme=dark] .simple-mobile-flow .mobile-journal-bottom-edit-bar{background:var(--app-primary);box-shadow:0 -12px 26px #0000004d}@media print{.side-nav,.entry-report-toolbar,.pdf-mode-select,.dashboard-header-actions,.calendar-controls-top,.calendar-controls-bottom,.project-filter-panel,.calendar-pdf-topbar{display:none!important}.app-shell{display:block}.content{padding:0;max-width:none;height:auto;overflow:visible}.content:before,.app-product-logo{display:none!important}.entry-report-page{display:block}.entry-report{border:0;border-radius:0;box-shadow:none;padding:0}.entry-report-grid{grid-template-columns:repeat(3,1fr)}.panel,.card,.state{box-shadow:none!important;break-inside:avoid}.calendar-print-meta{display:block;margin:8px 0 0;color:#334e78;font-size:12px;font-weight:600}.calendar-pdf-overlay{position:static;display:block;background:#fff;padding:0}.calendar-pdf-dialog{width:100%;max-height:none;border:0;box-shadow:none}}
