/* Only compatibility with native controls. The actual design sheet is copied unchanged from the validated mockup. */
body.faithful-cockpit{background:var(--paper)}
.faithful-frame{display:block;min-height:100vh}
.faithful-cockpit .app-frame.shell{display:block;min-height:0;max-width:1670px;padding-top:58px}
.faithful-cockpit #main-content{max-width:none;padding:0;margin:0;min-height:0}
.faithful-cockpit .sidebar{min-height:0;height:auto;overflow-y:auto}
.faithful-cockpit .brand-mark{display:none}
.faithful-cockpit .sidebar .brand strong{font-size:24px;letter-spacing:-1px;line-height:1.1}
.faithful-cockpit .sidebar .brand small{font-size:9px;letter-spacing:2px;color:#c7d2e5}
.faithful-cockpit .sidebar .nav-item span{font:inherit;width:auto;text-align:left}
.faithful-cockpit .side-nav{display:block}
.faithful-cockpit .sidebar .nav-item.active{background:#ffffff18;color:white;box-shadow:inset 3px 0 #91aefd}
.faithful-cockpit .sidebar .nav-item:before{display:none}
.faithful-cockpit .sidebar-footer{margin-top:auto}
.faithful-cockpit .faithful-lab{position:fixed;inset:0 0 auto 0;z-index:30}
.faithful-cockpit .topbar{position:static;background:transparent;min-height:0;box-shadow:none;border-bottom:1px solid var(--line)}
.faithful-cockpit .topbar-title{display:flex;align-items:center;font-size:.75rem;gap:8px}
.faithful-cockpit .topbar-actions{display:flex;gap:8px}
.faithful-cockpit .home-layout .card{margin:0;box-shadow:none}
.faithful-cockpit .home-actions{border:0;padding:0;margin:0;background:transparent;box-shadow:none;min-width:0}
.faithful-cockpit .home-actions>summary{font-size:.85rem;list-style:none;color:var(--muted)}
.faithful-cockpit .home-actions details{font-size:.85rem;margin-top:12px}
.faithful-extra{margin:24px 0 40px;border-top:1px solid var(--line);padding-top:18px}
.faithful-extra>summary{cursor:pointer;min-height:44px;color:var(--muted)}
.faithful-cockpit .panel,.faithful-cockpit .item-card{background:white;border:1px solid var(--line);border-radius:15px;padding:24px}
.faithful-cockpit .section-header{margin:30px 0 26px;gap:16px;flex-wrap:wrap}
.faithful-cockpit .section-actions{display:flex;flex-wrap:wrap;gap:10px}
.faithful-cockpit .filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}
.faithful-cockpit .filters label{font-size:.82rem}
.faithful-cockpit .form-control{border:1px solid var(--control);padding:9px;border-radius:9px;background:white;color:var(--ink)}
.retained-filter-dialog{padding:24px}.retained-filter-dialog label{display:block;margin:16px 0}.retained-filter-dialog input,.retained-filter-dialog select{display:block;width:100%;min-height:44px;padding:8px;border:1px solid var(--control);border-radius:9px}.retained-view-tools{display:flex;gap:8px;flex-wrap:wrap}.retained-views{margin:16px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.retained-views>strong,.retained-view-management{flex-basis:100%}.retained-view-tools small,.retained-view-status{flex-basis:100%}
@media(max-width:850px){.faithful-cockpit .app-frame.shell{margin:0;padding-top:76px}.faithful-cockpit .sidebar{display:none}.faithful-cockpit .bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:white;z-index:20}.faithful-cockpit .bottom-nav button{min-width:0;font-size:.64rem}.faithful-cockpit .topbar-title{display:none}}
@media(max-width:600px){.faithful-cockpit .app-frame.shell{padding-left:18px;padding-right:18px}.faithful-cockpit .home-layout{grid-template-columns:1fr}.faithful-cockpit .section-header{margin:20px 0}.faithful-cockpit .panel,.faithful-cockpit .item-card{padding:18px}.faithful-extra{margin-bottom:95px}.faithful-cockpit .topbar-actions{flex-wrap:wrap}.faithful-cockpit .home-actions .list-row{display:flex;flex-wrap:wrap}}

.faithful-cockpit .sidebar .brand-mark{display:grid;background:none;width:40px;height:40px;border:1px solid #8c9db8;border-radius:13px;font-size:25px;color:#f6f8fc}.faithful-cockpit .sidebar .brand b{font-size:24px;letter-spacing:-1px}.faithful-cockpit .sidebar .brand{margin:0 12px 34px;padding:0;gap:12px}.faithful-cockpit .sidebar .brand small{display:block}.faithful-cockpit .topline{padding:22px 0;color:var(--muted)}.faithful-cockpit #page-title{font:inherit}.faithful-tools{position:relative}.faithful-tools>summary{list-style:none;cursor:pointer;padding:4px 10px;min-height:36px}.faithful-tools[open]{background:white;border:1px solid var(--line);border-radius:10px;padding:12px}.faithful-tools .topbar-actions{display:flex;flex-wrap:wrap;max-width:500px}.faithful-tools .sidebar-toggle{position:static;width:auto;margin:8px 0}.faithful-cockpit .faithful-nav .nav-item{padding:9px 15px;margin-bottom:4px;font-weight:500}.faithful-cockpit .faithful-nav .nav-item span{font-size:.88rem}.faithful-cockpit .sidebar-bottom{font-size:.7rem;color:#bcc8da;padding:14px 9px}.faithful-cockpit .sidebar .nav-item[data-nav=finances]{margin-top:20px}

/* Override direct legacy declarations that otherwise win over inherited reference colors. */
.faithful-cockpit{color:var(--ink);font-family:var(--body)}
.faithful-cockpit h1,.faithful-cockpit h2,.faithful-cockpit h3{color:var(--ink)}
.faithful-cockpit .next-card h2,.faithful-cockpit .sidebar .brand b{color:#fff}
.faithful-cockpit .page-head .actions button{display:inline-flex;align-items:center;justify-content:center}
.faithful-cockpit button svg.ui-icon{display:inline-block}
.faithful-cockpit .faithful-original-actions{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
.faithful-cockpit .faithful-original-actions>summary{padding:0;background:none;border:0}
.faithful-cockpit .faithful-original-actions>details{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:12px 0}
.faithful-cockpit .faithful-original-actions>details>summary{padding:0;background:none}

.faithful-cockpit .section-header.page-head{display:flex;align-items:end;justify-content:space-between}
.faithful-cockpit .faithful-presentation>summary,.faithful-filter-options>summary{cursor:pointer;min-height:44px;padding:9px 15px;border:1px solid var(--control);border-radius:9px;background:white;font-size:.88rem;font-weight:600}
.faithful-cockpit .faithful-presentation[open]>.actions{padding:14px;max-width:650px;background:white;border:1px solid var(--line);border-radius:12px}
.faithful-cockpit .faithful-presentation>.actions{flex-wrap:wrap}
.faithful-cockpit .faithful-presentation>.actions>button{flex:0 1 auto;overflow-wrap:normal}
.faithful-cockpit .faithful-presentation [aria-label="Affichage des éléments"]{flex:0 0 auto}
.faithful-cockpit .faithful-presentation [aria-label="Affichage des éléments"] button{white-space:nowrap;flex-shrink:0}
.faithful-training-context{flex-wrap:wrap;margin-bottom:16px}
.faithful-training-history{margin:10px 0}
@media(max-width:600px){.faithful-cockpit .faithful-presentation>.actions>[data-action="training-add"]:first-child{flex-basis:100%;width:100%}}
.faithful-cockpit .faithful-viewbar{margin:0 0 12px;gap:10px}
.faithful-cockpit .faithful-viewbar .search input{width:100%;padding-left:42px}
.faithful-cockpit .retained-view-management{flex-basis:auto;margin-left:auto;font-size:.8rem}
.faithful-cockpit .retained-view-management[open]{flex-basis:100%}
.faithful-cockpit .retained-view-management summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent)}
.faithful-cockpit .faithful-filter-options{margin-bottom:12px}
.faithful-cockpit .faithful-filter-options>summary{display:inline-block;border:0;background:transparent;padding-left:0;color:var(--accent)}
.faithful-cockpit .faithful-people-panel{padding:0;border:0;background:transparent}
.faithful-cockpit .people-table{width:100%;border-collapse:collapse;background:white;font-size:.84rem}
.faithful-cockpit .people-table th{background:#edf1f8;font-size:.72rem;color:var(--muted);padding:11px 20px}
.faithful-cockpit .people-table td{padding:15px 20px;border-top:1px solid #e4e9f0}
.faithful-cockpit .people-table .table-sort-button{border:0;background:transparent;padding:0;min-height:28px;color:var(--muted)}
.faithful-cockpit .people-list-controls{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.faithful-cockpit .people-list-controls label{font-size:.76rem;color:var(--muted)}
.faithful-cockpit .people-list-controls select{margin-left:8px}
.faithful-cockpit .people-bulk-toolbar{flex-wrap:wrap}
.faithful-cockpit .people-bulk-toolbar button{font-size:.75rem;min-height:36px;padding:5px 10px}
.faithful-cockpit .faithful-due{margin:24px 0}
.faithful-cockpit .faithful-due summary{cursor:pointer;min-height:44px;color:var(--muted)}
.faithful-cockpit .dj-profile-area.artist-strip{background:white;box-shadow:none;padding:20px 24px;border:1px solid var(--line);border-radius:15px;margin-bottom:24px}
.faithful-cockpit .dj-profile-area h2{font-size:1rem}
.faithful-cockpit .dj-profile-photo{width:40px;height:40px;border-radius:50%;margin:0;min-height:0}
.faithful-cockpit .dj-layout{display:grid;grid-template-columns:1fr;gap:16px}
.faithful-cockpit .activity-card{box-shadow:none}
.faithful-cockpit #main-content nav[aria-label="Training"]{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}
.faithful-cockpit #main-content nav[aria-label="Training"] button{width:auto;border:1px solid var(--control);color:var(--ink);background:white;font-size:.88rem;font-weight:600}
.faithful-cockpit #main-content nav[aria-label="Training"] button[aria-pressed=true]{background:var(--pale);color:var(--accent);border-color:var(--accent)}
@media(max-width:600px){.faithful-cockpit .faithful-viewbar .search{flex-basis:100%;order:-1}.faithful-cockpit .section-header.page-head{align-items:start}.faithful-cockpit .people-table td,.faithful-cockpit .people-table th{padding:12px 8px}.faithful-cockpit .people-list-controls select{margin:0;max-width:100%}.faithful-cockpit .people-list-controls label{width:100%}.faithful-cockpit .retained-view-management{margin-left:0}.faithful-cockpit #main-content nav[aria-label="Training"] button{font-size:.76rem;padding:8px}}

.faithful-cockpit .section-header.page-head>.section-actions{margin-left:auto;margin-right:0}
.faithful-cockpit .people-table tbody tr,.faithful-cockpit .people-table tbody td{background:white}
.faithful-cockpit .people-table tbody tr:hover,.faithful-cockpit .people-table tbody tr:hover td{background:#f5f7fb}
.faithful-cockpit .faithful-person-cell{display:flex;align-items:center;gap:12px}
.faithful-cockpit .faithful-person-cell .avatar{width:34px;height:34px;font-size:.7rem}
.faithful-cockpit .faithful-person-cell .link{padding:0;min-height:28px;font-size:.86rem;border:0;background:transparent}
.faithful-cockpit .faithful-person-cell .people-selection{margin:0}

.faithful-cockpit .people-list{overflow-x:auto}.faithful-cockpit .people-table{min-width:520px}.faithful-cockpit .retained-filter-dialog .field select{width:100%}

.faithful-cockpit .faithful-column-choice{display:flex;gap:10px;align-items:center;margin:10px 0}.faithful-cockpit .faithful-column-choice input[type=checkbox]{width:22px;min-height:22px;display:inline-block}.faithful-sort-summary{display:block;margin-bottom:12px}.faithful-cockpit .retained-view-management{margin-left:0}.faithful-cockpit .retained-view-management>summary{padding:0 8px}.faithful-cockpit .list-meta .actions{gap:10px}

.faithful-cockpit .section-header.page-head>.section-actions{flex:none;justify-content:flex-end}.faithful-cockpit .section-header.page-head>div:first-child{flex:1;min-width:0}.faithful-cockpit .artist-strip>.row-body{flex:1}.faithful-cockpit .sidebar{overflow:hidden}.faithful-cockpit .sidebar>.brand,.faithful-cockpit .sidebar>.workspace,.faithful-cockpit .sidebar>.side-bottom{flex-shrink:0}.faithful-cockpit .faithful-nav{overflow-y:auto;min-height:0;flex:1}.faithful-cockpit .side-bottom{margin-top:14px}

.faithful-cockpit .sidebar{overflow-y:auto}.faithful-cockpit .faithful-nav{flex:none;overflow:visible}.faithful-cockpit .side-bottom{margin-top:auto}

#form-dialog [data-faithful-details]{display:none}
@media(max-width:850px){
 .faithful-cockpit .training-movement-card>details>summary{grid-template-columns:minmax(0,1fr) 44px}
 .faithful-cockpit .training-movement-card>details>summary>.training-movement-title{white-space:normal;overflow-wrap:anywhere;grid-column:1;grid-row:1}
 .faithful-cockpit .training-movement-card>details>summary>.training-movement-date{grid-column:1;grid-row:2}
 .faithful-cockpit .training-movement-card>details>summary>.button{grid-column:2;grid-row:1 / span 2}
 .faithful-cockpit #main-content{padding-bottom:100px}
 .faithful-cockpit .bottom-nav{justify-content:space-around;align-items:stretch;padding:7px 8px max(7px,env(safe-area-inset-bottom));gap:0;border-top:1px solid var(--line);background:#fffffff5}
 .faithful-cockpit .bottom-nav button.bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:20%;max-width:none;min-width:0;min-height:52px;gap:3px;padding:4px 2px;margin:0;border:0;background:transparent;text-align:center}
 .faithful-cockpit .bottom-nav button.bottom-item svg{display:block;width:21px;height:21px;margin:0}
 .faithful-cockpit .bottom-nav button.bottom-item small{display:block;font-size:.64rem;color:inherit;width:auto;max-width:100%;overflow:visible;white-space:normal}
 .faithful-cockpit .bottom-nav button.active{background:var(--pale);color:var(--accent)}
}

@media(max-width:600px){
 .faithful-cockpit.page-people .section-header.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:16px 0;gap:10px}
 .faithful-cockpit.page-people .section-header.page-head .section-actions{width:auto;margin:0;flex:none}
 .faithful-cockpit.page-people .faithful-presentation>summary{font-size:.72rem;padding:9px;white-space:nowrap}
 .faithful-cockpit.page-people .people-table{min-width:0;display:block;width:100%}
 .faithful-cockpit.page-people .people-table thead{display:none}
 .faithful-cockpit.page-people .people-table tbody{display:block}
 .faithful-cockpit.page-people .people-table tr{display:block;border-top:1px solid #e4e9f0}
 .faithful-cockpit.page-people .people-table tr:first-child{border-top:0}
 .faithful-cockpit.page-people .people-table td{display:block;width:auto;max-width:100%;border:0;padding:4px 12px 4px 80px;white-space:normal;overflow-wrap:anywhere;font-size:.75rem}
 .faithful-cockpit.page-people .people-table td:first-child{display:flex;padding:15px 12px 6px;gap:8px}
 .faithful-cockpit.page-people .people-table td:last-child{padding-bottom:15px}
 .faithful-cockpit.page-people .people-table td:empty{display:none}
 .faithful-cockpit.page-people .faithful-person-cell .link{white-space:normal;text-align:left}
 .faithful-cockpit.page-people .faithful-person-cell .people-selection{flex-shrink:0}
}
@media(max-width:600px){
 .faithful-cockpit .topline{padding:10px 0;font-size:.67rem;flex-wrap:nowrap}
 .faithful-cockpit .topline>.actions{flex-wrap:nowrap;gap:4px}
 .faithful-cockpit .topline .status{font-size:.67rem;max-width:132px;white-space:normal;text-align:left;gap:5px}
 .faithful-cockpit .faithful-tools>summary{padding:2px;width:22px;min-height:32px}
}

.faithful-cockpit .section-header.page-head>.section-settings-actions{padding-right:0}

/* A navigation link is not proof of a successful synchronization. */
.faithful-cockpit .status .faithful-status-link{background:#758196;box-shadow:none}
.faithful-frame.hide-quick-add #quick-add{display:none}
.faithful-cockpit .shortcut-grid [hidden]{display:none}
.faithful-cockpit #main-content{padding-bottom:100px}

/* Keep complete labels when native pages share the B view toolbar on small screens. */
@media(max-width:600px){
 .faithful-cockpit .retained-views>select,.faithful-cockpit .retained-views>.retained-prepare{flex:1 1 140px;min-width:0}
 .faithful-cockpit .retained-views>.faithful-save-view{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal}
}

/* Mobile readability only: same colors, sections, table semantics and native actions. */
.faithful-current-view-name,.faithful-finance-scroll-hint{display:none}
.faithful-finance-selection{display:contents}
@media(pointer:coarse){
 .faithful-cockpit input:not([type=checkbox]):not([type=radio]),.faithful-cockpit select,.faithful-cockpit textarea{font-size:16px}
}
@media(max-width:850px){
 /* Native iOS focus zoom is triggered below 16px, including the search toolbar. */
 .faithful-cockpit input:not([type=checkbox]):not([type=radio]),.faithful-cockpit select,.faithful-cockpit textarea{font-size:16px}
 /* Leave the focused field visible above the keyboard; navigation returns on blur. */
 .faithful-cockpit:has(input:is(:not([type]),[type=search],[type=text],[type=email],[type=tel],[type=url],[type=password],[type=number]):focus,textarea:focus) :is(.bottom-nav,#quick-add){visibility:hidden;pointer-events:none}
 .faithful-cockpit .bottom-nav button.bottom-item,.faithful-cockpit .bottom-nav button.bottom-item small{font-size:.75rem;line-height:1.35}
 .faithful-cockpit .topline{font-size:.75rem;flex-wrap:wrap;gap:8px}
 .faithful-cockpit .topline .status{font-size:.75rem;max-width:155px;line-height:1.4}
 .faithful-cockpit .faithful-tools>summary{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:6px;font-size:1rem}
 .faithful-cockpit .connection-status-fold>summary,.faithful-cockpit .faithful-extra>summary,.faithful-cockpit .faithful-sort-summary,.faithful-cockpit .retained-view-tools small{font-size:.8125rem;line-height:1.5}
 .faithful-cockpit .faithful-save-view,.faithful-cockpit.page-people .list-meta .link,.faithful-cockpit .retained-view-management>summary,.faithful-cockpit .retained-view-tools .link,.faithful-cockpit.page-people .faithful-presentation>summary{font-size:.875rem;min-height:44px}
 .faithful-cockpit .list-meta{flex-wrap:wrap;gap:8px;font-size:.8125rem}
 .faithful-cockpit.page-people .page-head p{font-size:.875rem;line-height:1.5}
 .faithful-cockpit .faithful-person-cell .link{min-height:44px;font-size:.875rem}
 .faithful-cockpit .faithful-person-cell .people-selection{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px}
 .faithful-cockpit .people-table .table-sort-button{min-height:44px}
 .faithful-cockpit .faithful-column-choice{min-height:44px}
 .faithful-cockpit .retained-filter-dialog input:not([type=checkbox]),.faithful-cockpit .retained-filter-dialog select,.faithful-cockpit #form-dialog input:not([type=checkbox]):not([type=radio]),.faithful-cockpit #form-dialog select,.faithful-cockpit #form-dialog textarea{font-size:1rem}
 .faithful-cockpit .faithful-current-view-name:not([hidden]){display:block;flex-basis:100%;grid-column:1/-1;min-width:0;margin:0;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;color:var(--ink)}
 .faithful-cockpit .faithful-finance-selection{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px}
 .faithful-cockpit .finance-entry-table.evolution-list-mode{table-layout:auto;min-width:640px;width:100%}
 .faithful-cockpit .finance-entry-table.evolution-list-mode th,.faithful-cockpit .finance-entry-table.evolution-list-mode td{width:auto;max-width:none;padding:10px 12px;white-space:normal;overflow:visible;text-overflow:clip;font-size:.875rem;line-height:1.5}
 .faithful-cockpit .finance-entry-table.evolution-list-mode th{min-width:7rem}
 .faithful-cockpit .finance-entry-table.evolution-list-mode th:first-child{min-width:5rem}
 .faithful-cockpit .finance-entry-table.evolution-list-mode th:nth-child(3){min-width:12rem}
 .faithful-cockpit .finance-entry-table.evolution-list-mode td{overflow-wrap:anywhere}
 .faithful-cockpit .finance-entry-table.evolution-list-mode td>.button{min-height:44px;min-width:7rem;width:auto;max-width:none;padding:8px 10px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:.875rem}
 .faithful-cockpit .faithful-finance-scroll-hint{display:block;font-size:.875rem;line-height:1.5;color:var(--muted);margin:10px 0}
 .faithful-cockpit .table-wrap:has(>.finance-entry-table.evolution-list-mode):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
}

/* Keep course rows clear on narrow screens and short touch screens in landscape. */
@media(max-width:850px),(max-height:500px) and (pointer:coarse){
 .faithful-cockpit .booking-bulk-toolbar:has([data-action="privates-select-visible"]){position:static;top:auto}
}

/* An expanded presentation panel gets its own row instead of squeezing the title. */
@media(max-width:850px){
 .faithful-cockpit .section-header.page-head:has(.faithful-presentation[open]){display:flex;flex-wrap:wrap;align-items:start}
 .faithful-cockpit .section-header.page-head:has(.faithful-presentation[open])>div:first-child{flex:1 1 100%;min-width:0}
 .faithful-cockpit .section-header.page-head:has(.faithful-presentation[open])>.section-actions{flex:1 1 100%;width:100%;max-width:100%;min-width:0}
 .faithful-cockpit .faithful-presentation[open]{width:100%;min-width:0;max-width:100%}
 .faithful-cockpit .faithful-presentation[open]>.actions{width:100%;min-width:0;max-width:100%;gap:10px}
 .faithful-cockpit .people-bulk-toolbar.selection{display:flex;flex-wrap:wrap;gap:10px;width:100%;min-width:0}
 .faithful-cockpit .people-bulk-toolbar.selection>strong{flex:1 1 100%}
 .faithful-cockpit .people-bulk-toolbar.selection button{flex:1 1 140px;min-width:0;min-height:44px;white-space:normal;overflow-wrap:normal;word-break:normal}
}

/* Independent fold controls: the card and its native actions keep their structure. */
.faithful-cockpit .faithful-foldable{position:relative}
.faithful-cockpit .faithful-fold-heading{padding-right:48px}
.faithful-cockpit .faithful-foldable>.card-head{padding-right:44px;flex-wrap:wrap;gap:8px}
.faithful-cockpit .faithful-foldable>.card-head .faithful-fold-heading{padding-right:0}
.faithful-cockpit .faithful-fold-head{padding-right:44px}
.faithful-cockpit .faithful-fold-head .faithful-fold-heading{padding-right:0}
.faithful-cockpit .faithful-fold-toggle{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;background:transparent;color:inherit;z-index:1}
.faithful-cockpit .faithful-fold-toggle::after{content:'';width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.faithful-cockpit .faithful-fold-toggle[aria-expanded=true]::after{transform:rotate(45deg)}
/* The heading path stays visible; later inserted siblings follow the same closed state. */
.faithful-cockpit [data-faithful-fold-closed]>:not([data-faithful-fold-path]):not(.faithful-fold-toggle),
.faithful-cockpit [data-faithful-fold-closed] [data-faithful-fold-path]:not(h2):not(h3)>:not([data-faithful-fold-path]){display:none!important}
.faithful-cockpit .faithful-foldable[data-faithful-fold-closed]{min-height:68px}
.faithful-cockpit #main-content details>summary{position:relative;list-style:none;padding-right:48px;min-height:44px}
.faithful-cockpit #main-content details>summary::-webkit-details-marker{display:none}
.faithful-cockpit #main-content details>summary::after{content:'';position:absolute;right:17px;top:17px;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.faithful-cockpit #main-content details[open]>summary::after{transform:rotate(45deg)}
.faithful-cockpit #main-content .faithful-spaced-before{margin-top:16px}
.faithful-cockpit #main-content .actions{row-gap:10px;column-gap:10px}
.faithful-cockpit #main-content>.panel+.button{margin-top:12px}
.faithful-cockpit #main-content>.button+.button{margin-top:12px;margin-left:8px}

/* Mobile controls flow with the page; every action keeps its native handler. */
.faithful-cockpit .faithful-training-options>summary{cursor:pointer;min-height:44px;padding:10px 48px 10px 12px;border:1px solid var(--control);border-radius:9px;background:white;font-size:.875rem;font-weight:600}
.faithful-cockpit .faithful-training-options-body{padding:10px 0}
.faithful-cockpit .faithful-training-options{margin-bottom:12px}
.faithful-cockpit .faithful-tools-panel{min-width:0}
@media(max-width:850px),(max-height:500px) and (pointer:coarse){
 .faithful-cockpit .training-page{overflow:visible;max-height:none;height:auto;scroll-padding-top:12px}
 .faithful-cockpit .training-fixed-head{display:block}
 .faithful-cockpit .training-sticky-tools{position:static;top:auto;z-index:auto}
 .faithful-cockpit #main-content nav[aria-label="Training"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
 .faithful-cockpit #main-content nav[aria-label="Training"]>button{width:100%;min-width:0;margin:0;min-height:44px;padding:8px;font-size:.8125rem;line-height:1.3;white-space:normal;overflow-wrap:normal}
 .faithful-cockpit .training-filters{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
 .faithful-cockpit .training-filter-row{gap:8px;align-items:stretch}
 .faithful-cockpit .training-filter-row button{margin:0;min-height:44px}
 .faithful-cockpit .topline{display:flex;flex-wrap:wrap;align-items:center}
 .faithful-cockpit .topline>span{min-width:0;flex:1 1 160px}
 .faithful-cockpit .topline>.actions{min-width:0;flex:0 1 auto;flex-wrap:wrap}
 .faithful-cockpit .topline:has(.faithful-tools[open])>.actions{flex-basis:100%;display:flex}
 .faithful-cockpit .topline .faithful-tools[open]{flex:1 1 100%;width:100%;min-width:0;box-sizing:border-box}
 .faithful-cockpit .faithful-tools .topbar-actions{width:100%;max-width:none;min-width:0;flex-wrap:wrap}
 .faithful-cockpit .faithful-tools .topbar-title{display:none}
 .faithful-cockpit .faithful-tools :is(button,a){max-width:100%;overflow-wrap:normal;word-break:normal}
 .faithful-cockpit .dj-profile-area.artist-strip{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:18px}
 .faithful-cockpit .dj-profile-area .dj-profile-photo{width:48px;height:48px;min-height:0;margin:0}
 .faithful-cockpit .dj-profile-area>.row-body{min-width:0;width:100%}
 .faithful-cockpit .dj-profile-area .dj-profile-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
 .faithful-cockpit .dj-profile-area .dj-profile-links>a{flex:0 0 44px;width:44px;min-width:44px;height:44px;margin:0}
 .faithful-cockpit .faithful-dj-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .faithful-cockpit .faithful-dj-actions>button{min-width:0;width:100%;margin:0;font-size:.8125rem;padding:8px;white-space:normal;overflow-wrap:normal}
 .faithful-cockpit :is(#main-content,dialog) :is(.section-actions,.actions){flex-wrap:wrap;align-items:stretch;gap:10px;min-width:0}
 .faithful-cockpit :is(#main-content,dialog) :is(.section-actions,.actions)>:is(button,a.button){margin:0;min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal;white-space:normal}
 .faithful-cockpit dialog .evolution-consultation .section-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .faithful-cockpit dialog .evolution-consultation .section-actions>:is(button,a){width:100%;margin:0}
 .faithful-cockpit dialog .evolution-consultation .section-actions>:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:360px){
 .faithful-cockpit .faithful-dj-actions{grid-template-columns:1fr}
}

@media(max-width:850px),(max-height:500px) and (pointer:coarse){
 .faithful-cockpit .faithful-tools #calendar-receive-control{flex:1 1 100%;width:100%;height:auto;min-height:44px;font:inherit;line-height:1.4;padding:10px;text-align:left;display:flex;gap:8px;justify-content:space-between;align-items:center}
 .faithful-cockpit .faithful-tools .topbar-actions>.icon-button{margin:0;min-width:44px;min-height:44px}
 .faithful-cockpit .faithful-tools>.nav-item{display:flex;width:100%;margin:8px 0 0;min-height:44px;text-align:left;gap:12px}
 .faithful-cockpit .faithful-tools .sidebar-bottom,.faithful-cockpit .faithful-tools .sidebar-caption{color:var(--muted)}
 .faithful-cockpit :is(#main-content,dialog) .item-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
 .faithful-cockpit :is(#main-content,dialog) .item-actions>:is(a,button){margin:0;min-width:0;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal}
 .faithful-cockpit dialog .evolution-consultation .item-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .faithful-cockpit dialog .evolution-consultation .item-actions>:is(a,button){width:100%;margin:0}
 .faithful-cockpit dialog .evolution-consultation .item-actions>:last-child:nth-child(odd){grid-column:1/-1}
}

@media(max-width:850px),(max-height:500px) and (pointer:coarse){
 .faithful-cockpit .item-actions>[data-video-preparation-action-id]:empty{display:none}
 .faithful-cockpit dialog .evolution-consultation .item-actions>[data-video-preparation-action-id]{grid-column:1/-1}
 .faithful-cockpit dialog .evolution-consultation .item-actions>[data-action="remove-video"]{grid-column:1/-1}
}

/* Consultation copies do not need a second folding control over the dialog close button. */
.faithful-cockpit dialog .faithful-fold-toggle{display:none}

@media(max-width:850px),(max-height:500px) and (pointer:coarse){
 body.faithful-cockpit.training-route{overflow-y:auto}
 .faithful-cockpit .training-fixed-head{max-height:none;overflow:visible}
 .faithful-cockpit .training-scroll-content{overflow:visible;max-height:none}
}

/* Status choices are controls, unlike the informational .status label. */
.faithful-cockpit select.status {
 display:inline-block; width:auto; min-width:0; max-width:100%; flex:0 1 auto;
 min-height:44px; padding:10px 42px 10px 14px; margin-block-end:8px;
 border:1px solid var(--control); border-radius:8px;
 background-color:var(--pale); color:var(--ink);
 font-size:1rem; font-weight:600; line-height:1.4; cursor:pointer;
 appearance:none; -webkit-appearance:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23263345' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
 text-overflow:ellipsis;
}
.faithful-cockpit select.status:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.faithful-cockpit select.status:disabled { opacity:.6; cursor:not-allowed; }
@media(hover:hover) { .faithful-cockpit select.status:not(:disabled):hover { border-color:var(--accent); } }

@media (max-width:600px) {
 .faithful-cockpit .evolution-list-mode > .evolution-compact-row:has(> .evolution-row-status > select.status) {
  flex-wrap:wrap;
 }
 .faithful-cockpit .evolution-list-mode .evolution-row-status:has(> select.status) {
  flex:0 0 100%; max-width:100%;
 }
 .faithful-cockpit .evolution-list-mode .evolution-row-status > select.status {
  width:auto; margin-block-end:0;
 }
}

/* Page actions occupy their own compact row at every screen width. */
.faithful-cockpit #main-content :is(.section-header,.page-head) {
 display:grid; grid-template-columns:minmax(0,1fr); align-items:start; justify-items:start; gap:10px;
}
.faithful-cockpit #main-content :is(.section-header,.page-head) > :is(.section-actions,.actions) {
 width:100%; min-width:0; margin-inline:0; justify-content:flex-start; flex-wrap:wrap; gap:8px;
}
.faithful-cockpit #main-content .section-settings-actions:has(>.section-settings-gear) {
 padding-right:52px;
}
.faithful-cockpit #main-content .panel-header:has(> :is(button,a,.section-actions,.section-fold-controls)) {
 flex-direction:column; align-items:flex-start; gap:8px;
}
.faithful-cockpit .video-manage-fold > summary {
 gap:12px; justify-content:space-between;
}
.faithful-cockpit .video-manage-fold > summary::after {
 display:grid; place-items:center; inline-size:36px; block-size:36px;
 border:1px solid var(--control); border-radius:8px; flex:none;
}
.faithful-cockpit .training-reference-actions { justify-content:flex-start; gap:8px; }

.faithful-cockpit .dj-profile-area.artist-strip {
 display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:16px;
}
.faithful-cockpit .dj-profile-area .dj-profile-photo {
 inline-size:clamp(76px,13vw,124px); block-size:auto; height:auto; aspect-ratio:1;
}
.faithful-cockpit .dj-profile-area .dj-profile-links {
 display:flex; flex-wrap:wrap; gap:8px; margin:8px 0;
}
.faithful-cockpit .dj-profile-area .dj-profile-links > a {
 flex:0 0 58px; width:58px; height:58px; margin:0;
}
.faithful-cockpit .dj-profile-area .dj-profile-links svg { width:32px; height:32px; }
.faithful-cockpit .faithful-dj-actions {
 display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:stretch; gap:8px;
}
.faithful-cockpit .faithful-dj-actions > button {
 width:auto; max-width:100%; min-height:44px; margin:0; white-space:normal;
}

.faithful-cockpit .document-row-actions {
 display:grid; grid-auto-rows:1fr; gap:6px; width:240px; max-width:100%;
}
.faithful-cockpit .document-row-actions > button,
.faithful-cockpit .document-list .document-row-actions > .evolution-dense-command {
 width:100%; flex:none; min-width:0; max-width:100%; min-height:44px; margin:0; padding:8px 12px; font-size:.8125rem; text-align:center; white-space:normal; overflow:visible;
}
@media (max-width:360px) {
 .faithful-cockpit .dj-profile-area.artist-strip { column-gap:12px; padding-inline:12px; }
 .faithful-cockpit .document-list .list-row:has(.document-row-actions) { flex-wrap:wrap; }
 .faithful-cockpit .document-list .row-end:has(.document-row-actions) { max-width:100%; }
}

/* Reordered home blocks follow their reading order across the grid. */
.faithful-cockpit .home-layout-reordered {
 grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start;
}
.faithful-cockpit .home-layout-reordered > .faithful-extra {
 grid-column:1 / -1; margin:0;
}
.faithful-cockpit .home-order { margin:0; padding:0; list-style:none; }
.faithful-cockpit .home-order-controls { display:flex; gap:6px; margin-left:auto; }
.faithful-cockpit .home-order-controls > button { min-width:44px; min-height:44px; }
@media (max-width:600px) {
 .faithful-cockpit .home-layout-reordered { grid-template-columns:minmax(0,1fr); }
}

.faithful-cockpit .more-grid .space-card {
 display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:stretch;
 min-width:0; min-height:70px; margin:0; padding:0;
}
.faithful-cockpit .space-card > .space-link {
 width:100%; min-width:0; margin:0; padding:12px; border:0; box-shadow:none;
 background:transparent; text-align:left; white-space:normal; overflow-wrap:anywhere;
}
.faithful-cockpit .space-card > .space-grip {
 display:grid; place-items:center; min-width:44px; min-height:44px; margin:0; padding:0;
 align-self:center; color:var(--muted); background:transparent; border:0;
 font-size:1.25rem; line-height:1; cursor:grab; touch-action:none; user-select:none;
}
.faithful-cockpit .space-card-moving {
 outline:2px solid var(--accent); outline-offset:-2px;
}
.faithful-cockpit .space-card-moving > .space-grip { cursor:grabbing; }

/* November 2026: readable profile roles, home controls and Training states. */
.faithful-cockpit [data-faithful-home-block][hidden],.faithful-cockpit .home-layout[hidden]{display:none!important}
.faithful-cockpit .home-order>.reorder{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:8px;min-width:0;align-items:center}
.faithful-cockpit .home-order>.reorder>span{overflow-wrap:anywhere;font-size:.875rem;line-height:1.4}
.faithful-cockpit .home-order button{min-height:44px;margin:0;box-sizing:border-box}
.faithful-cockpit .home-order-grip{touch-action:none;cursor:grab;font-size:1.6rem;width:44px;padding:0;user-select:none}
.faithful-cockpit .home-order-moving{outline:2px solid var(--accent);background:#eaf0fc;box-shadow:0 4px 12px #172e6226}
.faithful-cockpit .home-order-moving .home-order-grip{cursor:grabbing}
.faithful-cockpit .home-order .home-order-visibility{font-size:.8rem;padding:6px 8px;min-width:66px}
.faithful-cockpit .home-layout-reordered > :is(.home-block,.home-clarity){min-width:0;margin:0}
.faithful-cockpit .home-order-visibility[aria-pressed=true]{background:#e7eefc;border-color:#5177bd;color:#173e84}
.faithful-cockpit .home-order-hidden>span{text-decoration:line-through;color:#566273}
.faithful-cockpit .home-order button:focus-visible,.faithful-cockpit .home-hidden-reserve button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
/* The faithful layout moves the balance outside its legacy KPI container. */
.faithful-cockpit #main-content .balance-toggle{background:var(--deep,#203047);color:#fff;border-color:var(--deep,#203047)}
.faithful-cockpit #main-content .balance-toggle>span,.faithful-cockpit #main-content .balance-toggle>strong,.faithful-cockpit #main-content .balance-toggle>small{color:#fff}
.faithful-cockpit .home-hidden-reserve{margin:24px 0 95px;border-top:1px solid var(--line);padding:14px 0}
.faithful-cockpit .home-hidden-reserve>summary{font-weight:600;min-height:44px;cursor:pointer}
.faithful-cockpit .home-hidden-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.faithful-cockpit .home-hidden-row>span{min-width:0;overflow-wrap:anywhere}
.faithful-cockpit .home-hidden-row>button{min-height:44px;flex:none}
.faithful-cockpit .person-profile-roles{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 24px}
.faithful-cockpit .person-role-badge{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;background:#e7eefc;border:1px solid #acbfdf;color:#203f75;border-radius:999px;font-size:.875rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere;max-width:100%}
.faithful-cockpit .training-session-movement{flex-wrap:wrap;gap:8px}
.faithful-cockpit .training-session-movement>[class^="training-progress-"]{flex:0 1 228px;min-width:min(100%,216px);font-size:.875rem}
.faithful-cockpit .training-progress-segments,.faithful-cockpit .training-progress-radios{gap:8px;min-height:44px}
.faithful-cockpit #main-content .training-progress-choice.button{font-size:.875rem;line-height:1.3;min-height:44px;padding:8px 10px;white-space:normal;border:1px solid #a6b3c5;border-radius:9px;background:#fff;color:#334155;box-shadow:none}
.faithful-cockpit .training-progress-choice:before{display:none}
.faithful-cockpit #main-content .training-progress-choice.review[aria-pressed=true]{background:#934009;color:#fff;border-color:#934009}
.faithful-cockpit #main-content .training-progress-choice.acquired[aria-pressed=true]{background:#196840;color:#fff;border-color:#196840}
.faithful-cockpit .training-progress-choice[aria-pressed=true]:after{content:' ✓';font-size:1em;margin-left:4px;font-weight:700}
.faithful-cockpit .training-progress-select select{min-height:44px;height:auto;font-size:1rem;padding:8px}
.faithful-cockpit .training-progress-radios label{font-size:.875rem;min-height:44px;gap:6px;flex:1;white-space:normal;padding:4px;border:1px solid #a6b3c5;border-radius:8px}
.faithful-cockpit .training-progress-radios label:has(input:checked){background:#e7eefc;border-color:#315fcd;font-weight:700}
.faithful-cockpit .training-progress-radios input{width:20px;height:20px;flex:none}
.faithful-cockpit .training-progress-switch{font-size:.875rem;gap:8px;min-height:52px}
.faithful-cockpit .training-progress-switch .is-selected{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.faithful-cockpit .training-progress-switch input{position:relative;appearance:none;width:52px;height:32px;min-height:32px;padding:0;margin:6px 0;border:2px solid #934009;border-radius:18px;background:#934009;flex:none;cursor:pointer}
.faithful-cockpit .training-progress-switch input:checked{background:#196840;border-color:#196840}
.faithful-cockpit .training-progress-switch input:before{content:'';position:absolute;width:24px;height:24px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0005}
.faithful-cockpit .training-progress-switch input:checked:before{left:22px}
.faithful-cockpit .training-progress-menu>summary{font-size:.875rem;min-height:44px;border:1px solid currentColor;border-radius:8px;padding:10px 36px 10px 12px}
.faithful-cockpit .training-progress-menu>div{width:228px;max-width:calc(100vw - 64px);gap:8px;padding:8px}
.faithful-cockpit :is(.training-progress-choice,.training-progress-radios input,.training-progress-switch input,.training-progress-select select):focus-visible{outline:3px solid #315fcd;outline-offset:3px}
@media(max-width:850px){
 .faithful-cockpit .faithful-training-options-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .faithful-cockpit .faithful-training-options-body .training-filter-row,.faithful-cockpit .faithful-training-options-body .training-filters{display:contents}
 .faithful-cockpit .faithful-training-options-body [hidden]{display:none!important}
 .faithful-cockpit .faithful-training-options-body .training-google-action{margin:0;min-width:0}
 .faithful-cockpit .faithful-training-options-body button{width:100%;min-width:0;min-height:44px;margin:0;padding:8px;font-size:.8125rem;line-height:1.3;white-space:normal;overflow-wrap:normal;word-break:normal}
 .faithful-cockpit .training-session-movement>[class^="training-progress-"]{flex-basis:100%;width:100%;min-width:0}
 .faithful-cockpit .training-session-movement>.training-movement-name{flex-basis:100%;white-space:normal;overflow-wrap:anywhere}
 .faithful-cockpit .next-card .line{flex-wrap:wrap;gap:12px;align-items:center}
 .faithful-cockpit .next-card .line>small{flex:1 1 170px;min-width:0}
 .faithful-cockpit .next-card .line>button{flex:0 0 auto;white-space:nowrap;min-height:44px;word-break:normal;overflow-wrap:normal}
}
@media(max-width:360px){.faithful-cockpit .retained-filter-dialog{padding:16px}.faithful-cockpit .home-order>.reorder{gap:6px;padding:6px}.faithful-cockpit .home-order .home-order-visibility{padding:6px;min-width:62px}}
.faithful-cockpit [data-home-block][hidden]{display:none!important}

.retained-menu-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 8px;background:var(--white,#fff)}
.retained-menu-heading h2{margin:0;min-width:0;overflow-wrap:anywhere}
.retained-menu-heading .close-button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;font-size:1.5rem;line-height:1}

.faithful-cockpit .retained-personalize-dialog{padding:0;overflow:hidden}
.retained-personalize-dialog[open]{display:flex;flex-direction:column}
.retained-personalize-dialog .retained-menu-heading{
 position:relative;flex:none;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--cobalt-pale,#edf2fc);
}
.retained-heading-actions{display:flex;align-items:center;flex:none;gap:8px}
.retained-heading-actions .button{min-height:44px;padding:6px 12px;white-space:nowrap}
.retained-personalize-dialog button.retained-apply:disabled{
 color:#515d70;background:#e4e8ef;border-color:#a7b1c1;cursor:default;
}
.retained-personalize-error{flex:none;margin:0;padding:8px 16px;background:var(--paper,#f3f5f8)}
.retained-personalize-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 24px 24px}
.retained-personalize-body>p:first-child{margin-top:0}
.home-order[data-home-order-zone]{position:relative;min-height:52px}
.home-order[data-home-order-zone="detail"]:empty{border:1px dashed var(--control);border-radius:8px}
.faithful-cockpit .home-order>.home-order-group{display:block;padding:0}
.home-order-group-header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px}
.home-order-group-header>span{font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}
.home-order-hidden>.home-order-group-header>span{text-decoration:line-through;color:#566273}
.faithful-cockpit .home-order-group>.home-order{margin:0 8px 8px;padding:4px 0 4px 8px;border-inline-start:2px solid var(--line)}
@media(max-width:360px){
 .retained-personalize-dialog .retained-menu-heading,.retained-personalize-body{padding-left:16px;padding-right:16px}
}

/* Reordering must not invoke iOS text selection or link previews. */
.home-order-grip,.space-grip,.home-order-moving,.space-card-moving { -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none; }

/* Consistent headers and one right-hand column for home disclosure controls. */
.faithful-extra{border-top:2px solid var(--line);padding-top:20px}
.faithful-extra>summary{font-size:1rem!important;font-weight:650;color:var(--ink,#223047);padding:12px 18px;line-height:1.5}
.faithful-extra .home-blocks,.faithful-extra .dashboard-kpis{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.home-clarity{border:1px solid #c6d0df;border-radius:16px;background:var(--surface,#fff);overflow:hidden;margin:18px 0}
.home-block>.home-clarity,.dashboard-kpis>.home-clarity{margin:0}
.home-clarity-head{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:8px;align-items:center;padding:12px 16px;min-height:68px}
.home-clarity-head h2{margin:0;font-size:1.05rem;line-height:1.4;color:#23324a;overflow-wrap:anywhere}
.home-clarity-head button{min-height:44px;margin:0}
.home-clarity-hide{font-size:.8125rem;padding:6px 8px;background:transparent;border:0;color:#435571}
.home-clarity-fold{width:44px;min-width:44px;display:grid;place-items:center;border:0;background:transparent;color:#435571}
.home-clarity-fold::after{content:'';width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.home-clarity-fold[aria-expanded=true]::after{transform:rotate(45deg)}
.home-clarity-body{border-top:1px solid #d7dfeb;padding:16px}
.home-clarity-body[hidden],.home-clarity[hidden]{display:none!important}
.faithful-cockpit .home-clarity-body>.panel,.faithful-cockpit .home-clarity-body>.card{border:0;box-shadow:none;padding:0;margin:0}
.home-clarity-body>.panel>h2,.home-clarity-body>.panel>.panel-header>h2,.home-clarity-body>.card>h2{display:none}
.home-clarity-body>.kpi{width:100%;margin:0;border:0;box-shadow:none}
.home-clarity-body>.home-actions{padding:0!important;border:0!important;box-shadow:none}
.home-clarity-body>.home-actions>summary[hidden]{display:none}
@media(max-width:480px){.home-clarity-head{padding:10px 12px;gap:5px}.home-clarity-body{padding:12px}.home-clarity-head h2{font-size:1rem}}

.faithful-cockpit #main-content .faithful-extra>summary{padding-right:140px}
.faithful-cockpit #main-content .faithful-extra>summary::after{right:34px}
.home-extra-hide{position:absolute;right:64px;top:4px;min-height:44px;font-size:.8125rem;background:transparent;border:0;color:#435571;padding:6px 8px}
@media(max-width:480px){.faithful-cockpit #main-content .faithful-extra>summary::after{right:30px}}

/* Commercial documents keep their summary readable alongside native PDF actions. */
.faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row { flex-wrap: wrap; align-items: flex-start; gap: 12px; padding: 16px 0; }
.faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-body { display: block; flex: 1 1 240px; }
.faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row .row-body > strong,
.faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row .row-body > small { display: block; white-space: normal; overflow: visible; overflow-wrap: anywhere; margin: 0 0 6px; }
.faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-end { flex: 1 1 260px; flex-direction: column; align-items: flex-end; min-width: 0; max-width: 100%; }
.faithful-cockpit .document-list .document-row-actions { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; max-width: 100%; }
.faithful-cockpit .saved-clients.evolution-list-mode .saved-client-row > .evolution-dense-command {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0;
 padding: 0;
 font-size: 0;
}
.faithful-cockpit .saved-clients.evolution-list-mode .saved-client-row > .evolution-dense-command::after { line-height: 1; }
@media (max-width: 650px) {
 .faithful-cockpit .saved-clients.evolution-list-mode .saved-client-row > .row-body { flex-direction: column; align-items: stretch; }
 .faithful-cockpit .saved-clients.evolution-list-mode .saved-client-row .row-body > :is(strong,small),
 .faithful-cockpit .saved-clients > button > :is(strong,small) { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
 .faithful-cockpit .saved-clients > button { flex-direction: column; align-items: stretch; gap: 4px; }
}
@media (max-width: 650px) {
 .faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-body,
 .faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-end { flex-basis: 100%; width: 100%; }
 .faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-end { align-items: flex-start; text-align: left; }
 .faithful-cockpit .document-list .document-row-actions { width: 100%; }
 .faithful-cockpit .document-list .document-row-actions .button { flex: 1 1 100%; width: 100%; min-height: 44px; white-space: normal; }
}

/* Finance controls share a baseline and predictable rows on narrow screens. */
.faithful-cockpit .panel:has(#finance-month) > .filters {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; margin:0 0 16px;
}
.faithful-cockpit .panel:has(#finance-month) > .filters > label {
 display:grid; grid-template-columns:minmax(0,1fr); gap:8px; min-width:0; margin:0; line-height:1.4;
}
.faithful-cockpit .panel:has(#finance-month) > .filters .form-control {
 box-sizing:border-box; width:100%; min-width:0; height:46px; min-height:46px; margin:0;
}
.faithful-cockpit #finance-month::-webkit-date-and-time-value { text-align:left; min-height:1.3em; }
.faithful-cockpit .panel:has(#finance-month) > .filters > button { grid-column:1 / -1; width:100%; margin:0; }
.faithful-cockpit .panel:has(#finance-month) > .item-actions {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 16px;
}
.faithful-cockpit .panel:has(#finance-month) > .item-actions > button { width:100%; min-width:0; margin:0; white-space:normal; }
.faithful-cockpit .panel:has(#finance-month) > .item-actions > button:last-child { grid-column:1 / -1; }
.faithful-cockpit .panel:has(.finance-entry-table) .list-sort-control,
.faithful-cockpit .document-panel .list-sort-control { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; width:100%; margin:16px 0; }
.faithful-cockpit #main-content .document-panel > .panel-header { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; }
.faithful-cockpit .document-panel > .panel-header > div { width:100%; min-width:0; margin:0; }
.faithful-cockpit .document-panel > .panel-header h2 { margin:0; }
.faithful-cockpit .document-panel > .panel-header > .section-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.faithful-cockpit .document-panel > .panel-header > .section-actions > :is(a,button) { width:100%; min-width:0; margin:0; white-space:normal; align-self:stretch; }
.faithful-cockpit .document-panel > .panel-header > .section-actions > :is(a,[data-action="new-student-invoice"],[data-action="commercial-test"]) { grid-column:1 / -1; }
.faithful-cockpit .document-panel .layout-choice { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:100%; margin:0; }
.faithful-cockpit .document-panel .layout-choice > button { width:100%; margin:0; }
.faithful-cockpit .document-panel .section-fold-controls > button { width:100%; margin:0; }
@media(min-width:851px) {
 .faithful-cockpit .panel:has(#finance-month) > .filters { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
 .faithful-cockpit .panel:has(#finance-month) > .filters > button { grid-column:auto; min-height:46px; }
 .faithful-cockpit .panel:has(#finance-month) > .item-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .faithful-cockpit .panel:has(#finance-month) > .item-actions > button:last-child { grid-column:auto; }
 .faithful-cockpit .document-panel > .panel-header > .section-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .faithful-cockpit .document-panel > .panel-header > .section-actions > :is(a,[data-action="new-student-invoice"]) { grid-column:auto; }
}
@media(min-width:851px) {
 .faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-body,
 .faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-end { flex-basis:100%; width:100%; }
 .faithful-cockpit .document-list.evolution-list-mode > .evolution-dense-row > .row-end { align-items:flex-start; }
 .faithful-cockpit .document-list .document-row-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:8px; }
}

/* iOS month inputs must not impose their native intrinsic size on the filter grid. */
.faithful-cockpit .panel:has(#finance-month) > .filters input#finance-month {
 appearance:none; -webkit-appearance:none; display:block; box-sizing:border-box;
 width:100%; max-width:100%; min-width:0; height:46px; min-height:0; max-height:46px;
 padding:0 9px; line-height:44px; overflow:hidden;
}
.faithful-cockpit #finance-month::-webkit-date-and-time-value { min-height:0; line-height:44px; padding:0; }

/* Finance: keep short actions whole in both list and block presentations. */
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) { table-layout:auto; width:100%; min-width:860px; }
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) :is(th,td) { width:auto; max-width:none; padding:10px 12px; font-size:.875rem; line-height:1.5; overflow:visible; text-overflow:clip; overflow-wrap:normal; word-break:normal; }
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) th { min-width:0; white-space:nowrap; }
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) td:is(:nth-child(2),:nth-child(4),:nth-child(5),:nth-child(7)) { white-space:nowrap; }
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) td:nth-child(3) { min-width:13rem; white-space:normal; }
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) td>.button { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-width:0; max-width:24rem; min-height:44px; padding:8px 12px; font-size:.875rem; line-height:1.5; white-space:nowrap; overflow:visible; text-overflow:clip; overflow-wrap:normal; word-break:normal; }
.faithful-cockpit .finance-entry-table:is(.evolution-list-mode,.evolution-block-mode) td>.button[data-action="open-booking"] { white-space:normal; text-align:left; overflow-wrap:break-word; }
.faithful-cockpit .table-wrap:has(>.finance-entry-table) { max-width:100%; overflow-x:auto; }
