:root { --ink:#202327; --ink-soft:#555c65; --muted:#6f757d; --paper:#f6f7f9; --surface:#ffffff; --surface-subtle:#fafbfc; --surface-muted:#f6f7f8; --surface-raised:#ffffff; --interactive:#f4f5f6; --interactive-hover:#eef0f2; --line:#e2e5e9; --line-strong:#cbd0d6; --brand-red:#e5322c; --red:#c72c27; --red-soft:#fae8e7; --accent-soft-light:#fff4f3; --accent-border:#dfaaa7; --accent-border-strong:#cf817d; --accent-contrast:#fff; --accent-contrast-rgb:255,255,255; --accent-rgb:229,50,44; --accent-strong-rgb:199,44,39; --accent-level-1:#f7cfcd; --accent-level-2:#ec9994; --accent-level-3:#dc625d; --danger:#d64545; --danger-strong:#9f252c; --danger-soft:#fff7f7; --danger-border:#d8a8aa; --warning:#b7791f; --warning-strong:#654313; --warning-soft:#fff8e8; --warning-border:#d9a45d; --success:#2f855a; --success-strong:#287b39; --success-soft:#e7f4ea; --success-border:#9bc9a6; --info:#3478c0; --info-strong:#285f9a; --info-soft:#edf4fb; --info-border:#a9c5e2; --orange:#c72c27; --orange-soft:var(--surface-muted); --shadow:0 18px 50px rgba(25,31,38,.09); --shadow-soft:0 8px 28px rgba(23,29,36,.07); --overlay:rgba(25,31,38,.45); }
:root[data-theme="dark"] { --ink:#f1f3f5; --ink-soft:#c8cdd3; --muted:#9ca3ad; --paper:#101216; --surface:#171a1f; --surface-subtle:#1b1f24; --surface-muted:#20242a; --surface-raised:#24282f; --interactive:#252a31; --interactive-hover:#2d333b; --line:#343a43; --line-strong:#505965; --shadow:0 18px 50px rgba(0,0,0,.38); --shadow-soft:0 8px 28px rgba(0,0,0,.28); --overlay:rgba(0,0,0,.7); }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
.hidden { display:none!important; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.brand { display:inline-flex; width:min(100%,196px); min-width:0; align-items:center; color:var(--red); line-height:1; }
.brand [hidden] { display:none!important; }
.brand-custom-logo { display:block; width:auto; max-width:100%; height:38px; object-fit:contain; object-position:left center; }
.brand-wordmark { min-width:0; display:grid; gap:3px; }
.brand-wordmark strong { overflow:hidden; font-size:24px; font-weight:820; letter-spacing:-.045em; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.brand-wordmark small { overflow:hidden; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.01em; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
h1,h2,h3 { letter-spacing:-.035em; }
h1 { margin:0; max-width:760px; font-size:clamp(38px,5.2vw,72px); line-height:1.04; }
h2 { margin:0; font-size:28px; }
h3 { margin:0; }
.lead { max-width:630px; margin:24px 0 0; font-size:19px; line-height:1.65; color:var(--muted); }
.login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr); }
.login-copy { min-height:100vh; padding:42px clamp(32px,6vw,92px); display:flex; flex-direction:column; justify-content:center; background:var(--surface-muted); }
.login-brand { margin-bottom:28px; }
.login-brand { width:min(100%,760px); }
.login-brand .brand-custom-logo { height:clamp(54px,6.8vw,96px); }
.login-brand .brand-wordmark { gap:8px; }
.login-brand .brand-wordmark strong { font-size:clamp(54px,6.8vw,96px); }
.login-brand .brand-wordmark small { font-size:clamp(12px,1.4vw,18px); }
.login-pitch { max-width:760px; margin:0; font-size:clamp(18px,1.8vw,23px); font-weight:650; line-height:1.4; letter-spacing:-.01em; }
.login-card { margin:auto; width:min(390px,calc(100% - 48px)); display:flex; flex-direction:column; gap:22px; }
.login-submit { min-width:118px; align-self:flex-end; }
label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; }
input,textarea,select { width:100%; border:1px solid var(--line); border-radius:12px; padding:13px 14px; color:var(--ink); background:var(--surface); outline:none; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb),.1); }
.input-invalid,.input-invalid:focus { border-color:var(--danger); box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent); }
.date-input { position:relative; min-width:0; border:1px solid var(--line); border-radius:12px; display:block; background:var(--surface); }
.date-input:focus-within { border-color:var(--red); box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb),.1); }
.date-input:has(.input-invalid) { border-color:var(--danger); box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent); }
.date-input input[type="date"],.date-input input[type="date"]:focus { position:relative; z-index:1; border:0; color:transparent; background:transparent; box-shadow:none; opacity:0; -webkit-text-fill-color:transparent; }
.date-input input[data-calendar-only] { cursor:pointer; }
.date-input input[type="date"]::-webkit-datetime-edit { opacity:0; }
.date-input input[type="date"]::-webkit-calendar-picker-indicator { opacity:0; }
.date-input-text { position:absolute; z-index:2; top:50%; right:14px; left:14px; overflow:hidden; color:var(--ink); pointer-events:none; transform:translateY(-50%); white-space:nowrap; }
.date-input-text.placeholder { color:var(--muted); }
.date-calendar { position:fixed; inset:auto; width:min(310px,calc(100vw - 24px)); margin:0; padding:14px; border:1px solid var(--line); border-radius:15px; color:var(--ink); background:var(--surface); box-shadow:0 18px 50px rgba(25,31,38,.2); }
.date-calendar::backdrop { background:transparent; }
.date-calendar-head { height:36px; display:grid; grid-template-columns:36px minmax(0,1fr) 36px; align-items:center; gap:8px; }
.date-calendar-head strong { text-align:center; font-size:13px; }
.date-calendar-nav { width:36px; height:36px; padding:0; border:0; border-radius:9px; display:grid; place-items:center; color:var(--muted); background:transparent; cursor:pointer; font-size:24px; line-height:1; }
.date-calendar-nav:hover,.date-calendar-nav:focus-visible { color:var(--red); background:var(--interactive-hover); outline:none; }
.date-calendar-weekdays,.date-calendar-days { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.date-calendar-weekdays { margin-top:8px; }
.date-calendar-weekdays span { padding:5px 0; color:var(--muted); text-align:center; font-size:11px; font-weight:750; }
.date-calendar-days button,.date-calendar-blank { aspect-ratio:1; min-width:0; }
.date-calendar-days button { padding:0; border:0; border-radius:9px; color:var(--ink); background:transparent; cursor:pointer; font-size:13px; }
.date-calendar-days button:hover,.date-calendar-days button:focus-visible { color:var(--red); background:var(--interactive-hover); outline:none; }
.date-calendar-days button.today { box-shadow:inset 0 0 0 1px #cbd0d6; }
.date-calendar-days button.selected { color:var(--accent-contrast); background:var(--brand-red); box-shadow:none; font-weight:750; }
.date-calendar-days button.keyboard-focused { box-shadow:inset 0 0 0 2px var(--red); }
.date-calendar-days button.selected.keyboard-focused { box-shadow:inset 0 0 0 2px var(--accent-contrast); }
.date-calendar-clear { width:100%; margin-top:9px; padding:8px 10px; border:0; border-radius:9px; color:var(--muted); background:var(--interactive-hover); cursor:pointer; font-size:13px; font-weight:650; }
.date-calendar-clear:hover,.date-calendar-clear:focus-visible { color:var(--red); background:var(--red-soft); outline:none; }
.optional { margin-left:6px; color:var(--muted); font-size:13px; font-weight:500; }
.form-error { min-height:18px; margin:-8px 0; color:var(--danger-strong); font-size:13px; }
.dialog-copy { margin:-6px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.checkbox-line { padding:2px 0; flex-direction:row; align-items:center; gap:10px; cursor:pointer; }
.checkbox-line input { width:16px; height:16px; margin:0; padding:0; accent-color:var(--red); }
.button { border:0; border-radius:12px; padding:12px 17px; display:inline-flex; align-items:center; justify-content:center; gap:18px; cursor:pointer; font-weight:650; }
.button.primary { color:var(--accent-contrast); background:var(--brand-red); }
.button.primary:hover { background:var(--red); }
.button.secondary { border:1px solid var(--line); background:var(--surface); }
.button.wide { width:100%; justify-content:space-between; padding:14px 17px; }
.button.compact { padding:10px 13px; font-size:13px; }
.button:focus-visible,.project-tool-toggle:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.app { min-height:100vh; }
.sidebar { position:fixed; z-index:5; inset:0 auto 0 0; width:236px; padding:28px 20px 20px; border-right:1px solid var(--line); display:flex; flex-direction:column; background:var(--surface); }
.sidebar nav { min-height:0; margin-top:56px; padding-right:2px; display:grid; align-content:start; gap:7px; overflow-y:auto; scrollbar-width:thin; }
.nav-item { width:100%; display:flex; align-items:center; gap:12px; padding:11px 13px; border-radius:10px; color:var(--ink-soft); font-size:14px; font-weight:600; }
.nav-item span { width:18px; font-size:17px; text-align:center; }
.nav-item span svg { width:18px; height:18px; display:block; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.nav-item b { font:inherit; }
.settings-toggle { min-width:0; padding-right:8px; gap:10px; }
.settings-toggle b { min-width:0; }
.update-nav-badge { margin-left:auto; padding:3px 6px; border-radius:999px; flex:none; color:var(--accent-contrast); background:var(--brand-red); font-size:10px; font-style:normal; font-weight:800; letter-spacing:.02em; }
.settings-subnav .update-nav-badge { margin-left:auto; }
.todo-nav-count { min-width:23px; margin-left:auto; padding:2px 6px; border-radius:999px; color:var(--muted); background:var(--interactive-hover); font-size:12px; font-style:normal; font-weight:750; line-height:1.4; text-align:center; }
.nav-item.active .todo-nav-count { color:var(--red); background:var(--surface); }
.nav-item.active { color:var(--red); background:var(--interactive-hover); }
.nav-item:hover { color:var(--red); background:var(--interactive-hover); }
.nav-item.bare { border:0; cursor:pointer; background:transparent; }
.sidebar-search { min-width:0; min-height:42px; padding:0 7px 0 11px; border:1px solid var(--line); border-radius:10px; display:grid; grid-template-columns:18px minmax(0,1fr) 28px; align-items:center; gap:9px; color:var(--muted); background:var(--surface-muted); }
.sidebar-search:focus-within,.sidebar-search.active { color:var(--red); border-color:var(--accent-border); background:var(--surface); box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb),.08); }
.sidebar-search > button { padding:0; border:0; display:grid; place-items:center; color:inherit; background:transparent; cursor:pointer; }
.sidebar-search-submit { width:24px; height:40px; margin-left:-3px; }
.sidebar-search-clear { width:28px; height:28px; border-radius:7px!important; color:var(--muted)!important; font-size:20px; line-height:1; }
.sidebar-search-clear:hover,.sidebar-search-clear:focus-visible { color:var(--red)!important; background:var(--red-soft)!important; outline:none; }
.sidebar-search-clear[hidden] { display:none; }
.sidebar-search svg { width:18px; height:18px; display:block; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.sidebar-search input,.sidebar-search input:focus { min-width:0; height:40px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:13px; }
.sidebar-search input::-webkit-search-cancel-button { display:none; }
.sidebar-search input::placeholder { color:var(--muted); }
.settings-menu,.projects-menu,.inventory-menu { min-width:0; }
.settings-subnav { margin:4px 0 6px 30px; padding-left:13px; border-left:1px solid var(--line); }
.settings-subnav[hidden] { display:none; }
.settings-subnav a { min-height:31px; padding:7px 9px; border-radius:8px; display:flex; align-items:center; color:var(--muted); font-size:13px; font-weight:600; }
.settings-subnav a:hover { color:var(--red); background:var(--interactive-hover); }
.settings-subnav a.active { color:var(--red); background:var(--interactive-hover); }
.inventory-subnav { margin-bottom:8px; }
.projects-subnav-divider { height:1px; margin:5px 9px; display:block; background:var(--line); }
.projects-subnav a { justify-content:space-between; gap:8px; }
.project-nav-count { min-width:23px; padding:2px 6px; border-radius:999px; color:var(--muted); background:var(--interactive-hover); font-size:12px; font-weight:750; line-height:1; text-align:center; }
.settings-subnav a.active .project-nav-count { color:var(--red); background:var(--surface); }
.sidebar-bottom { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }
.mobile-header { display:none; }
.mobile-header-main,.mobile-header-actions { display:flex; align-items:center; }
main { --main-gutter:clamp(30px,5vw,76px); min-height:100vh; margin-left:236px; padding:54px var(--main-gutter) 70px; }
.page-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:40px; }
.page-head h1 { font-size:clamp(34px,4vw,50px); }
.page-head p { margin:9px 0 0; color:var(--muted); }
.project-browser-head { align-items:flex-start; }
.project-browser-head .page-actions { margin-top:5px; }
.stats { display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:16px; }
.stat { position:relative; min-height:120px; padding:23px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.stat:hover,.stat:focus-within { z-index:2000; }
.stat-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.stat-info { position:relative; flex:none; }
.stat-info > button { width:22px; height:22px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; color:var(--muted); background:var(--surface); cursor:help; font-family:inherit; font-size:12px; font-weight:700; line-height:1; }
.stat-info > button:hover,.stat-info > button:focus-visible { border-color:var(--accent-border-strong); outline:none; color:var(--red); background:var(--red-soft); }
.stat-info-tooltip { position:absolute; z-index:2001; top:30px; right:0; width:min(320px,calc(100vw - 72px)); padding:13px 14px; border:1px solid var(--line-strong); border-radius:11px; display:block; color:var(--ink-soft)!important; background:var(--surface); box-shadow:0 14px 38px rgba(25,31,38,.17); font-size:12px!important; font-weight:500; line-height:1.55; opacity:0; pointer-events:none; transform:translateY(-4px); transition:opacity .14s ease,transform .14s ease; }
.stat-info:hover .stat-info-tooltip,.stat-info:focus-within .stat-info-tooltip { opacity:1; transform:none; }
.stat-value { min-height:42px; display:flex; align-items:center; gap:9px; }
.stat b { display:block; margin-top:10px; font-size:30px; font-weight:750; }
.stat-trend { margin-top:10px; font-size:25px; font-weight:750; line-height:1; cursor:help; }
.stat-trend.up { color:var(--success-strong); }
.stat-trend.steady { color:var(--muted); }
.stat-trend.down { color:var(--danger-strong); }
.stat span { color:var(--muted); font-size:13px; }
.stat .stat-trend { font-size:25px; }
.stat > small { margin-top:7px; display:block; color:var(--muted); font-size:12px; line-height:1.4; }
.section-head { margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; }
.section-head h2 { font-size:21px; }
.todo-hero { width:100%; padding-bottom:21px; }
.todo-hero .project-heading-row { max-width:1040px; }
.todo-hero-icon svg { width:29px; height:29px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.todo-page-content { padding-top:28px; }
.todo-add-form { margin-bottom:42px; padding:15px 16px; border:1px solid var(--line); border-radius:18px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; background:var(--surface); }
.todo-add-form input { min-height:48px; border-color:transparent; background:var(--surface-muted); }
.todo-add-form input:focus { border-color:var(--red); background:var(--surface); }
.todo-open-section,.todo-completed-section { width:100%; }
.todo-completed-section { margin-top:34px; padding-top:26px; border-top:1px solid var(--line); }
.todo-section-head { position:relative; min-height:36px; margin-bottom:18px; gap:7px; flex-wrap:nowrap; }
.todo-section-divider { min-width:0; margin:0; flex:1; }
.todo-section-head .todo-section-divider::before,.todo-section-head .todo-section-divider::after { flex-grow:1; }
.todo-section-toggle strong { flex:none; font-size:15px; font-weight:750; letter-spacing:-.01em; line-height:1.2; }
.todo-section-toggle::after { width:14px; height:14px; flex:none; content:''; }
.todo-section-head > .section-head-actions { position:absolute; z-index:1; right:0; }
.todo-section-action { min-height:36px; }
.todo-section-action:disabled { color:var(--muted); background:var(--interactive-hover); cursor:default; }
.todo-list { display:grid; gap:12px; }
.todo-list[hidden] { display:none; }
[data-todo-section-content][hidden] { display:none; }
.todo-node { min-width:0; }
.todo-group { display:grid; }
.todo-children { min-width:0; margin:8px 0 0 46px; display:grid; gap:8px; transition:min-height .16s ease,margin .16s ease,padding .16s ease,background .16s ease; }
.todo-children:not(:has([data-todo-node])) { margin-top:0; }
.todo-child-dropzone { height:0; min-height:0; overflow:hidden; border:0 dashed transparent; border-radius:10px; display:grid; place-items:center; opacity:0; color:var(--red); background:transparent; pointer-events:none; font-size:12px; font-weight:750; transition:height .18s ease,min-height .18s ease,opacity .14s ease,border-color .18s ease,background .18s ease; }
.todo-child-dropzone span { padding:8px; text-align:center; }
.todo-subitem .todo-item { min-height:48px; padding:4px 12px 4px 6px; border:0; border-radius:8px; background:transparent; box-shadow:none; }
.todo-subitem { position:relative; }
.todo-group.has-children,.todo-group.todo-drop-parent { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.todo-group.todo-drop-parent { border-color:rgba(var(--accent-strong-rgb),.58); box-shadow:0 8px 24px rgba(var(--accent-strong-rgb),.08); }
.todo-group.has-children > .todo-item,.todo-group.todo-drop-parent > .todo-item { border:0; border-radius:0; background:transparent; box-shadow:none; }
.todo-group.todo-drop-parent > .todo-children { margin:0; padding:0 12px 12px 58px; border:0; border-radius:0; display:grid; background:transparent; }
.todo-group.has-children > .todo-children { margin:0 0 8px 34px; padding:0 0 0 13px; border:0; border-left:1px solid var(--line); border-radius:0; display:grid; gap:2px; background:transparent; }
.todo-group.todo-drop-parent > .todo-children > .todo-child-dropzone { height:56px; min-height:56px; border-width:1px; border-color:rgba(var(--accent-strong-rgb),.52); opacity:1; background:rgba(var(--accent-strong-rgb),.055); pointer-events:auto; }
.todo-item { min-width:0; min-height:62px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; background:var(--surface); }
.todo-item.completed { color:var(--muted); background:var(--surface-subtle); }
.todo-check { width:34px; height:40px; display:grid; place-items:center; cursor:pointer; }
.todo-check input { width:20px; height:20px; margin:0; padding:0; accent-color:var(--success); cursor:pointer; }
.todo-check > span[aria-hidden] { display:none; }
.todo-copy { min-width:0; }
.todo-item:not(:has(.todo-edit-form)) .todo-copy { cursor:text; }
.todo-title { display:block; overflow-wrap:anywhere; font-size:14px; font-weight:650; line-height:1.45; }
.todo-item.completed .todo-title { text-decoration:line-through; text-decoration-color:var(--muted); }
.todo-copy small { margin-top:4px; display:block; color:var(--muted); font-size:11px; }
.todo-copy .todo-repeat-meta { color:var(--muted); }
.todo-actions { min-width:0; display:flex; align-items:center; gap:6px; }
.todo-actions .edit-action { width:36px; height:36px; }
.todo-repeat-action.active { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); }
.todo-repeat-action svg,.todo-repeat-remove svg { fill:none; }
.todo-repeat-remove { position:relative; }
.todo-repeat-remove svg { opacity:.45; }
.todo-repeat-remove > span { position:absolute; font-size:18px; font-weight:500; line-height:1; }
.todo-children-toggle { min-width:50px; height:36px; padding:0 6px; border:0; border-radius:9px; display:flex; align-items:center; justify-content:center; gap:4px; color:var(--muted); background:transparent; cursor:pointer; }
.todo-children-toggle:hover,.todo-children-toggle:focus-visible { color:var(--red); background:var(--interactive-hover); outline:none; }
.todo-children-toggle svg { width:14px; height:14px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.todo-children-toggle[aria-expanded="false"] svg { transform:rotate(-90deg); }
.todo-children-toggle span { min-width:23px; padding:2px 6px; border-radius:999px; color:inherit; background:var(--interactive-hover); font-size:12px; font-weight:750; line-height:1.4; text-align:center; }
.todo-group.children-collapsed:not(.todo-drop-parent) > .todo-children { display:none; }
.todo-group.children-collapsed.todo-drop-parent > .todo-children > [data-todo-node] { display:none; }
.todo-edit-form { min-width:0; }
.todo-edit-form input { min-height:40px; padding:9px 11px; }
.todo-empty { padding:34px 20px; }
.todo-drag-placeholder { min-width:0; min-height:62px; border:1px dashed rgba(var(--accent-strong-rgb),.48); border-radius:14px; display:grid; place-items:center; color:var(--red); background:rgba(var(--accent-strong-rgb),.055); font-size:12px; font-weight:700; }
.todo-drag-placeholder::after { content:attr(data-drop-label); padding:8px; text-align:center; }
.todo-drag-placeholder.as-child { min-height:54px; border-radius:10px; }
.todo-node.dragging { overflow:hidden; opacity:.97; filter:drop-shadow(0 18px 28px rgba(24,29,36,.2)); }
.todo-subitem.dragging.todo-drag-root .todo-item { min-height:62px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; background:var(--surface); }
.todo-repeat-explanation { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.todo-repeat-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.text-link { border:0; background:none; color:var(--red); cursor:pointer; font-weight:700; }
.text-link:disabled { color:var(--muted); cursor:default; }
.global-search-controls { margin-bottom:26px; padding:18px; border:1px solid var(--line); border-radius:17px; display:grid; gap:15px; background:var(--surface); }
.global-search-query { display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:11px; }
.global-search-query > span { color:var(--muted); }
.global-search-query svg { width:22px; height:22px; display:block; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.global-search-input-wrap { position:relative; min-width:0; }
.global-search-input-wrap input { width:100%; min-height:46px; padding-right:44px; }
.global-search-input-wrap input::-webkit-search-cancel-button { display:none; }
.global-search-input-wrap [data-clear-global-search] { position:absolute; top:50%; right:7px; width:32px; height:32px; padding:0; border:0; border-radius:8px; display:grid; place-items:center; color:var(--muted); background:transparent; cursor:pointer; font-size:22px; line-height:1; transform:translateY(-50%); }
.global-search-input-wrap [data-clear-global-search]:hover,.global-search-input-wrap [data-clear-global-search]:focus-visible { color:var(--red); background:var(--red-soft); outline:none; }
.global-search-input-wrap [data-clear-global-search][hidden] { display:none; }
.global-search-query .button { min-height:46px; }
.global-search-filters { padding-top:15px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.global-search-filters label { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.global-search-filters select { min-height:42px; padding:10px 12px; color:var(--ink); font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; }
.global-search-results { display:grid; gap:11px; }
.global-search-result { min-width:0; border:1px solid var(--line); border-radius:15px; overflow:hidden; background:var(--surface); transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.global-search-result:hover,.global-search-result:focus-within { border-color:var(--line-strong); box-shadow:0 8px 24px rgba(25,31,38,.08); transform:translateY(-1px); }
.global-search-result > a { min-width:0; padding:18px 20px; display:block; }
.global-search-result-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.global-search-result-type { color:var(--red); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.global-search-result h2 { margin-top:11px; font-size:18px; line-height:1.3; }
.global-search-result p { max-width:900px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.global-search-result footer { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; }
.global-search-result footer strong { overflow:hidden; color:var(--ink-soft); text-overflow:ellipsis; white-space:nowrap; }
.global-search-result footer span { flex:none; }
.global-search-truncated { margin:16px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.search-target { border-color:var(--red)!important; box-shadow:0 0 0 4px rgba(var(--accent-strong-rgb),.13)!important; }
.page-actions { display:flex; align-items:center; gap:10px; }
.project-list-controls { display:flex; align-items:center; gap:8px; }
.project-compact-control { display:flex; align-items:center; gap:7px; }
.project-compact-control:not(.open) .project-search { display:none; }
.project-tool-toggle { position:relative; width:40px; height:40px; padding:0; border:1px solid var(--line); border-radius:10px; display:grid; flex:none; place-items:center; color:var(--muted); background:var(--surface); cursor:pointer; }
.project-tool-toggle:hover,.project-compact-control.open .project-tool-toggle { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); }
.project-compact-control.has-value:not(.open) .project-tool-toggle { color:var(--red); background:var(--red-soft); }
.project-folder-toggle[aria-pressed="true"] { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); }
.project-folder-toggle:disabled { cursor:wait; opacity:.55; }
.project-tool-toggle svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.project-tool-toggle b { position:absolute; top:-5px; right:-5px; min-width:17px; height:17px; padding:0 4px; border:2px solid var(--paper); border-radius:9px; display:grid; place-items:center; color:var(--accent-contrast); background:var(--brand-red); font-size:11px; }
.project-filter-control,.project-sort-control { position:relative; }
.project-filter-control.has-value .project-tool-toggle { color:var(--red); background:var(--red-soft); }
.storage-view-controls .project-filter-control.has-value .project-tool-toggle::after { content:""; position:absolute; top:5px; right:5px; width:7px; height:7px; border:2px solid var(--surface); border-radius:50%; background:var(--brand-red); }
.storage-empty-toggle { margin-top:12px; padding:10px; border-radius:9px; display:flex; flex-direction:row; align-items:flex-start; gap:10px; background:transparent; cursor:pointer; }
.storage-empty-toggle:hover,.storage-empty-toggle:focus-within { background:var(--interactive-hover); }
.storage-empty-toggle:has(input:checked) { background:var(--red-soft); }
.storage-empty-toggle input { width:17px; height:17px; margin:1px 0 0; padding:0; flex:none; accent-color:var(--red); }
.storage-empty-toggle span { min-width:0; display:grid; gap:3px; }
.storage-empty-toggle strong { color:var(--ink); font-size:13px; }
.storage-empty-toggle small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }
.tag-filter-panel,.project-sort-panel { position:absolute; z-index:12; top:47px; right:0; width:min(320px,calc(100vw - 36px)); padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 18px 50px rgba(25,31,38,.16); }
.tag-filter-panel[hidden],.project-sort-panel[hidden] { display:none; }
.tag-filter-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tag-filter-head strong { font-size:13px; }
.tag-filter-head button { border:0; padding:0; color:var(--red); background:none; cursor:pointer; font-size:12px; font-weight:700; }
.tag-filter-options,.project-sort-options { max-height:250px; margin-top:12px; display:grid; gap:4px; overflow:auto; }
.tag-filter-options label,.project-sort-options label { padding:8px 9px; border-radius:8px; flex-direction:row; align-items:center; gap:9px; background:transparent; cursor:pointer; }
.tag-filter-options label:hover,.tag-filter-options label:focus-within,.project-sort-options label:hover,.project-sort-options label:focus-within { background:var(--interactive-hover); }
.tag-filter-options label:has(input:checked),.project-sort-options label:has(input:checked) { background:var(--red-soft); }
.tag-filter-options input,.project-sort-options input { width:15px; height:15px; margin:0; padding:0; accent-color:var(--red); }
.tag-filter-options span,.project-sort-options span { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.tag-filter-options small { color:var(--muted); font-size:11px; font-weight:600; }
.tag-filter-mode { margin-top:12px; font-size:12px; }
.tag-filter-mode select { padding:9px 10px; border-radius:9px; font-size:13px; }
.tag-filter-empty { margin:12px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.active-tag-filters { margin:-24px 0 24px; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.active-tag-filters > span,.active-tag-filters small { color:var(--muted); font-size:12px; }
.active-tag-filters button { border:0; padding:6px 9px; border-radius:999px; color:var(--red); background:var(--red-soft); cursor:pointer; font-size:12px; font-weight:700; }
.project-search { width:190px; min-height:40px; padding:9px 11px; border-radius:10px; font-size:13px; }
.project-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.project-list { grid-template-columns:1fr; gap:12px; }
.folder-breadcrumbs { margin:-12px 0 18px; display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--muted); font-size:13px; }
.folder-breadcrumbs a { color:inherit; font-weight:650; }
.folder-breadcrumbs a:last-child { color:var(--ink); }
.folder-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.folder-card { position:relative; min-height:0; padding:0; border:1px solid var(--line); border-radius:18px; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,34%); background:var(--surface); }
.folder-card:hover { border-color:var(--line-strong); box-shadow:0 5px 16px rgba(19,25,34,.06); }
.folder-card-main { min-width:0; padding:20px 22px; display:flex; align-items:flex-start; gap:13px; }
.folder-icon { position:relative; width:44px; height:32px; margin-top:7px; border:1px solid var(--accent-border); border-radius:5px 8px 8px 8px; display:grid; flex:none; place-items:center; color:var(--red); background:linear-gradient(180deg,var(--accent-soft-light) 0%,var(--red-soft) 100%); box-shadow:0 2px 5px rgba(var(--accent-strong-rgb),.08); }
.folder-icon::before { position:absolute; z-index:0; top:-7px; left:-1px; width:19px; height:7px; border:1px solid var(--accent-border); border-bottom:0; border-radius:5px 5px 0 0; background:var(--accent-soft-light); content:''; }
.folder-icon::after { position:absolute; z-index:0; top:0; left:0; width:18px; height:2px; background:var(--accent-soft-light); content:''; }
.folder-icon svg { position:relative; z-index:1; width:19px; height:19px; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; }
.folder-card:hover .folder-icon,.folder-card:hover .folder-icon::before { border-color:var(--accent-border-strong); }
.folder-card-main > span:last-child { min-width:0; }
.folder-card h3 { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.folder-card p { margin:5px 0 8px; overflow:hidden; color:var(--muted); font-size:13px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.folder-card small { color:var(--muted); font-size:12px; font-weight:650; }
.folder-card-status { border-radius:0 18px 18px 0; }
.project-grid.project-list { grid-template-columns:1fr; gap:12px; }
.project-status-divider { margin:13px 0 1px; display:flex; align-items:center; gap:13px; color:var(--muted); }
.project-status-divider::before,.project-status-divider::after { height:1px; flex:1; background:var(--line); content:''; }
.project-status-divider button { padding:4px 6px; border:0; border-radius:7px; display:flex; flex:none; align-items:center; gap:6px; color:inherit; background:transparent; cursor:pointer; }
.project-status-divider button:hover { color:var(--red); background:transparent; }
.project-status-divider button:focus-visible { color:var(--red); background:transparent; outline:2px solid var(--red); outline-offset:2px; }
.project-status-divider svg { width:14px; height:14px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.project-status-divider button[aria-expanded="false"] svg { transform:rotate(-90deg); }
.project-status-divider span { flex:none; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.project-list-divider { gap:5px; color:var(--muted); }
.project-list-divider::before,.log-section-divider::before { flex-grow:1; }
.project-list-divider::after,.log-section-divider::after { flex-grow:1; }
.project-list-divider .divider-label,.log-section-divider .divider-label { flex:none; font-size:15px; font-weight:750; letter-spacing:-.01em; line-height:1.2; }
.project-list-divider .divider-label b { font:inherit; }
.project-divider-toggle::after,.log-divider-toggle::after { width:14px; height:14px; flex:none; content:''; }
.project-list-divider button { padding:4px; color:var(--muted); }
.project-group-head { min-width:0; display:flex; align-items:center; gap:7px; }
.project-group-head > .project-list-divider { min-width:0; margin:13px 0 1px; flex:1; }
.project-list .project-card { min-height:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,34%); box-shadow:none; }
.project-list .project-card:hover { transform:none; box-shadow:0 5px 16px rgba(19,25,34,.06); }
.project-list .project-card h3 { font-size:15px; }
.project-card-content { min-width:0; padding:20px 22px; display:flex; flex-direction:column; }
.project-card-content p { margin:6px 0 12px; }
.entity-card-lead { min-width:0; display:flex; align-items:flex-start; gap:13px; }
.entity-card-copy { min-width:0; flex:1; }
.entity-card-copy p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.project-entity-icon { width:44px; height:39px; border:1px solid var(--line); border-radius:9px; display:grid; flex:none; place-items:center; color:var(--muted); background:transparent; }
.project-entity-icon svg { width:21px; height:21px; }
.project-next-step { margin-top:auto; margin-left:57px; padding-top:13px; border-top:1px solid var(--line); }
.project-next-step small,.project-next-step strong { display:block; }
.project-next-step small { margin-bottom:5px; color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.project-next-step strong { overflow:hidden; font-size:13px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.project-next-steps { margin:0; padding:0; display:grid; gap:3px; color:var(--ink); font-size:13px; font-weight:700; line-height:1.35; list-style:none; }
.project-next-steps li { position:relative; overflow:hidden; padding-left:15px; text-overflow:ellipsis; white-space:nowrap; }
.project-next-steps li::before { position:absolute; left:1px; content:'•'; color:var(--muted); }
.project-card-status { min-width:0; padding:15px 16px 16px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:9px; background:var(--surface-subtle); border-radius:0 18px 18px 0; }
.project-card-status-head { display:contents; }
.project-card-status-content { display:flex; flex-direction:column; gap:9px; }
.project-card-actions { min-height:36px; display:flex; justify-content:space-between; gap:7px; }
.project-card-actions > :only-child { margin-left:auto; }
.project-card-status .card-menu,.project-card-status .project-flag-toggle,.project-card-status .project-flag-indicator { position:static; }
.project-status-row { min-height:25px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.project-status-row > small { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.project-inline-select { width:auto; min-height:26px; padding:5px 25px 5px 8px; border:1px solid transparent; cursor:pointer; font-family:inherit; }
.project-inline-select:hover,.project-inline-select:focus-visible { border-color:var(--line-strong); outline:none; }
.project-inline-select:disabled { cursor:wait; opacity:.65; }
.project-status-tags { align-items:flex-start; }
.project-status-tags > small { padding-top:5px; }
.project-status-tags .tag-chips { justify-content:flex-end; }
.project-status-empty { padding-top:4px; color:var(--muted); font-size:12px; }
.project-status-value { color:var(--ink-soft); font-size:13px; font-weight:650; }
.project-status-folder { align-items:flex-start; }
.project-status-folder > small { padding-top:3px; }
.project-status-folder a { max-width:70%; color:var(--ink-soft); font-size:12px; font-weight:650; line-height:1.4; overflow-wrap:anywhere; text-align:right; }
.project-status-folder a:hover { color:var(--red); }
.button.danger { border:1px solid var(--danger-border); color:var(--danger-strong); background:var(--surface); }
.button.danger:hover { color:#fff; border-color:var(--danger); background:var(--danger); }
.project-card { position:relative; min-height:225px; padding:22px; border:1px solid var(--line); border-radius:18px; display:flex; flex-direction:column; background:var(--surface); box-shadow:0 8px 24px rgba(25,31,38,.04); transition:.18s ease; }
.project-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--line-strong); }
.card-main { min-height:105px; padding-right:78px; display:flex; flex:1; flex-direction:column; }
.project-card-heading { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; }
.project-card-heading h3 { min-width:0; }
.project-card h3 { font-size:18px; }
.project-card p { margin:8px 0 22px; color:var(--muted); font-size:13px; line-height:1.5; }
.recent-entry-title,.recent-entry-title + span { display:block; }
.recent-entry-title { margin-bottom:5px; color:var(--ink); font-size:13px; }
.overview-section + .overview-section { margin-top:42px; }
.overview-work-section .project-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.overview-work-section .overview-marked-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); }
.overview-project-card,.overview-focus-card { min-height:175px; }
.overview-card-topline { min-height:26px; margin-bottom:9px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.overview-card-kicker { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.overview-project-card > .overview-card-kicker { margin-bottom:9px; }
.overview-card-top-meta { min-width:0; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.overview-project-heading { min-width:0; display:flex; align-items:center; gap:12px; }
.overview-project-heading h3 { min-width:0; }
.overview-project-icon { width:40px; height:36px; }
.overview-project-icon svg { width:20px; height:20px; }
.overview-marked-flag { flex:none; }
.project-card .overview-project-description { margin:16px 0 22px; padding-top:14px; border-top:1px solid var(--line); }
.overview-task-card { min-height:245px; }
.overview-task-project { width:max-content; max-width:100%; }
.overview-task-project:hover h3,.overview-task-copy:hover strong { color:var(--red); }
.overview-task-step { margin:16px 0; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:flex-start; gap:14px; }
.overview-task-copy { min-width:0; display:block; flex:1; }
.overview-task-copy small,.overview-task-copy strong { display:block; }
.overview-task-meta { min-width:0; margin-bottom:6px; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.overview-task-copy .overview-task-meta small { margin:0; color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.overview-task-copy strong { font-size:14px; line-height:1.35; }
.overview-complete-action { flex:none; }
.overview-complete-action:disabled { cursor:wait; opacity:.55; }
.overview-card-badges { margin-top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.overview-due { padding:5px 8px; border-radius:999px; color:var(--ink-soft); background:var(--interactive-hover); font-size:12px; font-weight:750; line-height:1; }
.overview-due.soon { color:var(--warning-strong); background:var(--warning-soft); }
.overview-due.overdue { color:var(--danger-strong); background:var(--danger-soft); }
.project-meta { margin-top:auto; display:block; color:var(--muted); font-size:13px; line-height:1.5; }
.tag-chips { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.project-card > .tag-chips { margin:4px 0 16px; }
.project-hero .tag-chips { margin:0; justify-content:flex-start; }
.tag-chip { border:0; padding:5px 8px; border-radius:999px; color:var(--ink-soft); background:var(--interactive-hover); font-size:12px; font-weight:700; line-height:1; }
a.tag-chip:hover { color:var(--red); background:var(--red-soft); }
.tag-chip.more { color:var(--muted); }
.tag-chip.selected { cursor:pointer; }
.action-menu { position:relative; z-index:3; flex-shrink:0; }
.action-menu[open] { z-index:1001; }
.action-menu summary { width:36px; height:36px; border:1px solid var(--line); border-radius:10px; display:grid; place-items:center; color:var(--muted); background:var(--surface); cursor:pointer; list-style:none; font-size:15px; }
.action-menu summary::-webkit-details-marker { display:none; }
.action-menu summary svg { width:18px; height:18px; display:block; }
.action-menu[open] summary,.action-menu summary:hover { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); }
.action-menu summary:focus-visible { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); outline:2px solid var(--red); outline-offset:2px; }
.action-menu-panel { position:absolute; z-index:1002; top:42px; right:0; width:160px; padding:6px; border:1px solid var(--line); border-radius:12px; display:grid; gap:2px; background:var(--surface); box-shadow:0 14px 38px rgba(25,31,38,.15); }
.project-export-menu .action-menu-panel { width:245px; }
.project-export-menu .menu-item { display:grid; gap:2px; text-decoration:none; }
.project-export-menu .menu-item strong { font-size:13px; }
.project-export-menu .menu-item small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }
.project-export-menu .menu-item:hover small { color:inherit; }
.action-menu-separator { height:1px; margin:4px 5px; background:var(--line); }
.project-export-menu summary svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.card-menu { position:absolute; top:15px; right:15px; }
.menu-item { width:100%; border:0; border-radius:8px; padding:9px 10px; color:var(--ink); background:transparent; cursor:pointer; text-align:left; font-size:13px; font-weight:600; }
.menu-item:hover { color:var(--red); background:var(--interactive-hover); }
.menu-item:focus-visible { color:var(--red); background:var(--interactive-hover); outline:2px solid var(--red); outline-offset:-2px; }
.menu-item.danger { color:var(--danger-strong); }
.menu-item.danger:hover { background:var(--interactive-hover); }
.empty { padding:46px 24px; border:1px dashed var(--line-strong); border-radius:18px; text-align:center; color:var(--muted); }
.empty strong { display:block; margin-bottom:6px; color:var(--ink); }
.storage-location-main small,.storage-type-label { color:var(--red); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.storage-breadcrumbs { width:100%; margin:0; padding:0; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
.storage-breadcrumbs::-webkit-scrollbar { display:none; }
.storage-breadcrumbs a { white-space:nowrap; }
.storage-finder-frame { height:calc(100dvh - 235px); min-height:0; border:1px solid var(--line); border-radius:18px; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; background:var(--surface-muted); box-shadow:0 8px 28px rgba(23,29,36,.07); }
@media (min-width:781px) {
  .storage-finder-edge-to-edge { margin:-22px calc(var(--main-gutter) * -1) -70px; border:0; border-radius:0; box-shadow:none; }
}
.project-share-button { display:inline-flex; align-items:center; gap:7px; flex:none; }
.project-share-button svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.8; }
.project-share-dialog { width:min(900px,calc(100vw - 32px)); }
.project-share-dialog > form { max-width:none; }
.project-share-explanation { padding:16px 18px; border:1px solid var(--info-border); border-radius:14px; background:var(--info-soft); }
.project-share-explanation p { margin:5px 0 0; color:var(--muted); line-height:1.5; }
.project-share-create-fields { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(190px,.7fr); gap:14px; }
.project-share-create-actions { display:flex; justify-content:flex-end; }
.project-share-list-section { margin-top:8px; padding-top:20px; border-top:1px solid var(--line); }
.project-share-list-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.project-share-list-head h3 { margin:0; }
.project-share-list-head span { color:var(--muted); font-size:11px; }
.project-share-list { display:grid; gap:9px; max-height:44vh; overflow:auto; padding-right:3px; }
.project-share-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.project-share-row.inactive { opacity:.65; background:var(--surface-muted); }
.project-share-row-main { min-width:0; }
.project-share-row-main > div { display:flex; align-items:center; gap:9px; }
.project-share-row-main p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.project-share-row-main small { display:block; margin-top:5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.project-share-state { padding:3px 7px; border-radius:999px; background:var(--surface-muted); color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.project-share-state.active { background:var(--success-soft); color:var(--success-strong); }
.project-share-row-actions { display:flex; align-items:center; gap:7px; }
@media (max-width:700px) {
  .project-share-create-fields,.project-share-row { grid-template-columns:1fr; }
  .project-share-row-actions { justify-content:flex-start; }
  .project-share-button b { display:none; }
}
.storage-finder-shell { min-height:0; display:flex; overflow-x:auto; overflow-y:hidden; background:var(--surface-muted); scrollbar-color:var(--line-strong) var(--surface-muted); scrollbar-width:thin; }
.storage-finder-statusbar { min-height:36px; padding:7px 13px; border-top:1px solid var(--line); display:flex; align-items:center; background:var(--surface-subtle); }
.storage-finder-statusbar .storage-breadcrumbs { color:var(--muted); font-size:11px; }
.storage-finder-statusbar .storage-breadcrumbs a { font-weight:650; }
.storage-finder-columns { min-width:max-content; display:flex; align-items:stretch; }
.storage-finder-column { width:340px; min-width:340px; height:100%; border-right:1px solid var(--line); display:grid; grid-template-rows:52px minmax(0,1fr); flex:0 0 340px; overflow:hidden; background:var(--surface); }
.storage-finder-column:has(.action-menu[open]),.storage-finder-column > header:has(.action-menu[open]) { z-index:1000; overflow:visible; }
.storage-finder-column > header { min-width:0; width:100%; height:52px; min-height:52px; padding:8px 12px 8px 16px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:10px; overflow:hidden; background:var(--surface-subtle); }
.storage-finder-column > header strong { min-width:0; display:block; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.storage-finder-column-actions { flex:none; display:flex; align-items:center; gap:5px; }
.storage-finder-column-add { width:34px; height:34px; padding:0; border:1px solid var(--line); border-radius:9px; flex:none; color:var(--red); background:var(--surface); cursor:pointer; font-size:21px; }
.storage-finder-column-add:hover,.storage-finder-column-add:focus-visible { color:#fff; border-color:var(--red); background:var(--red); outline:none; }
.storage-finder-create-menu > summary { width:34px; height:34px; border-radius:9px; color:var(--red); background:var(--surface); font-size:21px; }
.storage-finder-create-menu[open] > summary,.storage-finder-create-menu > summary:hover,.storage-finder-create-menu > summary:focus-visible { color:#fff; border-color:var(--red); background:var(--red); outline:none; }
.storage-finder-create-menu .action-menu-panel { width:248px; }
.storage-finder-create-menu .menu-item { display:grid; gap:3px; }
.storage-finder-create-menu .menu-item strong,.storage-finder-create-menu .menu-item small { display:block; }
.storage-finder-create-menu .menu-item small { color:var(--muted); font-size:10px; font-weight:500; line-height:1.35; }
.storage-finder-create-menu .menu-item:hover small { color:inherit; }
.storage-finder-column-menu summary { width:34px; height:34px; border-radius:9px; color:var(--muted); background:var(--surface); }
.storage-finder-column-menu summary svg { width:18px; height:18px; }
.storage-finder-list { min-width:0; width:100%; min-height:0; padding:7px; overflow-x:hidden; overflow-y:auto; }
.storage-finder-row { position:relative; min-width:0; min-height:54px; margin-bottom:2px; border-radius:10px; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; }
.storage-finder-row:hover { background:var(--interactive-hover); }
.storage-finder-row.selected { color:var(--accent-contrast); background:var(--brand-red); }
.storage-finder-row.archived { opacity:.66; }
.storage-finder-row.selected.archived { opacity:.82; }
.storage-finder-row[draggable="true"] { cursor:grab; }
.storage-finder-row[draggable="true"]:active { cursor:grabbing; }
.storage-finder-row.dragging { opacity:.38; }
.storage-finder-row.location-dragging { opacity:.38; }
.storage-finder-row.location-move-ready { box-shadow:inset 0 0 0 2px rgba(var(--accent-strong-rgb),.3); }
.storage-finder-row.location-move-over { color:var(--accent-contrast); background:var(--brand-red); box-shadow:0 5px 14px rgba(var(--accent-strong-rgb),.2); }
.storage-finder-row.location-move-over .storage-finder-icon { color:var(--accent-contrast); border-color:rgba(var(--accent-contrast-rgb),.48); background:transparent; }
.storage-finder-row.location-move-over .storage-finder-copy small { color:rgba(255,255,255,.82); }
.storage-finder-column.location-column-move-ready > .storage-finder-list { background:rgba(var(--accent-strong-rgb),.025); box-shadow:inset 0 0 0 2px rgba(var(--accent-strong-rgb),.16); }
.storage-finder-column.location-column-move-over > .storage-finder-list { background:rgba(var(--accent-strong-rgb),.07); box-shadow:inset 0 0 0 2px rgba(var(--accent-strong-rgb),.48); }
.storage-finder-row.drop-ready { box-shadow:inset 0 0 0 2px rgba(var(--accent-strong-rgb),.3); }
.storage-finder-row.drop-over { color:var(--accent-contrast); background:var(--brand-red); box-shadow:0 5px 14px rgba(var(--accent-strong-rgb),.2); }
.storage-finder-row.drop-over .storage-finder-icon { color:var(--accent-contrast); border-color:rgba(var(--accent-contrast-rgb),.48); background:transparent; }
.storage-finder-row.drop-over .storage-finder-copy small { color:rgba(255,255,255,.82); }
.storage-finder-column.drop-ready-column > .storage-finder-list { background:rgba(var(--accent-strong-rgb),.025); box-shadow:inset 0 0 0 2px rgba(var(--accent-strong-rgb),.16); }
.storage-finder-column.drop-over-column > .storage-finder-list { background:rgba(var(--accent-strong-rgb),.07); box-shadow:inset 0 0 0 2px rgba(var(--accent-strong-rgb),.48); }
.storage-finder-item-row { grid-template-columns:minmax(0,1fr); }
.storage-finder-item-row .storage-finder-link { grid-template-columns:34px minmax(0,1fr); padding-right:10px; }
.storage-finder-link { min-width:0; min-height:54px; padding:7px 5px 7px 8px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:8px; color:inherit; }
.storage-finder-location-row .storage-finder-link { grid-template-columns:34px minmax(0,1fr) auto; }
.storage-finder-counts { display:flex; align-items:center; gap:4px; }
.storage-finder-count { min-width:25px; height:22px; padding:2px 6px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:3px; color:var(--muted); background:var(--interactive-hover); font-size:10px; font-weight:750; line-height:1; white-space:nowrap; }
.storage-finder-count > span { width:11px; height:11px; display:block; }
.storage-finder-count svg { width:11px; height:11px; display:block; stroke:currentColor; }
.storage-finder-row.selected .storage-finder-count,.storage-finder-row.location-move-over .storage-finder-count,.storage-finder-row.drop-over .storage-finder-count { color:var(--brand-red); background:var(--accent-contrast); }
.storage-finder-link:focus-visible { border-radius:9px; outline:2px solid var(--red); outline-offset:-2px; }
.storage-finder-row.selected .storage-finder-link:focus-visible { outline-color:var(--accent-contrast); }
.storage-finder-icon { width:34px; height:34px; border:1px solid var(--line); border-radius:9px; display:grid; place-items:center; color:var(--muted); background:transparent; }
.storage-finder-icon svg { width:18px; height:18px; stroke:currentColor; }
.storage-finder-row.selected .storage-finder-icon { color:var(--accent-contrast); border-color:rgba(var(--accent-contrast-rgb),.48); background:transparent; }
.storage-finder-location-icon { color:var(--red); border-color:var(--accent-border); background:linear-gradient(180deg,var(--accent-soft-light) 0%,var(--red-soft) 100%); box-shadow:0 2px 5px rgba(var(--accent-strong-rgb),.08); }
.storage-finder-row:hover .storage-finder-location-icon { border-color:var(--accent-border-strong); }
.storage-finder-row.selected .storage-finder-location-icon,.storage-finder-row.location-move-over .storage-finder-location-icon,.storage-finder-row.drop-over .storage-finder-location-icon { color:var(--accent-contrast); border-color:rgba(var(--accent-contrast-rgb),.48); background:transparent; box-shadow:none; }
.storage-finder-item-icon { color:var(--muted); background:transparent; }
.storage-finder-row:hover .storage-finder-item-icon { border-color:var(--line-strong); }
.storage-finder-copy { min-width:0; }
.storage-finder-copy strong,.storage-finder-copy small { overflow:hidden; display:block; text-overflow:ellipsis; white-space:nowrap; }
.storage-finder-copy strong { font-size:13px; }
.storage-finder-copy small { margin-top:3px; color:var(--muted); font-size:10px; }
.storage-finder-row.selected .storage-finder-copy small { color:rgba(var(--accent-contrast-rgb),.78); }
.storage-finder-empty { min-height:170px; padding:26px 18px; display:grid; align-content:center; justify-items:center; gap:12px; color:var(--muted); text-align:center; font-size:12px; }
.storage-finder-empty button { padding:7px 10px; border:1px solid var(--line); border-radius:9px; color:var(--red); background:var(--surface); cursor:pointer; font-size:11px; font-weight:700; }
.storage-finder-detail { width:350px; min-width:350px; align-self:stretch; display:grid; grid-template-rows:52px minmax(0,1fr); overflow:hidden; background:var(--surface-muted); }
.storage-finder-detail-header { height:52px; min-height:52px; padding:8px 12px 8px 16px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--surface-subtle); }
.storage-finder-detail-header > strong { min-width:0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.storage-finder-detail-body { min-height:0; padding:28px 26px; overflow-y:auto; }
.storage-item-column-menu .action-menu-panel { width:220px; }
.storage-item-menu-link { display:block; text-decoration:none; }
.storage-finder-detail-icon { width:58px; height:58px; margin-bottom:20px; border:1px solid var(--line); border-radius:14px; display:grid; place-items:center; color:var(--muted); background:transparent; }
.storage-finder-detail-icon svg { width:28px; height:28px; stroke:currentColor; }
.storage-finder-detail h2 { margin:7px 0 9px; overflow-wrap:anywhere; font-size:25px; }
.storage-finder-detail-body > p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.storage-finder-detail dl { margin:24px 0; border:0; }
.storage-finder-detail dl > div { min-height:30px; border:0; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.storage-finder-detail dt { color:var(--muted); font-size:12px; }
.storage-finder-detail dd { max-width:190px; margin:0; overflow:hidden; font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.storage-finder-detail dd.low { color:var(--red); }
.storage-finder-welcome { display:grid; align-content:center; justify-items:center; text-align:center; }
.storage-finder-welcome p { max-width:260px; }
.storage-mobile-back { display:none; }
.storage-archive-notice { margin:18px 0; padding:13px 14px; border:1px dashed var(--line-strong); border-radius:12px; display:grid; gap:4px; color:var(--muted); background:var(--interactive-hover); font-size:12px; }
.storage-archive-notice strong { color:var(--ink); }
.storage-item-preview { width:88px; height:104px; margin:0 auto 34px; border:1px solid var(--line); border-radius:12px; display:grid; place-items:center; color:var(--muted); background:transparent; }
.storage-item-preview svg { width:40px; height:40px; stroke:currentColor; }
.storage-item-preview.has-image { overflow:hidden; background:var(--surface); }
.storage-item-preview.has-image img { width:100%; height:100%; display:block; object-fit:contain; }
.storage-item-detail h2 { margin-top:0; }
.storage-item-detail .storage-item-metadata { margin:-3px 0 10px; color:var(--muted); font-size:11px; font-weight:700; }
.inventory-item-overview > p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.inventory-item-overview dl { margin:24px 0; border:0; }
.inventory-item-overview dl > div { min-height:30px; border:0; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.inventory-item-overview dt { color:var(--muted); font-size:12px; }
.inventory-item-overview dd { max-width:58%; margin:0; overflow:hidden; font-size:12px; font-weight:700; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.inventory-item-overview dd.low { color:var(--red); }
.inventory-item-overview-actions { margin-top:-10px; display:flex; justify-content:flex-start; }
.storage-item-local { margin:20px 0 4px; padding:14px 15px; border:1px solid var(--warning-border); border-radius:12px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:6px 12px; background:var(--warning-soft); }
.storage-item-local span { color:var(--muted); font-size:13px; font-weight:650; line-height:1.3; }
.storage-item-local strong { color:var(--warning-strong); font-size:18px; line-height:1.2; }
.storage-item-local .storage-item-local-minimum { color:var(--muted); font-size:13px; text-align:right; }
.storage-item-local small { grid-column:1/-1; color:var(--muted); font-size:12px; line-height:1.45; }
.storage-item-header-consume { min-height:34px; padding:7px 11px; border-radius:9px; }
.storage-item-other-locations { margin:20px 0; }
.storage-item-other-locations h3 { margin:0 0 8px; font-size:12px; }
.storage-item-other-locations a { min-height:38px; padding:7px 2px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--ink); font-size:10px; }
.storage-item-other-locations a:hover { color:var(--red); }
.storage-item-other-locations a span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-item-other-locations a strong { flex:none; }
.stock-transfer-choices { margin:3px 0 14px; padding:0; border:0; display:grid; gap:8px; }
.stock-transfer-choices legend { margin-bottom:8px; font-size:12px; font-weight:800; }
.stock-transfer-choices label { min-height:72px; margin:0; padding:12px 13px; border:1px solid var(--line); border-radius:12px; display:flex; align-items:flex-start; gap:10px; cursor:pointer; background:var(--surface); }
.stock-transfer-choices label:hover,.stock-transfer-choices label:focus-within { border-color:var(--line-strong); background:var(--surface-muted); }
.stock-transfer-choices label:has(input:checked) { border-color:var(--red); background:var(--red-soft); box-shadow:0 0 0 1px var(--red); }
.stock-transfer-choices input { width:16px; height:16px; margin:2px 0 0; flex:none; accent-color:var(--red); }
.stock-transfer-choices strong,.stock-transfer-choices small { display:block; }
.stock-transfer-choices strong { font-size:13px; }
.stock-transfer-choices small { margin-top:4px; color:var(--muted); font-size:11px; font-weight:500; line-height:1.4; }
.stock-transfer-note { margin:14px 0 0; padding:11px 12px; border-radius:10px; color:var(--muted); background:var(--interactive-hover); font-size:10px; line-height:1.5; }
.storage-location-series-fields,.storage-location-matrix-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.storage-location-matrix-fields input[name^="letter"] { text-transform:uppercase; }
.storage-location-series-preview { grid-column:1/-1; margin:0; padding:10px 12px; border-radius:10px; color:var(--muted); background:var(--interactive-hover); font-size:11px; line-height:1.45; }
.field-hint { margin-top:6px; display:block; color:var(--muted); font-size:11px; font-weight:500; line-height:1.45; }
.field-label-line { min-height:18px; display:flex; align-items:baseline; gap:6px; }
.field-label-line .optional { margin-left:0; }
.inventory-item-search { min-height:52px; margin:0 0 14px; padding:6px 7px 6px 15px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; gap:8px; background:var(--surface); box-shadow:0 4px 16px rgba(23,29,36,.04); }
.inventory-item-search > span { width:20px; height:20px; flex:none; color:var(--muted); }
.inventory-item-search > span svg { width:20px; height:20px; stroke:currentColor; }
.inventory-item-search input { min-width:0; height:38px; padding:6px 4px; border:0; flex:1; background:transparent; }
.inventory-item-search input:focus { border:0; box-shadow:none; }
.inventory-item-category-filter { width:min(260px,28vw); margin:0; flex:none; }
.inventory-item-category-filter select { width:100%; height:40px; padding:7px 34px 7px 11px; border-radius:10px; background-color:var(--surface-muted); font-size:12px; }
.inventory-item-image-editor { padding:14px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; gap:16px; background:var(--surface-muted); }
.inventory-item-image-editor [hidden] { display:none; }
.inventory-item-image-editor-preview { width:112px; height:84px; border:1px solid var(--line); border-radius:11px; display:grid; place-items:center; overflow:hidden; color:var(--muted); background:var(--surface); font-size:11px; font-weight:700; }
.inventory-item-image-editor-preview img { width:100%; height:100%; display:block; object-fit:contain; }
.inventory-item-image-editor > div:last-child { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.inventory-item-image-editor input[type="file"] { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.inventory-item-image-editor small { width:100%; color:var(--muted); font-size:10px; }
.inventory-item-shell { height:calc(100dvh - 305px); min-height:0; border:1px solid var(--line); border-radius:18px; display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; background:var(--surface-muted); box-shadow:0 8px 28px rgba(23,29,36,.07); }
.inventory-item-shell.has-selection { grid-template-columns:minmax(320px,38%) minmax(0,1fr); }
.inventory-item-shell:not(.has-selection) .inventory-item-welcome { display:none; }
.inventory-item-list-panel { min-width:0; padding:0; border-right:1px solid var(--line); overflow:auto; background:var(--surface); }
.inventory-item-table { width:100%; border-spacing:0; table-layout:fixed; background:var(--surface); }
.inventory-item-table th { height:52px; padding:0 12px; border-bottom:1px solid var(--line); color:var(--muted); background:var(--surface-muted); font-size:10px; font-weight:800; letter-spacing:.045em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.inventory-item-table th:nth-child(2) { width:26%; }
.inventory-item-table th:nth-child(3) { width:25%; }
.inventory-item-table th:nth-child(4),.inventory-item-table th:nth-child(5),.inventory-item-table th:nth-child(6) { width:13%; text-align:right; }
.inventory-item-table th:last-child { width:48px; }
.inventory-item-sort-link { width:100%; height:52px; display:flex; align-items:center; gap:5px; color:inherit; text-decoration:none; }
.inventory-item-sort-link i { width:10px; color:var(--muted); font-size:11px; font-style:normal; letter-spacing:0; text-align:center; }
.inventory-item-sort-link:hover,.inventory-item-sort-link:focus-visible,.inventory-item-sort-link.active { color:var(--red); outline:none; }
.inventory-item-sort-link.active i { color:currentColor; }
.inventory-item-number-heading .inventory-item-sort-link { justify-content:flex-end; }
.inventory-item-row { height:46px; color:var(--ink); cursor:pointer; }
.inventory-item-row:hover { background:var(--interactive-hover); }
.inventory-item-row:focus-visible { outline:2px solid var(--red); outline-offset:-2px; }
.inventory-item-row.selected { color:var(--accent-contrast); background:var(--brand-red); }
.inventory-item-row.archived { opacity:.67; }
.inventory-item-row.selected.archived { opacity:.84; }
.inventory-item-row td { height:46px; padding:5px 12px; border-bottom:1px solid var(--line); overflow:hidden; vertical-align:middle; }
.inventory-item-row:last-child td { border-bottom:0; }
.inventory-item-name-column a { min-width:0; color:inherit; }
.inventory-item-row strong,.inventory-item-row small,.inventory-item-row td > span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inventory-item-row strong { font-size:12px; line-height:1.25; }
.inventory-item-row small { margin-top:2px; color:var(--muted); font-size:9px; line-height:1.2; }
.inventory-item-meta-column > span { font-size:11px; font-weight:650; }
.inventory-item-number-column { font-size:11px; font-variant-numeric:tabular-nums; font-weight:700; text-align:right; }
.inventory-item-number-column.low { color:var(--danger-strong); }
.inventory-item-row.selected small { color:rgba(var(--accent-contrast-rgb),.78); }
.inventory-item-row.selected .inventory-item-number-column.low { color:var(--accent-contrast); }
.inventory-item-actions-column { overflow:visible!important; }
.inventory-item-menu { position:relative; z-index:2; display:flex; justify-content:flex-end; }
.inventory-item-menu summary { width:28px; height:28px; border-color:transparent; color:var(--muted); background:transparent; }
.inventory-item-row.selected .inventory-item-menu summary { color:var(--accent-contrast); }
.inventory-item-menu summary:hover { color:var(--red)!important; background:var(--surface); }
.inventory-item-shell.has-selection .inventory-item-meta-column,.inventory-item-shell.has-selection .inventory-item-reserved-column { display:none; }
.inventory-item-shell.has-selection .inventory-item-table th:nth-child(2) { width:auto; }
.inventory-item-shell.has-selection .inventory-item-table th:nth-child(4),.inventory-item-shell.has-selection .inventory-item-table th:nth-child(6) { width:82px; }
.inventory-item-detail { min-width:0; background:var(--surface-muted); }
.inventory-item-detail:not(.inventory-item-welcome) { display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; }
.inventory-item-detail-body { min-height:0; padding:28px clamp(25px,5vw,58px); overflow-y:auto; }
.inventory-item-detail h2 { margin:7px 0 10px; overflow-wrap:anywhere; font-size:clamp(25px,3vw,34px); }
.inventory-item-detail > p { max-width:720px; margin:0; color:var(--muted); line-height:1.6; }
.inventory-item-detail dl { margin:28px 0; border-top:1px solid var(--line); }
.inventory-item-detail dl > div { min-height:48px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.inventory-item-detail dt { color:var(--muted); font-size:12px; }
.inventory-item-detail dd { max-width:58%; margin:0; overflow:hidden; font-size:12px; font-weight:700; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.inventory-item-detail .inventory-item-overview { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:start; gap:0 28px; }
.inventory-item-detail-menu-header { justify-content:flex-end; }
.inventory-item-detail-close { width:36px; height:36px; border:1px solid var(--line); border-radius:10px; display:grid; place-items:center; color:var(--muted); background:var(--surface); font-size:23px; font-weight:400; line-height:1; }
.inventory-item-detail-close:hover,.inventory-item-detail-close:focus-visible { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); outline:none; }
.inventory-item-detail .inventory-item-overview-heading { grid-column:1; grid-row:1; margin:0 0 18px; }
.inventory-item-detail .inventory-item-overview-heading h2 { margin:0; font-size:clamp(30px,3.5vw,42px); line-height:1.08; }
.inventory-item-detail .inventory-item-overview-heading p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.inventory-item-detail .inventory-item-overview .storage-item-preview { width:100%; height:auto; aspect-ratio:4/3; grid-column:1; grid-row:2; margin:0; }
.inventory-item-detail .inventory-item-stock-overview { grid-column:2; grid-row:2; }
.inventory-item-detail .inventory-item-overview dl { margin:0; border:0; }
.inventory-item-detail .inventory-item-overview dl > div { min-height:30px; border:0; gap:14px; }
.inventory-item-detail .inventory-item-overview > .storage-item-metadata { grid-column:1; grid-row:3; margin:16px 0 0; }
.inventory-item-detail .inventory-item-overview > p:not(.storage-item-metadata) { grid-column:1/-1; }
.inventory-item-detail .inventory-item-overview-actions { margin-top:10px; }
.inventory-stock-summary { margin:24px 0 10px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.inventory-stock-summary > div { min-height:82px; padding:14px 15px; border:1px solid var(--line); border-radius:13px; display:grid; align-content:center; gap:7px; background:var(--surface); }
.inventory-stock-summary span { color:var(--muted); font-size:11px; }
.inventory-stock-summary strong { overflow-wrap:anywhere; font-size:18px; }
.inventory-stock-summary .low { border-color:var(--danger-border); background:var(--danger-soft); }
.inventory-stock-summary .low strong { color:var(--red); }
.inventory-reservation-list,.project-reservation-list { display:grid; gap:9px; }
.inventory-detail-section .inventory-reservation-list { gap:0; }
.inventory-section-create { margin-top:2px; display:flex; justify-content:flex-end; }
.inventory-stock-empty .inventory-section-create { margin-top:14px; justify-content:center; }
.inventory-reservation-empty { text-align:left; }
.inventory-reservation-empty .inventory-section-create { justify-content:flex-start; }
.inventory-reservation { padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.inventory-detail-section .inventory-reservation { padding:13px 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.inventory-reservation.closed { opacity:.7; }
.inventory-reservation > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.inventory-reservation a { min-width:0; overflow:hidden; color:var(--ink); font-size:13px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.inventory-reservation > strong { margin-top:8px; display:block; font-size:12px; }
.inventory-reservation p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.inventory-reservation footer { margin-top:11px; display:flex; flex-wrap:wrap; gap:7px; }
.reservation-status { flex:none; padding:4px 7px; border-radius:999px; color:var(--ink-soft); background:var(--interactive-hover); font-size:9px; font-weight:800; text-transform:uppercase; }
.reservation-status.active { color:var(--warning-strong); background:var(--warning-soft); }
.reservation-status.fulfilled { color:var(--success-strong); background:var(--success-soft); }
.project-reservation-list { padding:2px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.project-reservation-list .inventory-reservation { background:var(--surface-subtle); }
.replenishment-summary { margin:0 0 14px; display:grid; grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(240px,2fr); gap:10px; }
.replenishment-summary > div { min-height:78px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; display:grid; align-content:center; gap:7px; background:var(--surface); }
.replenishment-summary span { color:var(--muted); font-size:10px; }
.replenishment-summary strong { overflow-wrap:anywhere; font-size:17px; }
.replenishment-controls { margin-bottom:14px; padding:10px; border:1px solid var(--line); border-radius:14px; display:grid; grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto; align-items:end; gap:9px; background:var(--surface); }
.replenishment-controls label { margin:0; color:var(--muted); font-size:10px; font-weight:700; }
.replenishment-controls input,.replenishment-controls select { margin-top:5px; }
.replenishment-list { display:grid; gap:11px; }
.replenishment-item { padding:17px 18px; border:1px solid var(--line); border-left:4px solid var(--warning); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-soft); }
.replenishment-item.satisfied { border-left-color:var(--success); opacity:.78; }
.replenishment-item > header { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.replenishment-item h2 { margin:7px 0 2px; font-size:17px; }
.replenishment-item h2 a { color:var(--ink); }
.replenishment-item header p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.replenishment-reasons { display:flex; flex-wrap:wrap; gap:5px; }
.replenishment-reasons span { padding:4px 7px; border-radius:999px; color:var(--warning-strong); background:var(--warning-soft); font-size:9px; font-weight:800; }
.replenishment-reasons span.project { color:var(--danger-strong); background:var(--danger-soft); }
.replenishment-reasons span.satisfied { color:var(--success-strong); background:var(--success-soft); }
.replenishment-order { flex:none; text-align:right; }
.replenishment-order span,.replenishment-order strong { display:block; }
.replenishment-order span { color:var(--muted); font-size:10px; }
.replenishment-order strong { margin-top:5px; color:var(--warning-strong); font-size:20px; }
.replenishment-item.satisfied .replenishment-order strong { color:var(--success-strong); }
.replenishment-metrics { margin-top:14px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:11px; overflow:hidden; }
.replenishment-metrics > div { min-width:0; padding:10px 12px; border-right:1px solid var(--line); display:grid; gap:5px; }
.replenishment-metrics > div:last-child { border-right:0; }
.replenishment-metrics span { color:var(--muted); font-size:9px; }
.replenishment-metrics strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; }
.replenishment-metrics .negative strong { color:var(--warning-strong); }
.replenishment-local { margin-top:11px; border-top:1px solid var(--line); }
.replenishment-local summary { padding:11px 2px 3px; color:var(--muted); cursor:pointer; font-size:10px; font-weight:800; }
.replenishment-local > div { margin-top:5px; display:grid; gap:4px; }
.replenishment-local a { padding:7px 9px; border-radius:8px; display:flex; justify-content:space-between; gap:12px; color:var(--ink); background:var(--surface-muted); font-size:10px; }
.replenishment-item > footer { margin-top:13px; display:flex; align-items:center; gap:8px; }
.replenishment-no-merchant { color:var(--muted); font-size:10px; }
.replenishment-empty { min-height:220px; }
.inventory-archive-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.inventory-archive-group { min-width:0; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 4px 16px rgba(23,29,36,.04); }
.inventory-archive-group > header { margin-bottom:12px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.inventory-archive-group h2 { margin:0; font-size:17px; }
.inventory-archive-group header span { color:var(--muted); font-size:11px; }
.inventory-archive-list { display:grid; gap:6px; }
.inventory-archive-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.inventory-archive-row>.action-menu{position:relative}.inventory-archive-row>.action-menu>summary{width:38px;height:48px;border-radius:10px;background:var(--surface-muted)}.inventory-archive-row>.action-menu>summary svg{width:17px;height:17px}.inventory-archive-row>.action-menu .action-menu-panel{right:0;z-index:20}.inventory-archive-row>a{min-width:0}
.inventory-archive-list a { min-height:48px; padding:9px 11px; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--ink); background:var(--surface-muted); }
.inventory-archive-list a:hover { color:var(--red); background:var(--red-soft); }
.inventory-archive-list strong,.inventory-archive-list small { display:block; }
.inventory-archive-list strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.inventory-archive-list small { margin-top:3px; color:var(--muted); font-size:9px; }
.inventory-archive-list i { flex:none; color:var(--muted); font-size:18px; font-style:normal; }
.inventory-archive-empty { min-height:150px; padding:25px 12px; display:grid; place-items:center; color:var(--muted); text-align:center; font-size:11px; }
.inventory-stock-warning { margin:0 0 20px!important; color:var(--red)!important; font-size:12px!important; font-weight:700; }
#inventory-item-form [hidden],#storage-location-form [hidden],#stock-entry-form [hidden],#stock-movement-form [hidden],#stock-transfer-form [hidden],#reservation-form [hidden] { display:none; }
.inventory-tracking-mode { margin:0; padding:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.inventory-tracking-mode legend { margin-bottom:8px; color:var(--ink); font-size:13px; font-weight:600; }
.inventory-tracking-mode label { min-height:72px; margin:0; padding:11px 12px; border:1px solid var(--line); border-radius:12px; display:flex; align-items:flex-start; gap:9px; background:var(--surface); cursor:pointer; }
.inventory-tracking-mode label:hover,.inventory-tracking-mode label:focus-within { border-color:var(--line-strong); background:var(--surface-muted); }
.inventory-tracking-mode label:has(input:checked) { border-color:var(--red); background:var(--red-soft); box-shadow:0 0 0 1px var(--red); }
.inventory-tracking-mode input { width:auto; margin:3px 0 0; accent-color:var(--red); }
.inventory-tracking-mode span { min-width:0; display:grid; gap:4px; }
.inventory-tracking-mode strong { color:var(--ink); font-size:13px; }
.inventory-tracking-mode small { color:var(--muted); font-size:11px; line-height:1.4; }
@media (max-width:560px) { .inventory-tracking-mode { grid-template-columns:1fr; } }
#stock-entry-form.stock-entry-editing .inventory-item-meta-fields { grid-template-columns:1fr; }
.number-stepper,.stock-entry-quantity-stepper,.stock-quantity-stepper,.stock-transfer-quantity-stepper,.storage-location-series-stepper { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:stretch; gap:8px; }
.number-stepper button,.stock-entry-quantity-stepper button,.stock-quantity-stepper button,.stock-transfer-quantity-stepper button,.storage-location-series-stepper button { width:46px; min-height:46px; padding:0; border:1px solid var(--line); border-radius:11px; color:var(--red); background:var(--surface); cursor:pointer; font-size:24px; line-height:1; }
.number-stepper button:hover,.number-stepper button:focus-visible,.stock-entry-quantity-stepper button:hover,.stock-entry-quantity-stepper button:focus-visible,.stock-quantity-stepper button:hover,.stock-quantity-stepper button:focus-visible,.stock-transfer-quantity-stepper button:hover,.stock-transfer-quantity-stepper button:focus-visible,.storage-location-series-stepper button:hover,.storage-location-series-stepper button:focus-visible { color:#fff; border-color:var(--red); background:var(--red); outline:none; }
.number-stepper input,.stock-entry-quantity-stepper input,.stock-quantity-stepper input,.stock-transfer-quantity-stepper input,.storage-location-series-stepper input,#inventory-item-form input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
.number-stepper input::-webkit-inner-spin-button,.number-stepper input::-webkit-outer-spin-button,.stock-entry-quantity-stepper input::-webkit-inner-spin-button,.stock-entry-quantity-stepper input::-webkit-outer-spin-button,.stock-quantity-stepper input::-webkit-inner-spin-button,.stock-quantity-stepper input::-webkit-outer-spin-button,.stock-transfer-quantity-stepper input::-webkit-inner-spin-button,.stock-transfer-quantity-stepper input::-webkit-outer-spin-button,.storage-location-series-stepper input::-webkit-inner-spin-button,.storage-location-series-stepper input::-webkit-outer-spin-button,#inventory-item-form input[type="number"]::-webkit-inner-spin-button,#inventory-item-form input[type="number"]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.inventory-stock-section { margin:26px 0; }
.inventory-stock-section-head { min-height:38px; margin-bottom:10px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.inventory-stock-section-head > div:first-child { min-width:0; }
.inventory-stock-section-head h3 { margin:0; font-size:15px; }
.inventory-stock-section-head span { margin-top:3px; display:block; color:var(--muted); font-size:10px; }
.inventory-stock-section-head > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.inventory-detail-section { margin:24px 0; border:0; border-radius:0; overflow:visible; background:transparent; }
.inventory-detail-section > summary { min-height:38px; margin:0 0 10px; padding:0 2px; display:flex; align-items:center; gap:7px; cursor:pointer; list-style:none; }
.inventory-detail-section > summary::-webkit-details-marker { display:none; }
.inventory-detail-section > summary::before,.inventory-detail-section > summary::after { height:1px; min-width:12px; flex:1; background:var(--line); content:''; }
.inventory-detail-section > summary svg { width:14px; height:14px; flex:none; color:var(--muted); stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.inventory-detail-section:not([open]) > summary svg { transform:rotate(-90deg); }
.inventory-detail-section > summary > div { min-width:0; flex:none; display:flex; align-items:baseline; gap:6px; }
.inventory-detail-section > summary h3 { white-space:nowrap; }
.inventory-detail-section > summary span { margin:0; white-space:nowrap; }
.inventory-detail-section:not([open]) > summary { margin-bottom:0; }
.inventory-detail-section-body { padding:14px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }
.inventory-stock-entry-list { display:grid; gap:0; }
.inventory-stock-entry { padding:13px 14px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.inventory-detail-section .inventory-stock-entry { padding:13px 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.inventory-item-note-list { display:grid; gap:10px; }
.inventory-item-note { padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface-subtle); }
.inventory-item-note-copy { color:var(--ink); font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.inventory-item-note footer { min-height:28px; margin-top:10px; padding-top:9px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.inventory-item-note footer > span { color:var(--muted); font-size:10px; }
.inventory-item-note-menu { position:relative; flex:none; }
.inventory-item-note-menu summary { width:28px; height:28px; border-color:transparent; background:transparent; }
.inventory-item-notes-section .inventory-section-create { margin-top:12px; }
.inventory-item-note-empty .inventory-section-create { margin-top:10px; }
.inventory-stock-entry.archived { opacity:.66; background:var(--interactive-hover); }
.inventory-stock-entry > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.inventory-stock-entry > div a { min-width:0; overflow:hidden; color:var(--ink); font-size:12px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.inventory-stock-entry > div a:hover { color:var(--red); }
.inventory-stock-entry > div strong { flex:none; color:var(--red); font-size:14px; }
.inventory-stock-entry > p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.inventory-stock-entry footer { margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.inventory-stock-empty { padding:20px 2px; border:0; border-top:1px solid var(--line); border-radius:0; color:var(--muted); text-align:center; font-size:12px; }
.inventory-stock-history { border-top:1px solid var(--line); }
.inventory-stock-transaction { min-height:55px; padding:9px 2px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:95px minmax(0,1fr) auto; align-items:center; gap:12px; }
.inventory-stock-transaction > span { font-size:13px; font-weight:800; }
.inventory-stock-transaction > span.inbound { color:var(--success-strong); }
.inventory-stock-transaction > span.outbound { color:var(--red); }
.inventory-stock-transaction.reservation-event > span { color:var(--warning-strong); }
.inventory-stock-transaction > div { min-width:0; }
.inventory-stock-transaction strong,.inventory-stock-transaction small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inventory-stock-transaction strong { font-size:11px; }
.inventory-stock-transaction small { margin-top:3px; color:var(--muted); font-size:9px; }
.inventory-stock-transaction time { color:var(--muted); font-size:9px; white-space:nowrap; }
.inventory-item-master-data { margin:18px 0; }
.inventory-item-master-data dl { margin:0; border-top:1px solid var(--line); }
.storage-location-stock { margin:24px 0; }
.storage-location-stock > div:first-child { margin-bottom:7px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.storage-location-stock h3 { margin:0; font-size:13px; }
.storage-location-stock > div:first-child span { min-width:24px; padding:3px 6px; border-radius:99px; color:var(--red); background:var(--red-soft); text-align:center; font-size:10px; font-weight:800; }
.storage-location-stock > a { min-height:39px; padding:7px 0; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--ink); font-size:10px; }
.storage-location-stock > a:hover span { color:var(--red); }
.storage-location-stock > a span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-location-stock > a strong { flex:none; color:var(--red); font-size:10px; }
.storage-location-stock > p { margin:8px 0 0; color:var(--muted); font-size:11px; }
.storage-location-history { margin-top:26px; }
.inventory-item-welcome { display:grid; align-content:center; justify-items:center; text-align:center; }
.inventory-item-welcome p { max-width:340px; }
.inventory-item-mobile-back { display:none; }
.inventory-phase-note { margin:0 0 22px; padding:14px 15px; border:1px dashed var(--line-strong); border-radius:12px; display:grid; gap:4px; color:var(--muted); background:var(--interactive-hover); font-size:12px; }
.inventory-phase-note strong { color:var(--ink); }
.inventory-item-empty { min-height:260px; padding:28px; display:grid; align-content:center; justify-items:center; gap:10px; color:var(--muted); text-align:center; }
.inventory-item-empty strong { color:var(--ink); }
.inventory-item-core-fields { display:grid; grid-template-columns:minmax(0,2fr) minmax(150px,1fr); gap:12px; }
.inventory-item-meta-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.activity-section { margin-top:0; }
.activity-total { color:var(--muted); font-size:13px; }
.activity-total b { color:var(--ink); font-size:14px; }
.activity-card { padding:20px 22px 16px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.activity-chart { width:100%; min-width:0; display:flex; align-items:flex-start; gap:7px; }
.activity-plot { min-width:0; flex:1; overflow:hidden; }
.activity-grid-clip { margin-left:auto; display:flex; justify-content:flex-end; overflow:hidden; }
.activity-weeks { width:max-content; display:flex; flex:none; align-items:flex-end; gap:3px; }
.activity-week { position:relative; width:10px; padding-top:28px; flex:none; }
.activity-week.year-start { margin-left:4px; }
.activity-week-days { display:grid; grid-template-rows:repeat(7,10px); gap:3px; }
.activity-weekdays { width:24px; margin-top:28px; display:grid; flex:none; grid-template-rows:repeat(7,10px); gap:3px; color:var(--muted); font-size:8px; line-height:10px; }
.activity-month-label { position:absolute; top:14px; left:0; color:var(--muted); font-size:11px; line-height:11px; white-space:nowrap; }
.activity-year-line { position:absolute; z-index:2; top:12px; bottom:0; left:-4px; width:1px; border-left:1px solid var(--line-strong); pointer-events:none; }
.activity-year-label { position:absolute; top:0; left:0; color:var(--muted); font-size:11px; line-height:11px; letter-spacing:.02em; white-space:nowrap; }
.activity-day,.activity-legend i { width:10px; height:10px; border:1px solid var(--line); border-radius:3px; display:block; background:var(--interactive-hover); }
.activity-day[data-level="1"],.activity-legend i[data-level="1"] { border-color:var(--accent-border); background:var(--accent-level-1); }
.activity-day[data-level="2"],.activity-legend i[data-level="2"] { border-color:var(--accent-border-strong); background:var(--accent-level-2); }
.activity-day[data-level="3"],.activity-legend i[data-level="3"] { border-color:var(--red); background:var(--accent-level-3); }
.activity-day[data-level="4"],.activity-legend i[data-level="4"] { border-color:var(--red); background:var(--brand-red); }
.activity-legend { margin-top:9px; display:flex; justify-content:flex-end; align-items:center; gap:4px; color:var(--muted); font-size:11px; }
.activity-legend i { width:10px; height:10px; }
.project-timeline-section { margin-top:0; }
.archive-note { margin-top:34px; padding:18px 20px; border:1px solid var(--line); border-radius:14px; color:var(--muted); background:var(--surface-subtle); }
.archive-note p { margin:0; font-size:13px; line-height:1.55; }
.project-timeline-card { border:1px solid var(--line); border-radius:17px; overflow:hidden; background:var(--surface); }
.project-timeline-scale,.project-timeline-row { padding:0 22px; display:grid; grid-template-columns:minmax(120px,170px) minmax(0,1fr); align-items:center; gap:18px; }
.project-timeline-scale { min-height:54px; border-bottom:1px solid var(--line); }
.project-timeline-rows { padding:9px 0; }
.project-timeline-row { min-height:30px; }
.project-timeline-row:hover { background:var(--surface-subtle); }
.project-timeline-label { min-width:0; }
.project-timeline-label strong { display:block; }
.project-timeline-label strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.project-timeline-label-head { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; }
.project-timeline-plot { min-width:0; overflow:hidden; }
.project-timeline-clip { margin-left:auto; display:flex; justify-content:flex-end; overflow:hidden; }
.project-time-weeks { width:max-content; display:flex; flex:none; align-items:center; gap:3px; }
.project-time-week { position:relative; width:10px; height:20px; flex:none; }
.project-time-week.year-start { margin-left:4px; }
.project-time-header { height:42px; align-items:flex-end; }
.project-time-header .project-time-week { height:42px; }
.project-time-cell { height:12px; background:transparent; }
.project-time-cell.running::before { content:''; position:absolute; z-index:0; inset:0 -3px 0 0; background:var(--line); }
.project-time-cell.year-start.running::before { left:-3px; }
.project-time-cell.running-start::before { left:0; border-radius:6px 0 0 6px; }
.project-time-cell.running-end::before { right:0; border-radius:0 6px 6px 0; }
.project-time-cell.running-start.running-end::before { border-radius:6px; }
.project-time-cell.running[data-level="1"]::before { background:var(--accent-level-1); }
.project-time-cell.running[data-level="2"]::before { background:var(--accent-level-2); }
.project-time-cell.running[data-level="3"]::before { background:var(--accent-level-3); }
.project-time-cell.running[data-level="4"]::before { background:var(--brand-red); }
.project-time-month,.project-time-year { position:absolute; left:0; white-space:nowrap; font-style:normal; }
.project-time-month { bottom:4px; color:var(--muted); font-size:11px; line-height:11px; }
.project-time-year { top:3px; color:var(--muted); font-size:11px; line-height:11px; letter-spacing:.02em; }
.project-time-year-line { position:absolute; z-index:2; top:0; bottom:0; left:-4px; width:1px; border-left:1px solid var(--line-strong); pointer-events:none; }
.project-time-header .project-time-year-line { top:14px; }
.project-page-head { margin:0 calc(var(--main-gutter) * -1); padding:0 var(--main-gutter); border-bottom:1px solid var(--line); background:var(--surface); }
.project-page-head.standalone-page-head { margin-top:-54px; padding-top:42px; }
.project-page-breadcrumbs { margin:-54px calc(var(--main-gutter) * -1) 0; padding:42px var(--main-gutter) 18px; background:var(--surface); }
.project-page-breadcrumbs .folder-breadcrumbs { margin:0; }
.project-browser-breadcrumbs { padding-bottom:4px; }
.project-hero { padding:10px 0 17px; }
.project-browser-hero .project-heading-row { align-items:center; }
.project-browser-hero-actions { margin-left:auto; padding-left:24px; flex:none; }
.project-browser-page-content .active-tag-filters { margin:0 0 24px; }
.common-page-hero .project-heading-row { align-items:center; }
.common-page-hero .project-hero-icon svg,.standard-page-head .project-hero-icon svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.common-page-hero-actions { margin-left:auto; display:flex; flex:none; align-items:center; }
.common-page-hero-actions:empty { display:none; }
.standard-page-head { box-sizing:border-box; height:154px; min-height:154px; margin:-54px calc(var(--main-gutter) * -1) 0; padding:26px var(--main-gutter) 16px; border-bottom:1px solid var(--line); background:var(--surface); }
.standard-page-breadcrumbs { height:20px; margin:0 0 4px; display:flex; align-items:center; color:var(--muted); font-size:13px; }
.standard-page-breadcrumbs.empty { visibility:hidden; }
.standard-page-breadcrumbs .folder-breadcrumbs { margin:0; }
.standard-page-head .project-hero { width:100%; padding:0; }
.standard-page-head .project-heading-row { box-sizing:border-box; height:88px; padding:12px 0; align-items:center; }
.standard-page-head .project-hero-icon { width:54px; height:54px; }
.standard-page-head .project-title-line h1,.standard-plain-page-head h1 { margin:0; font-size:clamp(28px,3vw,40px); line-height:1.08; }
.standard-page-head .project-description,.standard-plain-page-head p { min-height:21px; margin:7px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.standard-page-head .standard-page-head-actions { margin-left:auto; padding-left:24px; display:flex; flex:none; align-items:center; justify-content:flex-end; gap:10px; }
.standard-page-head .standard-page-head-actions:empty { display:none; }
.standard-plain-page-head { margin-bottom:22px; display:grid; grid-template-columns:54px minmax(0,1fr) auto; grid-template-rows:20px 88px; align-items:center; column-gap:17px; }
.standard-plain-page-head .standard-page-breadcrumbs { grid-column:1/-1; grid-row:1; }
.standard-plain-page-head > .project-hero-icon { grid-column:1; grid-row:2; }
.standard-plain-page-head > .project-heading-content { grid-column:2; grid-row:2; }
.standard-plain-page-head > .standard-page-head-actions { grid-column:3; grid-row:2; }
.project-hero-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(350px,40%); gap:42px; align-items:stretch; }
.project-hero-main { min-width:0; }
.project-heading-row { position:relative; min-width:0; padding:14px 0; display:flex; align-items:flex-start; gap:17px; }
.project-heading-content { min-width:0; flex:1; }
.project-hero-icon { width:54px; height:54px; border-radius:14px; display:grid; flex:none; place-items:center; color:var(--muted); background:var(--interactive-hover); }
.project-hero-icon svg { width:29px; height:29px; }
.project-title-line { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:9px; }
.project-title-line h1 { font-size:clamp(28px,3vw,40px); line-height:1.08; }
.project-hero-status { min-width:0; padding:0 0 7px 28px; border-left:1px solid var(--line); }
.project-hero-status-head { min-height:36px; margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.project-hero-status-head > span { color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mobile-status-toggle,.mobile-workstep-status-head,.mobile-project-status-controls { display:none; }
.project-hero-actions { display:flex; align-items:center; gap:7px; }
.project-hero-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 20px; }
.project-hero-fact { min-width:0; display:flex; align-items:flex-start; flex-direction:column; gap:7px; }
.project-hero-fact > small { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.project-hero-fact .project-inline-select { max-width:100%; }
.project-hero-tags { grid-column:1/-1; padding-top:13px; border-top:1px solid var(--line); }
.project-hero-tags .project-status-empty { padding-top:0; }
.project-status,.project-priority { padding:5px 8px; border-radius:999px; color:var(--ink-soft); background:var(--interactive-hover); font-size:12px; font-weight:750; line-height:1; }
.project-priority.hoch { color:var(--danger-strong); background:var(--danger-soft); }
.project-status-row > .project-status,.project-status-row > .project-priority,.project-hero-fact > .project-status,.project-hero-fact > .project-priority { width:112px; max-width:100%; text-align:center; text-align-last:center; }
.project-status-row > span.project-status,.project-status-row > span.project-priority,.project-hero-fact > span.project-status,.project-hero-fact > span.project-priority { display:inline-flex; align-items:center; justify-content:center; }
.project-flag-toggle,.project-flag-indicator,.edit-action { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; color:var(--muted); }
.project-flag-toggle { border:1px solid var(--line); background:var(--surface); cursor:pointer; }
.project-flag-toggle:hover,.project-flag-toggle:focus-visible,.edit-action:hover,.edit-action:focus-visible { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); outline:none; }
.project-flag-toggle.active,.project-flag-indicator { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); }
.project-flag-toggle svg,.project-flag-indicator svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.project-flag-toggle.active svg path:last-child,.project-flag-indicator svg path:last-child { fill:currentColor; }
.edit-action { padding:0; border:1px solid var(--line); background:var(--surface); cursor:pointer; }
.edit-action svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.delete-action { color:var(--danger-strong); }
.delete-action:hover,.delete-action:focus-visible { color:#fff; border-color:var(--danger); background:var(--danger); }
.project-card > .project-flag-toggle,.project-card > .project-flag-indicator { position:absolute; z-index:2; top:15px; right:58px; }
.project-flag-heading { position:static; width:24px; height:24px; border-radius:7px; }
.project-flag-heading svg { width:14px; height:14px; }
.project-description { max-width:780px; margin:7px 0 0; display:-webkit-box; overflow:hidden; color:var(--muted); font-size:14px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.project-subnav { margin:0; padding:22px 0 0; display:flex; align-items:center; justify-content:flex-start; gap:18px; }
.project-subnav .button { flex-shrink:0; }
.project-subnav .tabs { width:max-content; max-width:100%; margin:0; padding:4px; border:1px solid var(--line-strong); border-radius:13px; display:flex; gap:4px; overflow:auto; background:var(--interactive); }
.tab { white-space:nowrap; border:0; padding:9px 14px; border-radius:9px; display:flex; align-items:center; gap:5px; color:var(--ink-soft); background:transparent; cursor:pointer; font-size:13px; font-weight:700; }
.tab-count { font-size:11px; font-weight:650; opacity:.72; }
.tab:hover,.tab:focus-visible { color:var(--red); background:var(--surface); outline:none; }
.tab.active { color:var(--accent-contrast); background:var(--brand-red); box-shadow:0 2px 7px rgba(var(--accent-strong-rgb),.2); }
.tab.active:hover,.tab.active:focus-visible { color:#fff; background:var(--red); }
.project-page-content { padding-top:28px; }
.project-content-toolbar { margin-bottom:12px; display:flex; align-items:center; justify-content:center; }
.project-browser-create-toolbar { margin-bottom:18px; }
.project-unified-sections { display:grid; gap:18px; }
.project-unified-section { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--surface); }
.unified-section-head { min-height:58px; border-bottom:1px solid var(--line); background:var(--surface-subtle); }
.unified-section-head:has(button[aria-expanded="false"]) { border-bottom:0; }
.unified-section-head button { width:100%; min-height:58px; padding:10px 18px; border:0; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--ink); background:transparent; cursor:pointer; text-align:center; }
.unified-section-head button::after { width:18px; height:18px; flex:none; content:''; }
.unified-section-head button:hover { color:var(--red); background:transparent; }
.unified-section-head button:focus-visible { color:var(--red); background:transparent; outline:2px solid var(--red); outline-offset:-4px; }
.unified-section-head svg { width:18px; height:18px; flex:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.unified-section-head button[aria-expanded="false"] svg { transform:rotate(-90deg); }
.unified-section-head span { min-width:0; display:flex; align-items:baseline; gap:8px; }
.unified-section-head strong { font-size:17px; }
.unified-section-head small { color:var(--muted); font-size:12px; font-weight:700; }
.project-unified-content { padding:18px; }
.project-unified-content > .next-steps-section:last-child,.project-unified-content > .diary-section:last-child { margin-bottom:0; }
.project-content-empty { margin-top:4px; }
.project-add-button { gap:7px; }
.project-add-button span { font-size:20px; font-weight:500; line-height:1; }
.project-add-button b { font-size:12px; }
.timeline { position:relative; display:grid; gap:16px; }
.entry { position:relative; padding:21px 22px 19px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.entry:has(.action-menu[open]),.task-card:has(.action-menu[open]),.item-card:has(.action-menu[open]) { z-index:1000; }
.entry[data-edit-entry-card],.item-card[data-edit-item-card],.task-card[data-edit-item-card] { cursor:pointer; transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.entry[data-edit-entry-card]:hover,.item-card[data-edit-item-card]:hover,.task-card[data-edit-item-card]:hover { border-color:var(--line-strong); box-shadow:var(--shadow-soft); transform:translateY(-1px); }
.entry[data-edit-entry-card]:focus-visible,.item-card[data-edit-item-card]:focus-visible,.task-card[data-edit-item-card]:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.entry-top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; color:var(--muted); font-size:13px; }
.entry-actions { display:flex; align-items:center; gap:7px; }
.entry-top strong,.entry-top span { display:block; }
.entry-top strong { margin-bottom:4px; color:var(--ink); font-size:14px; }
.entry-body { margin:15px 0; font-size:14px; line-height:1.6; white-space:pre-wrap; }
.entry-empty { margin:15px 0 0; color:var(--muted); font-size:13px; font-style:italic; }
.item-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.item-card { position:relative; min-height:108px; padding:16px 105px 16px 16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.item-card h3 { margin:0; font-size:14px; line-height:1.35; }
.item-card p { margin:8px 0; color:var(--muted); font-size:14px; line-height:1.6; white-space:pre-wrap; }
.item-card small { display:block; margin-top:6px; color:var(--muted); font-size:13px; font-weight:650; }
.item-actions { position:absolute; top:15px; right:15px; display:flex; align-items:center; gap:7px; }
.entity-attachments { margin-top:15px; padding-top:12px; border-top:1px solid var(--line); display:grid; gap:8px; }
.attachment-row { width:100%; min-width:0; min-height:62px; padding:0 12px 0 0; border:1px solid var(--line-strong); border-radius:10px; display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:12px; overflow:hidden; color:var(--ink-soft); background:var(--surface-muted); cursor:pointer; font-family:inherit; font-size:12px; font-weight:700; text-align:left; text-decoration:none; }
.attachment-row:hover,.attachment-row:focus-visible { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); outline:none; }
.attachment-thumbnail { width:90px; height:60px; border-right:1px solid var(--line); display:grid; place-items:center; overflow:hidden; background:var(--surface); }
.attachment-thumbnail.image img { width:100%; height:100%; object-fit:cover; transition:transform .18s ease; }
.attachment-thumbnail.document small { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.08em; }
.attachment-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.attachment-size { color:var(--muted); font-size:11px; font-weight:650; white-space:nowrap; }
.attachment-add { width:max-content; height:26px; padding:0 7px; border:1px solid var(--line); border-radius:7px; display:flex; align-items:center; gap:4px; color:var(--muted); background:transparent; font-family:inherit; font-size:10px; font-weight:650; line-height:1; cursor:pointer; }
.attachment-add > span { font-size:14px; font-weight:500; }
.attachment-add:hover,.attachment-add:focus-visible { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); outline:none; }
.files-section > .section-head > div > p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.file-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:14px; }
.files-load-more { margin:18px auto 0; }
.files-load-more small { margin-left:4px; color:inherit; opacity:.7; }
.file-card { position:relative; min-width:0; min-height:168px; padding:14px; border:1px solid var(--line); border-radius:16px; display:grid; grid-template-columns:116px minmax(0,1fr); gap:15px; background:var(--surface); }
.file-preview { height:116px; border:1px solid var(--line-strong); border-radius:12px; display:grid; place-items:center; overflow:hidden; color:var(--muted); background:var(--surface-muted); text-decoration:none; }
.file-preview.image { padding:0; cursor:pointer; }
.file-preview.image img { width:100%; height:100%; object-fit:contain; transition:transform .18s ease; }
.file-preview.document span { font-size:11px; font-weight:850; letter-spacing:.08em; }
.file-card-copy { min-width:0; padding-right:72px; }
.file-card h3 { margin:2px 0 0; overflow-wrap:anywhere; font-size:14px; line-height:1.35; }
.file-card p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.5; white-space:pre-wrap; }
.file-card .file-original-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.file-meta { margin-top:10px; display:flex; flex-wrap:wrap; gap:5px 10px; color:var(--muted); font-size:11px; }
.file-actions { position:absolute; top:13px; right:13px; display:flex; gap:5px; }
.file-actions .icon-button { width:31px; height:31px; border-radius:8px; }
.file-association { width:100%; margin-top:12px; padding:9px 10px; border:1px solid var(--line-strong); border-radius:10px; display:block; text-align:left; color:var(--ink); background:var(--surface-muted); cursor:pointer; }
.file-association small { display:block; margin-bottom:3px; color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.file-association strong { display:block; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.file-association:hover,.file-association:focus-visible { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); outline:none; }
.file-unassigned { margin-top:12px; display:block; color:var(--muted); font-size:11px; font-style:italic; }
.file-storage-hint { margin:0; padding:12px 14px; border:1px solid var(--line); border-radius:11px; color:var(--muted); background:var(--surface-muted); font-size:12px; line-height:1.5; }
.dialog-attachments { min-width:0; max-width:100%; padding:14px; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface-muted); }
.dialog-attachments input[type="file"] { min-width:0; padding:9px; overflow:hidden; background:var(--surface); font-size:12px; }
.dialog-attachment-summary { max-height:120px; margin-top:6px; padding-right:4px; display:grid; gap:2px; overflow-x:hidden; overflow-y:auto; color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; scrollbar-gutter:stable; }
.dialog-attachment-summary.has-files { color:var(--ink-soft); }
.dialog-attachment-summary.is-overflowing { overflow-y:scroll; scrollbar-color:var(--muted) var(--line); scrollbar-width:thin; }
.dialog-attachment-summary.is-overflowing::-webkit-scrollbar { width:8px; }
.dialog-attachment-summary.is-overflowing::-webkit-scrollbar-track { border-radius:999px; background:var(--line); }
.dialog-attachment-summary.is-overflowing::-webkit-scrollbar-thumb { border:2px solid var(--line); border-radius:999px; background:var(--muted); }
.dialog-selected-file { min-width:0; padding:3px 1px; display:grid; grid-template-columns:minmax(0,1fr) auto 22px; align-items:center; gap:8px; }
.dialog-selected-file strong { min-width:0; overflow:hidden; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.dialog-selected-file small { color:var(--muted); font-size:10px; white-space:nowrap; }
.dialog-selected-file button { width:22px; height:22px; padding:4px; border:0; border-radius:6px; display:grid; place-items:center; color:var(--muted); background:transparent; cursor:pointer; }
.dialog-selected-file button:hover,.dialog-selected-file button:focus-visible { color:var(--red); background:var(--red-soft); outline:none; }
.dialog-selected-file button svg { width:14px; height:14px; stroke:currentColor; }
.dialog-no-files { padding:2px 0; }
.file-viewer-dialog { width:min(1180px,calc(100% - 32px)); max-height:calc(100vh - 32px); overflow:hidden; }
#file-viewer-form { padding:0; gap:0; }
.file-viewer-head { padding:18px 20px; border-bottom:1px solid var(--line); align-items:center; }
.file-viewer-head > div { min-width:0; }
.file-viewer-head small { display:block; margin-bottom:4px; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.file-viewer-head h2 { overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.file-viewer-head .dialog-copy { margin:4px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-viewer-layout { min-height:600px; display:grid; grid-template-columns:minmax(0,1fr) 320px; }
.file-viewer-workspace { min-width:0; min-height:0; padding:18px; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:12px; background:var(--interactive-hover); }
.file-viewer-content { min-width:0; min-height:0; border:1px solid var(--line-strong); border-radius:15px; display:grid; place-items:center; overflow:hidden; background:var(--surface); }
.file-viewer-content img { max-width:88%; max-height:68vh; object-fit:contain; transform-origin:center; transition:transform .18s ease; }
.file-viewer-toolbar { min-width:0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; }
.file-viewer-toolbar .button { background:var(--surface); }
.file-viewer-toolbar .button:hover,.file-viewer-toolbar .button:focus-visible { background:var(--red-soft); }
.file-viewer-details { min-width:0; padding:22px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:18px; overflow:auto; background:var(--surface); }
.file-viewer-details-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.file-viewer-details-head h3 { font-size:15px; }
.file-viewer-details-head span { color:var(--muted); font-size:11px; }
.file-viewer-association { padding:12px; border:1px solid var(--line); border-radius:11px; display:grid; gap:3px; background:var(--surface-muted); }
.file-viewer-association small,.file-viewer-meta small { color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.file-viewer-association strong { font-size:12px; }
.file-viewer-association span { overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.file-viewer-meta { display:grid; gap:9px; }
.file-viewer-meta > div { display:grid; grid-template-columns:88px minmax(0,1fr); gap:10px; }
.file-viewer-meta span { overflow-wrap:anywhere; color:var(--ink-soft); font-size:11px; }
.file-viewer-details .button.primary { margin-top:auto; }
.next-steps-section { margin-bottom:42px; }
.next-steps-section .section-head,.diary-section .section-head,.project-item-section .section-head { gap:12px; flex-wrap:wrap; }
.next-steps-list { display:grid; grid-template-columns:1fr; gap:12px; }
.next-steps-section .section-head h2,.diary-section .section-head h2,.project-item-section .section-head h2 { margin:0; }
.section-head-actions { margin-left:auto; display:flex; align-items:center; gap:7px; }
.log-section-head { flex-wrap:nowrap; }
.log-section-divider { min-width:0; margin:0; flex:1; gap:5px; color:var(--muted); }
.log-section-divider button { padding:4px; color:var(--muted); }
.log-section-head .section-head-actions { margin-left:0; flex:none; }
.project-section-add { min-height:36px; flex:none; white-space:nowrap; }
.section-toggle { width:36px; height:36px; margin:0; padding:0; border:0; border-radius:9px; display:grid; flex:none; place-items:center; color:var(--ink); background:transparent; cursor:pointer; }
.section-toggle svg { width:17px; height:17px; flex-shrink:0; stroke:var(--muted); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
.section-toggle[aria-expanded="false"] svg { transform:rotate(-90deg); }
.section-toggle:hover,.section-toggle:focus-visible { color:var(--red); outline:none; }
.section-toggle:hover svg,.section-toggle:focus-visible svg { stroke:var(--red); }
.task-card { position:relative; min-height:108px; padding:0; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.task-card h3 { margin:0; font-size:14px; line-height:1.35; }
.task-card p { margin:8px 0; color:var(--muted); font-size:14px; line-height:1.6; white-space:pre-wrap; }
.task-card small { display:block; margin-top:10px; color:var(--muted); font-size:13px; font-weight:650; }
.workstep-card { min-height:128px; padding:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,34%); overflow:visible; border-radius:18px; }
.workstep-card-content { min-width:0; padding:20px 22px; }
.entry.workstep-card .workstep-card-content > strong { display:block; color:var(--ink); font-size:14px; }
.workstep-card-status { min-width:0; padding:15px 16px 16px; border-left:1px solid var(--line); display:flex; flex-direction:column; background:var(--surface-subtle); border-radius:0 18px 18px 0; }
.workstep-status-content { display:flex; flex-direction:column; gap:9px; }
.workstep-card-actions { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.workstep-action-group { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.task-attribute-select { max-width:130px; }
.workstep-card .status-action,.workstep-card .drag-handle,.workstep-card .edit-action { border-radius:10px; }
.workstep-card .drag-handle { width:36px; }
.workstep-card .project-status-row > small { margin-top:0; color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.status-action { width:36px; height:36px; padding:0; border:1px solid var(--line); border-radius:9px; display:grid; place-items:center; background:var(--surface); cursor:pointer; }
.status-action svg { width:18px; height:18px; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.complete-action { color:var(--success-strong); }
.complete-action:hover,.complete-action:focus-visible { color:#fff; border-color:var(--success); background:var(--success); outline:none; }
.completion-pending { border-color:var(--success-border)!important; box-shadow:0 8px 24px color-mix(in srgb,var(--success) 12%,transparent); }
.completion-pending .complete-action { color:#fff; border-color:var(--success); background:var(--success); }
.overview-task-card.completion-removing,.workstep-card.completion-removing { opacity:0; pointer-events:none; transform:translateY(-5px) scale(.985); transition:opacity .18s ease,transform .18s ease; }
.reopen-action { color:var(--red); }
.reopen-action:hover,.reopen-action:focus-visible { color:#fff; border-color:var(--red); background:var(--brand-red); outline:none; }
.drag-handle { width:30px; height:36px; padding:0; border:1px solid var(--line); border-radius:9px; display:grid; place-items:center; color:var(--muted); background:var(--surface); cursor:grab; touch-action:none; }
.drag-handle:hover,.drag-handle:focus-visible { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); outline:none; }
.drag-handle:active,.is-sorting { cursor:grabbing; }
.drag-handle svg { width:14px; height:18px; fill:currentColor; pointer-events:none; }
.is-sorting { user-select:none; }
[data-reorder-card].dragging { opacity:.96; border-color:var(--red); box-shadow:0 18px 45px rgba(24,29,36,.2); transform:scale(1.008); will-change:left,top; }
.drag-placeholder { min-height:90px; border:1px dashed rgba(var(--accent-strong-rgb),.45); border-radius:16px; background:rgba(var(--accent-strong-rgb),.055); }
.next-steps-list > .drag-placeholder { min-height:122px; border-radius:14px; }
.compact-empty { padding:28px 20px; }
.diary-section { padding-top:2px; }
.item-link { display:block; margin:8px 0; color:var(--red); overflow-wrap:anywhere; font-size:14px; font-weight:600; }
.item-fields { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.item-fields > * { min-width:0; max-width:100%; }
.settings-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:24px; align-items:start; }
.settings-nav { padding:6px; border:1px solid var(--line); border-radius:15px; display:grid; gap:3px; background:var(--surface); }
.settings-tab { width:100%; border:0; border-radius:10px; padding:12px; display:grid; gap:4px; color:var(--ink); background:transparent; cursor:pointer; text-align:left; }
.settings-tab strong { font-size:13px; }
.settings-tab span { color:var(--muted); font-size:12px; line-height:1.4; }
.settings-tab:hover { background:var(--surface-muted); }
.settings-tab.active { color:var(--red); background:var(--interactive-hover); }
.settings-tab.active span { color:var(--muted); }
.settings-panel { min-width:0; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.settings-panel-wide { width:100%; }
.profile-card { width:min(720px,100%); border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.profile-value { flex-shrink:0; color:var(--ink-soft); font-size:13px; font-weight:650; }
.profile-project-row { align-items:flex-start; }
.profile-project-row > div:first-child { padding-top:7px; }
.profile-projects { max-width:min(70%,720px); display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.profile-projects span { padding:6px 9px; border-radius:8px; color:var(--ink-soft); background:var(--interactive-hover); font-size:13px; font-weight:650; }
.settings-group-head { padding:24px 26px; border-bottom:1px solid var(--line); }
.settings-group-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.settings-group-head h2 { font-size:21px; }
.settings-group-head p { margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.setting-list { padding:0 26px; }
.setting-row { min-height:78px; padding:17px 0; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.setting-row:last-child { border-bottom:0; }
.setting-row strong { display:block; font-size:13px; }
.setting-row p { margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.45; }
.setting-select { width:auto; min-width:150px; flex:none; }
.general-sort-select { width:min(340px,48vw); }
.general-icon-setting { align-items:flex-start; }
.general-icon-setting > div:first-child { padding-top:8px; }
#default-project-icon-form { width:min(340px,48vw); flex:none; }
.overview-config-menu[open] { z-index:3000; }
.overview-config-menu[open] .action-menu-panel { z-index:3001; }
.overview-config-menu .action-menu-panel { width:360px; padding:10px; gap:3px; }
.overview-config-panel > strong { padding:7px 9px 9px; font-size:13px; }
.overview-config-list { display:grid; gap:3px; }
.overview-config-panel > label,.overview-config-row { min-height:39px; padding:7px 9px; border-radius:8px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; color:var(--muted); font-size:13px; font-weight:600; }
.overview-config-panel > label:hover,.overview-config-panel > label:focus-within,.overview-config-row:hover,.overview-config-row:focus-within { background:var(--interactive-hover); }
.overview-config-row:has(input:checked) { background:var(--red-soft); }
.overview-config-panel > label > span { min-width:0; flex:1; }
.overview-config-row > label { min-width:0; flex:1; flex-direction:row; align-items:center; gap:16px; cursor:pointer; }
.overview-config-row > label > span { min-width:0; flex:1; }
.overview-config-panel input,.overview-config-row.dragging input { width:17px; height:17px; margin:0; padding:0; flex:none; accent-color:var(--red); }
.overview-config-panel select,.overview-config-row.dragging select { width:92px; min-height:32px; padding:5px 25px 5px 9px; border-radius:8px; font-size:13px; }
.overview-row-select { position:relative; width:92px; flex:none; }
.overview-row-select > summary { width:100%; min-height:32px; padding:7px 25px 7px 9px; border:1px solid var(--line); border-radius:8px; display:block; overflow:hidden; color:var(--ink); background:var(--surface); cursor:pointer; font-size:13px; font-weight:500; line-height:16px; list-style:none; text-overflow:ellipsis; white-space:nowrap; }
.overview-config-menu[open] .overview-row-select > summary { color:var(--ink); }
.overview-row-select > summary::-webkit-details-marker { display:none; }
.overview-row-select > summary::after { position:absolute; top:10px; right:9px; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; content:''; transform:rotate(45deg); transition:transform .14s ease; }
.overview-row-select[open] > summary { border-color:var(--red); box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb),.1); }
.overview-row-select[open] > summary::after { top:13px; transform:rotate(225deg); }
.overview-row-options { position:absolute; z-index:3100; top:37px; right:0; width:108px; padding:5px; border:1px solid var(--line); border-radius:10px; display:grid; gap:2px; background:var(--surface); box-shadow:0 12px 32px rgba(25,31,38,.16); }
.overview-row-options button { width:100%; border:0; border-radius:7px; padding:7px 9px; color:var(--ink); background:transparent; cursor:pointer; text-align:left; font-size:12px; }
.overview-row-options button:hover,.overview-row-options button:focus-visible { color:var(--ink); background:var(--interactive-hover); outline:none; }
.overview-row-options button[aria-checked="true"] { color:var(--ink); background:var(--red-soft); font-weight:750; }
.overview-order-handle { width:30px; height:32px; flex:none; }
.overview-config-list > .drag-placeholder { min-height:39px; border-radius:8px; }
.overview-config-row.dragging { border:1px solid var(--line); background:var(--surface); box-shadow:0 14px 38px rgba(25,31,38,.16); }
.setting-link { color:inherit; text-decoration:none; }
.setting-link > span { color:var(--muted); font-size:18px; transition:transform .16s ease, color .16s ease; }
.setting-link:hover strong,.setting-link:hover > span { color:var(--red); }
.setting-link:hover > span { transform:translateX(3px); }
.setting-status { flex-shrink:0; padding:5px 8px; border-radius:999px; color:var(--muted); background:var(--interactive-hover); font-size:12px; font-weight:700; }
.setting-status.active { color:var(--success-strong); background:var(--success-soft); }
.setting-status.inactive { color:var(--danger-strong); background:var(--danger-soft); }
.update-card { margin:18px 26px 0; padding:20px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(135deg,var(--surface-muted),var(--surface)); }
.update-card-copy { min-width:0; }
.update-card-title { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.update-card-title h2 { font-size:17px; }
.update-card p { max-width:720px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.update-highlights { max-width:760px; margin-top:16px; padding:13px 15px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.update-highlights h3 { margin:0 0 8px; font-size:12px; }
.update-highlights ul { margin:0; padding-left:18px; display:grid; gap:5px; color:var(--ink-soft); font-size:12px; line-height:1.45; }
.update-card-meta { margin-top:11px; display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:12px; }
.update-card-meta a { color:var(--red); font-weight:700; }
.update-card-copy > small { margin-top:9px; display:block; color:var(--danger-strong); font-size:12px; }
.update-card-actions { flex:none; display:flex; align-items:center; gap:9px; }
.tag-management-link { min-width:0; flex:1; display:block; }
.tag-management-link:hover strong { color:var(--red); }
.tag-management-actions { flex:none; display:flex; align-items:center; gap:12px; }
.tag-management-actions .action-menu-panel { right:0; }
.device-status { border-bottom:1px solid var(--line); }
.device-form { padding-bottom:24px; }
.device-form-fields { padding:10px 26px 22px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.device-form-fields label { min-width:0; }
.device-form-fields small { color:var(--muted); font-size:12px; font-weight:500; line-height:1.45; }
.device-form-actions { margin:0 26px; padding-top:20px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.device-form-actions p { max-width:620px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.device-form-actions .button { flex:none; }
.appearance-section + .appearance-section { border-top:1px solid var(--line); }
.appearance-theme-modes { margin:10px 26px 4px; padding:0; border:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.appearance-theme-modes legend { margin-bottom:9px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.appearance-theme-modes label { min-width:0; min-height:76px; padding:12px 13px; border:1px solid var(--line); border-radius:12px; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:10px; color:var(--ink); background:var(--surface-muted); cursor:pointer; }
.appearance-theme-modes label:hover,.appearance-theme-modes label:focus-within { border-color:var(--accent-border-strong); background:var(--accent-soft-light); }
.appearance-theme-modes label:has(input:checked) { border-color:var(--accent-border-strong); background:var(--red-soft); box-shadow:inset 0 0 0 1px var(--accent-border-strong); }
.appearance-theme-modes input { width:17px; height:17px; margin:2px 0 0; padding:0; accent-color:var(--brand-red); }
.appearance-theme-modes span { min-width:0; display:grid; gap:4px; }
.appearance-theme-modes strong { font-size:13px; }
.appearance-theme-modes small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }
.appearance-layout { padding:12px 26px 26px; display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:26px; align-items:start; }
.appearance-fields { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.appearance-fields label:last-child { grid-column:1/-1; }
.appearance-fields small,.appearance-color-primary label + small { color:var(--muted); font-size:12px; font-weight:500; line-height:1.45; }
.appearance-brand-card { min-width:0; padding:14px; border:1px solid var(--line); border-radius:14px; display:grid; gap:12px; background:var(--surface-muted); }
.appearance-brand-card > span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.appearance-brand-card .button { justify-self:start; }
.appearance-brand-preview { min-width:0; min-height:112px; padding:18px; border:1px solid var(--line); border-radius:11px; display:flex; align-items:center; color:var(--red); background:var(--surface); overflow:hidden; }
.appearance-brand-preview img { display:block; max-width:100%; max-height:74px; object-fit:contain; object-position:left center; }
.appearance-preview-wordmark { min-width:0; display:grid; gap:5px; }
.appearance-preview-wordmark strong { overflow:hidden; font-size:29px; font-weight:820; letter-spacing:-.045em; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.appearance-preview-wordmark small { overflow:hidden; color:var(--muted); font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.appearance-color-layout { padding:12px 26px 26px; display:grid; grid-template-columns:220px minmax(280px,1fr) 220px; gap:24px; align-items:start; }
.appearance-color-primary { display:grid; grid-template-columns:84px minmax(0,1fr); gap:12px; }
.appearance-color-primary > .button { grid-column:1/-1; justify-self:start; }
.appearance-color-primary input[type="color"] { height:48px; padding:4px; cursor:pointer; }
.appearance-color-primary input[name="accentColor"] { min-width:0; height:48px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:lowercase; }
.appearance-rgb-controls { display:grid; gap:15px; }
.appearance-rgb-controls label { gap:7px; }
.appearance-rgb-controls label > span { display:flex; align-items:center; justify-content:space-between; }
.appearance-rgb-controls output { min-width:32px; color:var(--muted); font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:right; }
.appearance-rgb-controls input[type="range"] { height:22px; padding:0; border:0; accent-color:var(--brand-red); box-shadow:none; cursor:pointer; }
.appearance-color-samples { padding:16px; border:1px solid var(--line); border-radius:13px; display:grid; gap:11px; background:var(--surface-muted); }
.appearance-color-samples .button { pointer-events:none; }
.appearance-sample-soft { padding:11px 12px; border:1px solid var(--accent-border); border-radius:10px; color:var(--red); background:var(--red-soft); font-size:12px; font-weight:750; }
.appearance-color-samples a { color:var(--red); font-size:13px; font-weight:750; pointer-events:none; }
.appearance-actions { margin:0 26px; padding:20px 0 24px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.appearance-actions p { max-width:660px; margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.appearance-actions .button { flex:none; }
.user-section + .user-section { border-top:1px solid var(--line); }
.settings-section-head { padding:22px 26px 8px; }
.settings-section-head h2 { font-size:15px; }
.settings-section-head p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.role-legend { margin:8px 26px 22px; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface-muted); }
.role-legend-row { min-height:50px; padding:12px 14px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:18px; }
.role-legend-row:last-child { border-bottom:0; }
.role-legend-row strong { font-size:13px; }
.role-legend-row p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.user-row { min-height:86px; }
.user-identity { min-width:0; flex:1; }
.user-identity p { overflow-wrap:anywhere; }
.user-row-meta { flex:none; display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.user-access { min-width:130px; text-align:right; }
.user-access strong,.user-access small { display:block; }
.user-access strong { color:var(--ink-soft); font-size:13px; }
.user-access small { margin-top:4px; color:var(--muted); font-size:12px; }
.user-menu { flex:none; }
.settings-empty { padding:42px 26px; text-align:center; }
.settings-empty p { color:var(--muted); font-size:13px; }
.backup-area { padding:24px 26px 26px; border-bottom:1px solid var(--line); }
.backup-area:last-child { border-bottom:0; }
.backup-area-head { margin-bottom:18px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.backup-area-head h2 { font-size:16px; }
.backup-area-head p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.storage-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.storage-summary > div { min-width:0; padding:16px 18px; border:1px solid var(--line); border-radius:13px; display:flex; flex-direction:column; gap:5px; background:var(--surface); }
.storage-summary small { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.storage-summary strong { font-size:20px; }
.storage-summary span { color:var(--muted); font-size:12px; line-height:1.4; }
.storage-warning { margin:-2px 0 16px; padding:12px 14px; border:1px solid var(--warning-border); border-radius:11px; display:flex; flex-direction:column; gap:3px; color:var(--warning-strong); background:var(--warning-soft); font-size:12px; line-height:1.45; }
.backup-export-grid,.backup-import-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.backup-card { min-width:0; padding:18px; border:1px solid var(--line); border-radius:13px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; background:var(--surface); }
.backup-card > div:first-child { min-width:0; }
.backup-card h3 { margin:4px 0 7px; font-size:15px; }
.backup-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.backup-card small { display:block; margin-top:9px; color:var(--muted); font-size:12px; line-height:1.5; }
.backup-card > .button { margin-top:auto; }
.full-backup-card { grid-column:1 / -1; }
.full-backup-card > div:first-child { max-width:900px; }
.sensitive-backup { background:var(--surface-subtle); }
.backup-import-card { align-items:stretch; }
.backup-restore-form { min-width:0; width:100%; display:grid; gap:13px; }
.backup-restore-form label { min-width:0; font-size:13px; }
.backup-restore-form input,.backup-restore-form select { padding:10px 11px; border-radius:10px; font-size:13px; }
.backup-restore-form input[type="file"] { min-width:0; overflow:hidden; }
.backup-preview { min-height:52px; padding:11px 13px; border:1px dashed var(--line-strong); border-radius:10px; display:flex; flex-direction:column; justify-content:center; gap:3px; color:var(--muted); font-size:13px; line-height:1.45; }
.backup-preview strong { color:var(--ink); font-size:13px; }
.backup-preview span { color:var(--muted); }
.backup-restore-form .button { justify-self:start; }
.button:disabled { cursor:not-allowed; opacity:.5; }
.danger-zone { margin-top:18px; border-top:1px solid var(--danger-border); background:var(--danger-soft); }
.danger-zone-head { padding:22px 26px 14px; }
.danger-zone-head h2 { margin:0; color:var(--danger-strong); letter-spacing:.06em; font-size:24px; font-weight:850; }
.danger-zone-head p { margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.danger-row { min-height:92px; margin:0 26px; padding:17px 0; border-top:1px solid var(--danger-border); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.danger-row strong { display:block; font-size:13px; }
.danger-row p { max-width:660px; margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.danger-row .button { flex:none; }
.danger-button { color:var(--danger-strong); border-color:var(--danger-border); background:var(--surface); }
.danger-button:hover:not(:disabled) { color:#fff; border-color:var(--danger); background:var(--danger); }
.demo-row { border-top-color:var(--line); }
.security-section { border-top:1px solid var(--line); }
.security-section:first-of-type { border-top:0; }
.audit-settings .audit-list { padding-top:18px; }
.security-section-head { padding:20px 26px 12px; }
.security-section-head h3 { font-size:15px; }
.security-section-head p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.session-list,.audit-list { padding:0 26px 18px; }
.session-row,.audit-row { min-height:62px; padding:12px 0; border-bottom:1px solid var(--line); display:grid; align-items:center; gap:14px; }
.session-row { grid-template-columns:minmax(170px,1fr) 90px auto; }
.audit-row { grid-template-columns:minmax(170px,1fr) auto; }
.session-row:last-child,.audit-row:last-child { border-bottom:0; }
.session-row strong,.session-row small,.audit-row strong,.audit-row small { display:block; }
.session-row strong,.audit-row strong { font-size:13px; }
.session-row small,.audit-row small { margin-top:4px; color:var(--muted); font-size:12px; }
.session-row > span,.audit-row > span { color:var(--muted); font-size:12px; text-align:right; }
.project-access { min-width:0; margin:0; padding:15px; border:1px solid var(--line); border-radius:13px; }
.project-access legend { padding:0 6px; font-size:13px; font-weight:700; }
.project-access > p { margin:0 0 12px; color:var(--muted); font-size:13px; font-weight:400; line-height:1.45; }
.project-access-list { max-height:210px; display:grid; gap:6px; overflow:auto; }
.project-access-option { padding:9px 10px; border-radius:9px; flex-direction:row; align-items:center; gap:10px; background:transparent; cursor:pointer; }
.project-access-option:hover,.project-access-option:focus-within { background:var(--interactive-hover); }
.project-access-option:has(input:checked) { background:var(--red-soft); }
.project-access-option input { width:16px; height:16px; margin:0; padding:0; accent-color:var(--red); }
.project-access-option span { min-width:0; flex:1; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.project-access-option strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.project-access-option small { color:var(--muted); font-size:12px; font-weight:500; }
.project-access-empty { margin:0; color:var(--muted); font-size:13px; }
dialog { width:min(560px,calc(100% - 28px)); max-height:calc(100vh - 28px); padding:0; overflow:auto; border:0; border-radius:20px; background:var(--surface); box-shadow:0 25px 90px rgba(20,25,21,.25); }
dialog::backdrop { background:var(--overlay); backdrop-filter:blur(3px); }
dialog form { min-width:0; padding:26px; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
dialog form > *,dialog form label { min-width:0; max-width:100%; }
.confirmation-dialog { width:min(500px,calc(100% - 28px)); }
.confirmation-dialog .dialog-copy { white-space:pre-line; }
.confirmation-dialog .dialog-actions { margin-top:4px; }
.project-add-dialog { width:min(720px,calc(100% - 28px)); }
.project-add-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.project-add-logbook { grid-column:1/-1; padding:12px; border:1px solid var(--line-strong); border-radius:15px; display:grid; gap:10px; background:var(--surface-muted); }
.project-add-logbook-head { padding:2px 3px; display:grid; gap:3px; }
.project-add-logbook-head strong { font-size:15px; }
.project-add-logbook-head small { color:var(--muted); font-size:11px; line-height:1.35; }
.project-add-logbook-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.project-add-grid button { min-width:0; min-height:78px; padding:14px 15px; border:1px solid var(--line); border-radius:13px; display:grid; align-content:center; gap:5px; color:var(--ink); background:var(--surface-subtle); cursor:pointer; text-align:left; }
.project-add-logbook-actions button { background:var(--surface); }
.project-add-grid button:hover,.project-add-grid button:focus-visible { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); outline:none; }
.project-add-grid strong { font-size:14px; }
.project-add-grid small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }
.project-add-grid button:hover small,.project-add-grid button:focus-visible small { color:var(--red); }
.ai-project-dialog { width:min(650px,calc(100% - 28px)); }
.ai-project-notice { padding:13px 15px; border:1px solid var(--warning-border); border-radius:12px; background:var(--warning-soft); }
.ai-project-notice strong { display:block; color:var(--warning-strong); font-size:13px; }
.ai-project-notice p { margin:5px 0 0; color:var(--warning-strong); font-size:12px; line-height:1.5; }
#update-confirmation { display:grid; gap:20px; }
#update-confirmation[hidden],.update-progress[hidden] { display:none; }
.update-progress { min-height:180px; display:grid; grid-template-columns:40px minmax(0,1fr); align-content:center; align-items:start; gap:16px; }
.update-progress-spinner { width:34px; height:34px; border:4px solid var(--accent-border); border-top-color:var(--brand-red); border-radius:50%; animation:update-spin .8s linear infinite; }
.update-progress h3 { margin:2px 0 7px; font-size:17px; }
.update-progress p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.update-progress .button { grid-column:2; justify-self:start; margin-top:2px; }
.update-progress .button[hidden] { display:none; }
.update-progress.failed .update-progress-spinner { border:0; display:grid; place-items:center; color:var(--red); background:var(--red-soft); animation:none; }
.update-progress.failed .update-progress-spinner::before { content:'!'; font-weight:800; }
@keyframes update-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .update-progress-spinner { animation-duration:1.8s; } }
#project-form { gap:15px; }
#project-form .project-tag-picker { gap:5px; }
#project-tag-options { height:96px; }
.project-compact-fields { display:grid; grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(120px,.8fr)); align-items:end; gap:10px; }
.project-compact-fields > * { min-width:0; }
.project-compact-fields .icon-picker:has(.icon-picker-panel:not([hidden])) { grid-column:1/-1; }
.project-folder-picker { display:flex; align-items:flex-end; gap:8px; }
.project-folder-picker > label { min-width:0; flex:1; }
.project-folder-picker > .icon-button { width:42px; height:42px; flex:none; color:var(--red); }
.project-tag-picker { position:relative; display:grid; gap:8px; }
.tag-picker-label-row { min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tag-picker-label-row > label { display:block; }
.tag-picker-search-inline { height:30px; width:180px; border:1px solid var(--line); border-radius:9px; display:inline-flex; align-items:center; overflow:hidden; background:var(--surface); }
.tag-picker-search { min-width:0; height:28px; padding:5px 9px; border:0; border-radius:0; flex:1; font-size:13px; }
.tag-picker-search:focus { border:0; box-shadow:none; }
.tag-picker-search-close { width:29px; height:28px; padding:0; border:0; display:grid; flex:none; place-items:center; color:var(--muted); background:transparent; cursor:pointer; font-size:17px; line-height:1; }
.tag-picker-search-close:hover,.tag-picker-search-close:focus-visible { color:var(--red); background:var(--interactive-hover); outline:none; }
.tag-picker-search-button { width:30px; height:30px; padding:0; border:1px solid var(--line); border-radius:9px; display:grid; flex:none; place-items:center; color:var(--muted); background:var(--surface); cursor:pointer; }
.tag-picker-search-button:hover,.tag-picker-search-button:focus-visible { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); outline:none; }
.tag-picker-search-button svg { width:15px; height:15px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.tag-picker-add { width:30px; height:30px; padding:0; border:1px solid var(--line); border-radius:9px; display:grid; flex:none; place-items:center; color:var(--red); background:var(--surface); cursor:pointer; font-size:20px; line-height:1; }
.tag-picker-add:hover,.tag-picker-add:focus-visible { color:#fff; border-color:var(--brand-red); background:var(--brand-red); outline:none; }
.tag-picker-new { width:140px; min-height:30px; padding:5px 10px; border-color:var(--accent-border); border-radius:9px; color:var(--red); background:var(--red-soft); font-size:13px; font-weight:650; }
.tag-picker-new::placeholder { color:var(--red); }
.tag-picker-options { height:150px; display:flex; flex-wrap:wrap; align-content:flex-start; align-items:center; gap:6px; overflow:auto; }
.tag-picker-option { min-height:30px; padding:5px 10px; border:1px solid var(--line-strong); border-radius:9px; display:inline-flex; align-items:center; color:var(--ink-soft); background:var(--surface); cursor:pointer; font-size:13px; font-weight:650; }
.tag-picker-option:hover { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); }
.tag-picker-option.selected { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); }
.tag-picker-options-empty { margin:0 4px 0 0; color:var(--muted); font-size:13px; }
.icon-picker { position:relative; display:grid; gap:8px; }
.icon-picker > label { display:block; }
.icon-picker-current { width:100%; min-height:46px; padding:7px 11px; border:1px solid var(--line); border-radius:12px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; color:var(--ink); background:var(--surface); cursor:pointer; text-align:left; }
.icon-picker-current:hover,.icon-picker-current:focus-visible { border-color:var(--red); box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb),.1); outline:none; }
.icon-picker-current > span:nth-child(2) { overflow:hidden; color:var(--muted); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.entity-icon-preview { width:30px; height:30px; border-radius:8px; display:grid; place-items:center; color:var(--muted); background:var(--interactive-hover); }
.entity-icon-preview svg { width:18px; height:18px; }
.icon-picker-panel { padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--surface-subtle); }
.icon-picker-panel[hidden] { display:none; }
.icon-picker-default { width:100%; min-height:40px; margin-bottom:10px; padding:5px 8px; border:1px solid var(--line); border-radius:9px; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:9px; color:var(--muted); background:var(--surface); cursor:pointer; text-align:left; font-size:13px; font-weight:650; }
.icon-picker-default:hover,.icon-picker-default:focus-visible { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); outline:none; }
.icon-picker-default.selected { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); }
.icon-picker-search { min-height:38px; padding:9px 11px; border-radius:9px; font-size:13px; }
.icon-picker-grid { height:210px; margin-top:10px; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-content:start; gap:5px; overflow:auto; }
.icon-picker-option { aspect-ratio:1; min-width:0; padding:0; border:1px solid transparent; border-radius:8px; display:grid; place-items:center; color:var(--muted); background:var(--surface); cursor:pointer; }
.icon-picker-option svg { width:19px; height:19px; }
.icon-picker-option:hover,.icon-picker-option:focus-visible { color:var(--red); border-color:var(--line-strong); background:var(--interactive-hover); outline:none; }
.icon-picker-option.selected { color:var(--red); border-color:var(--accent-border); background:var(--red-soft); }
.icon-picker-panel > small { margin-top:9px; display:block; color:var(--muted); font-size:11px; line-height:1.4; }
.icon-picker-empty,.icon-picker-loading { color:var(--muted); font-size:13px; line-height:1.5; }
.icon-picker-empty { grid-column:1/-1; padding:18px 6px; }
.dialog-head,.dialog-actions { min-width:0; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.dialog-head h2 + .dialog-copy { margin:6px 0 0; }
.dialog-actions { justify-content:flex-end; margin-top:4px; flex-wrap:wrap; }
.dialog-actions .button { min-width:0; max-width:100%; white-space:normal; }
.dialog-link-section { margin-top:16px; padding:15px 16px; border:1px solid var(--line); border-radius:13px; background:var(--surface-subtle); }
.dialog-link-section[hidden] { display:none; }
.dialog-link-section > strong { display:block; margin-bottom:9px; font-size:13px; }
.dialog-link-row { display:flex; align-items:center; gap:10px; }
.dialog-link-row a { min-width:0; flex:1; color:var(--red); font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.dialog-link-row a:hover { text-decoration:underline; }
.dialog-link-row .button { flex:none; }
#project-link-zone { margin-top:5px; padding:10px 12px; display:flex; align-items:center; gap:12px; }
#project-link-zone[hidden] { display:none; }
#project-link-zone > strong { margin:0; flex:none; }
#project-link-zone .dialog-link-row { min-width:0; flex:1; }
.dialog-danger { margin-top:16px; padding:16px; border:1px solid var(--danger-border); border-radius:13px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:var(--danger-soft); }
.dialog-danger[hidden] { display:none; }
.dialog-danger strong { display:block; color:var(--danger-strong); font-size:13px; }
.dialog-danger p { max-width:390px; margin:5px 0 0; color:var(--danger-strong); font-size:13px; line-height:1.5; }
.dialog-danger .button { flex:none; }
.icon-button { width:38px; height:38px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; font-size:20px; }
.next-label { padding:15px; border-radius:13px; background:var(--orange-soft); }
.next-label textarea { background:var(--surface); border-color:var(--line); }
.toast { position:fixed; z-index:50; right:22px; bottom:22px; max-width:360px; padding:12px 16px; border-radius:11px; color:white; background:#2b3036; box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translateY(10px); transition:.2s; font-size:13px; }
.toast.show { opacity:1; transform:none; }
@media (max-width:780px) {
  .storage-finder-frame { border:0; border-radius:0; overflow:visible; background:transparent; box-shadow:none; }
  .storage-finder-shell { height:auto; min-height:0; display:flex; flex-direction:column; overflow:visible; background:transparent; }
  .storage-finder-columns { min-width:0; display:block; order:2; }
  .storage-finder-column { width:100%; min-width:0; height:auto; min-height:280px; border:1px solid var(--line); border-radius:16px; display:none; flex-basis:auto; overflow:hidden; }
  .storage-finder-column[data-finder-current-column] { display:grid; }
  .storage-finder-column > header { min-height:52px; }
  .storage-finder-list { max-height:none; padding:7px; overflow:visible; }
  .storage-finder-row { min-height:58px; }
  .storage-finder-link { min-height:58px; }
  .storage-finder-column-menu summary { width:40px; height:40px; }
  .storage-finder-detail { width:auto; min-width:0; margin-bottom:14px; border:1px solid var(--line); border-radius:16px; order:1; overflow:visible; background:var(--surface-muted); }
  .storage-finder-detail-body { padding:20px 18px; overflow:visible; }
  .storage-finder-detail h2 { font-size:22px; }
  .storage-finder-detail dl { margin:18px 0; }
  .storage-finder-welcome { display:none; }
  .storage-mobile-back { margin:-5px 0 17px; display:flex; align-items:center; gap:7px; color:var(--red); font-size:12px; font-weight:700; }
  .storage-mobile-back span { font-size:22px; font-weight:400; line-height:1; }
  .storage-finder-shell.has-item-selection .storage-finder-columns { display:none; }
  .storage-finder-shell.has-item-selection .storage-item-detail { margin-bottom:0; }
  .storage-item-preview { width:72px; height:84px; margin-bottom:28px; }
  .storage-finder-statusbar { min-height:34px; margin-top:10px; padding:7px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-subtle); }
  .inventory-items-page-head .page-actions { grid-template-columns:1fr 1fr; }
  .inventory-items-page-head .page-actions > :last-child:nth-child(3) { grid-column:1/-1; }
  .inventory-item-search { padding-left:11px; flex-wrap:wrap; }
  .inventory-item-search input { flex-basis:calc(100% - 32px); }
  .inventory-item-category-filter { width:100%; }
  .inventory-item-search .button { flex:1; }
  .inventory-item-shell { height:auto; min-height:0; border:0; border-radius:0; display:block; overflow:visible; box-shadow:none; }
  .inventory-item-list-panel { padding:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
  .inventory-item-shell.has-selection .inventory-item-list-panel { display:none; }
  .inventory-item-meta-column,.inventory-item-reserved-column { display:none; }
  .inventory-item-table th:nth-child(2) { width:auto; }
  .inventory-item-table th:nth-child(4),.inventory-item-table th:nth-child(6) { width:78px; }
  .inventory-item-row td { padding-right:9px; padding-left:9px; }
  .inventory-item-detail { border:1px solid var(--line); border-radius:16px; overflow:visible; }
  .inventory-item-detail:not(.inventory-item-welcome) { display:grid; overflow:visible; }
  .inventory-item-detail-body { padding:20px 18px; overflow:visible; }
  .inventory-item-detail h2 { font-size:25px; }
  .inventory-item-welcome { display:none; }
  .inventory-item-mobile-back { margin:-5px 0 18px; display:flex; align-items:center; gap:7px; color:var(--red); font-size:12px; font-weight:700; }
  .inventory-item-mobile-back span { font-size:22px; font-weight:400; line-height:1; }
  .inventory-item-detail dl { margin:22px 0; }
  .inventory-item-detail dd { max-width:55%; }
  .inventory-stock-summary { grid-template-columns:1fr 1fr; }
  .project-reservation-list { grid-template-columns:1fr; }
  .inventory-reservation > div { align-items:flex-start; }
  .inventory-reservation footer .button { flex:1; }
  .replenishment-summary { grid-template-columns:1fr 1fr; }
  .replenishment-summary > div:last-child { grid-column:1/-1; }
  .replenishment-controls { grid-template-columns:1fr; }
  .replenishment-item { padding:14px; }
  .replenishment-item > header { gap:12px; }
  .replenishment-order strong { font-size:17px; }
  .replenishment-metrics { grid-template-columns:1fr 1fr; }
  .replenishment-metrics > div { border-bottom:1px solid var(--line); }
  .replenishment-metrics > div:nth-child(2) { border-right:0; }
  .replenishment-metrics > div:nth-child(n+3) { border-bottom:0; }
  .replenishment-item > footer { align-items:stretch; flex-direction:column; }
  .replenishment-item > footer .button { width:100%; }
  .inventory-archive-grid { grid-template-columns:1fr; }
  .inventory-stock-section-head { align-items:flex-start; flex-direction:column; }
  .inventory-detail-section > summary.inventory-stock-section-head { align-items:center; flex-direction:row; }
  .inventory-detail-section > summary::before,.inventory-detail-section > summary::after { min-width:8px; }
  .inventory-detail-section > summary > div { align-items:flex-start; flex-direction:column; gap:2px; }
  .inventory-stock-section-head > div:last-child { width:100%; justify-content:stretch; }
  .inventory-stock-section-head > div:last-child .button { flex:1; }
  .inventory-stock-transaction { grid-template-columns:82px minmax(0,1fr); }
  .inventory-stock-transaction time { grid-column:2; }
  .inventory-item-core-fields,.inventory-item-meta-fields { grid-template-columns:1fr; }
  .project-list-divider .divider-label,.log-section-divider .divider-label { font-size:14px; }
  .login-shell { display:block; }
  .login-copy { min-height:46vh; padding:38px 24px 44px; }
  .login-brand { margin-bottom:22px; }
  .login-brand img { height:52px; }
  .login-pitch { font-size:17px; }
  .login-card { padding:40px 0; }
  .sidebar { transform:translateX(-100%); transition:.2s; box-shadow:var(--shadow); }
  .sidebar.open { transform:none; }
  .mobile-header { position:relative; z-index:6; height:60px; padding:0 14px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--surface); }
  .mobile-header-main { min-width:0; gap:10px; }
  .mobile-header-main .icon-button { width:44px; height:44px; flex:none; }
  .mobile-header .brand { width:min(180px,calc(100vw - 122px)); }
  .mobile-header .brand-custom-logo { height:28px; }
  .mobile-header .brand-wordmark { gap:1px; }
  .mobile-header .brand-wordmark strong { font-size:19px; }
  .mobile-header .brand-wordmark small { font-size:8px; }
  .mobile-header-actions { min-width:44px; min-height:44px; justify-content:flex-end; }
  .mobile-header-actions:empty { visibility:hidden; }
  .mobile-header-actions .action-menu summary { width:44px; height:44px; }
  .mobile-header-actions .overview-config-menu .action-menu-panel { position:fixed; top:54px; right:10px; width:min(360px,calc(100vw - 20px)); max-height:calc(100dvh - 64px); overflow-y:auto; }
  main { --main-gutter:18px; margin:0; padding:26px var(--main-gutter) 60px; }
  .page-head { align-items:flex-start; flex-direction:column; }
  .standard-page-head { height:auto; min-height:0; margin:-26px calc(var(--main-gutter) * -1) 0; padding:14px var(--main-gutter) 14px; }
  .standard-page-breadcrumbs { height:18px; margin-bottom:4px; font-size:12px; }
  .standard-page-head .project-heading-row { height:auto; min-height:76px; padding:10px 0; }
  .standard-page-head .project-description,.standard-plain-page-head p { min-height:0; font-size:13px; }
  .standard-plain-page-head { margin-bottom:18px; grid-template-columns:54px minmax(0,1fr); grid-template-rows:18px auto; }
  .standard-plain-page-head > .standard-page-head-actions { grid-column:1/-1; grid-row:3; width:100%; margin:10px 0 0; padding-left:0; justify-content:flex-start; }
  .todo-hero { padding-bottom:13px; }
  .todo-page-content { padding-top:22px; }
  .todo-section-head { min-height:44px; margin-bottom:12px; }
  .todo-section-action { min-height:44px; }
  .todo-repeat-fields { grid-template-columns:1fr; }
  .todo-add-form { margin-bottom:34px; padding:9px; grid-template-columns:1fr; }
  .todo-add-form .button { width:100%; }
  .todo-item { padding:8px 9px; grid-template-columns:32px minmax(0,1fr); }
  .todo-children { margin-left:26px; }
  .todo-actions { grid-column:2; justify-content:flex-end; }
  .todo-item:not(.completed) .todo-actions { margin-top:-3px; padding-top:7px; border-top:1px solid var(--line); }
  .todo-actions .edit-action,.todo-actions .drag-handle,.todo-children-toggle { height:44px; }
  .todo-subitem .todo-item { padding:4px 9px 4px 2px; grid-template-columns:32px minmax(0,1fr) auto; }
  .todo-subitem .todo-actions { grid-column:3; }
  .todo-subitem .todo-item:not(.completed) .todo-actions { margin-top:0; padding-top:0; border-top:0; }
  .todo-subitem.dragging.todo-drag-root .todo-item { padding:8px 9px; grid-template-columns:32px minmax(0,1fr); }
  .todo-subitem.dragging.todo-drag-root .todo-actions { grid-column:2; margin-top:-3px; padding-top:7px; border-top:1px solid var(--line); }
  .project-page-head.standalone-page-head { margin-top:-26px; padding-top:14px; }
  .overview-page-head .desktop-overview-config { display:none; }
  .global-search-controls { padding:14px; }
  .global-search-query { grid-template-columns:22px minmax(0,1fr); }
  .global-search-query .button { grid-column:1/-1; }
  .global-search-filters { grid-template-columns:1fr; }
  .global-search-result > a { padding:16px; }
  .global-search-result footer { align-items:flex-start; flex-direction:column; gap:5px; }
  .global-search-result footer strong { white-space:normal; }
  .project-browser-head .page-actions { margin-top:0; }
  .page-actions { width:100%; }
  .project-search { min-width:0; }
  .project-list .project-card { grid-template-columns:1fr; }
  .folder-card { grid-template-columns:1fr; }
  .workstep-card { min-height:0; grid-template-columns:1fr; }
  .project-card-status { border-top:1px solid var(--line); border-left:0; border-radius:0 0 18px 18px; }
  .project-card-collapsible-status { padding:0; gap:0; background:var(--surface); }
  .project-card-collapsible-status .project-card-status-head { min-height:52px; padding:4px 8px 4px 13px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .project-card-collapsible-status .project-card-actions { min-height:44px; flex:none; align-items:center; gap:6px; }
  .project-card-collapsible-status .project-card-actions .edit-action,.project-card-collapsible-status .project-card-actions .project-flag-toggle,.project-card-collapsible-status .project-card-actions .project-flag-indicator { width:44px; height:44px; }
  .project-card-status-content { padding:12px 14px 15px; border-top:1px solid var(--line); }
  .project-card-collapsible-status.mobile-collapsed .project-card-status-content { display:none; }
  .workstep-card-content { padding:16px; }
  .workstep-card-status { padding:0; border-top:1px solid var(--line); border-left:0; gap:0; background:var(--surface); border-radius:0 0 18px 18px; }
  .mobile-workstep-status-head { min-height:52px; padding:4px 8px 4px 13px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .mobile-status-toggle { min-width:0; min-height:44px; padding:0; border:0; display:flex; flex:1; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); background:transparent; cursor:pointer; font-size:12px; font-weight:800; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
  .mobile-status-toggle svg { width:18px; height:18px; flex:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .16s ease; }
  [data-mobile-status-panel]:not(.mobile-collapsed) .mobile-status-toggle svg { transform:rotate(180deg); }
  .mobile-workstep-actions { display:flex; align-items:center; gap:6px; }
  .mobile-workstep-actions .drag-handle,.mobile-workstep-actions .action-menu summary { width:44px; height:44px; }
  .mobile-workstep-menu .action-menu-panel { top:48px; width:190px; }
  .desktop-workstep-actions { display:none; }
  .workstep-status-content { padding:12px 14px 15px; border-top:1px solid var(--line); }
  .workstep-card-status.mobile-collapsed .workstep-status-content { display:none; }
  .dialog-danger { align-items:flex-start; flex-direction:column; }
  .project-compact-fields { grid-template-columns:1fr 1fr; }
  .project-compact-fields .icon-picker { grid-column:1/-1; }
  .icon-picker-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .project-hero { padding:4px 0 12px; }
  .project-hero-layout { grid-template-columns:1fr; gap:10px; }
  .project-heading-row { padding:8px 0; gap:12px; }
  .project-hero-icon { width:40px; height:40px; border-radius:11px; }
  .project-hero-icon svg { width:22px; height:22px; }
  .project-hero-status { padding:9px 0 0; border-top:1px solid var(--line); border-left:0; }
  .project-hero-status-head { min-height:44px; margin-bottom:10px; flex-wrap:wrap; gap:8px; }
  .project-hero-status-head .desktop-status-label { display:none; }
  .mobile-project-status-controls { min-width:154px; display:flex; flex:1; align-items:center; gap:6px; }
  .mobile-project-status-controls > .mobile-status-toggle { margin-left:auto; flex:none; justify-content:flex-start; color:var(--muted); }
  .mobile-project-nav { position:relative; z-index:2; display:block; flex:none; }
  .mobile-project-nav > summary { width:44px; height:44px; color:var(--accent-contrast); border-color:var(--brand-red); background:var(--brand-red); }
  .mobile-project-nav > summary:hover,.mobile-project-nav > summary:focus-visible { color:#fff; border-color:var(--red); background:var(--red); }
  .mobile-project-nav .action-menu-panel { top:48px; right:auto; left:0; width:210px; }
  .mobile-project-nav .menu-item { justify-content:space-between; }
  .mobile-project-nav .menu-item small { color:inherit; font-size:11px; opacity:.7; }
  .mobile-project-nav .menu-item.active { color:var(--red); background:var(--red-soft); font-weight:750; }
  .project-hero-status.mobile-collapsed .project-hero-status-head { margin-bottom:0; }
  .project-hero-status.mobile-collapsed .project-hero-facts { display:none; }
  .project-hero-actions { margin-left:auto; gap:6px; }
  .project-hero-actions .edit-action,.project-hero-actions .project-flag-toggle,.project-hero-actions .project-export-menu summary { width:44px; height:44px; }
  .project-add-button { width:44px; min-width:44px; height:44px; padding:0; display:grid; place-items:center; }
  .project-add-button b { display:none; }
  .project-add-button span { font-size:25px; }
  .project-page-breadcrumbs { margin-top:-26px; padding-top:14px; padding-bottom:9px; }
  .project-title-line h1 { font-size:clamp(24px,8vw,30px); }
  .project-description { font-size:13px; }
  .project-subnav { display:none; }
  .project-page-content { padding-top:22px; }
  .project-content-toolbar { margin-bottom:10px; }
  .project-content-toolbar .project-add-button { width:auto; min-width:0; height:44px; padding:0 14px; display:flex; }
  .project-content-toolbar .project-add-button b { display:inline; }
  .project-unified-sections { gap:12px; }
  .project-unified-section { border-radius:15px; }
  .unified-section-head,.unified-section-head button { min-height:54px; }
  .unified-section-head button { padding:7px 12px; }
  .unified-section-head strong { font-size:16px; }
  .project-unified-content { padding:12px; }
  .project-add-grid { grid-template-columns:1fr; }
  .project-add-logbook-actions { grid-template-columns:1fr 1fr; }
  .project-add-grid button { min-height:68px; }
  .project-browser-hero .project-heading-row { flex-wrap:wrap; }
  .project-browser-hero-actions { width:100%; margin-left:0; padding-left:0; }
  .project-browser-hero-actions .project-list-controls { width:100%; }
  .common-page-hero .project-heading-row { align-items:flex-start; flex-wrap:wrap; }
  .common-page-hero-actions { width:100%; margin-left:0; justify-content:flex-end; }
  .next-steps-section { margin-bottom:32px; }
  .next-steps-section .section-head,.diary-section .section-head,.project-item-section .section-head { min-height:44px; margin-bottom:12px; flex-wrap:nowrap; align-items:center; }
  .next-steps-section .section-head h2,.diary-section .section-head h2,.project-item-section .section-head h2 { min-width:0; font-size:18px; line-height:1.15; }
  .section-head-actions { flex:none; gap:4px; }
  .project-section-add { min-height:44px; }
  .section-toggle { width:44px; height:44px; }
  .item-card { min-height:0; padding:16px; }
  .item-card-copy { min-width:0; }
  .item-actions { position:static; min-height:45px; margin-top:12px; padding-top:9px; border-top:1px solid var(--line); justify-content:flex-end; }
  .item-actions .drag-handle,.item-actions .action-menu summary { width:44px; height:44px; }
  .item-card p { line-height:1.5; }
  .file-grid { grid-template-columns:1fr; }
  .file-card { grid-template-columns:92px minmax(0,1fr); min-height:0; }
  .file-preview { height:92px; }
  .file-card-copy { padding-right:0; }
  .file-actions { position:static; grid-column:1/-1; justify-content:flex-end; padding-top:10px; border-top:1px solid var(--line); }
  .file-actions .icon-button { width:44px; height:44px; }
  .file-viewer-dialog { width:calc(100% - 16px); max-height:calc(100vh - 16px); border-radius:16px; }
  .file-viewer-head { padding:14px; }
  .file-viewer-layout { min-height:0; max-height:calc(100vh - 80px); grid-template-columns:1fr; overflow:auto; }
  .file-viewer-workspace { min-height:48vh; padding:10px; }
  .file-viewer-content img { max-width:90%; max-height:43vh; }
  .file-viewer-toolbar { justify-content:flex-start; }
  .file-viewer-toolbar .button span { display:none; }
  .file-viewer-details { padding:18px 14px; border-top:1px solid var(--line); border-left:0; overflow:visible; }
  .stats { grid-template-columns:1fr 1fr; }
  .activity-section .section-head { align-items:flex-end; gap:12px; }
  .activity-total { text-align:right; }
  .project-timeline-scale,.project-timeline-row { padding:0 16px; grid-template-columns:minmax(92px,120px) minmax(0,1fr); gap:12px; }
  .settings-layout { grid-template-columns:1fr; }
  .setting-list { padding:0 18px; }
  .update-card { margin:18px 18px 0; align-items:flex-start; flex-direction:column; }
  .update-card-actions { width:100%; flex-wrap:wrap; }
  .general-icon-setting { flex-direction:column; }
  .general-sort-select,#default-project-icon-form { width:100%; }
  .profile-project-row { flex-direction:column; gap:10px; }
  .profile-project-row > div:first-child { padding-top:0; }
  .profile-projects { max-width:none; justify-content:flex-start; }
  .settings-group-head { padding:21px 18px; }
  .settings-section-head { padding:20px 18px 8px; }
  .device-form-fields { padding:10px 18px 20px; grid-template-columns:1fr; }
  .device-form-actions { margin:0 18px; align-items:flex-start; flex-direction:column; }
  .appearance-layout { padding:10px 18px 20px; grid-template-columns:1fr; }
  .appearance-theme-modes { margin:10px 18px 4px; grid-template-columns:1fr; }
  .appearance-fields { grid-template-columns:1fr; }
  .appearance-fields label:last-child { grid-column:auto; }
  .appearance-color-layout { padding:10px 18px 20px; grid-template-columns:1fr; }
  .appearance-color-primary { grid-template-columns:84px minmax(0,1fr); }
  .appearance-actions { margin:0 18px; align-items:flex-start; flex-direction:column; }
  .role-legend { margin:8px 18px 20px; }
  .role-legend-row { grid-template-columns:1fr; gap:4px; }
  .user-list { padding:0 18px; }
  .user-row { align-items:flex-start; flex-direction:column; gap:12px; }
  .user-row-meta { width:100%; justify-content:flex-start; }
  .user-access { min-width:0; margin-right:auto; text-align:left; }
  .backup-area { padding:20px 18px; }
  .backup-area-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .storage-summary { grid-template-columns:1fr; }
  .backup-export-grid,.backup-import-grid { grid-template-columns:1fr; }
  .security-section-head { padding:18px 18px 10px; }
  .session-list,.audit-list { padding:0 18px 16px; }
  .danger-zone-head { padding:20px 18px 12px; }
  .danger-row { margin:0 18px; align-items:flex-start; flex-direction:column; gap:12px; }
  .session-row { grid-template-columns:minmax(0,1fr) auto; }
  .session-row > span:not(.setting-status) { display:none; }
  .audit-row { grid-template-columns:1fr; gap:5px; }
  .audit-row > span { text-align:left; }
}
@media (max-width:420px) {
  dialog form { padding:20px 16px; }
  .dialog-actions { width:100%; display:grid; grid-template-columns:1fr; gap:9px; }
  .dialog-actions .button { width:100%; }
  .storage-location-series-fields,.storage-location-matrix-fields { grid-template-columns:1fr; }
  .storage-location-series-preview { grid-column:1; }
  main { --main-gutter:14px; padding-top:22px; }
  .mobile-header { padding:0 10px; }
  .mobile-header-main { gap:8px; }
  .mobile-header .brand-custom-logo { height:25px; }
  .project-heading-row { gap:10px; }
  .project-title-line h1 { font-size:clamp(23px,8.4vw,28px); }
  .project-hero-facts { gap:13px 12px; }
  .project-section-add { padding:10px 12px; font-size:12px; }
  .next-steps-section .section-head h2,.diary-section .section-head h2,.project-item-section .section-head h2 { font-size:17px; }
  .workstep-card-content,.item-card { padding:14px; }
  .item-actions { margin-top:10px; }
  .inventory-item-detail .inventory-item-overview { grid-template-columns:1fr; }
  .inventory-item-detail .inventory-item-overview-heading { grid-column:1; grid-row:1; }
  .inventory-item-detail .inventory-item-overview .storage-item-preview { grid-column:1; grid-row:2; }
  .inventory-item-detail .inventory-item-stock-overview { grid-column:1; grid-row:3; margin-top:18px; }
}
body.project-print-mode { --ink:#202327; --ink-soft:#555c65; --muted:#6f757d; --paper:#edf0f3; --surface:#fff; --surface-subtle:#fafbfc; --surface-muted:#f6f7f8; --interactive:#f4f5f6; --interactive-hover:#eef0f2; --line:#e2e5e9; --line-strong:#cbd0d6; color-scheme:light; background:var(--paper); }
.project-print-mode .sidebar,.project-print-mode .mobile-header { display:none; }
body.project-print-mode main { margin:0; padding:32px 24px 60px; }
.project-print-shell { width:min(210mm,100%); margin:0 auto; }
.project-print-toolbar { position:sticky; z-index:4; top:14px; margin:0 0 18px; padding:11px 12px; border:1px solid var(--line-strong); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:16px; background:rgba(255,255,255,.94); box-shadow:0 10px 30px rgba(25,31,38,.11); backdrop-filter:blur(10px); }
.project-print-toolbar > div { display:flex; align-items:center; gap:14px; }
.project-print-toolbar > div > span { color:var(--muted); font-size:12px; font-weight:700; }
.project-print-toolbar .button svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.project-print-toolbar .button.primary { background:#202327; }
.project-print-toolbar .button.primary:hover,.project-print-toolbar .button.primary:focus-visible { background:#000; }
.project-print-sheet { width:100%; min-height:297mm; padding:17mm 16mm 14mm; color:#22262a; background:var(--surface); box-shadow:0 20px 60px rgba(25,31,38,.13); }
.project-print-header { padding-bottom:9mm; border-bottom:2px solid #24282c; }
.project-print-header img { width:auto; height:25px; display:block; filter:grayscale(1) brightness(0); }
.project-print-header > p { margin:8mm 0 2mm; color:#202327; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.project-print-header h1 { max-width:none; font-size:34px; line-height:1.08; }
.project-print-description { max-width:155mm; margin-top:4mm; color:var(--muted); font-size:12px; line-height:1.6; white-space:pre-wrap; }
.project-print-facts { margin:8mm 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4mm; }
.project-print-facts > div { min-width:0; padding:3.5mm 4mm; border:1px solid #d7dbe0; border-radius:3mm; background:var(--surface); }
.project-print-facts small,.project-print-facts strong { display:block; overflow-wrap:anywhere; }
.project-print-facts small { margin-bottom:1.3mm; color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.project-print-facts strong { font-size:10.5px; line-height:1.35; }
.project-print-section { margin-top:10mm; }
.project-print-section-head { padding-bottom:2.5mm; border-bottom:1.5px solid #24282c; display:flex; align-items:center; justify-content:space-between; gap:8mm; }
.project-print-section-head h2 { font-size:20px; }
.project-print-section-head > span { min-width:7mm; height:7mm; padding:0 2mm; border:1px solid #202327; border-radius:99px; display:grid; place-items:center; color:#202327; background:var(--surface); font-size:9px; font-weight:800; }
.project-print-subsection { margin-top:5mm; }
.project-print-subsection > h3 { margin:0 0 2.5mm; display:flex; align-items:center; gap:2mm; color:var(--ink-soft); font-size:12px; letter-spacing:0; }
.project-print-subsection > h3 span { color:var(--muted); font-size:9px; }
.project-print-records { display:grid; gap:2.5mm; }
.project-print-section > .project-print-records { margin-top:2.5mm; }
.project-print-record { padding:4mm 4.5mm; border:1px solid #d7dbe0; border-left:1mm solid #aeb4bb; border-radius:2.5mm; background:var(--surface); }
.project-print-record h3 { font-size:12px; line-height:1.35; letter-spacing:-.01em; }
.project-print-record > p,.project-print-future p { margin:2.5mm 0 0; color:var(--muted); font-size:9.5px; line-height:1.55; white-space:pre-wrap; }
.project-print-record-meta { margin:2.5mm 0 0; display:flex; flex-wrap:wrap; gap:2mm 6mm; }
.project-print-record-meta > div { display:flex; align-items:baseline; gap:1.5mm; }
.project-print-record-meta dt { color:var(--muted); font-size:7.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.project-print-record-meta dd { margin:0; font-size:9px; font-weight:700; }
.project-print-link { margin-top:2.5mm; display:block; color:#202327; font-size:9px; line-height:1.45; overflow-wrap:anywhere; text-decoration:underline; }
.project-print-future { margin-top:3mm; padding-top:3mm; border-top:1px solid #e1e4e8; }
.project-print-future > strong { display:block; color:var(--muted); font-size:8px; letter-spacing:.07em; text-transform:uppercase; }
.project-print-empty { margin:4mm 0 0; color:var(--muted); font-size:9.5px; font-style:italic; }
.project-print-footer { margin-top:12mm; padding-top:3mm; border-top:1px solid #dfe2e6; display:flex; justify-content:space-between; color:var(--muted); font-size:8px; }
.project-export-mode .project-print-toolbar .button.primary { background:var(--brand-red); }
.project-export-mode .project-print-toolbar .button.primary:hover,.project-export-mode .project-print-toolbar .button.primary:focus-visible { background:var(--red); }
.project-export-mode .project-print-header { border-bottom-color:var(--brand-red); }
.project-export-mode .project-print-header img { filter:none; }
.project-export-mode .project-print-header > p { color:var(--brand-red); }
.project-export-mode .project-print-facts > div { border-color:var(--accent-border); background:var(--accent-soft-light); }
.project-export-mode .project-print-facts small { color:var(--red); }
.project-export-mode .project-print-section-head { border-bottom-color:var(--brand-red); }
.project-export-mode .project-print-section-head > span { border-color:var(--brand-red); color:var(--red); background:var(--accent-soft-light); }
.project-export-mode .project-print-record { border-left-color:var(--brand-red); }
.project-export-mode .project-print-future { border-top-color:var(--accent-border); }
.project-export-file-record { padding:0; display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr); overflow:hidden; }
.project-export-image { min-height:45mm; max-height:125mm; margin:0; padding:4mm; display:grid; place-items:center; overflow:hidden; background:#f5f1f0; }
.project-export-image img { max-width:100%; max-height:117mm; display:block; object-fit:contain; transform-origin:center; }
.project-export-document { min-height:45mm; display:grid; place-items:center; color:var(--red); background:var(--accent-soft-light); }
.project-export-document strong { padding:3mm; border:1px solid currentColor; border-radius:2mm; font-size:12px; letter-spacing:.08em; }
.project-export-file-copy { min-width:0; padding:5mm; align-self:center; }
.project-export-file-description { margin:2.5mm 0 0; color:var(--muted); font-size:9.5px; line-height:1.55; white-space:pre-wrap; }
.project-export-file-record .project-print-record-meta { display:grid; gap:1.5mm; }
.project-export-file-record .project-print-record-meta > div { min-width:0; display:grid; grid-template-columns:24mm minmax(0,1fr); gap:2mm; }
.project-export-file-record .project-print-record-meta dd { overflow-wrap:anywhere; }
@media (max-width:780px) {
  body.project-print-mode main { padding:16px 10px 36px; }
  .project-print-toolbar { position:static; align-items:stretch; flex-direction:column; }
  .project-print-toolbar > div { align-items:stretch; flex-direction:column; gap:8px; }
  .project-print-toolbar > div > span { text-align:center; }
  .project-print-sheet { min-height:0; padding:10mm 7mm; }
  .project-print-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-export-file-record { grid-template-columns:1fr; }
  .project-export-image { max-height:none; }
}
@media print {
  @page { size:A4 portrait; margin:14mm 15mm 16mm; }
  html,body,body.project-print-mode { min-height:0; background:var(--surface); }
  .project-print-mode .sidebar,.project-print-mode .mobile-header,.project-print-toolbar,.toast { display:none!important; }
  body.project-print-mode main { min-height:0; margin:0; padding:0; }
  .project-print-shell,.project-print-sheet { width:auto; max-width:none; min-height:0; margin:0; padding:0; }
  .project-print-sheet { box-shadow:none; }
  .project-print-header,.project-print-section-head { break-after:avoid-page; }
  .project-print-subsection > h3 { break-after:avoid-page; }
  .project-print-record { break-inside:avoid-page; }
  .project-print-facts > div,.project-print-record { background:var(--surface); print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .project-print-section-head > span { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .project-export-mode .project-print-facts > div { background:var(--accent-soft-light); }
  .project-export-mode .project-print-section-head > span,.project-export-mode .project-export-document { background:var(--accent-soft-light); }
  .project-export-mode .project-export-image { background:#f5f1f0; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
@media (max-width:560px) { .stats { grid-template-columns:1fr; } }
@media (max-width:420px) { .project-grid { grid-template-columns:1fr; } .page-actions { align-items:stretch; flex-direction:column-reverse; } .project-list-controls { width:100%; } .project-compact-control.open .project-search { width:calc(100vw - 136px); min-width:0; } .page-head .button,.project-title-line .button { width:100%; } }
.stock-entry-location-picker { margin:0; padding:0; border:0; }
.stock-entry-location-picker legend { margin-bottom:0; font-size:13px; font-weight:600; }
.stock-entry-location-picker > .field-hint { margin:6px 0 10px; }
.compact-column-picker { height:220px; border:1px solid var(--line); border-radius:10px; display:flex; overflow-x:auto; overflow-y:hidden; background:var(--surface); }
.compact-column-picker-column { width:210px; min-width:210px; border-right:1px solid var(--line); display:grid; grid-template-rows:34px minmax(0,1fr); }
.compact-column-picker-column:last-child { border-right:0; }
.compact-column-picker-column > header { padding:9px 10px; border-bottom:1px solid var(--line); overflow:hidden; color:var(--muted); background:var(--surface-muted); font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.compact-column-picker-column > div { padding:4px; overflow-y:auto; }
.compact-column-picker-row { min-height:38px; border-radius:8px; display:grid; grid-template-columns:29px minmax(0,1fr); align-items:center; }
.compact-column-picker-row:hover,.compact-column-picker-row.active,.compact-column-picker-row.selected { background:var(--red-soft); }
.compact-column-picker-row.disabled { opacity:.5; }
.compact-column-picker-check { width:29px; height:38px; margin:0; padding:0 0 0 5px; display:flex; flex-direction:row; align-items:center; cursor:pointer; }
.compact-column-picker-check input { width:17px; height:17px; margin:0; padding:0; flex:none; accent-color:var(--red); }
.compact-column-picker-title { min-width:0; height:38px; margin:0; padding:6px 6px 6px 3px; border:0; border-radius:7px; display:grid; grid-template-columns:17px minmax(0,1fr) auto; align-items:center; gap:7px; color:var(--ink); background:transparent; text-align:left; }
.compact-column-picker-title:is(button) { cursor:pointer; }
.compact-column-picker-title:is(button):hover,.compact-column-picker-title:is(button):focus-visible { color:var(--red); background:transparent; outline:none; }
.compact-column-picker-title > span { width:17px; height:17px; color:var(--muted); }
.compact-column-picker-title svg { width:17px; height:17px; }
.compact-column-picker-title strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.compact-column-picker-title i { color:var(--muted); font-size:19px; font-style:normal; }
.compact-column-picker-empty { margin:10px; color:var(--muted); font-size:10px; }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
.inventory-category-picker { border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
.inventory-category-picker legend { padding:0 6px; font-weight:700; }
.inventory-category-picker .field-hint { margin:0 0 10px; }
.category-item-memberships { margin-top:20px; }
.inventory-category-section .category-item-memberships { margin:0; }
.category-item-memberships > div { display:flex; flex-wrap:wrap; gap:6px; }
.storage-finder-row[data-category-drop].drop-over { background:var(--red-soft,#fff0ef); }
.inventory-batch-import-dialog { width:min(980px,calc(100% - 28px)); }
.inventory-import-template-card { padding:15px 16px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:var(--surface-muted); }
.inventory-import-template-card > div { min-width:0; }
.inventory-import-template-card strong { font-size:14px; }
.inventory-import-template-card p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.inventory-import-template-card .button { flex:none; }
.inventory-import-category-picker { display:grid; gap:10px; }
.inventory-import-category-picker > .field-hint { margin:0; }
.inventory-import-category-create { display:grid; grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) auto; gap:8px; }
.inventory-import-category-create input,.inventory-import-category-create select { min-height:40px; padding:8px 10px; font-size:12px; }
.inventory-batch-preview { min-width:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }
.inventory-batch-preview[hidden] { display:none; }
.inventory-batch-preview-head { min-height:58px; padding:11px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--surface-muted); }
.inventory-batch-preview-head strong,.inventory-batch-preview-head small { display:block; }
.inventory-batch-preview-head strong { font-size:13px; }
.inventory-batch-preview-head small { margin-top:4px; color:var(--muted); font-size:10px; }
.inventory-batch-preview-head .setting-status.ok { color:var(--success-strong); background:var(--success-soft); }
.inventory-batch-preview-head .setting-status.warning { color:var(--warning-strong); background:var(--warning-soft); }
.inventory-batch-preview-table-wrap { max-height:310px; overflow:auto; border-top:1px solid var(--line); }
.inventory-batch-preview table { width:100%; border-collapse:collapse; font-size:11px; }
.inventory-batch-preview th { position:sticky; z-index:1; top:0; padding:9px 10px; color:var(--muted); background:var(--surface); text-align:left; font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.inventory-batch-preview td { padding:10px; border-top:1px solid var(--line); vertical-align:top; }
.inventory-batch-preview td:first-child { width:48px; color:var(--muted); }
.inventory-batch-preview td:nth-child(2) { min-width:180px; }
.inventory-batch-preview td strong,.inventory-batch-preview td small,.inventory-batch-preview td:last-child span { display:block; }
.inventory-batch-preview td small { margin-top:3px; color:var(--muted); font-size:9px; }
.inventory-batch-preview td:last-child { min-width:220px; color:var(--warning-strong); font-size:10px; line-height:1.4; }
.inventory-batch-preview tr.has-warning td { background:var(--warning-soft); }
.inventory-batch-import-actions { flex-wrap:wrap; }
.inventory-label-dialog { width:min(960px,calc(100% - 28px)); }
.inventory-label-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.inventory-label-options > [hidden] { display:none; }
.inventory-label-profile-tools { margin-top:-6px; padding:12px; border:1px solid var(--line); border-radius:14px; display:grid; gap:12px; background:var(--surface-muted); }
.inventory-label-profile-tools[hidden],.inventory-label-profile-editor[hidden] { display:none; }
.inventory-label-profile-summary,.inventory-label-profile-editor-head,.inventory-label-profile-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.inventory-label-profile-summary > div:first-child,.inventory-label-profile-editor-head > div { min-width:0; }
.inventory-label-profile-summary strong,.inventory-label-profile-summary span,.inventory-label-profile-editor-head strong,.inventory-label-profile-editor-head span { display:block; }
.inventory-label-profile-summary span,.inventory-label-profile-editor-head span { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.4; }
.inventory-label-profile-tools > .field-hint { margin:-5px 0 0; }
.inventory-label-profile-summary > div:last-child { display:flex; flex:none; gap:7px; }
.inventory-label-profile-editor { padding:14px; border:1px solid var(--line); border-radius:12px; display:grid; gap:13px; background:var(--surface); }
.inventory-label-profile-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:11px; }
.inventory-label-profile-fields label { gap:5px; font-size:11px; }
.inventory-label-profile-fields input,.inventory-label-profile-fields select { min-height:40px; padding:8px 10px; font-size:12px; }
.inventory-label-rotate { min-height:40px; }
.inventory-label-border-setting { min-height:40px; padding:0 10px; border:1px solid var(--line); border-radius:10px; display:flex!important; flex-direction:row!important; align-items:center; gap:8px!important; }
.inventory-label-border-setting input { width:17px; min-height:0; height:17px; margin:0; padding:0; accent-color:var(--red); }
.inventory-label-profile-editor-actions { justify-content:flex-end; }
.inventory-label-profile-editor-actions .button[hidden] { display:none; }
.inventory-label-status { min-height:20px; color:var(--muted); font-size:11px; font-weight:700; }
.inventory-label-status.warning { color:var(--warning-strong); }
.inventory-label-preview { min-height:250px; max-height:440px; padding:16px; border:1px solid var(--line); border-radius:14px; overflow:auto; display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); align-content:start; gap:12px; background:var(--surface-muted); }
.inventory-label-preview > .empty { grid-column:1/-1; min-height:216px; }
.inventory-label-card { width:100%; min-width:0; max-height:280px; aspect-ratio:var(--label-ratio); border:1px solid var(--line-strong); border-radius:10px; overflow:hidden; color:#17191d; background:#fff; box-shadow:0 5px 14px rgba(20,25,30,.07); }
.inventory-label-card[data-label-border="true"] { border-style:dashed; border-color:#727981; }
.inventory-label-card[data-label-layout="portrait"] { width:auto; max-width:230px; height:230px; justify-self:center; }
.inventory-label-card .label-content { width:100%; height:100%; padding:10px; display:flex; align-items:center; justify-content:center; gap:11px; transform:translate(var(--label-offset-x),var(--label-offset-y)); }
.inventory-label-card[data-label-layout="portrait"] .label-content { flex-direction:column; gap:7px; }
.inventory-label-card .label-qr { width:min(40%,116px); flex:0 0 auto; }
.inventory-label-card[data-label-layout="portrait"] .label-qr { width:min(84%,160px); height:auto; aspect-ratio:1; }
.inventory-label-card[data-label-layout="qr"] .label-qr { width:auto; height:min(86%,180px); }
.inventory-label-card .label-qr svg { width:100%; height:100%; display:block; }
.inventory-label-card .label-copy { min-width:0; max-width:100%; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.inventory-label-card[data-label-layout="portrait"] .label-copy { align-self:auto; text-align:center; }
.inventory-label-card .label-copy small { color:#626973; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.inventory-label-card .label-copy strong { margin-top:4px; overflow:hidden; font-size:15px; line-height:1.15; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.inventory-label-card[data-label-layout="portrait"] .label-copy strong { font-size:12px; -webkit-line-clamp:3; }
.inventory-label-card .label-copy span { margin-top:5px; overflow:hidden; color:#626973; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.inventory-label-card .label-copy i { margin-top:auto; color:#7b8189; font-size:8px; font-style:normal; }
.inventory-label-card[data-label-content="title"] .label-copy { align-self:auto; }
.inventory-label-card[data-label-content="title"] .label-copy strong { margin:0; }
.inventory-label-more { grid-column:1/-1; margin:2px 0 0; color:var(--muted); font-size:11px; text-align:center; }
.inventory-label-actions { flex-wrap:wrap; }
.inventory-label-actions .button[hidden] { display:none; }
.inventory-audit-dialog { width:min(720px,calc(100% - 28px)); }
.inventory-audit-dialog select[multiple] { min-height:150px; }
.checkbox-setting { min-height:42px; padding:8px 11px; border:1px solid var(--line); border-radius:11px; display:flex!important; flex-direction:row!important; align-items:center; gap:9px!important; background:var(--surface-muted); }
.checkbox-setting input { width:18px; height:18px; min-height:0; margin:0; padding:0; accent-color:var(--red); }
.inventory-audit-content { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:24px 0 50px; display:grid; gap:24px; }
.inventory-audit-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; }
.inventory-audit-summary > div { min-height:78px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; display:grid; align-content:center; gap:7px; background:var(--surface); }
.inventory-audit-summary span { color:var(--muted); font-size:10px; }
.inventory-audit-summary strong { font-size:20px; }
.inventory-audit-section { display:grid; gap:12px; }
.inventory-audit-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.inventory-audit-section-head h2 { margin:0; font-size:18px; }
.inventory-audit-section-head p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.inventory-audit-request-list,.inventory-audit-run-list,.inventory-audit-entry-list { display:grid; gap:10px; }
.inventory-audit-request { padding:15px 16px; border:1px solid var(--line); border-left:4px solid var(--red); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--surface); }
.inventory-audit-request.urgent { border-left-color:var(--warning-strong); background:var(--warning-soft); }
.inventory-audit-request h3,.inventory-audit-stale-list h3 { margin:5px 0 0; font-size:14px; }
.inventory-audit-request h3 a,.inventory-audit-stale-list h3 a { color:var(--ink); }
.inventory-audit-request p,.inventory-audit-stale-list p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.inventory-audit-request blockquote { margin:8px 0 0; color:var(--ink-subtle); font-size:11px; }
.inventory-audit-priority { color:var(--red); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.inventory-audit-priority.urgent,.inventory-audit-request.urgent .inventory-audit-priority { color:var(--warning-strong); }
.inventory-audit-age-filter { display:flex; justify-content:flex-end; }
.inventory-audit-age-filter label { width:min(340px,100%); font-size:10px; }
.inventory-audit-stale-list { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }
.inventory-audit-stale-list article { min-height:62px; padding:10px 14px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; }
.inventory-audit-stale-list article:last-child { border-bottom:0; }
.inventory-audit-stale-list article > span { color:var(--muted); font-size:10px; white-space:nowrap; }
.inventory-audit-run { padding:15px 17px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:24px; color:var(--ink); background:var(--surface); box-shadow:var(--shadow-soft); }
.inventory-audit-run:hover { border-color:var(--line-strong); }
.inventory-audit-run h3 { margin:7px 0 0; font-size:15px; }
.inventory-audit-run p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.inventory-audit-run > div:last-child { display:grid; justify-items:end; gap:3px; }
.inventory-audit-run > div:last-child strong { font-size:17px; }
.inventory-audit-run > div:last-child span,.inventory-audit-run > div:last-child small { color:var(--muted); font-size:9px; }
.inventory-audit-entry { padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-soft); }
.inventory-audit-entry.pending { border-left:4px solid var(--warning); }
.inventory-audit-entry > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.inventory-audit-entry > header h3 { margin:5px 0 0; font-size:16px; }
.inventory-audit-entry > header p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.inventory-audit-entry > header > div:last-child { display:grid; justify-items:end; gap:6px; text-align:right; }
.inventory-audit-entry > header > div:last-child strong { font-size:11px; }
.inventory-audit-entry-result { padding:4px 7px; border-radius:99px; color:var(--success-strong); background:var(--success-soft); font-size:9px; font-weight:800; }
.inventory-audit-entry-result.result-corrected,.inventory-audit-entry-result.result-open_difference,.inventory-audit-entry-result.result-attention,.inventory-audit-entry-result.result-not_found { color:var(--warning-strong); background:var(--warning-soft); }
.inventory-audit-check-form { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(160px,1fr) minmax(220px,1.4fr); align-items:end; gap:11px; }
.inventory-audit-check-form > label { font-size:10px; }
.inventory-audit-check-form > .checkbox-setting { align-self:end; }
.inventory-audit-count { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; }
.inventory-audit-count span { color:var(--muted); font-size:11px; }
.inventory-audit-check-actions { grid-column:1/-1; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.inventory-audit-entry-note { margin:12px 0 0; color:var(--muted); font-size:11px; }
.empty.compact { min-height:90px; padding:20px; }
.inventory-bulk-toolbar { position:relative; z-index:8; min-height:54px; padding:8px 24px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--surface); box-shadow:var(--shadow-soft); }
.inventory-bulk-toolbar > strong { color:var(--red); font-size:12px; white-space:nowrap; }
.inventory-bulk-toolbar > div { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.inventory-bulk-toolbar button { min-height:34px; padding:7px 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); font:inherit; font-size:10px; font-weight:750; cursor:pointer; }
.inventory-bulk-toolbar button:hover { border-color:var(--accent-border-strong); color:var(--red); background:var(--red-soft); }
.inventory-bulk-check-column { width:42px!important; min-width:42px!important; padding-left:12px!important; padding-right:4px!important; }
.inventory-bulk-check-column label,.storage-finder-bulk-check { display:grid; place-items:center; }
.inventory-bulk-check-column input,.storage-finder-bulk-check input { width:18px; height:18px; margin:0; accent-color:var(--red); }
.inventory-item-row.bulk-selected,.storage-finder-row.bulk-selected { background:var(--red-soft); }
.storage-finder-bulk-check { flex:0 0 36px; align-self:stretch; cursor:pointer; }
.storage-finder-row:has(.storage-finder-bulk-check) { grid-template-columns:36px minmax(0,1fr); }
.storage-finder-bulk-check { grid-column:1; grid-row:1; }
.storage-finder-bulk-check + .storage-finder-link { grid-column:2; grid-row:1; padding-left:0; }
.inventory-bulk-dialog { width:min(760px,calc(100% - 28px)); }
.inventory-bulk-dialog [hidden] { display:none!important; }
.inventory-bulk-dialog fieldset { min-width:0; }
.inventory-import-detail-dialog { width:min(760px,calc(100% - 28px)); padding:24px; }
#inventory-import-revert[hidden] { display:none!important; }
.inventory-import-meta { margin:0 0 14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.inventory-import-meta > div { padding:10px 12px; border:1px solid var(--line); border-radius:11px; display:grid; gap:4px; background:var(--surface-muted); }
.inventory-import-meta dt { color:var(--muted); font-size:9px; }
.inventory-import-meta dd { margin:0; font-size:11px; font-weight:750; }
.inventory-import-items,.inventory-import-history { max-height:390px; border:1px solid var(--line); border-radius:12px; overflow:auto; background:var(--surface); }
.inventory-import-items > div { padding:10px 12px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:70px minmax(0,1fr); gap:3px 10px; }
.inventory-import-items > div:last-child { border-bottom:0; }
.inventory-import-items span,.inventory-import-items small { color:var(--muted); font-size:9px; }
.inventory-import-items small { grid-column:2; }
.inventory-import-history button { width:100%; padding:11px 13px; border:0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:4px 12px; color:var(--ink); text-align:left; background:transparent; cursor:pointer; }
.inventory-import-history button:last-child { border-bottom:0; }
.inventory-import-history button:hover { background:var(--surface-muted); }
.inventory-import-history small { grid-column:1/-1; color:var(--muted); }
.inventory-import-blockers { margin-top:12px; padding:12px; border:1px solid var(--warning-border); border-radius:11px; color:var(--warning-strong); background:var(--warning-soft); }
.inventory-import-blockers p { margin:5px 0 0; font-size:10px; }
@media (max-width:700px) {
  .inventory-import-template-card { align-items:stretch; flex-direction:column; }
  .inventory-import-template-card .button { width:100%; }
  .inventory-import-category-create { grid-template-columns:1fr; }
  .inventory-batch-import-actions { display:grid; grid-template-columns:1fr; }
  .inventory-batch-import-actions .button { width:100%; }
  .inventory-label-options { grid-template-columns:1fr; }
  .inventory-label-profile-summary { align-items:stretch; flex-direction:column; }
  .inventory-label-profile-summary > div:last-child { display:grid; grid-template-columns:1fr 1fr; }
  .inventory-label-profile-fields { grid-template-columns:1fr; }
  .inventory-label-preview { min-height:220px; grid-template-columns:1fr; }
  .inventory-label-actions { display:grid; grid-template-columns:1fr; }
  .inventory-label-actions .button { width:100%; }
  .inventory-audit-content { width:calc(100% - 28px); padding-top:16px; }
  .inventory-audit-summary { grid-template-columns:1fr 1fr; }
  .inventory-audit-request,.inventory-audit-run { align-items:stretch; flex-direction:column; }
  .inventory-audit-run > div:last-child { justify-items:start; }
  .inventory-audit-stale-list article { grid-template-columns:1fr; }
  .inventory-audit-check-form { grid-template-columns:1fr; }
  .inventory-audit-check-actions { grid-column:1; display:grid; }
  .inventory-bulk-toolbar { align-items:stretch; flex-direction:column; padding:9px 14px; }
  .inventory-bulk-toolbar > div { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; }
  .inventory-bulk-toolbar button { white-space:nowrap; }
  .inventory-import-meta { grid-template-columns:1fr; }
  .inventory-import-detail-dialog { padding:16px; }
}
