:root {
    color-scheme: light;
    --ink: #17231f;
    --muted: #63716b;
    --paper: #f5f4ee;
    --card: #fffefa;
    --accent: #a54832;
    --accent-dark: #7e2e20;
    --green: #1f4b3f;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.manual-page{display:grid;gap:1rem;line-height:1.65}.manual-page .company-card{scroll-margin-top:1rem}.manual-page .company-card h2{margin-top:0}.manual-page .company-card h3{margin-top:1.5rem}.manual-page .company-card li+li{margin-top:.65rem}.manual-toc h2{margin-bottom:.25rem}.manual-toc>p{margin-top:0}.manual-toc>div{display:flex;flex-wrap:wrap;gap:.65rem}.manual-toc a{display:inline-block;border:1px solid #8ca198;border-radius:.35rem;padding:.45rem .7rem;font-weight:700;text-decoration:none}.manual-steps{counter-reset:manual-step;list-style:none;padding:0;display:grid;gap:.8rem}.manual-steps li{counter-increment:manual-step;position:relative;min-height:2.4rem;padding:.35rem 0 .35rem 3.1rem}.manual-steps li::before{content:counter(manual-step);position:absolute;left:0;top:0;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;background:#1f4b3f;color:#fff;font-weight:800}.manual-callout{border-left:.35rem solid #1f4b3f;background:#eaf2ef;padding:.9rem 1rem;margin:1rem 0}.manual-callout p{margin:.25rem 0 0}.manual-callout-warning{border-color:#b44a32;background:#fff2e9}.manual-callout-danger{border-color:#8a241d;background:#fff0ef}.manual-screen{max-width:760px;margin:1.5rem auto;border:1px solid #aab7b1;border-radius:.5rem;overflow:hidden;background:#fff;box-shadow:0 .5rem 1.4rem rgba(22,45,38,.12)}.manual-screen-bar{display:flex;gap:1rem;align-items:center;padding:.65rem 1rem;background:#1f4b3f;color:#fff}.manual-screen-bar strong{margin:auto}.manual-screen-body{padding:1rem}.manual-screen-title{font:700 1.35rem Georgia,serif;color:#153f35}.manual-screen-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #d7dedb;padding:.8rem}.manual-screen-action{color:#9e3f2b;font-weight:700}.manual-screen figcaption{padding:.65rem 1rem;background:#f1f4f2;font-size:.9rem}.manual-screen figcaption span{display:block;color:#66736e}.manual-checklist{list-style:'✓  ';padding-left:1.4rem}.manual-help{display:grid;grid-template-columns:minmax(12rem,1fr) 2fr;gap:.5rem 1rem}.manual-help dt{font-weight:800;color:#153f35}.manual-help dd{margin:0 0 .75rem}.manual-tree{padding:1rem;border-left:.3rem solid #b44a32;background:#f5f5f1;overflow:auto;font:700 1rem/1.7 ui-monospace,monospace}@media(max-width:650px){.manual-help{grid-template-columns:1fr}.manual-help dd{margin-bottom:1rem}.manual-screen-row{align-items:flex-start;flex-direction:column}.manual-screen-action{align-self:flex-end}.manual-toc a{width:100%}}
.organization-unit-section{border-top:1px solid #deddd5}.organization-unit-section>summary{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.75rem;padding:15px 0;font-weight:700;cursor:pointer;list-style:none}.organization-unit-section>summary::-webkit-details-marker{display:none}.organization-unit-section>summary::before{content:"▶";color:var(--accent);font-size:.75rem;transition:transform .15s ease}.organization-unit-section[open]>summary::before{transform:rotate(90deg)}.organization-summary-value{overflow:hidden;color:var(--muted);font-weight:500;text-align:right;text-overflow:ellipsis;white-space:nowrap}.organization-section-content{padding:2px 0 20px}.organization-section-content form+form{margin-top:12px}.organization-unit-card>.secondary-link{display:inline-block;margin-top:20px}@media(max-width:650px){.organization-unit-section>summary{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:start}.organization-summary-value{white-space:normal}}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--paper); }
.login-page { background-color: #173c34; background-image: linear-gradient(90deg, rgba(10,29,24,.86) 0%, rgba(10,29,24,.68) 44%, rgba(10,29,24,.28) 100%), url('/images/background.png'); background-size: cover; background-position: center; background-attachment: fixed; }
.login-shell { width: min(1120px, calc(100% - 40px)); min-height: 100vh; margin: auto; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(40px, 8vw, 120px); }
.brand-panel { color: #f8f3e8; max-width: 600px; }
.brand-panel h1 { max-width: 8ch; font-family: Georgia, serif; font-size: clamp(56px, 8vw, 108px); line-height: .91; letter-spacing: -.055em; margin: 18px 0 28px; }
.brand-panel p:last-child { max-width: 420px; font-size: 18px; line-height: 1.65; color: #e4ece7; }
.eyebrow { margin: 0; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 800; }
.login-card { padding: clamp(28px, 5vw, 56px); border: 1px solid #d9d6ca; background: var(--card); box-shadow: 0 28px 80px rgba(21, 33, 28, .16); }
.login-card h2 { margin: 10px 0 30px; font-family: Georgia, serif; font-size: clamp(34px, 4vw, 48px); font-weight: 500; }
label { display: block; margin: 18px 0 7px; font-size: 14px; font-weight: 750; }
input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #aeb7b2; border-radius: 4px; background: white; color: var(--ink); font: inherit; }
input:focus { outline: 3px solid rgba(165, 72, 50, .22); border-color: var(--accent); }
select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #aeb7b2; border-radius: 4px; background: white; color: var(--ink); font: inherit; }
textarea { width: 100%; min-height: 110px; padding: 11px 13px; border: 1px solid #aeb7b2; border-radius: 4px; background: white; color: var(--ink); font: inherit; resize: vertical; }
fieldset { margin: 20px 0 0; padding: 14px; border: 1px solid #d6d5cd; }
.check-row { display: flex; align-items: center; gap: 9px; margin: 9px 0; font-weight: 500; }
.check-row input { width: 18px; min-height: 18px; }
button { width: 100%; min-height: 50px; margin-top: 24px; border: 0; border-radius: 4px; padding: 12px 20px; background: var(--accent); color: white; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: var(--accent-dark); }
.secondary { width: auto; min-height: 42px; margin: 0; background: transparent; border: 1px solid #8da098; color: var(--green); }
.secondary:hover { border-color: var(--green); background: var(--green); color: white; }
.fine-print { margin: 22px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.alert { margin: 0 0 20px; padding: 12px 14px; border-left: 4px solid var(--accent); background: #fae9e4; color: #6f2418; }
.notice { max-width: 720px; margin: 0 0 28px; padding: 18px 20px; border-left: 4px solid var(--green); background: #e5eee9; color: var(--ink); box-shadow: 0 8px 24px rgba(31,75,63,.08); }
.notice strong { display: block; color: var(--green); font-size: 17px; }
.notice p { margin: 7px 0 0; line-height: 1.55; }
.reauth-box button { width: auto; margin-top: 14px; }
.reauth-status { min-height: 1.4em; margin-top: 10px; color: var(--muted); }
.app-header { position: sticky; top: 0; z-index: 50; min-height: 72px; padding: 14px 3%; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dad8cf; background: rgba(255,253,247,.97); box-shadow: 0 5px 18px rgba(23,35,31,.08); backdrop-filter: blur(12px); }
.wordmark { color: var(--green); font-family: Georgia, serif; font-size: 25px; text-decoration: none; }
.header-context-title { min-width: 0; max-width: min(42vw, 620px); margin-right: auto; padding-left: 18px; overflow: hidden; color: var(--green); font: 600 18px/1.25 Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.app-main { width: min(1120px, calc(100% - 40px)); margin: 80px auto; }
.company-themed { --company-color: #e5eee9; background: linear-gradient(135deg, color-mix(in srgb, var(--company-color) 42%, var(--paper)), var(--paper) 70%); }
.company-themed .app-header { border-top: 6px solid var(--company-color); }
.company-themed .app-main { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,45%); grid-template-rows: auto auto auto; column-gap: clamp(28px,5vw,72px); align-items: center; padding: clamp(28px,5vw,58px); border: 1px solid color-mix(in srgb, var(--company-color) 60%, #c8cbc7); background: color-mix(in srgb, var(--company-color) 18%, var(--card)); box-shadow: 0 18px 55px rgba(23,35,31,.08); }
.company-themed .app-main > .notice { grid-column: 1 / -1; }
.company-themed .app-main > h1, .company-themed .app-main > p, .company-themed .app-main > .button-link { grid-column: 1; }
.company-themed .app-main > .button-link { justify-self: start; }
.app-main h1 { font-family: Georgia, serif; font-size: clamp(42px, 6vw, 72px); font-weight: 500; margin: 14px 0; }
.start-illustration { display: block; grid-column: 2; grid-row: 1 / span 3; width: 100%; height: clamp(230px,35vh,420px); margin: 0; object-fit: contain; object-position: center; }
.company-themed .app-main:has(> .notice) .start-illustration { grid-row: 2 / span 3; }
.header-actions { position: fixed; z-index: 61; top: 0; bottom: auto; left: 0; width: min(360px, 88vw); height: 100vh; height: 100dvh; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 88px 24px 28px; overflow-y: auto; overscroll-behavior: contain; background: var(--card); border-right: 1px solid #cfd4d1; box-shadow: 18px 0 50px rgba(23,35,31,.22); }
.header-actions a { padding: 13px 8px; border-bottom: 1px solid #e3e2dc; color: var(--green); font-size: 17px; text-decoration: none; }
.header-actions a[aria-current="page"] { color: var(--accent); font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.header-actions form { margin: 18px 0 0; }
.header-actions .secondary { width: 100%; }
.site-menu { order: -1; margin-right: 18px; }
.site-menu > summary { position: relative; z-index: 62; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid #8da098; border-radius: 4px; color: var(--green); font-weight: 800; cursor: pointer; list-style: none; }
.site-menu > summary::-webkit-details-marker { display: none; }
.site-menu > summary span[aria-hidden="true"] { font-size: 22px; line-height: 1; }
.site-menu > summary .menu-close { display: none; margin-left: 3px; padding-left: 10px; border-left: 1px solid currentColor; font-size: 25px; font-weight: 500; }
.site-menu[open] > summary .menu-close { display: inline-block; }
.site-menu:not([open]) .header-actions { display: none; }
.site-menu[open]::before { content: ''; position: fixed; z-index: 60; inset: 0; background: rgba(17,31,26,.38); }
.site-menu[open] > summary { position: fixed; top: 14px; left: max(24px, calc((100vw - 1120px) / 2)); }
.app-identity { margin-left: auto; margin-right: 28px; text-align: right; line-height: 1.25; }
.app-identity strong, .app-identity span { display: block; }
.app-identity strong { color: var(--green); font-size: 14px; }
.app-identity span { color: var(--muted); font-size: 12px; }
.admin-main { width: min(1240px, calc(100% - 40px)); margin: 64px auto 100px; }
.admin-intro h1, .result-card h1, .single-card h1 { font-family: Georgia, serif; font-size: clamp(38px, 5vw, 64px); font-weight: 500; margin: 10px 0 16px; }
.admin-intro { max-width: 720px; margin-bottom: 42px; }
.admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 18px; }
.company-card { padding: 24px; border: 1px solid #d6d5cd; background: var(--card); }
.company-card h2 { margin: 12px 0 2px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.slug { margin: 0; color: var(--muted); }
.agenda-units { margin: 10px 0 0; color: var(--green); font-size: 14px; }
.agenda-units strong { font-weight: 800; }
.status { display: inline-block; padding: 4px 8px; border-radius: 99px; background: #e5eee9; color: var(--green); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.status-suspended { background: #fae9e4; color: #782b1e; }
.company-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 26px 0; }
.company-card dl div { border-top: 1px solid #e2e0d8; padding-top: 9px; }
.company-card dt { color: var(--muted); font-size: 12px; }
.company-card dd { margin: 4px 0 0; font-size: 20px; font-weight: 750; }
.card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.card-actions form { flex: 1; }
.card-actions button { width: 100%; }
.admin-form-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 8vw, 100px); margin-top: 80px; padding-top: 50px; border-top: 1px solid #d6d5cd; }
.admin-form-section h2 { font-family: Georgia, serif; font-size: 42px; font-weight: 500; margin: 10px 0; }
.admin-form { max-width: 620px; }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.result-card, .single-card { width: min(680px, calc(100% - 40px)); margin: 10vh auto; padding: clamp(28px, 6vw, 64px); background: var(--card); border: 1px solid #d6d5cd; box-shadow: 0 24px 70px rgba(20,40,32,.16); }
.button-link { display: inline-block; margin-top: 20px; padding: 14px 20px; border-radius: 4px; background: var(--accent); color: white; text-decoration: none; font-weight: 750; }
.button-link:hover { background: var(--accent-dark); color: white; }
.key-list { list-style: none; padding: 0; }
.key-list li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid #deddd5; }
.key-list small { display: block; color: var(--muted); margin-top: 4px; }
.key-list button { flex: 0 0 auto; }
.user-table-wrap { margin-top: 28px; overflow-x: auto; background: var(--card); border: 1px solid #d6d5cd; }
.user-table { width: 100%; border-collapse: collapse; }
.user-table th, .user-table td { padding: 14px; text-align: left; border-bottom: 1px solid #e2e0d8; vertical-align: top; }
.user-table th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.inline-actions button { min-height: 36px; padding: 7px 10px; }
.color-field { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 10px; }
.color-field input[type="color"] { width: 56px; padding: 3px; }
.color-field button { white-space: nowrap; }
.org-chart-main { width: min(100% - 40px, 1800px); margin: 64px auto 100px; }
.org-chart { overflow: auto; padding: 22px 24px 60px; border: 1px solid #d6d5cd; background: #eeece4; }
.org-chart ul { margin: 0; padding: 30px 0 0; position: relative; display: flex; justify-content: center; list-style: none; }
.org-chart li { position: relative; padding: 30px 10px 0; text-align: center; }
.org-chart li::before, .org-chart li::after { content: ''; position: absolute; top: 0; width: 50%; height: 30px; border-top: 2px solid #8da098; }
.org-chart li::before { right: 50%; }
.org-chart li::after { left: 50%; border-left: 2px solid #8da098; }
.org-chart li:only-child::before, .org-chart li:only-child::after { display: none; }
.org-chart li:only-child { padding-top: 0; }
.org-chart li:first-child::before, .org-chart li:last-child::after { border: 0; }
.org-chart li:last-child::before { border-right: 2px solid #8da098; border-radius: 0 7px 0 0; }
.org-chart li:first-child::after { border-radius: 7px 0 0 0; }
.org-chart ul ul::before { content: ''; position: absolute; top: 0; left: 50%; height: 30px; border-left: 2px solid #8da098; }
.org-node { width: 230px; min-height: 132px; margin: 0 auto; padding: 18px; border: 1px solid #bac4bf; border-top: 5px solid var(--green); border-radius: 6px; background: var(--card); box-shadow: 0 8px 22px rgba(23,35,31,.09); text-align: left; }
.org-node h2 { margin: 5px 0 14px; font-family: Georgia,serif; font-size: 22px; font-weight: 500; }
.org-type { margin: 0; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.org-people { margin-top: 9px; padding-top: 8px; border-top: 1px solid #e2e0d8; }
.org-people strong, .org-people span { display: block; }
.org-people strong { margin-bottom: 3px; color: var(--muted); font-size: 11px; text-transform: uppercase; }
.org-people span { font-size: 13px; line-height: 1.45; }
.org-count { margin: 11px 0 0; color: var(--muted); font-size: 12px; }
.agenda-section { margin-top: 54px; }
.agenda-grid { display: grid; gap: 16px; }
.agenda-card { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(300px, 1.5fr); gap: 24px; padding: 24px; border: 1px solid #d6d5cd; background: var(--card); }
.agenda-card h2 { margin: 6px 0 8px; font: 500 30px Georgia, serif; }
.agenda-card h2 a { color: var(--green); }
.agenda-tools { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: center; gap: 8px; }
.agenda-tools a, .agenda-tools span, .tool-button { width: auto; min-height: 36px; margin: 0; padding: 8px 10px; border: 1px solid #b9c1bc; border-radius: 4px; background: #f4f3ed; color: var(--green); font-size: 13px; font-weight: 400; text-decoration: none; }
.agenda-tools a:hover, .agenda-tools .tool-button:hover { border-color: var(--accent-dark); background: var(--accent-dark); color: white; }
.agenda-tools span { color: var(--muted); }
.agenda-tools form { margin: 0; }
.agenda-more{position:relative}.agenda-more>summary{min-height:36px;padding:8px 12px;border:1px solid #b9c1bc;border-radius:4px;background:#f4f3ed;color:var(--green);font-size:13px;cursor:pointer;list-style:none}.agenda-more>summary::-webkit-details-marker{display:none}.agenda-more>summary::after{content:"▾";margin-left:7px}.agenda-more[open]>summary{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.agenda-more-menu{position:absolute;z-index:20;top:calc(100% + 6px);right:0;display:grid;min-width:min(330px,80vw);padding:8px;border:1px solid #b9c1bc;border-radius:5px;background:var(--card);box-shadow:0 14px 35px rgba(20,40,32,.2)}.agenda-more-menu a,.agenda-more-menu .tool-button{display:block;width:100%;border:0;background:transparent;text-align:left}.agenda-more-menu form{width:100%}.agenda-more-menu a:hover,.agenda-more-menu .tool-button:hover{background:var(--accent-dark);color:#fff}
.agenda-main { width: min(980px, calc(100% - 40px)); margin: 50px auto 100px; }
.agenda-item { margin: 14px 0; padding: 20px; border-left: 5px solid var(--green); background: var(--card); }
.agenda-item[data-depth] { position: relative; margin-left: min(calc(var(--agenda-depth) * 38px), 38%); }
.agenda-item[data-depth]:not([data-depth="0"]) { border-left-color: var(--accent); background: #f8f6ef; box-shadow: inset 0 0 0 1px #ddd8ca; }
.agenda-item[data-depth]:not([data-depth="0"])::before { content: ""; position: absolute; top: -15px; left: -25px; width: 20px; height: 34px; border-left: 2px solid #b35a40; border-bottom: 2px solid #b35a40; border-radius: 0 0 0 7px; }
.agenda-item-parent { margin: -4px 0 11px; color: #765044; font: 600 .8rem/1.35 system-ui,sans-serif; }
.agenda-item-parent span { margin-right: 5px; color: var(--accent-dark); font-size: 1rem; }
.agenda-item-tree-ready > .agenda-item { margin-left: 0; }
.agenda-item-tree-ready .agenda-item-children { margin: 14px 0 0 22px; padding-left: 26px; border-left: 2px solid #b35a40; }
.agenda-item-tree-ready .agenda-item-children > .agenda-item { margin: 14px 0; }
.agenda-item-tree-ready .agenda-item-children > .agenda-item::before { top: 30px; left: -28px; width: 26px; height: 0; border: 0; border-top: 2px solid #b35a40; border-radius: 0; }
.agenda-item-tree-ready .agenda-item-parent { display: none; }
.add-subitem { margin: 18px 0 0; padding: 14px; border: 1px dashed #b9beb9; background: #f7f6f1; }
.add-subitem label { margin-top: 0; }
.agenda-item-shell > summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 10px; cursor: pointer; color: var(--green); font: 700 1.35rem Georgia, serif; padding: 2px 4px; list-style: none; }
.agenda-item-shell > summary::-webkit-details-marker { display: none; }
.agenda-item-shell > summary > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agenda-item-shell > summary::before { content: "▶"; color: var(--accent); font: 700 .75rem/1 system-ui,sans-serif; transition: transform .15s ease; }
.agenda-item-shell[open] > summary::before { transform: rotate(90deg); }
.agenda-item-shell[open] > summary { margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid #d6d5cd; }
.agenda-item-attachments { margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #b8c6bf; background: #f4f3ed; }
.agenda-item-attachments > strong { color: var(--green); }
.agenda-item-attachments ul { margin: 7px 0 0; padding-left: 20px; }
.agenda-item-attachments li { margin: 3px 0; overflow-wrap: anywhere; }
.agenda-panel > summary { cursor: pointer; color: var(--green); font-size: 1.25rem; list-style: none; }
.agenda-panel > summary::-webkit-details-marker { display: none; }
.agenda-panel > summary::before { content: "▶"; display: inline-block; margin-right: 10px; color: var(--accent); font-size: .75rem; transition: transform .15s ease; }
.agenda-panel[open] > summary::before { transform: rotate(90deg); }
.agenda-panel[open] > summary { margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid #d6d5cd; }
.add-agenda-item { margin: 0 0 20px; padding: 16px; border: 1px solid #d6d5cd; background: var(--card); }
.add-agenda-item label { margin-top: 0; }
.add-agenda-item-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.add-agenda-item-row button { width: auto; min-height: 44px; margin: 0; white-space: nowrap; }
.agenda-item-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.agenda-item-editor label:first-of-type, .agenda-item-editor input:first-of-type, .agenda-item-editor label:nth-of-type(2), .agenda-item-editor textarea:nth-of-type(1), .agenda-item-editor label:nth-of-type(3), .agenda-item-editor textarea:nth-of-type(2), .agenda-item-editor label:nth-of-type(4), .agenda-item-editor textarea:nth-of-type(3), .agenda-item-editor button { grid-column: 1 / -1; }
.agenda-item-editor button { width: auto; justify-self: start; }
.agenda-item[data-hide-responsible="1"] .agenda-item-editor > label:last-of-type,
.agenda-item[data-hide-responsible="1"] .agenda-item-editor > input[name="responsible"] { display: none; }
.agenda-item[data-hide-description="1"] > .agenda-item-shell > .agenda-item-editor > details[data-presentation-key^="description:"],
.agenda-item[data-hide-note="1"] > .agenda-item-shell > .agenda-item-editor > details[data-presentation-key^="note:"],
.agenda-item[data-hide-decision="1"] > .agenda-item-shell > .agenda-item-editor > details[data-presentation-key^="decision:"] { display: none !important; }
.agenda-item-delete { margin-top: 10px; padding-top: 12px; border-top: 1px solid #deddd5; }
.agenda-item-delete button { margin: 0; color: var(--accent-dark); border-color: #cfa99f; }
.agenda-field { grid-column: 1 / -1; margin: 12px 0; border: 1px solid #d6d5cd; background: #fff; }
.agenda-field > summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 15px; color: var(--green); font-weight: 800; cursor: pointer; list-style: none; }
.agenda-field > summary::-webkit-details-marker { display: none; }
.agenda-field > summary::before { content: "▶"; color: var(--accent); font-size: .75rem; transition: transform .15s ease; }
.agenda-field[open] > summary::before { transform: rotate(90deg); }
.agenda-field.unnamed > summary, .agenda-panel.unnamed > summary { display: none; }
.preview-choice { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font: 600 12px/1.2 system-ui,sans-serif; white-space: nowrap; }
.preview-choice input { width: auto; min-height: auto; margin: 0; }
.agenda-drag-handle { grid-column: 3; grid-row: 1; display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid #aeb9b3; border-radius: 4px; color: var(--accent-dark); font: 700 1.25rem/1 system-ui,sans-serif; cursor: grab; touch-action: none; user-select: none; }
.agenda-drag-handle:active { cursor: grabbing; }
.agenda-item-dragging { opacity: .55; }
.agenda-item-shell > summary > .preview-choice { grid-column: 4; grid-row: 1; justify-self: end; margin: 0; white-space: nowrap; }
.agenda-field > summary > .preview-choice { grid-column: 3; justify-self: end; }
.preview-save-button { margin: 16px 0 0; }
.preview-link-panel { display: none; }
.public-preview { background: #f4f3ed; }
.preview-root { width: min(920px,calc(100% - 32px)); margin: 0 auto; padding: 50px 0 80px; }
.preview-root > header { margin-bottom: 30px; }
.share-link-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; }
.share-link-row input, .share-link-row button { margin: 0; }
.share-link-row button { width: auto; white-space: nowrap; }
.preview-item { margin: 18px 0; padding: 24px; border-left: 5px solid var(--green); background: white; }
.preview-item h2 { margin-top: 0; }
.preview-field { margin-top: 18px; padding-top: 14px; border-top: 1px solid #d6d5cd; }
.preview-field h3 { margin: 0 0 8px; color: var(--green); }
.preview-field img { max-width: 100%; height: auto; }
.preview-files { margin-top: 30px; padding: 24px; background: white; }
.preview-files ul { padding: 0; list-style: none; }
.preview-files li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid #d6d5cd; }
.preview-files li span { display: flex; gap: 8px; }
.preview-files button { width: auto; min-height: 38px; margin: 0; }
.rich-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 9px 12px; border-top: 1px solid #e2e0d8; border-bottom: 1px solid #e2e0d8; background: #f4f3ed; }
.rich-toolbar button { width: auto; min-height: 34px; margin: 0; padding: 6px 10px; background: white; border: 1px solid #aeb7b2; color: var(--green); font-size: 13px; }
.rich-editor { min-height: 140px; padding: 14px; outline: none; line-height: 1.55; }
.rich-editor:focus { box-shadow: inset 0 0 0 3px rgba(165,72,50,.2); }
.rich-editor img, .rich-output img { display: block; max-width: 100%; height: auto; margin: 12px 0; }
.rich-output { padding: 4px 15px 15px; line-height: 1.55; }
.rich-output p { margin: 8px 0; }
.autosave-status { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.preference-section { margin-top: 26px; padding-top: 20px; border-top: 1px solid #d6d5cd; }
.tool-settings { width: min(850px, calc(100% - 40px)); margin-top: 6vh; }
.tool-preferences { margin-top: 26px; border-top: 1px solid #d6d5cd; }
.tool-preference { display: grid; grid-template-columns: 1fr 130px; gap: 20px; align-items: end; padding: 12px 0; border-bottom: 1px solid #deddd5; }
.tool-preference label { margin: 0; }
.unit-picker-group { margin: 14px 0; border: 1px solid #cfd4d1; border-radius: 5px; background: rgba(255,255,255,.6); }
.unit-picker-group > summary, .agenda-unit-node > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px 16px; cursor: pointer; list-style: none; }
.unit-picker-group > summary::-webkit-details-marker, .agenda-unit-node > summary::-webkit-details-marker { display: none; }
.unit-picker-group > summary::before, .agenda-unit-node > summary::before { content: "▶"; color: var(--accent); font-size: .75rem; transition: transform .15s ease; }
.unit-picker-group[open] > summary::before, .agenda-unit-node[open] > summary::before { transform: rotate(90deg); }
.unit-picker-group > summary span, .agenda-unit-node > summary span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.unit-tree-list, .agenda-unit-list { margin: 0; padding: 0 14px 12px 30px; list-style: none; }
.unit-tree-list .unit-tree-list, .agenda-unit-list .agenda-unit-list { margin-left: 12px; border-left: 2px solid #c8d1cc; }
.unit-tree-list li, .agenda-unit-list li { margin: 5px 0; }
.unit-tree-list details > summary { cursor: pointer; }
.archive-tree { padding: 8px 0 0 18px; }
.archive-folder-node { margin: 8px 0; border-left: 2px solid #cbd3cf; }
.archive-folder-node > summary { border-bottom: 1px solid #deddd5; background: #faf9f4; }
.archive-folder-node > .agenda-unit-branch { padding: 8px 0 8px 20px; }
.unit-tree-list summary .check-row { display: inline-flex; }
.agenda-tree-group { margin-bottom: 18px; }
.agenda-unit-node { border-top: 1px solid #e0e2df; }
.agenda-unit-node > .agenda-card { margin: 4px 12px 12px; }
.agenda-unit-node .unit-delegation-label { display: block; margin-top: 4px; color: var(--accent); font-size: 12px; font-weight: 700; }
.agenda-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.agenda-section-heading h2 { margin: 0; }
.agenda-section-heading .button-link { flex: 0 0 auto; margin-top: 0; }
.tool-button.agenda-open { border-color: #26734d; color: #1d5c3d; }
.tool-button.agenda-locked { border-color: #a54832; color: #8b3828; }
.public-note-editor { min-height: 130px; padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.public-note-editor[contenteditable="false"] { background: #f1f2ef; }
.note-entry button { margin-top: 10px; }
.note-save-status { margin-left: 10px; color: var(--muted); }
.presentation-follow-holder { margin-top: 14px; }
.presentation-follow-control { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.presentation-follow-control input { width: auto; margin: 0; }
.compact-export { margin-top: 18px; }
.compact-export button { margin: 0; }
.secondary-link { background: transparent; border: 1px solid #8da098; color: var(--green); }
.deletion-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0; }
.deletion-summary div { padding: 18px; background: #f3f2ec; }
.deletion-summary dt { color: var(--muted); font-size: 12px; }
.deletion-summary dd { margin: 5px 0 0; color: var(--green); font-size: 28px; font-weight: 750; }
.attachment-section { margin-top: 24px; }
.attachment-list { margin: 12px 0 26px; padding: 0; list-style: none; }
.attachment-list li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid #deddd5; }
.attachment-list li > div:first-child { flex: 1 1 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 20px; }
.attachment-list a { color: var(--green); font-weight: 750; }
.attachment-list small { display: block; grid-column: 1 / -1; margin-top: 2px; color: var(--muted); }
.attachment-list form, .attachment-list button { margin: 0; }
.attachment-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.agenda-item-attachments .attachment-list { margin: 6px 0 10px; }
.agenda-item-attachments .attachment-list li { align-items: center; gap: 10px; padding: 6px 0; }
.agenda-item-attachments .attachment-list li > .attachment-file-info { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 5px 12px; }
.attachment-file-info { min-width: 0; }
.attachment-file-info > strong { flex: 1 1 180px; min-width: 100px; overflow-wrap: anywhere; }
.agenda-item-attachments .attachment-file-info > small { flex: 0 0 auto; grid-column: auto; margin: 0; white-space: nowrap; }
.agenda-item-attachments .attachment-actions { gap: 6px; }
.agenda-item-attachments .attachment-actions a { min-height: 32px; padding: 5px 9px; }
.agenda-item-attachments .attachment-list li > form { flex: 0 0 auto; }
.agenda-attachment-upload { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 6px 10px; padding-top: 8px; border-top: 1px solid #deddd5; }
.agenda-attachment-upload input[type="file"] { min-width: 0; }
.agenda-attachment-upload .fine-print { grid-column: 1 / -1; margin: 0; }
.agenda-attachment-upload button { grid-column: 3; grid-row: 1; margin: 0; padding: 8px 12px; }
.attachment-list .attachment-actions a { display: inline-block; min-height: 36px; padding: 7px 12px; border: 1px solid #8da098; border-radius: 4px; background: transparent; color: var(--green); text-decoration: none; }
.attachment-list .attachment-actions a:hover { background: #eef1ee; }
.presentation-controller-bar { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 24px; align-items: center; margin: 0 0 24px; padding: 18px; border: 2px solid var(--accent); background: #fff; }
.presentation-controller-bar p { margin: 5px 0; }
.presentation-open-button { display: inline-block; margin: 8px 0; font-size: 15px; font-weight: 800; }
.presentation-qr svg { display: block; width: 180px; height: 180px; }
.presentation-screen { min-height: 100vh; background: var(--presentation-bg, #102f29); color: var(--presentation-content, var(--presentation-text, #fbf8ef)); transition: background-color .2s ease, color .2s ease; }
.presentation-screen .presentation-root > header > .eyebrow { display: none; }
[data-presentation-role="controller"] .admin-intro > h1 { display: none; }
.presentation-root { width: min(1500px, calc(100% - 7vw)); margin: 0 auto; padding: 5vh 0; }
.presentation-root header { margin-bottom: 4vh; }
.presentation-root h1 { color: var(--presentation-title, var(--presentation-text, #fbf8ef)); font-size: clamp(42px,6vw,92px); }
.presentation-item { margin: 18px 0; border: 1px solid color-mix(in srgb, var(--presentation-content, var(--presentation-text, #fbf8ef)) 28%, transparent); background: var(--presentation-item-bg, color-mix(in srgb, var(--presentation-text, #fbf8ef) 7%, transparent)); color: var(--presentation-content, var(--presentation-text, #fbf8ef)); }
.presentation-children { margin-left: clamp(26px, 4vw, 64px); padding-left: clamp(14px, 2vw, 30px); border-left: 3px solid color-mix(in srgb, var(--presentation-content, var(--presentation-text, #fbf8ef)) 55%, transparent); }
.presentation-node:not(:has(> .presentation-item > details[open])) > .presentation-children { display: none; }
.presentation-children > .presentation-node { position: relative; }
.presentation-children > .presentation-node::before { content: ""; position: absolute; top: 38px; left: calc(clamp(14px, 2vw, 30px) * -1); width: clamp(14px, 2vw, 30px); border-top: 3px solid color-mix(in srgb, var(--presentation-content, var(--presentation-text, #fbf8ef)) 55%, transparent); }
.presentation-node[data-depth]:not([data-depth="0"]) > .presentation-item { background: var(--presentation-item-bg, color-mix(in srgb, var(--presentation-text, #fbf8ef) 12%, transparent)); }
.presentation-item summary { padding: 18px 24px; cursor: pointer; font-size: clamp(24px,3vw,48px); font-weight: 750; }
.presentation-item details details { margin: 0 22px 16px; border-top: 1px solid color-mix(in srgb, var(--presentation-content, var(--presentation-text, #fbf8ef)) 22%, transparent); }
.presentation-item details details summary { padding: 14px 0; font-size: clamp(20px,2vw,32px); }
.presentation-content { padding: 8px 24px 22px; font-size: clamp(19px,1.7vw,30px); line-height: 1.5; }
.presentation-content img { max-width: 100%; height: auto; }
.presentation-wait { width: min(720px,calc(100% - 40px)); margin: 20vh auto; text-align: center; }
.presentation-remote { background: #f4f3ed; }
.remote-root { width: min(700px,calc(100% - 24px)); margin: 0 auto; padding: 20px 0 60px; }
.remote-root .presentation-item { color: var(--ink); background: white; border-color: #ccd3cf; }
.remote-root .presentation-children { margin-left: 22px; padding-left: 13px; border-left-color: #9caaa4; }
.remote-root .presentation-children > .presentation-node::before { left: -13px; width: 13px; border-top-color: #9caaa4; }
.remote-root .presentation-item summary { font-size: 21px; }
.remote-root .presentation-content { font-size: 16px; }
.sticky-title-editor { position: sticky; top: 84px; z-index: 20; margin: 0 0 24px; padding: 13px 16px 15px; border: 1px solid #bfc9c4; border-left: 5px solid var(--green); border-radius: 5px; background: rgba(255,253,247,.96); box-shadow: 0 10px 30px rgba(23,35,31,.16); backdrop-filter: blur(10px); }
[data-presentation-role="controller"] .sticky-title-editor { position: static; }
.sticky-title-editor label { margin: 0 0 6px; color: var(--green); font-size: 12px; }
.sticky-title-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.sticky-title-row input { min-height: 44px; }
.sticky-title-row button { width: auto; min-height: 44px; margin: 0; white-space: nowrap; }
@media (max-width: 760px) {
    .company-themed .app-main { grid-template-columns: 1fr; grid-template-rows: auto; text-align: center; }
    .company-themed .app-main > .notice, .company-themed .app-main > h1, .company-themed .app-main > p, .company-themed .app-main > .button-link, .start-illustration { grid-column: 1; }
    .start-illustration, .company-themed .app-main:has(> .notice) .start-illustration { grid-row: 1; height: clamp(170px,30vh,280px); margin-bottom: 12px; }
    .company-themed .app-main > .notice { grid-row: 2; text-align: left; }
    .company-themed .app-main > h1 { grid-row: 3; }
    .company-themed .app-main > p { grid-row: 4; }
    .company-themed .app-main > .button-link { grid-row: 5; justify-self: center; }
    .login-page { background: var(--green); }
    .login-shell { grid-template-columns: 1fr; gap: 28px; padding: 54px 0; }
    .brand-panel h1 { font-size: 58px; }
    .login-card { padding: 28px 22px; }
    .admin-form-section { grid-template-columns: 1fr; }
    .field-pair { grid-template-columns: 1fr; }
    .app-header { gap: 10px; padding-right: 14px; padding-left: 14px; }
    .wordmark { font-size: 21px; }
    .header-context-title { display: none; }
    .app-identity { width: auto; margin: 0 0 0 auto; text-align: right; }
    .site-menu { margin-right: 0; }
    .site-menu > summary .menu-label { display: none; }
    .site-menu[open] > summary .menu-close { display: inline-block; }
    .site-menu[open] > summary { top: 14px; left: 14px; }
    .org-chart-main { width: calc(100% - 20px); margin-top: 34px; }
    .org-chart { padding-left: 10px; padding-right: 10px; }
    .agenda-card, .tool-preference { grid-template-columns: 1fr; }
    .share-link-row { grid-template-columns: 1fr; }
    .share-link-row button { width: 100%; }
    .agenda-item-editor { grid-template-columns: 1fr; }
    .agenda-item-editor > * { grid-column: 1 !important; }
    .agenda-item-editor .agenda-field > summary > .preview-choice { grid-column: 3 !important; }
    .agenda-item-shell > summary > .preview-choice, .agenda-field > summary > .preview-choice { gap: 0; font-size: 0; }
    .sticky-title-editor { position: static; }
    .sticky-title-row { grid-template-columns: 1fr; }
    .sticky-title-row button { width: 100%; }
    .add-agenda-item-row { grid-template-columns: 1fr; }
    .add-agenda-item-row button { width: 100%; }
    .agenda-item[data-depth] { margin-left: min(calc(var(--agenda-depth) * 18px), 24%); padding: 16px 12px; }
    .agenda-item[data-depth]:not([data-depth="0"])::before { left: -13px; width: 9px; }
    .agenda-item-tree-ready .agenda-item { margin-left: 0; }
    .agenda-item-tree-ready .agenda-item-children { margin-left: 8px; padding-left: 13px; }
    .agenda-item-tree-ready .agenda-item-children > .agenda-item::before { left: -15px; width: 13px; }
    .attachment-list li > div:first-child { grid-template-columns: 1fr; }
    .attachment-list small { grid-column: 1; }
    .agenda-item-attachments .attachment-file-info > small { grid-column: auto; }
    .agenda-attachment-upload { grid-template-columns: minmax(0, 1fr) auto; }
    .agenda-attachment-upload label, .agenda-attachment-upload .fine-print { grid-column: 1 / -1; }
    .agenda-attachment-upload button { grid-column: 2; grid-row: 2; }
    .presentation-controller-bar { grid-template-columns: 1fr; }
}

/* Manualen måste kunna krympa även när en lång svensk rubrik saknar naturlig brytpunkt. */
.manual-page { grid-template-columns: minmax(0, 1fr); overflow-wrap: anywhere; }

/* Titelfältet rullar i normalt sidflöde, utan överlappning av agendapunkter. */
.agenda-main .sticky-title-editor { position: static; top: auto; z-index: auto; box-shadow: none; backdrop-filter: none; background: var(--card); }

/* Ge den inloggade arbetsytan plats att använda stora skärmar effektivt. */
body:has(> .app-header) :is(.app-main, .admin-main, .agenda-main, .org-chart-main, .result-card, .single-card, .tool-settings) {
    width: min(94%, calc(100% - 24px));
    max-width: none;
    box-sizing: border-box;
}

body:has(> .app-header) :is(.admin-main, .agenda-main) > .admin-intro {
    max-width: none;
}

/* TinyMCE-statusraden ska alltid visa blocktyp och tangentbordshjälp tydligt. */
.tox.tox-tinymce .tox-statusbar {
    min-height: 34px;
    height: auto;
    overflow: visible;
    padding: 4px 10px;
    line-height: 1.35;
}

.tox.tox-tinymce .tox-statusbar__path,
.tox.tox-tinymce .tox-statusbar__text-container,
.tox.tox-tinymce .tox-statusbar__right-container {
    min-height: 22px;
    align-items: center;
}

.tox.tox-tinymce .tox-statusbar__path-item,
.tox.tox-tinymce .tox-statusbar__help-text,
.tox.tox-tinymce .tox-statusbar__wordcount {
    color: #46534e;
    line-height: 1.35;
}

.presentation-color-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 14px; margin: 18px 0 24px; }
.presentation-color-fields label { margin: 0; }
.presentation-color-fields input[type="color"] { display: block; width: 100%; height: 48px; margin-top: 7px; padding: 4px; cursor: pointer; }
.presentation-settings-preview { margin: 24px 0 10px; padding: clamp(18px,3vw,32px); color: var(--presentation-content,#fbf8ef); background: var(--presentation-bg,#102f29); border: 1px solid #aab7b1; transition: background-color .15s ease,color .15s ease; }
.presentation-settings-preview h3 { margin: 0 0 22px; color: var(--presentation-title,#fbf8ef); font: 700 clamp(26px,4vw,42px)/1.15 Georgia,serif; }
.presentation-settings-preview article { padding: 16px 20px; color: var(--presentation-content,#fbf8ef); background: var(--presentation-item-bg,#28463f); }
.presentation-settings-preview h4 { margin: 0 0 12px; font: 700 clamp(20px,3vw,30px)/1.2 Georgia,serif; }
.presentation-settings-preview section { padding-top: 12px; border-top: 1px solid currentColor; }
.presentation-settings-preview h5 { margin: 0 0 8px; font-size: 1.1rem; }
.presentation-settings-preview p { margin: 0; line-height: 1.5; }

/* Vanliga problem visas som sammanhängande fråga och lösning, uppifrån och ned. */
.manual-help { display: block; }
.manual-help dt { margin: 1.2rem 0 0; padding: .7rem .9rem; border-left: 4px solid var(--accent); background: #eeece4; color: var(--green); }
.manual-help dd { margin: 0; padding: .75rem .9rem 1rem; border-bottom: 1px solid #d6d5cd; }
.manual-faq-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; margin: 22px 0; }
.manual-faq-card { padding: 18px 22px; border: 1px solid #d8d8d1; border-left: 5px solid #c4d2cb; border-radius: 7px; background: #fffefa; box-shadow: 0 3px 12px rgba(23,35,31,.06); }
.manual-page .company-card .manual-faq-card h3 { margin: 0 0 8px; color: var(--green); font-size: clamp(19px,2vw,23px); line-height: 1.35; }
.manual-faq-card p { margin: 0; font-size: 16px; font-weight: 400; line-height: 1.6; }
