/* Compact sidebar layout, shared by both personal themes. */
:root{--bg:#f1f5f9;--surface:#fff;--text:#172b40;--muted:#5c6f81;--line:#d6e0e9;--green:#16745d;--green-dark:#105b48;--soft:#e4f3ed;--input:#fff;--sidebar:#f8fbfe;--primary-text:#fff;--row:#f7f9fc;--blue:#1e64a7;--danger:#a42c39;--danger-soft:#ffecef;--warning:#805416;--warning-soft:#fff1d6;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#0e1928;--surface:#17283b;--text:#ecf3fa;--muted:#b0c2d4;--line:#31475d;--green:#5bdfbd;--green-dark:#83e9ce;--soft:#1d443f;--input:#122235;--sidebar:#101f31;--primary-text:#0d2730;--row:#1b2e43;--blue:#8bc8ff;--danger:#ffb3bc;--danger-soft:#4a2735;--warning:#ffda89;--warning-soft:#473c27}
body{background:var(--bg);color:var(--text)}.shell{max-width:none}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.app-workspace{min-width:0}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--line);z-index:25;overflow:auto}.sidebar-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:20px 18px 16px;text-decoration:none;color:var(--text)}.sidebar-brand img{display:block;height:62px;width:auto;max-width:100%;object-fit:contain;margin:0 auto 3px}.sidebar-brand strong{font-size:16px}.sidebar-brand span{font-size:11px;color:var(--muted)}.sidebar .nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 10px;border:0;background:transparent;flex-wrap:nowrap}.sidebar .nav button{display:flex;align-items:center;gap:10px;text-align:left;min-height:43px;padding:9px 12px;border-radius:7px;font-size:13px;white-space:normal;line-height:1.3;color:var(--muted)}.sidebar .nav button.active{color:var(--green);background:var(--soft);box-shadow:inset 3px 0 var(--green);font-weight:650}.nav svg{height:19px;width:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto;padding:18px;border-top:1px solid var(--line)}.theme-choice{display:flex;align-items:center;gap:10px;font-size:12px;margin:0 0 8px}.theme-choice select{min-height:36px;padding:5px 8px;max-width:130px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:61px;padding:10px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar strong{font-size:17px}.topbar .app-version{font-size:11px;display:inline-block}.topbar-actions{display:flex;align-items:center;gap:8px}.user-summary{font-size:12px;color:var(--muted)}.menu-toggle{display:none}.scopebar{padding:8px 24px;background:var(--surface);gap:10px}.scopebar label{margin:0;font-size:12px}.scopebar select{min-height:34px;min-width:210px;padding:4px 9px;font-size:12px}.scopebar .hint{font-size:11px}.main{max-width:none;padding:22px 24px;margin:0}.page-head{margin-bottom:16px;gap:10px}.page-head h1{font-size:25px}.page-head p{font-size:13px}.card{border-radius:9px;padding:18px;background:var(--surface)}.cards{gap:12px;margin-bottom:16px}.stat{border-radius:8px;padding:12px 16px;background:var(--surface)}.stat strong{font-size:27px;margin-top:3px}.stat.primary-stat{background:var(--soft);border-color:var(--line);color:var(--green)}.stat.primary-stat span{color:var(--muted)}.toolbar{margin-bottom:12px}.toolbar input{min-height:40px}.num{text-align:center}th{background:var(--row);font-size:11px;font-weight:650;padding:10px;color:var(--muted)}td{padding:11px 10px;border-color:var(--line)}tbody tr:nth-child(even){background:var(--row)}.actions{gap:7px}button{border-radius:7px;padding:8px 13px;min-height:40px}button.small{min-height:36px;padding:6px 10px}button.primary,.button.primary{color:var(--primary-text)}input,select,textarea{background:var(--input);border-color:var(--line);color:var(--text);border-radius:7px}input[readonly],.secret,.link-box,.lookup-choice{background:var(--row)}.lookup-results{background:var(--surface);border-color:var(--line)}.lookup-option span,.lookup-choice span{color:var(--muted)}.lookup-option:hover,.lookup-option:focus-visible{background:var(--soft);outline-color:var(--green)}.notice{color:var(--warning);border-color:var(--line)}.badge.neutral{background:var(--row);color:var(--muted)}.badge.blue{background:var(--row);color:var(--blue)}.step b{background:var(--row)}.modal-backdrop{background:#061221b8}.modal{border:1px solid var(--line);border-radius:12px;max-width:720px}.modal.wide{max-width:960px}.doc-row{border-color:var(--line)}.doc-row strong{display:inline-block}.pdf-icon{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:43px;border-radius:6px;font:bold 10px/1 sans-serif;color:#fff;flex-shrink:0;margin-right:9px}.pdf-icon.handover{background:#c82c43}.pdf-icon.terms{background:#17815b}.pdf-icon.return{background:#246fbd}.department-badge{display:inline-flex;vertical-align:middle;min-width:22px;height:20px;padding:0 4px;align-items:center;justify-content:center;border-radius:5px;background:var(--soft);color:var(--green);border:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.02em;margin-right:6px;flex-shrink:0}.person-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.person-identity{display:flex;align-items:center;gap:14px;min-width:0}.person-identity h2{font-size:25px;margin:0 0 3px}.person-identity>div{overflow-wrap:anywhere;min-width:0}.avatar{width:56px;height:56px;background:var(--soft);color:var(--green);border:1px solid var(--line);font-size:22px;font-weight:650;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.person-counts{display:flex;gap:26px}.person-counts span{display:block;font-size:12px;color:var(--muted)}.person-counts strong{font-size:26px;font-variant-numeric:tabular-nums}.person-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);grid-template-areas:"held documents" "transactions documents";gap:18px;align-items:start}.person-grid>.card{margin:0;min-width:0}.held-panel{grid-area:held}.person-transactions{grid-area:transactions}.person-documents{grid-area:documents}.person-grid h2{font-size:17px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:0}.document-tile{display:flex;align-items:center;gap:6px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.document-tile>span:nth-child(2){flex:1;min-width:0}.document-tile strong{font-size:13px;display:block}.document-tile span.small{display:block}.document-filename{font-size:10px;display:block;color:var(--muted);overflow-wrap:anywhere}.document-tile:hover strong{color:var(--green)}.transaction-row{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.transaction-row:last-child{border:0}.text-button{border:0;background:transparent!important;color:var(--green);padding:4px 0;min-height:28px;text-align:left;text-decoration:underline;text-underline-offset:3px}.activity-filters{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;gap:12px;align-items:end;margin-bottom:18px}.activity-filters .field label{font-size:12px}.activity-filters input,.activity-filters select{min-height:40px}.activity-row{padding:14px 0;border-bottom:1px solid var(--line)}.activity-row time{font-size:12px;color:var(--muted);margin-right:12px}.activity-row p{margin:8px 0 0;overflow-wrap:anywhere}.activity-row:last-child{border:0}.auth-brand{padding:22px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:left}.auth-brand img{height:64px;margin:0}.auth-brand h1{margin:0}.auth-brand .app-version{font-size:12px}.footer{font-size:11px;padding:12px 20px 20px}.module-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.main{padding:24px 32px}.topbar,.scopebar{padding-left:32px;padding-right:32px}}
@media(max-width:1200px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar-brand{padding-left:14px;padding-right:14px}.sidebar .nav button{font-size:12px}.main{padding:18px}.person-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.activity-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.user-summary{max-width:180px;overflow-wrap:anywhere}.person-summary{gap:14px}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:58px;bottom:0;height:calc(100dvh - 58px);width:230px;transform:translateX(-100%);box-shadow:8px 0 30px #06122166}.sidebar.open{transform:translateX(0)}.topbar{position:sticky;top:0;z-index:30;padding:8px 14px;min-height:58px}.menu-toggle{display:block;font-size:19px;padding:4px 10px;min-height:38px}.topbar strong{font-size:15px}.topbar-actions .user-summary{display:none}.topbar-actions button{font-size:11px;padding:5px 8px;min-height:34px}.topbar .app-version{font-size:10px;display:block;margin:0}.scopebar{padding:8px 14px}.scopebar .hint{display:none}.person-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.person-summary>.actions{margin-left:auto}.main{padding:18px 14px}.sidebar .nav button{font-size:14px;flex-grow:0}.sidebar .nav{align-items:stretch}.auth-brand{flex-wrap:wrap}}
@media(max-width:700px){.person-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"held" "transactions" "documents"}.person-identity h2{font-size:22px}.person-counts{gap:30px}.person-summary>.actions{margin-left:0}.person-grid td,.person-grid th{font-size:12px}.person-grid h2{font-size:17px}.person-grid .card{padding:15px}.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-filters>.field:first-child{grid-column:1/-1}.topbar-actions{gap:4px}.topbar-actions button{font-size:10px}.topbar{gap:7px}.page-head h1{font-size:23px}.card{padding:16px}.person-summary{padding:16px}.scopebar select{width:auto;max-width:100%;min-width:180px}.scopebar label{display:none}.person-summary .person-identity{align-items:flex-start}.person-summary .person-counts{width:100%;justify-content:space-between}.cards{gap:7px}.stat{padding:11px 9px}.stat span{font-size:10px}.stat strong{font-size:25px}.person-documents{margin-bottom:15px}.sidebar-brand{align-items:center}.sidebar .nav{padding:8px}.auth-brand img{height:52px}.auth-brand h1{font-size:20px}.auth-brand .app-version{display:none}}
@media(pointer:coarse){.sidebar .nav button,button.small{min-height:44px}}
@media(max-width:700px){.topbar>div:first-of-type{min-width:0;flex:1}.topbar-actions{flex-shrink:0}.topbar-actions button[data-act=refresh]{font-size:0;width:34px;padding:5px}.topbar-actions button[data-act=refresh]::before{content:'↻';font-size:18px}.topbar strong{font-size:14px}.topbar .app-version{white-space:normal}}
.dashboard-toggle{display:inline-flex;align-items:center;gap:10px;margin:0;padding:9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:13px;cursor:pointer;min-height:42px}.dashboard-toggle input{appearance:none;width:38px;height:22px;min-height:0;margin:0;border-radius:20px;border:1px solid var(--line);background:var(--muted);position:relative;cursor:pointer;padding:0;flex-shrink:0}.dashboard-toggle input:before{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.dashboard-toggle input:checked{background:var(--green);border-color:var(--green)}.dashboard-toggle input:checked:before{transform:translateX(16px)}.dashboard-toggle input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.dashboard-toggle input:disabled{opacity:.55;cursor:wait}.people-dashboard{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,2fr);gap:18px;align-items:start}.dashboard-list{padding:0;overflow:hidden;min-width:0}.dashboard-list h2{font-size:17px;padding:16px;margin:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.dashboard-people{max-height:820px;overflow:auto}.dashboard-person{display:flex;width:100%;justify-content:space-between;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text);padding:16px;white-space:normal}.dashboard-person>span:first-child{min-width:0;overflow-wrap:anywhere}.dashboard-person strong,.dashboard-person .small{display:block}.dashboard-person .small{margin-top:4px}.dashboard-person .badge{flex-shrink:0;font-size:11px}.dashboard-person.selected{background:var(--soft);box-shadow:inset 4px 0 var(--green)}.dashboard-person:hover{background:var(--row)}.dashboard-person:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.dashboard-detail{min-width:0}.dashboard-detail .person-summary{gap:14px;padding:18px}.dashboard-detail .person-identity h2{font-size:22px}.dashboard-detail .person-counts{gap:22px}.dashboard-detail .person-counts strong{font-size:23px}.dashboard-detail .person-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"held" "transactions" "documents";gap:14px}.dashboard-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:16px}.document-group{border:1px solid var(--line);border-top:4px solid var(--document-accent);border-radius:8px;padding:12px;min-width:0}.document-group.handover{--document-accent:#c82c43}.document-group.terms{--document-accent:#17815b}.document-group.return{--document-accent:#246fbd}.document-group h3{display:flex;align-items:center;gap:6px;font-size:12px;margin:0 0 10px;overflow-wrap:anywhere}.document-group h3 .pdf-icon{height:30px;min-width:26px;margin:0;font-size:8px}.document-count{margin-left:auto;color:var(--muted);font-size:11px}.document-group .document-tile{align-items:flex-start;padding:10px 0}.document-group .document-tile>.pdf-icon{display:none}.document-group .document-tile strong{font-size:11px}.document-group .document-tile .small{font-size:10px}.document-group .document-filename{font-size:9px}.document-group p{margin:8px 0;line-height:1.5}.dashboard-detail .person-documents>h2{font-size:17px}.people-search .toolbar{margin-bottom:16px}
@media(max-width:1200px){.people-dashboard{grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr)}.dashboard-documents{grid-template-columns:minmax(0,1fr)}.document-group .document-filename{font-size:10px}.document-group .document-tile strong{font-size:12px}}
@media(max-width:900px){.people-dashboard{grid-template-columns:minmax(0,1fr)}.dashboard-people{max-height:300px}.dashboard-documents{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-detail .person-summary{margin-top:0}}
@media(max-width:700px){.dashboard-documents{grid-template-columns:minmax(0,1fr)}.dashboard-toggle{min-height:40px}.dashboard-detail .person-summary{padding:15px}.dashboard-person{padding:12px}.dashboard-detail .person-counts{gap:16px}.dashboard-detail .person-identity h2{font-size:21px}}
.cloud-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.cloud-targets>.card{min-width:0;margin:0}.cloud-targets h2{font-size:20px}.cloud-targets form{display:grid;gap:12px}.cloud-targets details{margin-top:15px}.cloud-targets .mono,.cloud-license .mono{overflow-wrap:anywhere}.cloud-license textarea,.cloud-targets textarea{font-family:monospace;font-size:12px}.cloud-targets details>summary{cursor:pointer}.cloud-targets input[type=file]{max-width:100%}@media(max-width:1050px){.cloud-targets{grid-template-columns:minmax(0,1fr)}}
/* Personal navigation and activity views. */
.sidebar-collapse{display:flex;align-items:center;justify-content:center;gap:8px;align-self:flex-end;margin:8px 10px 0;padding:5px 8px;min-height:32px;font-size:11px;background:transparent;color:var(--muted)}.sidebar-collapse svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-collapse span{white-space:nowrap}.compact-theme{display:none}.person-counts,.dashboard-detail .person-counts{display:grid;grid-template-columns:repeat(3,minmax(68px,1fr));gap:14px;text-align:center}.person-counts>div{display:flex;flex-direction:column;align-items:center;justify-content:center}.person-counts strong{display:block;width:100%;text-align:center}.activity-choice{font-size:11px;margin:0;display:flex;flex-direction:column;gap:3px}.activity-choice select{font-size:12px;min-height:36px;padding:5px 9px;width:auto;min-width:195px}.activity-issue{--activity-color:#16704c;--activity-soft:#e8f5ee}.activity-return{--activity-color:#1e65aa;--activity-soft:#e9f2fd}.activity-people{--activity-color:#7540b1;--activity-soft:#f2ecfb}.activity-prepare{--activity-color:#855b0b;--activity-soft:#fff5da}.activity-system{--activity-color:#576b80;--activity-soft:#edf1f5}.activity-error{--activity-color:#ae293c;--activity-soft:#ffedf0}:root[data-theme=dark] .activity-issue{--activity-color:#72e4b5;--activity-soft:#183d35}:root[data-theme=dark] .activity-return{--activity-color:#8bc8ff;--activity-soft:#1b3551}:root[data-theme=dark] .activity-people{--activity-color:#cfadff;--activity-soft:#342c4b}:root[data-theme=dark] .activity-prepare{--activity-color:#ffda89;--activity-soft:#413824}:root[data-theme=dark] .activity-system{--activity-color:#bbcbdd;--activity-soft:#26394d}:root[data-theme=dark] .activity-error{--activity-color:#ffadb7;--activity-soft:#462a39}.activity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.activity-total{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--activity-color);border-radius:8px;padding:12px 15px;min-width:0}.activity-total>div{min-width:0}.activity-total>div>span{font-size:12px;color:var(--muted);display:block}.activity-total strong{font-size:25px;display:block;line-height:1.3;font-variant-numeric:tabular-nums}.activity-summary+.hint{margin:7px 0 15px;font-size:11px}.activity-symbol{display:inline-flex;align-items:center;justify-content:center;background:var(--activity-soft);color:var(--activity-color);width:34px;height:34px;border-radius:50%;font-size:23px;line-height:1;flex-shrink:0;font-weight:600}.activity-day{font-size:15px;margin:8px 0 16px}.activity-day:not(:first-child){margin-top:28px}.activity-card{position:relative;display:flex;gap:13px;margin:0 0 12px;padding-left:0}.activity-card::before{content:"";position:absolute;top:34px;bottom:-12px;left:16px;width:2px;background:var(--line)}.activity-card:last-child::before{display:none}.activity-card-body{border:1px solid var(--line);border-left:3px solid var(--activity-color);background:var(--activity-soft);border-radius:8px;padding:12px 15px;flex:1;min-width:0}.activity-card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.activity-card-heading strong{display:inline-flex;align-items:center;color:var(--activity-color);font-size:14px}.activity-card-heading time{font-size:11px;color:var(--muted)}.activity-card-body>p{margin:7px 0;overflow-wrap:anywhere}.activity-details{font-size:12px;min-width:0}.activity-details summary{color:var(--blue);cursor:pointer;min-height:30px;padding:5px 0}.activity-details p{margin:7px 0;overflow-wrap:anywhere}.activity-details[open] p{font-size:12px}.activity-table{width:100%;table-layout:fixed;min-width:0}.activity-table th:nth-child(1){width:155px}.activity-table th:nth-child(2){width:22%}.activity-table th:nth-child(3){width:16%}.activity-table th:nth-child(4){width:20%}.activity-table td{font-size:12px;vertical-align:top;overflow-wrap:anywhere}.activity-table td:first-child{border-left:4px solid var(--activity-color)}.activity-table time{font-size:11px;color:var(--muted)}.activity-kind{color:var(--activity-color);display:inline-flex;align-items:center;gap:7px;font-weight:600}.activity-kind .activity-symbol{width:24px;height:24px;font-size:17px}.activity-results>button{margin-top:16px}.activity-view-journal{padding:8px 12px 16px}.activity-table-wrap{border:0}.activity-legend{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:901px){.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .sidebar-brand{padding:12px 8px;align-items:center}.sidebar-collapsed .sidebar-brand img{display:block;visibility:visible;opacity:1;width:43px;height:auto;max-height:53px;object-fit:contain;margin:0 auto 3px}.sidebar-collapsed .sidebar-brand strong,.sidebar-collapsed .sidebar-brand span,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-caption,.sidebar-collapsed .sidebar-bottom .theme-choice,.sidebar-collapsed .sidebar-collapse span{display:none}.sidebar-collapsed .sidebar-collapse{align-self:center;margin:10px 0 0;width:38px}.sidebar-collapsed .nav{padding:8px}.sidebar-collapsed .nav button{position:relative;justify-content:center;padding:10px 8px;min-height:45px}.sidebar-collapsed .nav button .count{position:absolute;right:0;top:0;font-size:9px;padding:0 4px;margin:0}.sidebar-collapsed .sidebar-bottom{padding:8px;border:0}.sidebar-collapsed .compact-theme{display:block}.sidebar-collapsed .compact-theme .theme-choice{font-size:0;margin:0}.sidebar-collapsed .compact-theme select{font-size:12px;max-width:88px;min-height:32px}}
@media(max-width:1100px){.activity-table th:nth-child(1){width:125px}.activity-table th:nth-child(2){width:23%}.activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-table td,.activity-table th{padding:9px 7px}.activity-kind{gap:4px}}
@media(max-width:900px){.sidebar-collapse{display:none}.activity-table{table-layout:auto}.activity-table th:nth-child(3){width:auto}}
@media(max-width:700px){.person-counts,.dashboard-detail .person-counts{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.activity-choice{width:100%;font-size:11px}.activity-choice select{width:100%;max-width:100%}.activity-summary{gap:8px}.activity-total{gap:8px;padding:10px}.activity-total>div>span{font-size:10px}.activity-total .activity-symbol{width:29px;height:29px;font-size:20px}.activity-card{gap:8px}.activity-card-body{padding:10px}.activity-card>.activity-symbol{width:29px;height:29px;font-size:20px}.activity-card::before{left:14px;top:29px}.activity-card-heading time{width:100%}.activity-table-wrap{overflow:visible}.activity-table,.activity-table tbody,.activity-table tr,.activity-table td{display:block;width:100%}.activity-table thead{display:none}.activity-table tr{border:1px solid var(--line);border-left:4px solid var(--activity-color);border-radius:7px;margin:9px 0;padding:8px;background:var(--surface)}.activity-table td{display:grid;grid-template-columns:minmax(82px,.35fr) minmax(0,1fr);gap:9px;border:0;padding:5px 3px;font-size:12px}.activity-table td:first-child{border-left:0}.activity-table td::before{content:attr(data-label);font-size:10px;color:var(--muted);padding-top:2px}.activity-table .activity-details summary{min-height:26px;padding-top:1px}.activity-table .activity-kind{align-items:flex-start}.activity-view-journal{padding:6px 10px 14px}}
@media(prefers-reduced-motion:no-preference){.app-shell{transition:grid-template-columns .15s ease}}
/* Guided private-document setup and backup diagnostics. */
.document-vault .page-head{margin-bottom:12px}.document-vault h2{margin-bottom:5px}.vault-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vault-step{border:1px solid var(--line);border-radius:9px;padding:16px;min-width:0;background:var(--row)}.vault-step h3{display:flex;align-items:center;gap:9px;margin-bottom:12px}.vault-step-number{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:12px;color:var(--muted)}.vault-step.complete .vault-step-number{background:var(--soft);color:var(--green);border-color:var(--green)}.vault-step p,.vault-step label{font-size:12px}.vault-step .form-grid{grid-template-columns:minmax(0,1fr)}.vault-step form{display:grid;gap:10px}.vault-step button{justify-self:start;max-width:100%;white-space:normal;text-align:left}.vault-step input[type=file]{font-size:12px;padding:8px;max-width:100%}.vault-step progress{display:block;width:100%;height:12px;margin-bottom:14px;accent-color:var(--green)}.vault-success{color:var(--green);font-weight:600}.document-vault>details{border-top:1px solid var(--line);padding-top:14px}.document-vault>details>form{max-width:700px;display:grid;gap:12px}.document-vault>details>p{margin-top:12px}.backup-history>summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;min-height:32px}.backup-history>summary::before{content:'▸';color:var(--blue)}.backup-history[open]>summary::before{content:'▾'}.backup-history>summary .small{margin-left:auto}.backup-history[open]>summary{margin-bottom:14px}.diagnosis-step{border-left:3px solid var(--line);padding:10px 12px;margin-bottom:10px;background:var(--row);border-radius:5px}.diagnosis-step.passed{border-left-color:var(--green)}.diagnosis-step.failed{border-left-color:var(--danger)}.diagnosis-step strong{font-size:13px}.diagnosis-step.passed strong{color:var(--green)}.diagnosis-step.failed strong{color:var(--danger)}.diagnosis-step p{font-size:12px;margin:6px 0 0;overflow-wrap:anywhere}.card fieldset{border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0;min-width:0}.card fieldset legend{padding:0 6px;font-size:12px;font-weight:600;color:var(--muted)}.card fieldset:disabled{opacity:.65}.card fieldset[hidden]{display:none}.card>summary{cursor:pointer}.card>summary+p{margin-top:14px}.cloud-targets .actions{flex-wrap:wrap}.cloud-targets .actions button{white-space:normal}.cloud-license p,.cloud-targets p{overflow-wrap:anywhere}
@media(max-width:1100px){.vault-steps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.document-vault .page-head{align-items:flex-start}.vault-step{padding:12px}.vault-step button{width:100%;justify-self:stretch}.backup-history>summary .small{margin-left:0;width:100%}.card fieldset{padding:10px}.cloud-targets .actions button{width:100%}.diagnosis-step{padding:9px}}

/* Local MFA QR stays high-contrast in every theme. */
.mfa-qr-wrap{display:flex;justify-content:center;margin:16px 0}.mfa-qr{display:block;flex:none;max-width:100%;height:auto;background:#fff;border-radius:0;filter:none}.mfa-enrollment{min-width:0}.mfa-enrollment .secret{overflow-wrap:anywhere;word-break:break-all}.mfa-enrollment>p{overflow-wrap:anywhere}

/* ---------- 3.0.0 E1c: Adminbereich, Assistent, Aufklappelemente ---------- */
:root{--ok:#17694f;--ok-soft:#e6f5ee}
:root[data-theme=dark]{--ok:#72e4b5;--ok-soft:#183d35}

/* Navigation in zwei Gruppen */
.nav-group{display:block;padding:14px 14px 4px;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nav-group:first-child{padding-top:4px}
:root .shell .sidebar .nav{gap:2px}:root .shell .sidebar .nav button{min-height:38px;padding:7px 14px}
.sidebar-collapsed .nav-group{font-size:0;padding:8px 0 2px;border-top:1px solid var(--line);margin:6px 8px 0}
.sidebar-collapsed .nav-group:first-child{border-top:0;margin-top:0}
.nav-flag{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;font-size:11px;font-weight:700}
.nav-flag.bad{background:var(--danger-soft);color:var(--danger)}
.topbar-actions button.active{border-color:var(--green);color:var(--green)}

/* Statuskennzeichen: Farbe plus Text und Zeichen, nie Farbe allein */
.status-pill{display:inline-flex;align-items:center;gap:2px;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;border:1px solid transparent}
.status-pill.ok{background:var(--ok-soft);color:var(--ok)}
.status-pill.warn{background:var(--warning-soft);color:var(--warning)}
.status-pill.bad{background:var(--danger-soft);color:var(--danger)}
.status-pill.off{background:var(--row);color:var(--muted);border-color:var(--line)}
.text-bad{color:var(--danger)}.text-warn{color:var(--warning)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.card-head h2{margin:0}

/* Übersicht */
.setup-card{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.setup-card>div{flex:1 1 360px;min-width:0}
.setup-card h2{font-size:17px;margin:0 0 8px}
.progress{height:10px;border-radius:10px;background:var(--soft);overflow:hidden;margin-bottom:8px}
.progress span{display:block;height:100%;background:var(--green);border-radius:10px}
.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:16px}
.status-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;white-space:normal;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);min-height:132px;cursor:pointer}
.status-card:hover{border-color:var(--green)}
.status-card.bad{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}
.status-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.status-card-head strong{font-size:15px}
.status-card .small{color:var(--muted)}
.status-card-link{margin-top:auto;color:var(--green);font-size:13px;font-weight:600}
.todo-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}

/* Reiter, z. B. Organisation */
.page-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:16px}
.page-tabs button{border:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;background:transparent;color:var(--muted);font-weight:600;min-height:44px;padding:8px 14px}
.page-tabs button:hover{color:var(--text);background:var(--row)}
.page-tabs button.active{color:var(--green);border-bottom-color:var(--green)}

/* Einrichtungsassistent */
.setup-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
.setup-steps{list-style:none;margin:0;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:12px}
.setup-step{display:flex;align-items:center;gap:12px;width:100%;text-align:left;white-space:normal;border:0;border-radius:8px;background:transparent;color:var(--text);padding:9px 10px;min-height:50px}
.setup-step:hover{background:var(--row)}
.setup-step.active{background:var(--soft)}
.setup-step strong{display:block;font-size:14px}
.setup-step .small{display:block;color:var(--muted)}
.setup-dot{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.setup-step.active .setup-dot{background:var(--green);border-color:var(--green);color:var(--primary-text)}
.setup-step.done .setup-dot{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.setup-step.bad .small{color:var(--danger)}
.setup-content{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 24px;min-width:0}
.setup-content>h2{font-size:21px;margin:0 0 6px}
.setup-content .card{box-shadow:none}
.setup-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.setup-summary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.target-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}
.target-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;white-space:normal;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);min-height:110px}
.target-choice:hover{border-color:var(--green)}
.target-choice span{color:var(--muted);font-size:13px}
.target-choice .status-pill{margin-top:auto}

/* Schritt-Karten (Lizenz, OneDrive) */
.license-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.flow-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--row);min-width:0}
.flow-card h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px}
.flow-card form{display:grid;gap:10px;max-width:760px}.flow-card form>button,.license-steps form>button{justify-self:start;white-space:normal}
.flow-dot{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.flow-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.flow-card.done .flow-dot{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.flow-card.current{border:2px solid var(--green);background:var(--surface)}
.flow-card.current .flow-dot{background:var(--green);border-color:var(--green);color:var(--primary-text)}
.flow-card.locked{opacity:.75}
.flow-state{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}
.flow-card.done .flow-state{color:var(--ok)}
.flow-card.current .flow-state{color:var(--green)}
.key-steps{margin:4px 0 8px 18px;padding:0;font-size:13px}
.warn-check{padding:10px 12px;border-radius:8px;background:var(--warning-soft);color:var(--warning)}

/* Aufklappelemente: Rahmen, deutlicher Pfeil, große Klickfläche */
.main details:not(.activity-details):not(.fold-mini){border:1px solid var(--line);border-radius:9px;background:var(--surface);margin-top:12px;padding:0}
.main details:not(.activity-details):not(.fold-mini)>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;cursor:pointer;font-weight:600;color:var(--text);border-radius:9px}
.main details:not(.activity-details):not(.fold-mini)>summary::-webkit-details-marker{display:none}
.main details:not(.activity-details):not(.fold-mini)>summary::before{content:'';flex-shrink:0;width:8px;height:8px;margin:0 6px 0 4px;border-right:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg);transition:transform .15s}
.main details:not(.activity-details):not(.fold-mini)[open]>summary::before{transform:rotate(45deg)}
.main details:not(.activity-details):not(.fold-mini)>summary:hover{background:var(--row)}
.main details:not(.activity-details):not(.fold-mini)[open]>summary{border-bottom:1px solid var(--line);border-radius:9px 9px 0 0}
.main details:not(.activity-details):not(.fold-mini)>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.main details:not(.activity-details):not(.fold-mini)>:not(summary){margin-left:16px;margin-right:16px}
.main details:not(.activity-details):not(.fold-mini)>:not(summary):first-of-type{margin-top:14px}
.main details:not(.activity-details):not(.fold-mini)>:last-child:not(summary){margin-bottom:16px}
.main details>summary .fold-meta,.main details>summary .small{margin-left:auto;font-weight:400;font-size:12px;color:var(--muted)}
.main .fold-body{padding:2px 0}
.main details.card{padding:0}
.main details.backup-history>summary::before{content:''}
.main details.fold-danger,.danger-zone details{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}
.main details.fold-danger>summary,.danger-zone details>summary{color:var(--danger)}
.main details.fold-danger>summary::before,.danger-zone details>summary::before{border-color:var(--danger)}
.danger-zone{border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));border-radius:12px;padding:16px 18px;background:var(--danger-soft)}
.danger-zone h2{color:var(--danger);font-size:16px;margin:0 0 4px}
.danger-zone details{background:var(--surface)}

