:root{--color-text:#203041;--color-text-secondary:#627489;--color-border:#62748929;--color-border-strong:#6274893d;--color-surface:#f8fafce0;--color-surface-strong:#fffffff0;--color-surface-muted:#f2f6faf5;--color-surface-soft:#20304109;--color-surface-primary-soft:#0f766e17;--color-primary:#15736b;--color-primary-strong:#115e58;--color-primary-contrast:#f5fffd;--color-shadow:0 16px 36px #20304114;--color-bg-radial:#15736b1a;--color-bg-start:#edf4fb;--color-bg-mid:#f5f8fb;--color-bg-end:#eaf1f7;--bottom-nav-height:4.5rem;--bottom-nav-offset:calc(var(--bottom-nav-height) + 1.75rem + env(safe-area-inset-bottom));color:var(--color-text);background:radial-gradient(circle at top, var(--color-bg-radial), transparent 22%), linear-gradient(180deg, var(--color-bg-start) 0%, var(--color-bg-mid) 32%, var(--color-bg-end) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=dark]{--color-text:#e6edf7;--color-text-secondary:#9fb0c6;--color-border:#94a3b82e;--color-border-strong:#94a3b842;--color-surface:#0f172ad1;--color-surface-strong:#0f172af0;--color-surface-muted:#1e293be0;--color-surface-soft:#2dd4bf1a;--color-surface-primary-soft:#2dd4bf29;--color-primary:#14b8a6;--color-primary-strong:#0f8d7f;--color-primary-contrast:#f0fdfa;--color-shadow:0 24px 54px #0206177a;--color-bg-radial:#2dd4bf1f;--color-bg-start:#08111c;--color-bg-mid:#0d1725;--color-bg-end:#111c2d}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--color-text);background:0 0;margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 70%, white);outline-offset:2px}h1,h2,p{margin:0}#root{min-height:100vh}.app-shell{max-width:76rem;min-height:100vh;padding:1rem 1rem calc(var(--bottom-nav-offset) + .5rem);margin:0 auto}.app-header{gap:1rem;margin-bottom:1rem;display:grid}.header-actions{flex-wrap:wrap;align-items:center;gap:.65rem;min-width:0;display:flex}.profile-menu{position:relative}.settings-link{background:var(--color-surface-strong);border:1px solid var(--color-border);min-height:2.5rem;color:var(--color-primary);border-radius:.95rem;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .9rem;font-weight:700;display:inline-flex}.notification-link{background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:.95rem;justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;font-weight:800;display:inline-flex;position:relative}.notification-link strong{color:#fff;background:#b91c1c;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;min-height:1.25rem;padding:0 .3rem;font-size:.72rem;display:inline-flex;position:absolute;top:-.35rem;right:-.35rem}.settings-link:hover{background:var(--color-surface-primary-soft)}.header-button{min-height:2.5rem;padding-inline:.9rem}.app-brand{gap:.2rem;min-width:0;display:grid}.app-brand strong{font-size:1.4rem;font-weight:800}.app-brand span{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.92rem}.eyebrow{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.status-pill,.tag,.pill{border-radius:999px;padding:.45rem .8rem;font-size:.82rem;font-weight:700}.status-pill{text-align:center;white-space:normal;justify-content:center;align-items:center;line-height:1.15;display:inline-flex}.status-pill.is-online{color:#166534;background:#22c55e1f}.status-pill.is-offline{color:#9a3412;background:#fb923c29}.status-pill.is-warning{color:#854d0e;background:#facc1538}.status-sync-pending,.status-sync-syncing,.status-sync-synced,.status-sync-failed,.status-sync-conflict{padding-inline:.7rem}.status-sync-pending{color:#1d4ed8;background:#3b82f61f}.status-sync-syncing{color:#0369a1;background:#0ea5e91f}.status-sync-synced{color:#166534;background:#22c55e1f}.status-sync-failed{color:#9a3412;background:#f9731624}.status-sync-conflict{color:#991b1b;background:#b91c1c1f}.system-banner,.demo-banner,.footer-note{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:1rem;padding:.9rem 1rem}.footer-note-error{color:#991b1b;background:#fee2e2f2}.system-banner{background:#fff3e0eb;margin-bottom:1rem}.system-banner-sync{background:#ecfdf5f2}.app-content,.page,.task-list,.journal-list,.library-list,.field-grid,.page-header{gap:1rem;display:grid}.app-header>*,.page-header>*,.history-header>*,.journal-card-header>*,.user-card-header>*,.header-actions>*{min-width:0}.page-title{letter-spacing:-.04em;font-size:clamp(1.8rem,5vw,3rem);line-height:1.05}.page-subtitle{color:var(--color-text-secondary);max-width:44rem;margin-top:.55rem}.card{background:var(--color-surface-strong);border:1px solid var(--color-border);box-shadow:var(--color-shadow);border-radius:1.3rem;padding:1rem}.hero-card{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 12%, transparent), #22c55e0d), var(--color-surface-strong);padding:1.2rem}.hero-actions,.submit-row,.pill-row,.meta-list,.journal-tags{flex-wrap:wrap;gap:.75rem;display:flex}.meta-list{color:var(--color-text-secondary);font-size:.92rem}.button,.button-secondary{cursor:pointer;border:1px solid #0000;border-radius:.95rem;justify-content:center;align-items:center;min-height:2.9rem;padding:.75rem 1rem;font-weight:700;display:inline-flex}.button{background:var(--color-primary);color:var(--color-primary-contrast);border-color:color-mix(in srgb, var(--color-primary) 82%, black 8%);box-shadow:0 10px 20px color-mix(in srgb, var(--color-primary) 22%, transparent)}.button-secondary{background:var(--color-surface-primary-soft);color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 16%, var(--color-border))}.button:hover,.button-secondary:hover,.theme-option:hover{transform:translateY(-1px)}.pill{border:1px solid var(--color-border);background:var(--color-surface-strong);color:var(--color-text-secondary)}.pill-active,.tag{background:var(--color-surface-primary-soft);color:var(--color-primary)}.journal-card,.task-item,.document-item,.form-card,.queue-card,.queue-entry-list{gap:1rem;display:grid}.queue-entry-row{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:.9rem;gap:.45rem;padding:.85rem;display:grid}.queue-entry-error{color:#b45309}.history-block,.history-entry{gap:.75rem;display:grid}.dashboard-grid,.settings-list,.settings-section,.dashboard-action-card,.dashboard-stat,.task-section{gap:1rem;display:grid}.dashboard-stat{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1rem;padding:1rem}.dashboard-stat-value{letter-spacing:-.05em;font-size:clamp(2rem,7vw,3rem);line-height:1}.dashboard-action-card p,.dashboard-stat p,.settings-list-item{color:var(--color-text-secondary)}.home-hero-card{gap:1rem}.home-work-panel{gap:1rem;display:grid}.home-header{align-items:center}.home-panel-header{gap:.25rem;display:grid}.home-stats-grid{grid-template-columns:repeat(3,minmax(5.4rem,6.4rem));justify-content:start;gap:.45rem}.status-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.status-chip{background:#143d2e0a;border:1px solid #16203214;border-radius:.95rem;gap:.15rem;padding:.65rem .75rem;display:grid}.status-chip-overdue{background:#b91c1c0d;border-color:#b91c1c29}.status-chip-critical{background:#b91c1c14;border-color:#b91c1c38}.status-chip-warning{background:#b4530914;border-color:#b4530933}.haccp-dashboard-panel{background:linear-gradient(135deg,#b91c1c0f,#b453090d);border:1px solid #b91c1c1f;border-radius:1rem;gap:.75rem;padding:.85rem;display:grid}.haccp-dashboard-panel h2{margin:0}.status-chip-label{color:#536277;font-size:.8rem;font-weight:700}.status-chip-value{letter-spacing:-.04em;font-size:1.45rem;line-height:1}.home-task-list{gap:.75rem;display:grid}.tighter-stat{gap:.25rem;padding:.58rem .72rem}.settings-list-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;gap:.5rem;padding:.85rem 1rem;display:grid}.settings-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.settings-section h2{margin:0;font-size:1.1rem}.settings-field-item{gap:.85rem}.settings-field-grid{grid-template-columns:1fr}.rule-panel{background:var(--color-surface-primary-soft);border:1px dashed color-mix(in srgb, var(--color-primary) 18%, transparent);border-radius:1rem;gap:.75rem;padding:.85rem;display:grid}.rule-grid{gap:.75rem}.alert-item{border-color:#b453092e}.alert-item-read{opacity:.72}.alert-tag-critical{color:#991b1b;background:#b91c1c1f}.alert-tag-warning{color:#92400e;background:#b453091f}.compact-stat{gap:.4rem;padding:.9rem 1rem}.compact-stat p{display:none}.compact-stat .field-help{margin-top:-.15rem}.compact-task-item{gap:.7rem}.priority-task-item{gap:.6rem;padding:.85rem 1rem}.task-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;gap:.6rem;padding:.85rem 1rem;display:grid}.priority-task-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.scan-panel,.scan-panel-copy,.scan-video-frame,.qr-preview-card,.qr-settings-section,.qr-resolve-card{gap:1rem;display:grid}.scan-video-frame,.qr-preview-card{background:var(--color-surface-primary-soft);border:1px dashed color-mix(in srgb, var(--color-primary) 22%, transparent);border-radius:1rem;place-items:center;padding:1.5rem}.scan-video-frame{background:#111827;width:100%;min-height:min(68vw,24rem);padding:0;position:relative;overflow:hidden}.scan-video{object-fit:cover;background:#111827;width:100%;height:100%;min-height:min(68vw,24rem);display:block}.scan-video-overlay{pointer-events:none;z-index:2;place-items:center;display:grid;position:absolute;inset:0}.scan-video-box{aspect-ratio:1;border:3px solid #ffffffe0;border-radius:1.4rem;width:min(16rem,70vw);box-shadow:0 0 0 999px #0a122138}.scan-panel-copy{margin-top:1rem}.qr-preview-card{min-height:20rem}.qr-preview-image{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:1rem;width:min(18rem,100%)}.qr-preview-empty{color:var(--color-text-secondary);text-align:center}.qr-resolve-page{max-width:36rem;margin:0 auto;padding-top:12vh}.settings-choice-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.theme-option{border:1px solid var(--color-border);background:var(--color-surface-strong);min-height:3rem;color:var(--color-text-secondary);cursor:pointer;border-radius:1rem;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.theme-option-active{border-color:color-mix(in srgb, var(--color-primary) 32%, transparent);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface-strong));color:var(--color-primary);box-shadow:0 10px 20px color-mix(in srgb, var(--color-primary) 16%, transparent)}.theme-preview-note strong{color:var(--color-text)}.priority-tag{white-space:nowrap}.priority-tag-overdue{color:#991b1b;background:#b91c1c1f}.priority-tag-current{color:#92400e;background:#b453091f}.journal-status-row,.profile-grid,.profile-section,.profile-row{gap:.75rem;display:grid}.journal-status-tag.status-overdue{color:#991b1b;background:#b91c1c1f}.journal-status-tag.status-current{color:#92400e;background:#b453091f}.journal-status-tag.status-soon{color:#0f766e;background:#0e74901f}.tag-archived{color:#334155;background:#4755691f}.profile-row{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:.9rem;padding:.8rem .95rem}.danger-section{border-color:#b91c1c2e}.button-danger{color:#fff7f7;background:#991b1b}.history-header{gap:.75rem;display:grid}.history-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.history-pagination-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.history-filter{min-width:12rem;min-height:2.7rem;padding-block:.35rem}.history-datetime{min-width:11rem}.correction-panel h3{margin:0}.correction-summary,.correction-history-list{gap:.65rem;display:grid}.correction-summary{border:1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border-radius:.9rem;padding:.85rem 1rem}.correction-summary-header{color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.92rem;display:flex}.correction-summary-diff{color:var(--color-primary);font-weight:700;line-height:1.5}.assignments-panel,.assignment-grid,.assignment-item,.schedule-day-grid,.schedule-time-list,.users-grid,.user-card,.user-role-grid,.roles-grid,.role-card,.permission-grid{gap:.75rem;display:grid}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.schedule-day-grid{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr))}.users-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.roles-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.user-card-header{gap:.75rem;display:grid}.user-card h2{margin-top:.25rem;font-size:1.2rem}.user-role-list{flex-wrap:wrap;gap:.5rem;display:flex}.user-role-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.permission-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.assignment-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;padding:.75rem}.schedule-day-item{padding:.5rem .65rem}.export-format-card{min-width:min(100%,14rem)}.export-format-card-active{background:#143d2e14;border-color:#143d2e52}.schedule-time-list{gap:.65rem}.schedule-time-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.schedule-cron-preview{min-height:6.5rem}.history-block h2{margin:0;font-size:1.1rem}.journal-card-header{gap:.75rem;display:grid}.journal-card-header h2{margin-top:.25rem;font-size:1.25rem}.journal-card-header p{color:var(--color-text-secondary)}.field-grid{grid-template-columns:1fr}.field{gap:.5rem;display:grid}.field-wide{grid-column:1/-1}.field-label{gap:.35rem;font-weight:700;display:inline-flex}.field-label em{color:#b42318;font-style:normal}.field-help{color:var(--color-text-secondary);font-size:.88rem}.input{border:1px solid var(--color-border);background:var(--color-surface-strong);width:100%;min-height:3rem;color:var(--color-text);border-radius:.95rem;padding:.8rem .95rem;box-shadow:inset 0 1px 2px #0f172a0a}.input::placeholder{color:color-mix(in srgb, var(--color-text-secondary) 78%, transparent)}.input-textarea{resize:vertical;min-height:8rem}.checkbox-row{align-items:center;gap:.65rem;min-height:3rem;display:inline-flex}.checkbox-row input{width:1.15rem;height:1.15rem}.bottom-nav{width:calc(100% - 2rem);max-width:32rem;min-height:var(--bottom-nav-height);background:color-mix(in srgb, var(--color-surface-strong) 94%, transparent);border:1px solid var(--color-border);box-shadow:var(--color-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.25rem;justify-content:center;align-items:center;padding:.55rem .6rem;display:flex;position:fixed;bottom:1rem;left:50%;overflow:visible;transform:translate(-50%)}.bottom-nav-links{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:.35rem;width:100%;display:grid}.bottom-nav-gap{min-height:2.8rem}.bottom-link{min-height:2.8rem;color:var(--color-text-secondary);text-align:center;border-radius:1rem;justify-content:center;align-items:center;font-size:.92rem;font-weight:700;line-height:1.15;display:inline-flex}.bottom-link-active{background:var(--color-surface-primary-soft);color:var(--color-primary)}.bottom-scan-link{background:var(--color-primary);width:3.7rem;height:3.7rem;color:var(--color-primary-contrast);border:4px solid var(--color-surface-strong);box-shadow:0 18px 36px color-mix(in srgb, var(--color-primary) 24%, transparent);border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex;position:absolute;top:-.9rem;left:50%;transform:translate(-50%)}.bottom-scan-link-active{background:var(--color-primary-strong)}.empty-state{text-align:left}.login-page{max-width:32rem;margin:0 auto;padding-top:10vh}.route-loading{color:#405065;place-items:center;min-height:100vh;font-weight:700;display:grid}@media (width>=768px){.app-shell{padding:1.5rem 1.5rem calc(var(--bottom-nav-offset) + .75rem)}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.header-actions{justify-content:flex-end}.page-header,.history-header{justify-content:space-between;align-items:flex-end;display:flex}.hero-card,.card{padding:1.4rem}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-stats-grid{grid-template-columns:repeat(3,minmax(5.5rem,6.8rem))}.status-strip{grid-template-columns:repeat(3,minmax(7rem,8.5rem));justify-content:start}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-card-header,.user-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.correction-summary-header{align-items:center}.login-page{padding-top:14vh}}@media (width>=640px){.settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.settings-field-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.users-grid-compact{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:stretch}.user-card-compact{min-height:8.25rem;color:inherit;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.user-card-compact:hover{border-color:#143d2e3d;transform:translateY(-2px);box-shadow:0 18px 38px #143d2e1f}.user-avatar{color:#143d2e;background:#143d2e14;border-radius:999px;place-items:center;width:2.65rem;height:2.65rem;font-weight:800;display:grid}.user-card-compact-body{gap:.35rem;min-width:0;display:grid}.user-card-compact-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.user-card-compact-header h2{margin:0;font-size:1rem;line-height:1.35}.user-roles-line{color:#143d2e;margin:0;font-size:.92rem;font-weight:700;line-height:1.35}.sticky-actions{bottom:var(--bottom-nav-offset);z-index:20;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex;position:sticky}@media (width<=640px){.user-card-compact{min-height:auto}.sticky-actions{display:grid;position:static}}.user-card-email{overflow-wrap:anywhere;word-break:break-word;line-break:anywhere;max-width:100%}.user-card-compact,.user-card-compact-body,.hero-actions,.meta-list,.submit-row,.history-actions{min-width:0}.meta-list span{overflow-wrap:anywhere}@media (width<=489px){.app-shell{padding:.875rem .875rem calc(var(--bottom-nav-offset) + .5rem)}.page-title{font-size:clamp(1.55rem,7vw,2.2rem)}.settings-link-label{display:none}.header-actions{gap:.5rem}.header-actions .status-pill{flex:9rem}.page-header .hero-actions,.history-actions,.submit-row{width:100%}.page-header .hero-actions>*,.history-actions>*,.submit-row>*{flex:100%}.history-filter,.history-datetime{width:100%;min-width:0}.home-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}.bottom-nav{border-radius:1.1rem;width:calc(100% - 1rem);padding:.45rem .5rem;bottom:.5rem}.bottom-nav-links{gap:.2rem}.bottom-nav-gap,.bottom-link{min-height:3rem}.bottom-link{padding-inline:.15rem;font-size:.78rem}.bottom-scan-link{border-width:3px;width:3.25rem;height:3.25rem;top:-.7rem}}
