@import"https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.gantt .grid-background{fill:none}.gantt .grid-header{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}.gantt .grid-row{fill:#fff}.gantt .grid-row:nth-child(2n){fill:#f5f5f5}.gantt .row-line{stroke:#ebeff2}.gantt .tick{stroke:#e0e0e0;stroke-width:.2}.gantt .tick.thick{stroke-width:.4}.gantt .today-highlight{fill:#fcf8e3;opacity:.5}.gantt .arrow{fill:none;stroke:#666;stroke-width:1.4}.gantt .bar{fill:#b8c2cc;stroke:#8d99a6;stroke-width:0;transition:stroke-width .3s ease;-webkit-user-select:none;user-select:none}.gantt .bar-progress{fill:#a3a3ff}.gantt .bar-invalid{fill:transparent;stroke:#8d99a6;stroke-width:1;stroke-dasharray:5}.gantt .bar-invalid~.bar-label{fill:#555}.gantt .bar-label{fill:#fff;dominant-baseline:central;text-anchor:middle;font-size:12px;font-weight:lighter}.gantt .bar-label.big{fill:#555;text-anchor:start}.gantt .handle{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden;transition:opacity .3s ease}.gantt .bar-wrapper{cursor:pointer;outline:none}.gantt .bar-wrapper:hover .bar{fill:#a9b5c1}.gantt .bar-wrapper:hover .bar-progress{fill:#8a8aff}.gantt .bar-wrapper:hover .handle{visibility:visible;opacity:1}.gantt .bar-wrapper.active .bar{fill:#a9b5c1}.gantt .bar-wrapper.active .bar-progress{fill:#8a8aff}.gantt .lower-text,.gantt .upper-text{font-size:12px;text-anchor:middle}.gantt .upper-text{fill:#555}.gantt .lower-text{fill:#333}.gantt .hide{display:none}.gantt-container{position:relative;overflow:auto;font-size:12px}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:#000c;padding:0;color:#959da5;border-radius:3px}.gantt-container .popup-wrapper .title{border-bottom:3px solid #a3a3ff;padding:10px}.gantt-container .popup-wrapper .subtitle{padding:10px;color:#dfe2e5}.gantt-container .popup-wrapper .pointer{position:absolute;height:5px;margin:0 0 0 -5px;border:5px solid transparent;border-top-color:#000c}:root{--bg: #f5f5f4;--surface: #ffffff;--border: #e7e5e4;--text: #1c1917;--text-muted: #78716c;--primary: #1d7461;--primary-hover: #155a4b;--gold: #d8b368;--sage: #52927d;--danger: #b91c1c;--warning: #b45309;--success: #15803d;--prio-lag: #9ca3af;--prio-medel: #3b82f6;--prio-hog: #f97316;--prio-kritisk: #ef4444;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--radius: 6px}*{box-sizing:border-box}body{margin:0;font-family:Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button{font:inherit;cursor:pointer;background:var(--primary);color:#fff;border:none;padding:8px 14px;border-radius:var(--radius);font-weight:500}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:var(--bg)}button.danger{background:var(--danger)}button.small{padding:4px 10px;font-size:12px}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}label{display:block;margin-bottom:4px;font-weight:500;color:var(--text);font-size:13px}.field{margin-bottom:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.muted{color:var(--text-muted)}.row{display:flex;gap:12px;align-items:center}.between{display:flex;justify-content:space-between;align-items:center}.stack{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:4px}.sidebar-logo{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--primary);text-decoration:none}.sidebar-logo img{height:34px;display:block}.sidebar-brand-text{font-weight:600;font-size:18px;letter-spacing:.02em;color:var(--primary)}.sidebar a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);color:var(--text);text-decoration:none;font-weight:500}.sidebar a>svg{flex-shrink:0}.sidebar a:hover{background:#1d74610f}.sidebar a.active{background:#1d74611f;color:var(--primary);font-weight:600}.sidebar .nav-divider{border:none;border-top:1px solid var(--border);margin:8px 4px}.sidebar .user-box{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);font-size:12px}.main{padding:24px 32px;overflow-x:auto}.main h2{margin:0 0 20px;font-size:22px}.main h3{margin:24px 0 12px;font-size:16px}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg)}tr:last-child td{border-bottom:none}tr:hover td{background:#00000003}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge.draft{background:#f3f4f6;color:#374151}.badge.in_review{background:#fef7e6;color:#7a5a10;border:1px solid #d8b368}.badge.approved{background:#d6ede7;color:#1d7461;border:1px solid #1d7461}.badge.needs_resign{background:#fff3cd;color:#7a5a10;border:1px solid #d8b368}.badge.archived{background-image:repeating-linear-gradient(-45deg,#e5e7eb,#e5e7eb 3px,#f3f4f6 3px,#f3f4f6 6px);background-color:transparent;color:#6b7280}.badge.pending{background:#fef7e6;color:#7a5a10;border:1px solid #d8b368}.badge.rejected{background:#fee2e2;color:#991b1b}.editor-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.editor-toolbar{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border);background:var(--bg)}.editor-toolbar button{background:transparent;color:var(--text);padding:4px 10px;border-radius:4px;font-size:13px}.editor-toolbar button:hover{background:#0000000d}.editor-toolbar button.active{background:var(--text);color:var(--surface)}.ProseMirror{padding:16px 20px;min-height:400px;outline:none}.ProseMirror p{margin:.5em 0}.ProseMirror h1{font-size:1.5em;margin:.6em 0 .3em}.ProseMirror h2{font-size:1.25em;margin:.6em 0 .3em}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);float:left;pointer-events:none;height:0}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;position:relative}.login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a1e1885;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.login-box{position:relative;z-index:1;background:#ffffffed;border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:40px 36px 36px;width:380px;box-shadow:0 8px 40px #00000059;display:flex;flex-direction:column;align-items:stretch}.login-badge{display:block;height:100px;width:100px;object-fit:contain;margin:0 auto 20px}.login-title{font-family:Raleway,sans-serif;font-weight:700;font-size:20px;letter-spacing:.5px;color:var(--primary);text-align:center;margin:0 0 28px;text-transform:uppercase}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:8px 14px;background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border-radius:var(--radius);padding:24px;width:480px;max-width:90vw;max-height:90vh;overflow:auto}.modal h3{margin-top:0}.error{color:var(--danger);padding:8px 12px;background:#fee2e2;border-radius:var(--radius);font-size:13px}.info{color:var(--text-muted);padding:8px 12px;background:var(--bg);border-radius:var(--radius);font-size:13px;border:1px solid var(--border)}.warning-banner{padding:12px 16px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:var(--radius);margin-bottom:16px}.topbar{display:flex;align-items:center;gap:16px;padding:12px 0 20px;border-bottom:1px solid var(--border);margin-bottom:24px}.content{padding-top:0}.searchbox-wrap{position:relative;flex:1;max-width:600px}.searchbox{width:100%;padding:10px 14px;font-size:14px}.searchbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.searchbox-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:51;max-height:500px;overflow:auto}.search-meta{padding:8px 12px;font-size:11px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}.search-hit{display:block;width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);padding:10px 14px;text-align:left;cursor:pointer;color:var(--text)}.search-hit:hover{background:var(--bg)}.search-hit:last-child{border-bottom:none}.search-hit-title{font-weight:600;font-size:14px}.search-hit-dept{font-size:11px;color:var(--primary);margin-top:2px}.search-hit-snippet{font-size:12px;color:var(--text-muted);margin-top:4px}.notif-wrap{position:relative}.notif-bell{background:transparent;color:var(--text);border:1px solid var(--border);padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;position:relative}.notif-bell:hover{background:var(--bg)}.notif-badge{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;border-radius:10px;font-size:10px;font-weight:700;padding:2px 6px;min-width:18px;text-align:center}.notif-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.notif-panel{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:51;width:360px;max-height:500px;display:flex;flex-direction:column}.notif-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.notif-list{overflow:auto;flex:1}.notif-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);padding:10px 14px;cursor:pointer;color:var(--text)}.notif-item:hover{background:var(--bg)}.notif-item.unread{background:#0f766e0a;border-left:3px solid var(--primary)}.notif-title{font-weight:600;font-size:13px}.notif-body{font-size:12px;color:var(--text-muted);margin-top:2px}.notif-time{font-size:11px;color:var(--text-muted);margin-top:4px}.risk-matrix{display:grid;grid-template-columns:auto repeat(4,1fr);gap:2px;font-size:12px;max-width:360px}.risk-matrix-3x3{grid-template-columns:auto repeat(3,1fr);max-width:280px}.risk-cell{padding:8px;text-align:center;background:var(--bg);border-radius:3px}.risk-cell.header{font-weight:600;background:var(--surface);color:var(--text-muted);font-size:11px}.risk-cell.label{background:var(--surface)}.risk-cell.low{background:#d1fae5;color:#065f46}.risk-cell.med{background:#fef3c7;color:#92400e}.risk-cell.high,.risk-cell.critical{background:#fecaca;color:#991b1b;font-weight:700}.risk-cell.selected{outline:3px solid var(--primary);outline-offset:1px;cursor:pointer}.risk-cell.clickable{cursor:pointer}.risk-cell.clickable:hover{outline:2px solid var(--text);outline-offset:1px}.risk-score{display:inline-block;padding:4px 10px;border-radius:4px;font-weight:700;font-size:12px}.risk-score.low{background:#d1fae5;color:#065f46}.risk-score.med{background:#fef3c7;color:#92400e}.risk-score.high{background:#fecaca;color:#991b1b;font-weight:700}.risk-score.critical{background:#fecaca;color:#991b1b}.wheel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.wheel-month{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;min-height:100px}.wheel-month-title{font-weight:600;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.wheel-item{font-size:12px;padding:4px 8px;background:var(--bg);border-radius:3px;margin-bottom:4px;cursor:pointer;border-left:3px solid var(--text-muted)}.wheel-item:hover{background:#eee}.wheel-item.completed{opacity:.6;text-decoration:line-through}.wheel-item.audit{border-left-color:#dc2626}.wheel-item.training{border-left-color:#2563eb}.wheel-item.inspection{border-left-color:#d97706}.wheel-item.review{border-left-color:#7c3aed}.wheel-item.maintenance{border-left-color:#059669}.wheel-item.overdue{background:#fee2e2;color:#991b1b}.haccp-hazards{font-size:13px}.haccp-hazards .ccp-row{background:#fef9c3}.haccp-hazards .ccp-label{display:inline-block;background:var(--warning);color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;margin-left:6px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stat-value{font-size:24px;font-weight:700;line-height:1}.stat-sub{font-size:12px;color:var(--text-muted);margin-top:4px}.split-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width: 900px){.split-grid{grid-template-columns:1fr}.wheel-grid{grid-template-columns:repeat(2,1fr)}}.tb-sep{display:inline-block;width:1px;height:20px;background:var(--border);margin:0 2px;vertical-align:middle}.ProseMirror h3{font-size:1.1em;margin:.6em 0 .3em}.ProseMirror a{color:var(--primary);text-decoration:underline}.ProseMirror blockquote{border-left:3px solid var(--primary);margin:1em 0;padding:.5em 0 .5em 1em;color:var(--text-muted);font-style:italic}.ProseMirror pre{background:#1e1e1e;color:#d4d4d4;border-radius:var(--radius);padding:12px 16px;font-family:Fira Code,Cascadia Code,monospace;font-size:13px;overflow-x:auto}.ProseMirror hr{border:none;border-top:2px solid var(--border);margin:1.5em 0}.ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin:4px 0}.ProseMirror ul[data-type=taskList] li>label{display:flex;align-items:center;margin:0;padding-top:2px}.ProseMirror ul[data-type=taskList] li>label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.ProseMirror ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--text-muted)}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1em 0;overflow:hidden}.ProseMirror table td,.ProseMirror table th{border:1px solid var(--border);padding:8px 10px;vertical-align:top;position:relative;text-align:left}.ProseMirror table th{background:#1d74611a;color:var(--text);font-weight:600;font-size:13px;text-transform:none;letter-spacing:0}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:#1d746114;pointer-events:none}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:var(--primary);pointer-events:none}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror .editor-figure{display:block;margin:1em auto;max-width:100%;text-align:center}.ProseMirror .editor-img{max-width:100%;height:auto;border-radius:var(--radius);display:block;margin:0 auto}.ProseMirror .editor-figcaption{font-size:12px;color:var(--text-muted);margin-top:6px;font-style:italic}.slash-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:200px;max-height:300px;overflow-y:auto;padding:4px}.slash-menu-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--text);border:none;border-radius:4px;padding:7px 10px;font-size:13px;font-weight:400;text-align:left;cursor:pointer}.slash-menu-item:hover,.slash-menu-item.active{background:#1d746114;color:var(--primary)}.slash-menu-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg);border-radius:4px;font-size:13px;flex-shrink:0}.color-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px;min-width:180px}.color-picker-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.color-picker-label{width:100%;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.color-swatch{width:22px;height:22px;border-radius:50%;padding:0;cursor:pointer;flex-shrink:0}.color-swatch-clear{background:var(--bg)!important;color:var(--text-muted);font-size:11px;border:2px solid var(--border)!important}.drag-handle{position:fixed;opacity:1;transition:opacity .15s ease;border-radius:4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%2378716c'%3E%3Ccircle cx='9' cy='5' r='1.5'/%3E%3Ccircle cx='15' cy='5' r='1.5'/%3E%3Ccircle cx='9' cy='12' r='1.5'/%3E%3Ccircle cx='15' cy='12' r='1.5'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='15' cy='19' r='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-color:transparent;width:20px;height:24px;cursor:grab;z-index:50}.drag-handle:hover{background-color:var(--bg)}.drag-handle.hide{opacity:0;pointer-events:none}.ProseMirror{counter-reset:fig-counter tbl-counter}.ProseMirror .editor-figure{counter-increment:fig-counter}.ProseMirror .editor-figcaption:before{content:"Figur " counter(fig-counter);display:block;font-size:12px;font-style:italic;color:var(--text-muted)}.ProseMirror .editor-figcaption:not(:empty):before{content:"Figur " counter(fig-counter) " – ";font-style:normal;font-weight:600;color:var(--text);font-size:13px}.ProseMirror .tableWrapper{counter-increment:tbl-counter}.ProseMirror .tableWrapper:before{content:"Tabell " counter(tbl-counter);display:block;font-size:12px;font-style:italic;color:var(--text-muted);margin-bottom:4px}.callout{border-left:4px solid var(--border);border-radius:0 6px 6px 0;padding:12px 14px;margin:12px 0}.callout-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;-webkit-user-select:none;user-select:none}.callout-icon{font-size:15px;flex-shrink:0}.callout-label{font-weight:600;font-size:13px;cursor:pointer}.callout-body>p{margin:.25em 0}.callout-body>p:first-child{margin-top:0}.callout-body>p:last-child{margin-bottom:0}.callout-notera{border-color:#9ca3af;background:#f9fafb}.callout-info{border-color:#1d7461;background:#1d74610f}.callout-tips{border-color:#52927d;background:#52927d14}.callout-varning{border-color:#d8b368;background:#d8b36826}.footnote-ref{color:var(--primary);font-weight:700;cursor:help;font-size:.75em;vertical-align:super}.footnote-section{margin-top:24px}.footnote-divider{border:none;border-top:1px solid var(--border);margin:0 0 12px}.footnote-title{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.footnote-list{padding-left:20px;margin:0;font-size:12px;color:var(--text-muted)}.footnote-item{margin-bottom:4px}.toc-panel{width:200px;flex-shrink:0;position:sticky;top:24px;max-height:calc(100vh - 100px);overflow-y:auto}.toc-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.toc-nav{display:flex;flex-direction:column;gap:2px}.toc-item{display:block;width:100%;background:transparent;border:none;color:var(--text-muted);text-align:left;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.toc-item:hover{background:var(--bg);color:var(--text)}.toc-item.active{color:var(--primary);font-weight:600;background:#1d74610f}.toc-h1{padding-left:8px;font-size:13px}.toc-h2{padding-left:16px}.toc-h3{padding-left:24px;font-size:11px}.diff-legend{display:flex;gap:12px;align-items:center}.diff-ins-sample{background:#d1fae5;color:#065f46;padding:2px 10px;border-radius:4px;font-size:12px}.diff-del-sample{background:#fee2e2;color:#991b1b;padding:2px 10px;border-radius:4px;font-size:12px;text-decoration:line-through}.diff-view ins{background:#d1fae5;color:#065f46;text-decoration:none;border-radius:2px}.diff-view del{background:#fee2e2;color:#991b1b;text-decoration:line-through;border-radius:2px;opacity:.85}.comment-mark{background:#d8b36847;border-bottom:2px solid var(--gold, #d8b368);cursor:pointer}.comments-panel{width:260px;flex-shrink:0;border-left:1px solid var(--border);padding-left:16px;max-height:680px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.comments-panel-title{margin:0;font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.comment-new-section{padding-bottom:10px;border-bottom:1px solid var(--border);flex-shrink:0}.comment-textarea{width:100%;resize:vertical;font-family:inherit;font-size:12px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-sizing:border-box;margin-bottom:4px}.comment-list{display:flex;flex-direction:column;gap:8px}.comment-thread{padding:10px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.comment-reply{padding-left:10px;border-left:2px solid var(--primary);margin-top:2px}.comment-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.comment-author{font-size:11px;font-weight:600;color:var(--primary)}.comment-date{font-size:10px;color:var(--text-muted)}.comment-body{font-size:12px;line-height:1.5}.comment-actions{padding-top:4px}.hamburger-btn{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--text);line-height:1;flex-shrink:0;align-items:center;justify-content:center}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:150}@media (max-width: 640px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:200;transform:translate(-260px);transition:transform .22s ease;overflow-y:auto;box-shadow:none}.sidebar.nav-open{transform:translate(0);box-shadow:4px 0 24px #00000026}.nav-overlay.nav-open{display:block}.main{padding:12px 16px 24px}.topbar{padding:8px 0 16px;margin-bottom:16px;position:sticky;top:0;background:var(--bg);z-index:10}.hamburger-btn{display:inline-flex}.searchbox-wrap{max-width:none;flex:1}.main h1{font-size:20px}.main h2{font-size:18px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:500px}form [style*=grid-template-columns],div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}button{min-height:38px}button.small{min-height:32px}.between{flex-wrap:wrap;gap:8px}.row{flex-wrap:wrap}.zon-tab-bar{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}.zon-tab-bar::-webkit-scrollbar{display:none}.zon-tab-bar button{flex-shrink:0;min-height:40px;font-size:13px;padding:8px 14px}.obs-card{display:flex;flex-direction:column;gap:10px}.obs-status-btns{display:flex;gap:6px;flex-wrap:wrap}.obs-status-btns button{flex:1;min-height:44px;font-size:13px}.detail-grid{grid-template-columns:1fr!important}.modal{max-width:100%!important;width:100%!important;max-height:95dvh;overflow-y:auto;border-radius:var(--radius) var(--radius) 0 0;margin-bottom:0;align-self:flex-end}.modal-overlay{align-items:flex-end;padding:0}.split-grid{grid-template-columns:1fr!important}.page-header-actions{flex-wrap:wrap;gap:6px}.truck-result-btns{display:flex;gap:6px}.truck-result-btns button{flex:1;min-height:52px;font-size:12px;padding:8px 4px}}@media (min-width: 641px) and (max-width: 900px){.app-shell{grid-template-columns:200px 1fr}.sidebar{padding:16px 12px}.main{padding:16px 20px}table{font-size:13px}}.tid-page{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.tid-banner-correction{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff4f4;border:1px solid #f5b8b8;border-radius:var(--radius);color:#8b1c1c}.tid-banner-correction svg{flex-shrink:0}.tid-clock-card{display:flex;align-items:center;gap:16px;width:100%;min-height:120px;padding:20px 24px;border-radius:14px;border:none;color:#fff;font-size:18px;font-weight:600;cursor:pointer;transition:filter .15s ease;text-align:left}.tid-clock-card:hover:not(:disabled){filter:brightness(.96)}.tid-clock-card:disabled{opacity:.6;cursor:not-allowed}.tid-clock-in{background:#2ea66d}.tid-clock-out{background:#c54545}.tid-clock-text{display:flex;flex-direction:column;gap:4px}.tid-clock-title{font-size:22px;font-weight:700}.tid-clock-sub{font-size:14px;font-weight:400;opacity:.92}.tid-undo{padding:6px 12px;background:var(--bg);border-radius:var(--radius);display:flex;align-items:center}.tid-undo .link{background:transparent;border:none;color:var(--primary);text-decoration:underline;cursor:pointer;padding:0;font-size:14px}.tid-absence-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.tid-absence-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:10px 6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.tid-absence-btn:hover:not(:disabled){background:var(--bg);border-color:var(--primary)}.tid-absence-btn:disabled{opacity:.45;cursor:not-allowed}.tid-summary-chip{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;width:100%;text-align:left}.tid-summary-chip:hover{border-color:var(--primary)}.tid-summary-month{font-weight:600;color:var(--primary)}.tid-summary-dot{color:var(--text-muted)}.tid-month-detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.tid-month-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg)}.tid-month-nav strong{color:var(--primary)}.tid-month-rows{max-height:60vh;overflow-y:auto}.tid-month-row{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);align-items:center}.tid-month-row:last-child{border-bottom:none}.tid-month-row.tid-weekend{background:#00000005}.tid-month-row.tid-holiday{background:#1d74610f}.tid-row-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;padding:4px 6px}.tid-row-day{font-size:16px;font-weight:700;line-height:1}.tid-row-wd{font-size:10px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;margin-top:2px}.tid-month-row.tid-holiday .tid-row-day{color:var(--primary)}.tid-row-body{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tid-row-holiday-name{font-size:12px;color:var(--primary);font-weight:500;margin-right:8px}.tid-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg);border:1px solid var(--border)}.tid-chip-work{background:#1d74611f;border-color:#1d74614d;color:var(--primary)}.tid-chip-sick{background:#fff4f4;border-color:#f5b8b8;color:#8b1c1c}.tid-chip-vacation{background:#fff8e1;border-color:#f0d27a;color:#7a5b0a}.tid-chip-leave{background:var(--bg)}.tid-chip-holiday{background:#1d74610f}.tid-correction-link{background:transparent;border:none;color:var(--danger);text-decoration:underline;font-size:11px;cursor:pointer;padding:0;margin-left:4px}.tid-chip-undo-btn{background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;padding:0 2px;margin-left:4px;display:inline-flex;align-items:center}.tid-chip-undo-btn:hover{opacity:1}.tid-admin-entry-wrap{display:inline-flex;align-items:center;gap:4px;margin-right:6px}.tid-entry-delete-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px 4px;border-radius:4px;display:inline-flex;align-items:center}.tid-entry-delete-btn:hover{background:#fff4f4;color:var(--danger)}.tid-day-summary{font-size:12px;margin-top:3px;display:block;color:var(--text)}.tid-admin-settings-card{border:1px solid var(--border);border-radius:6px;margin-bottom:12px;background:#fafbfb}.tid-admin-settings-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;color:var(--text);border:none;padding:10px 14px;cursor:pointer;font-size:14px;text-align:left}.tid-admin-settings-header:hover:not(:disabled){background:#00000005;color:var(--text)}.tid-admin-settings-body{padding:4px 14px 14px;border-top:1px solid var(--border)}.tid-admin-overtime-summary{margin-top:12px;padding:10px 14px;background:#1d74610f;border-left:3px solid var(--primary);border-radius:4px;font-size:13px}.work-status-dashboard{margin:16px 0 24px}.work-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:16px 8px;padding:8px 0}.work-status-cell{display:flex;flex-direction:column;align-items:center;gap:6px}.work-status-avatar-btn{border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .2s ease}.work-status-avatar-btn:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.work-status-short-name{font-size:12px;max-width:72px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-status-footer{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.work-status-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:-1px}.work-status-legend-active{background:#1d9e75}.work-status-legend-inactive{background:#ccc}.work-status-tooltip{background:#141414eb;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #00000026;max-width:320px}.visibility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 16px;max-height:320px;overflow-y:auto}.visibility-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}@media (max-width: 640px){.tid-clock-card{min-height:110px;padding:16px 18px}.tid-clock-title{font-size:20px}.tid-absence-btn{min-height:60px;font-size:12px}.tid-summary-chip{font-size:13px;padding:10px 12px}}.tid-admin-link-row{display:flex;justify-content:flex-end}.tid-admin-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;font-size:13px;font-weight:500}.tid-admin-link:hover{border-color:var(--primary);color:var(--primary)}.tid-me-pdf-row{display:flex;justify-content:center}.tid-admin-page{display:flex;flex-direction:column;gap:14px}.tid-admin-header{margin-bottom:4px}.tid-month-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tid-admin-toolbar{display:flex;gap:8px;flex-wrap:wrap}.tid-admin-toolbar button.danger{background:var(--danger);color:#fff;border:none}.tid-admin-toolbar button.danger:disabled{opacity:.5}.tid-admin-table tr.tid-admin-row{cursor:pointer}.tid-admin-table tr.tid-admin-row:hover td{background:#1d74610a}.tid-admin-table tr.tid-admin-row-expanded td{background:#1d746114;font-weight:500}.tid-admin-detail-row td{background:var(--bg);padding:14px 18px}.tid-admin-detail-rows{display:grid;grid-template-columns:1fr;gap:4px}.tid-admin-detail-row-inner{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;padding:6px 8px;border-bottom:1px dotted var(--border)}.tid-admin-detail-row-inner:last-child{border-bottom:none}.tid-admin-detail-date{font-size:13px}.tid-admin-detail-entries{display:flex;flex-wrap:wrap;gap:6px}.tid-chip-clickable{cursor:pointer}.tid-chip-clickable:hover{filter:brightness(.94)}.user-box-actions{display:flex;align-items:center;gap:8px}.user-box-actions>button:first-child{flex:1}.help-circle-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);text-decoration:none;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.help-circle-btn:hover{background:#0000000f;color:var(--text)}.help-page{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.help-header{display:flex;align-items:center;gap:12px;color:var(--primary)}.help-toast{padding:12px 16px;background:#2ea66d1a;border:1px solid rgba(46,166,109,.3);border-radius:var(--radius);color:#1a5e3d}.help-toast a{color:var(--primary);font-weight:600}.help-section{display:flex;flex-direction:column;gap:8px}.help-section h3{margin:0 0 4px;color:var(--primary);font-size:18px;border-bottom:1px solid var(--border);padding-bottom:6px}.help-guides-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.help-guide-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.help-guide-row svg{color:var(--text-muted);flex-shrink:0}.help-guide-text{flex:1;min-width:0}.help-guide-link{color:var(--primary);font-weight:600;text-decoration:none}.help-guide-link:hover{text-decoration:underline}.help-faq-category{margin-bottom:14px}.help-faq-cat-title{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:8px 0 6px}.help-faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:6px;overflow:hidden}.help-faq-item summary{padding:10px 14px;cursor:pointer;font-weight:500;list-style:none}.help-faq-item summary::-webkit-details-marker{display:none}.help-faq-item summary:before{content:"+";display:inline-block;width:16px;color:var(--text-muted);font-weight:700}.help-faq-item[open] summary:before{content:"−"}.help-faq-item[open] summary{background:var(--bg)}.help-faq-answer{padding:0 14px 12px 30px;font-size:14px;color:var(--text);line-height:1.5}.permissions-cat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:12px;overflow:hidden}.permissions-cat>summary{padding:12px 20px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;-webkit-user-select:none;user-select:none}.permissions-cat>summary::-webkit-details-marker{display:none}.permissions-cat>summary:before{content:"+";display:inline-block;width:16px;color:var(--text-muted);font-weight:700}.permissions-cat[open]>summary:before{content:"−"}.permissions-cat[open]>summary{background:var(--bg);border-bottom:1px solid var(--border)}.permissions-cat-body{padding:12px 20px}.help-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.help-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:20px 16px;border:1px solid var(--border);border-top:3px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease;text-align:center;min-height:120px}.help-card:hover{box-shadow:0 2px 12px #00000014;transform:translateY(-1px)}.help-card-title{font-weight:600;font-size:14px}.help-card-desc{font-size:12px;color:var(--text-muted)}@media (max-width: 640px){.help-cards{grid-template-columns:1fr}}.terminal-dl-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--text-muted);margin-bottom:12px}.terminal-dl-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border-radius:6px;font-weight:600;font-size:14px;text-decoration:none;align-self:flex-start;transition:background .15s}.terminal-dl-btn:hover{background:var(--primary-hover, #1d4ed8)}.terminal-dl-steps{padding-left:20px;font-size:14px;line-height:1.7;margin:0 0 8px}.terminal-dl-steps li{margin-bottom:2px}.terminal-dl-note{font-size:13px;color:var(--text-muted);background:var(--bg-subtle, var(--surface));border-left:3px solid var(--border);padding:8px 12px;border-radius:0 4px 4px 0;margin:0}.projekt-list-page,.projekt-detail-page{display:flex;flex-direction:column;gap:14px}.projekt-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.projekt-table{width:100%}.projekt-table tr:hover td{background:#1d74610a}.projekt-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg);border:1px solid var(--border)}.projekt-status-planering{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.projekt-status-pagaende{background:#2ea66d1f;border-color:#2ea66d4d;color:#1a5e3d}.projekt-status-pa_paus{background:#fff8e1;border-color:#f0d27a;color:#7a5b0a}.projekt-status-avslutat{background:#0000000a;color:#555}.projekt-status-avbrutet{background:#fff4f4;border-color:#f5b8b8;color:#8b1c1c}.projekt-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;background:#0000000a;color:var(--text-muted)}.projekt-status-select{font-size:13px;padding:4px 8px;border-radius:var(--radius)}.projekt-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.projekt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 800px){.projekt-grid{grid-template-columns:1fr}}.projekt-card{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.projekt-card h3{margin:0 0 10px;font-size:16px;color:var(--primary);border-bottom:1px solid var(--border);padding-bottom:6px}.projekt-overview{display:grid;grid-template-columns:100px 1fr;gap:8px 12px;margin:0}.projekt-overview dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-self:center}.projekt-overview dd{margin:0;font-size:14px}.projekt-link-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.projekt-link-list li{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius);font-size:14px}.projekt-link-list li:hover{background:var(--bg)}.projekt-link-list a{color:var(--primary);text-decoration:none;flex:1;min-width:0}.projekt-link-list a:hover{text-decoration:underline}.projekt-link-remove{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;margin-left:auto}.projekt-link-remove:hover{background:#0000000f;color:var(--danger)}.editable-text{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px;transition:background-color .15s ease}.editable-text:hover{background:#1d74610f}.milestone-list{display:flex;flex-direction:column;gap:4px}.milestone-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.milestone-row.milestone-done{background:#2ea66d0f}.milestone-row.milestone-done .milestone-title{text-decoration:line-through;color:var(--text-muted)}.milestone-grip{background:transparent;border:none;cursor:grab;color:var(--text-muted);padding:2px;display:flex;align-items:center}.milestone-grip:active{cursor:grabbing}.milestone-check{display:flex;align-items:center}.milestone-check input{width:16px;height:16px;cursor:pointer}.milestone-body{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.milestone-title{font-weight:500;flex:1;min-width:0}.milestone-editable{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px}.milestone-editable:hover{background:#1d74610f}.milestone-title-input{flex:1;min-width:0;padding:4px 8px}.milestone-date{font-size:12px;color:var(--text-muted)}.milestone-date-input{padding:4px 8px;font-size:12px}.milestone-completed-info{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#1a5e3d}.milestone-delete{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.milestone-delete:hover{background:#0000000f;color:var(--danger)}.milestone-add-form{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.milestone-add-form input[type=text]{flex:1;min-width:140px}.link-picker-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.link-picker-input{flex:1;border:none;background:transparent;font-size:15px;outline:none}.link-picker-close{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-muted)}.link-picker-close:hover{color:var(--text)}.link-picker-body{max-height:50vh;overflow-y:auto}.link-picker-row{display:block;width:100%;text-align:left;padding:10px 14px;border:none;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text)}.link-picker-row:hover:not(:disabled){background:var(--bg)}.link-picker-row:last-child{border-bottom:none}.link-picker-row-linked{opacity:.5;cursor:not-allowed}.link-picker-title{font-weight:500;font-size:14px}.link-picker-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.link-picker-create-btn{display:flex;align-items:center;gap:6px;width:100%;padding:12px 16px;border:none;border-top:1px solid var(--border);background:var(--bg);color:var(--primary);cursor:pointer;font-size:14px;font-weight:500;text-align:left}.link-picker-create-btn:hover{background:var(--surface)}.link-picker-create-error{padding:10px 16px;background:#dc354514;color:var(--danger);font-size:13px;border-top:1px solid var(--border)}.modal-overlay-stacked{z-index:var(--z-modal-stacked)}.link-picker-already{display:inline-block;margin-top:4px;font-size:11px;color:var(--text-muted);font-style:italic}.gantt-toolbar-group{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.gantt-segmented{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;background:#fff;color:var(--text);text-decoration:none;border-right:1px solid var(--border);cursor:pointer}.gantt-segmented:last-child{border-right:none}.gantt-segmented.active{background:var(--primary);color:#fff;cursor:default}.gantt-segmented:not(.active):hover{background:#f5f5f5}@media (max-width: 768px){.hide-on-mobile{display:none!important}}.gantt-page{padding:0}.gantt-page-mobile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;color:var(--text)}.gantt-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:#fafafa;border:1px solid var(--border);border-radius:6px}.gantt-view-modes{display:inline-flex;gap:4px}.gantt-vm-btn{padding:6px 10px;font-size:13px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer}.gantt-vm-btn:hover{background:#f5f5f5}.gantt-vm-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.gantt-filters{display:inline-flex;gap:8px;flex-wrap:wrap}.gantt-filters select{font-size:13px;padding:6px 8px}.gantt-chart-container{overflow-x:auto}.gantt-no-dates{margin-top:24px;padding:12px 16px;background:#fafafa;border:1px solid var(--border);border-radius:6px}.gantt-no-dates h4{margin:0 0 8px;font-size:14px}.gantt-no-dates ul{margin:0;padding-left:20px}.gantt-no-dates li{margin-bottom:4px;font-size:13px}:root{--z-modal-stacked: 500;--z-popup: 1100}.date-input-wrapper{position:relative;display:inline-flex;align-items:center;width:100%}.date-input{width:100%;padding-right:32px;font-family:inherit;font-size:inherit}.date-input-error{border-color:var(--danger, #c0392b)}.date-input-calendar-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-muted, #666);display:inline-flex}.date-input-calendar-btn:hover:not(:disabled){color:var(--primary)}.date-input-calendar-btn:disabled{cursor:not-allowed;opacity:.5}.date-input-error-msg{position:absolute;top:100%;left:0;margin-top:2px;font-size:12px;color:var(--danger, #c0392b)}.date-input-popup{position:fixed;z-index:var(--z-popup);background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000002e;padding:8px}.date-input-popup .rdp-root{--rdp-accent-color: #1d7461;--rdp-accent-background-color: rgba(29,116,97,.12);--rdp-today-color: #1d7461}.date-input-popup .rdp-day_selected,.date-input-popup .rdp-selected button{background:var(--primary);color:#fff}.time-input-wrapper{position:relative;display:inline-flex;flex-direction:column}.time-input{font-family:inherit;font-size:inherit;width:80px;text-align:center}.time-input-error{border-color:var(--danger, #c0392b)}.time-input-error-msg{position:absolute;top:100%;left:0;margin-top:2px;font-size:12px;color:var(--danger, #c0392b);white-space:nowrap}.datetime-input-wrapper{display:inline-flex;align-items:flex-start;gap:6px}.datetime-input-wrapper .date-input-wrapper{flex:1;min-width:140px}.month-input-wrapper{position:relative;display:inline-flex;flex-direction:column}.month-input{font-family:inherit;font-size:inherit;width:100px;text-align:center}.month-input-error{border-color:var(--danger, #c0392b)}.month-input-error-msg{position:absolute;top:100%;left:0;margin-top:2px;font-size:12px;color:var(--danger, #c0392b);white-space:nowrap}.gantt-chart-container .gantt .bar{fill:#b8d4ce}.gantt-chart-container .gantt .bar-progress{fill:#1d7461}.gantt-chart-container .gantt .bar-milestone .bar{fill:#f2dfaf}.gantt-chart-container .gantt .bar-milestone .bar-progress{fill:#d8b368}.gantt-chart-container .gantt .bar-milestone .bar,.gantt-chart-container .gantt .bar-milestone .bar-progress{rx:8;ry:8}@keyframes gantt-saving-pulse{0%,to{opacity:1}50%{opacity:.45}}.gantt-chart-container .bar-wrapper.is-saving{animation:gantt-saving-pulse .8s ease-in-out infinite}.doc-detail-layout{display:flex;gap:0;align-items:flex-start}.doc-main-content{flex:1;min-width:0}.doc-metadata-sidebar{width:280px;flex-shrink:0;border-left:1px solid var(--border);padding-left:16px;margin-left:16px}.sidebar-section{margin-bottom:20px}.sidebar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6b7280);margin-bottom:6px}.meta-chip{display:inline-block;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:13px}.compliance-chip{display:inline-flex;align-items:center;gap:4px;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:12px;padding:2px 8px;font-size:12px;color:#065f46}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border);border-radius:12px;padding:2px 8px;font-size:13px}.chip-remove{background:none;border:none;cursor:pointer;padding:0;line-height:1;color:#059669;font-size:14px}.chip-remove:hover{color:#047857}@media (max-width: 1023px){.doc-detail-layout{flex-direction:column}.doc-metadata-sidebar{width:100%;border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:16px;margin-left:0;margin-top:16px}}.pdf-viewer{width:100%;height:75vh;border:1px solid var(--border);border-radius:4px;background:#f9fafb}@media (max-width: 1023px){.pdf-viewer{height:60vh}}.compliance-tree-modal{width:700px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.compliance-tree-scroll{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0}.compliance-tree-node{display:flex;align-items:center;gap:4px;padding-top:4px;padding-bottom:4px;padding-right:8px;font-size:13px;border-bottom:1px solid var(--bg, #f9fafb)}.compliance-tree-node:hover{background:var(--bg-secondary, #f1f5f9)}.compliance-tree-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;flex:1;-webkit-user-select:none;user-select:none}.compliance-tree-checkbox{cursor:pointer;width:14px;height:14px;flex-shrink:0}.compliance-tree-group{font-weight:600;color:var(--text-muted, #6b7280);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tree-toggle{background:none;border:none;cursor:pointer;width:20px;padding:0;font-size:12px;color:var(--text-muted, #6b7280);flex-shrink:0;line-height:1}.tree-doc-count{margin-left:4px;font-size:11px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border);border-radius:8px;padding:0 5px;color:var(--text-muted, #6b7280)}.tag-picker-modal{width:480px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.tag-picker-scroll{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;min-height:120px}.tag-picker-row{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--bg, #f9fafb);-webkit-user-select:none;user-select:none}.tag-picker-row:hover{background:var(--bg-secondary, #f1f5f9)}.tag-picker-row input[type=checkbox]{cursor:pointer;width:14px;height:14px;flex-shrink:0}.tag-picker-row>span:first-of-type{flex:1}.tag-picker-count{font-size:11px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border);border-radius:8px;padding:0 5px;color:var(--text-muted, #6b7280)}.tag-picker-create{display:flex;gap:6px;margin-bottom:4px}.compliance-tree-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--border);flex-shrink:0}.compliance-tree-tab{background:none;border:none;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--text-muted, #6b7280);border-bottom:2px solid transparent;margin-bottom:-1px}.compliance-tree-tab:hover{color:var(--text, #111827)}.compliance-tree-tab.active{color:var(--text, #111827);font-weight:600;border-bottom-color:var(--primary, #2563eb)}.compliance-tab-pane{flex:1;padding:12px 4px;overflow-y:auto}.compliance-sam-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none}.compliance-sam-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.compliance-area-group{margin-bottom:10px}.compliance-area-group:last-child{margin-bottom:4px}.compliance-area-subheader{font-size:11px;font-weight:600;color:var(--text-muted, #6b7280);margin-bottom:4px;padding-left:2px}.terminal-token-display{font-family:Courier New,Courier,monospace;font-size:13px;background:#1c1917;color:#a3e635;padding:16px;border-radius:var(--radius);word-break:break-all;letter-spacing:.06em;line-height:1.7;-webkit-user-select:all;user-select:all;margin-bottom:4px}.notfound-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:40px 20px}.notfound-page .notfound-code{font-size:96px;font-weight:700;line-height:1;color:var(--border);margin-bottom:8px}.notfound-page code{font-family:monospace;background:var(--bg);border:1px solid var(--border);padding:1px 6px;border-radius:3px;font-size:13px}.dept-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}.filter-label{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dept-chip{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;line-height:1.4}.dept-chip:hover{background:var(--bg);border-color:var(--primary)}.dept-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.dept-filter-clear{margin-left:auto;background:transparent;border:none;color:var(--primary);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}