@media(max-width:900px){.setup-layout{grid-template-columns:minmax(0,1fr)}.setup-steps{position:static;flex-direction:row;overflow-x:auto}.setup-step{min-width:160px}.license-steps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.setup-content{padding:16px}.status-card{min-height:0}.page-tabs{flex-wrap:nowrap;overflow-x:auto}.page-tabs button{white-space:nowrap}}
@media(max-width:700px){.topbar>div:nth-child(2){min-width:0;overflow:hidden}.topbar>div:nth-child(2) strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* ---------- 3.0.0 E1d: Einzelnummern und Befristung ---------- */
.item-line .serial-fields{grid-column:1/-1}
.serial-fields:empty{display:none}
.serial-fields p{margin:6px 0}
.serial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.serial-grid input{min-height:40px}
.serial-list{color:var(--muted);overflow-wrap:anywhere}
.return-serials{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:10px 0;display:flex;flex-wrap:wrap;gap:6px 18px}
.return-serials legend{font-weight:600;padding:0 6px}
.due-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.due-form .field{margin:0}
td .badge{margin-left:6px}

/* ---------- 3.0.2: Dokumentenschutz V2 ---------- */
.keyring-form{display:grid;gap:12px;max-width:820px}
.keyring-form>button{justify-self:start}
.viewer-pages{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.viewer-pages .pdf-page{width:100%;max-width:900px;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
/* 3.0.3 Übernahmeregeln */
.button-like{display:inline-flex;align-items:center;min-height:36px;border:1px solid var(--line);border-radius:9px;padding:7px 12px;background:var(--surface);color:var(--text);font-weight:500;font-size:12px;cursor:pointer}.button-like:focus-within{outline:2px solid var(--accent,#35684f);outline-offset:2px}
.rules-edit-list{display:grid;gap:10px;margin-top:10px}.rule-edit{border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--row)}.rule-edit-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.rule-edit-head input{flex:1;min-width:0;font-weight:600}.rule-edit textarea{width:100%;box-sizing:border-box}.rule-edit .actions{flex-wrap:nowrap}
@media(max-width:700px){.rule-edit-head{flex-wrap:wrap}.rule-edit-head input{flex-basis:calc(100% - 40px)}}
.sign-rule-title{font-weight:700;display:block;margin-top:6px}
/* 3.0.5 Inhaberfelder */
.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--row);cursor:pointer}.choice input{margin-top:3px}.choice small{color:var(--muted)}
.preset-table input:not([type=checkbox]):not([type=radio]){width:100%;box-sizing:border-box;min-width:0}.preset-table td.center,.preset-table th.center{text-align:center;width:90px}
@media(max-width:700px){.choice-row{grid-template-columns:minmax(0,1fr)}.preset-table td.center,.preset-table th.center{width:52px}}
.choice input[type=radio],.preset-table input[type=radio],.preset-table input[type=checkbox]{width:18px;height:18px;min-height:0;min-width:0;padding:0;margin:0;flex:0 0 18px;box-shadow:none}.choice{text-align:left}.choice span{flex:1}.preset-table td{padding-top:5px;padding-bottom:5px}.preset-table input:not([type=checkbox]):not([type=radio]){min-height:36px}
.choice-free{grid-column:1/-1;margin:0}.choice-free[hidden]{display:none!important}
/* 3.0.7 Neu laden, Handy-Leiste, Mehr, Wischen */
.page-tools{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:-6px 0 8px}.page-tools .loaded-at{font-size:11px;color:var(--muted)}.reload-button{display:inline-flex;align-items:center;gap:6px}.reload-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav,.more-sheet,.more-backdrop{display:none}
.nav-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.plain-list{margin:6px 0 10px;padding-left:18px}.plain-list li{margin:4px 0}
@keyframes swipeInRight{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}@keyframes swipeInLeft{from{transform:translateX(-24px);opacity:.4}to{transform:none;opacity:1}}
.swipe-in-right{animation:swipeInRight .18s ease-out}.swipe-in-left{animation:swipeInLeft .18s ease-out}
@media(max-width:900px){.nav-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
.has-bottomnav .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #0f1e3312}
.has-bottomnav .sidebar,.has-bottomnav .menu-toggle{display:none!important}
.has-bottomnav .main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.has-bottomnav .footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.has-bottomnav .more-backdrop{display:block;position:fixed;inset:0;z-index:41;background:#0b162680}
.has-bottomnav .more-sheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:42;max-height:78dvh;overflow:auto;background:var(--surface);border-radius:16px 16px 0 0;padding:10px 14px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0b162640}
.has-bottomnav:has(.main input:focus,.main textarea:focus,.main select:focus,.modal input:focus,.modal textarea:focus) .bottom-nav{display:none}
}
@media(max-width:1180px){
.bottomnav-tablet.app-shell{display:block}.bottomnav-tablet .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #0f1e3312}
.bottomnav-tablet .sidebar,.bottomnav-tablet .menu-toggle{display:none!important}.bottomnav-tablet .main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.bottomnav-tablet .footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.bottomnav-tablet .more-backdrop{display:block;position:fixed;inset:0;z-index:41;background:#0b162680}
.bottomnav-tablet .more-sheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:42;max-height:78dvh;overflow:auto;background:var(--surface);border-radius:16px 16px 0 0;padding:10px 14px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0b162640;max-width:620px;margin:0 auto}
.bottomnav-tablet:has(.main input:focus,.main textarea:focus,.main select:focus,.modal input:focus,.modal textarea:focus) .bottom-nav{display:none}
}
.bottom-nav .bn-item{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;line-height:1.1}
.bottom-nav .bn-item svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav .bn-item.active{color:var(--green);background:var(--soft)}
.bottom-nav .bn-badge{position:absolute;top:3px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c2410c;color:#fff;font-size:10px;line-height:17px;text-align:center}
.more-sheet h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 4px 6px}.more-sheet button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;margin:0 0 4px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:15px;text-align:left}
.more-sheet button.active{background:var(--soft);color:var(--green)}.more-sheet button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 22px}.more-sheet .more-logout{margin-top:10px;border:1px solid var(--line);justify-content:center}
/* 3.0.8 Schlüssel ausgeben, Inhaber-Link */
.cell-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:0;padding:4px 0;border:0;background:transparent;color:var(--text);text-align:left;font-weight:400;cursor:pointer}.cell-link strong{color:var(--green)}.cell-link:hover strong,.cell-link:focus-visible strong{text-decoration:underline}
.handout-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:700px){.handout-actions{flex-direction:column}.handout-actions>*{width:100%;min-height:48px}}
.holder-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-4px 0 12px 34px;padding:8px 10px;border-radius:8px;background:var(--row)}.holder-status .small{flex:1 1 100%}.error-text{color:#b42318}
@media(max-width:700px){.holder-status{margin-left:0}}
/* 3.1.0 Gerätefreigabe */
.device-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;align-items:start}.device-grid>.card{margin-top:0}
@media(max-width:1000px){.device-grid{grid-template-columns:minmax(0,1fr)}}
.approver-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 14px}
.device-source{border:0;padding:0;margin:12px 0 0}.device-source legend{font-weight:600;margin-bottom:6px;font-size:13px}
.pdf-pages canvas{width:100%;height:auto;border:1px solid var(--line);margin-bottom:8px;background:#fff}

/* 3.1.1 Gerätelizenzen: Belegungsbalken */
.usage-meter{height:6px;border-radius:3px;background:var(--line,#e3e6ea);margin-top:6px;max-width:260px;overflow:hidden}
.usage-meter span{display:block;height:100%;background:var(--brand,#1f6feb);border-radius:3px}

/* 3.1.3 Backup und Externe Ziele */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}
.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;background:var(--row);min-width:0}
.stat-tile.ok{border-left-color:var(--ok)}.stat-tile.warn{border-left-color:var(--warning)}.stat-tile.bad{border-left-color:var(--danger)}
.stat-tile .stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.stat-tile strong{font-size:18px;line-height:1.3}
.stat-tile .stat-sub{font-size:13px;color:var(--muted)}
.stat-tile button{align-self:flex-start;margin-top:6px}
.backup-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
button.big{min-height:46px;padding:10px 22px;font-size:16px}
.transfer-strip{display:grid;gap:8px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.transfer-strip>div:first-child{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.job-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.job-bar span{display:block;height:100%;background:var(--ok);border-radius:4px;transition:width .4s ease}
.job-list{display:grid;gap:8px;margin-top:12px}
.job-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) 190px;gap:10px 16px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--row)}
.job-row.failed{border-left:4px solid var(--danger)}.job-row.pending,.job-row.uploading,.job-row.waiting{border-left:4px solid var(--warning)}.job-row.ok{border-left:4px solid var(--ok)}
.job-row.failed .job-bar span{background:var(--danger)}.job-row.pending .job-bar span,.job-row.uploading .job-bar span,.job-row.waiting .job-bar span{background:var(--warning)}
.job-main{display:grid;gap:2px;min-width:0}.job-main .mono{overflow-wrap:anywhere}
.job-progress{display:grid;gap:6px;min-width:0}
.job-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.job-actions .icon-delete{min-width:36px;font-size:18px;line-height:1;padding:6px 10px}
.transfer-note{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 14px;border-radius:10px;background:var(--warning-soft)}
.transfer-note p{margin:0}
.target-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:18px}
.target-tile{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:12px;background:var(--surface)}
.target-tile.ok{border-top-color:var(--ok)}.target-tile.warn{border-top-color:var(--warning)}.target-tile.bad{border-top-color:var(--danger)}
.target-tile-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.target-tile h3{margin:0;font-size:16px}.target-tile p{margin:0;color:var(--muted);font-size:14px;flex:1}
.target-tile button{align-self:flex-start}
.timer-box{margin-top:12px;padding:12px 14px;border:1px dashed var(--line);border-radius:10px}
.timer-box h4{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px;font-size:14px}
.pill-row{display:flex;flex-wrap:wrap;gap:6px}
.anchor{scroll-margin-top:90px}
.compact-card .card-head{margin-bottom:0}
.backup-setup.compact .fold{margin-top:12px}
@media (max-width:760px){.job-row{grid-template-columns:1fr}.job-actions{justify-content:flex-start}}

/* 4.0.0: Integritätsband, Prüfprotokoll, Umstellung */
.integrity-band{margin:0 0 14px;border-radius:8px}
.notice.danger,.integrity-band.danger{color:#fff;background:#b3261e;border-color:#b3261e}
.audit-table td{vertical-align:top;font-size:12px}
.audit-table td:nth-child(6){min-width:260px;overflow-wrap:anywhere}
.v4-transition .flow-card.locked{opacity:.65}
.v4-transition .flow-card.current{border-width:1px}
.danger-card{border-color:#b3261e}
@media (max-width:760px){.audit-table th:nth-child(7),.audit-table td:nth-child(7){display:none}}
.v4-backup-choice{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.v4-backup-choice input{margin-top:3px;flex-shrink:0;width:auto;min-height:0}
