.hmc-app, .hmc-modal, .hmc-tabs, .hmc-toast, .hmc-person-tooltip, .hmc-requirement-picker {
  --hc-bg:#f0f0f1; --hc-panel:#fff; --hc-inset:#f6f7f8; --hc-text:#1d2327; --hc-muted:#59626a; --hc-line:#c8cdd3; --hc-accent:#2271b1; --hc-on-accent:#fff; --hc-link:#155b92; --hc-danger:#b32d2e; --hc-good:#e9f4ee; --hc-warning:#fff6df; --hc-backdrop:rgba(25,30,35,.35);
  color:var(--hc-text); font:14px/1.5 Arial,Helvetica,sans-serif; color-scheme:light; box-sizing:border-box;
}
.hmc-app[data-theme="dark"], .hmc-modal[data-theme="dark"], .hmc-tabs[data-theme="dark"], .hmc-toast[data-theme="dark"], .hmc-person-tooltip[data-theme="dark"], .hmc-requirement-picker[data-theme="dark"] {
  --hc-bg:#0f1722; --hc-panel:#151f2d; --hc-inset:#1b2938; --hc-text:#edf3fb; --hc-muted:#b0bfce; --hc-line:#384b60; --hc-accent:#68d5b5; --hc-on-accent:#08251b; --hc-link:#8edbc5; --hc-danger:#ff9da8; --hc-good:#193b32; --hc-warning:#423923; --hc-backdrop:rgba(2,6,11,.76); color-scheme:dark;
}
.hmc-app *, .hmc-modal *, .hmc-print-root *, .hmc-person-tooltip *, .hmc-requirement-picker * { box-sizing:border-box; }
.hmc-app [hidden], .hmc-modal [hidden], .hmc-tabs [hidden] { display:none !important; }
.hmc-app { width:100%; min-width:0; max-width:none; background:var(--hc-bg); border-radius:10px; }
.hmc-app button, .hmc-modal button, .hmc-tabs button, .hmc-requirement-picker button { appearance:none; min-height:34px; margin:0; padding:6px 11px; background:var(--hc-inset); color:var(--hc-text); border:1px solid var(--hc-line); border-radius:6px; font:inherit; line-height:1.4; cursor:pointer; box-shadow:none; text-transform:none; letter-spacing:normal; }
.hmc-inline-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.hmc-modal .hmc-button { display:inline-flex; min-height:34px; align-items:center; padding:6px 11px; border:1px solid var(--hc-line); border-radius:6px; background:var(--hc-inset); color:var(--hc-text); text-decoration:none; }
.hmc-app button:hover, .hmc-modal button:hover, .hmc-tabs button:hover, .hmc-requirement-picker button:hover { border-color:var(--hc-accent); }
.hmc-app button:focus-visible, .hmc-modal button:focus-visible, .hmc-tabs button:focus-visible, .hmc-app [tabindex]:focus-visible, .hmc-requirement-picker button:focus-visible { outline:2px solid var(--hc-accent); outline-offset:2px; }
.hmc-app button:disabled, .hmc-modal button:disabled, .hmc-requirement-picker button:disabled { opacity:.55; cursor:wait; }
.hmc-app .hmc-primary, .hmc-modal .hmc-primary { background:var(--hc-accent); border-color:var(--hc-accent); color:var(--hc-on-accent); font-weight:700; }
.hmc-modal .hmc-danger { color:var(--hc-danger); }
.hmc-app input, .hmc-app select, .hmc-app textarea, .hmc-modal input, .hmc-modal select, .hmc-modal textarea { max-width:100%; min-width:0; margin:0; padding:8px 10px; border:1px solid var(--hc-line); border-radius:6px; font:inherit; color:var(--hc-text); background:var(--hc-inset); box-shadow:none; }
.hmc-app input::placeholder, .hmc-modal input::placeholder { color:var(--hc-muted); }
.hmc-app[data-hmc-app] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select),
.hmc-modal[data-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select) {
  color:var(--hc-text) !important; -webkit-text-fill-color:var(--hc-text) !important;
  background:var(--hc-inset) !important; caret-color:var(--hc-text) !important; opacity:1 !important;
}
.hmc-app[data-hmc-app] :is(input, textarea)::placeholder, .hmc-modal[data-theme] :is(input, textarea)::placeholder {
  color:var(--hc-muted) !important; -webkit-text-fill-color:var(--hc-muted) !important; opacity:1 !important;
}
.hmc-app .hmc-assignment[draggable="true"] { cursor:grab; }
.hmc-app.is-casting-drag .hmc-assignment[draggable="true"] { cursor:grabbing; }
.hmc-app input[type="checkbox"], .hmc-modal input[type="checkbox"] { width:17px; height:17px; padding:0; accent-color:var(--hc-accent); }
.hmc-app a, .hmc-modal a { color:var(--hc-link); text-decoration:underline; }
.hmc-app h2, .hmc-app h3, .hmc-modal h2 { margin:0; padding:0; font-family:inherit; font-weight:700; color:var(--hc-text); line-height:1.25; text-transform:none; }
.hmc-app h2 { font-size:24px; }.hmc-app h3 { font-size:17px; }
.hmc-app p, .hmc-modal p { color:var(--hc-text); margin:10px 0; }
.hmc-app small, .hmc-modal small { display:block; color:var(--hc-muted); font-size:12px; }
.hmc-tabs { display:flex; align-items:flex-start; flex-wrap:wrap; gap:5px; width:100%; margin:0; padding:10px; background:var(--hc-panel); border-bottom:1px solid var(--hc-line); }
.hmc-tabs button[aria-selected="true"] { color:var(--hc-on-accent); border-color:var(--hc-accent); background:var(--hc-accent); font-weight:700; }
.hmc-tabs .hmc-expand { margin-left:auto; }
.hmc-view { padding:18px; min-width:0; }.hmc-view-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:18px; }
.hmc-view-actions { display:flex; gap:7px; flex-wrap:wrap; }
.hmc-filters { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; margin:12px 0; }.hmc-filters > label { display:flex; align-items:flex-start; gap:5px; }
.hmc-field { display:flex !important; flex-direction:column; align-items:stretch !important; gap:5px; margin:0; color:var(--hc-text); font-size:13px; }.hmc-field > span { font-weight:700; }.hmc-field > input, .hmc-field > textarea, .hmc-field > select { width:100%; }
.hmc-project-filter { position:relative; min-width:190px; margin-top:24px; }.hmc-project-filter summary { padding:6px 10px; border:1px solid var(--hc-line); background:var(--hc-panel); border-radius:6px; cursor:pointer; }
.hmc-people-project-filter { margin-top:0; align-self:flex-start; }
.hmc-filter-popover { position:absolute; z-index:40; left:0; top:100%; width:max-content; min-width:230px; max-width:min(400px,85vw); max-height:340px; overflow:auto; padding:12px; border:1px solid var(--hc-line); border-radius:8px; background:var(--hc-panel); box-shadow:0 12px 25px rgba(0,0,0,.15); }
.hmc-filter-popover label { display:flex; align-items:flex-start; gap:8px; margin-top:9px; }
.hmc-filters > button { align-self:flex-end; }.hmc-filters > input[type="search"] { min-width:min(240px,100%); }
.hmc-block { min-width:0; margin-top:16px; padding:14px; border:1px solid var(--hc-line); border-radius:9px; background:var(--hc-panel); }
.hmc-role-list { display:flex; align-items:flex-start; gap:7px; flex-wrap:wrap; margin:13px 0; }
.hmc-event-list { display:grid; gap:8px; margin-top:14px; }.hmc-event-row { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; flex-wrap:wrap; padding:12px; background:var(--hc-inset); border:1px solid var(--hc-line); border-radius:7px; }.hmc-event-row > div { flex:1; min-width:180px; }
.hmc-people-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(175px,1fr)); gap:12px; width:100%; align-items:stretch; }
.hmc-person-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:0; overflow:hidden; border:1px solid var(--hc-line); border-radius:9px; background:var(--hc-panel); cursor:pointer; }.hmc-person-card:hover { border-color:var(--hc-accent); }
.hmc-person-card.is-archived { opacity:.65; }
.hmc-photo { position:relative; display:grid; place-items:center; width:100%; height:190px; overflow:hidden; background:var(--hc-inset); color:var(--hc-muted); isolation:isolate; }
.hmc-photo.is-dual { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hmc-photo-frame { position:relative; display:grid; place-items:center; width:100%; height:100%; min-width:0; overflow:hidden; isolation:isolate; }
.hmc-photo.is-dual .hmc-photo-frame + .hmc-photo-frame { border-left:1px solid var(--hc-line); }
.hmc-photo img.hmc-photo-blur { position:absolute; inset:-15%; width:130%; height:130%; max-width:none; object-fit:cover; filter:blur(18px); opacity:.36; z-index:-1; }
.hmc-photo img.hmc-photo-main { display:block; position:relative; width:100%; height:100%; min-height:0; max-height:100%; margin:0; padding:0; object-fit:contain; object-position:center; border:0; box-shadow:none; }
.hmc-photo.is-small { width:42px; height:48px; flex:0 0 42px; border-radius:5px; font-size:9px; }
.hmc-person-meta { display:flex; flex:1 1 auto; flex-direction:column; align-items:center; gap:4px; padding:12px 8px; text-align:center; overflow-wrap:anywhere; }
.hmc-person-meta strong { font-size:15px; color:var(--hc-text); }.hmc-person-meta a { font-size:12px; }.hmc-person-meta small { margin-top:4px; font-size:11px; }
.hmc-person-meta .hmc-person-roles { width:100%; margin-top:0; color:var(--hc-muted); font-size:11px; font-weight:400; line-height:1.3; }
.hmc-person-meta .hmc-person-dates { width:100%; margin-top:auto; padding-top:7px; color:var(--hc-muted); font-size:10px; line-height:1.35; }
.hmc-person-meta :is(.hmc-person-roles,.hmc-person-dates) a, .hmc-address-roles { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
.hmc-availability-question { position:absolute; z-index:4; top:5px; left:5px; display:grid; place-items:center; width:28px; height:28px; min-height:28px; padding:0; border:2px solid #fff; border-radius:999px; color:#151004 !important; background:#ffd96a; box-shadow:0 2px 8px rgba(0,0,0,.45); font-weight:900; text-decoration:none; }
.hmc-photo-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.hmc-contact-line { display:inline-flex; align-items:center; justify-content:center; gap:5px; max-width:100%; }
.hmc-whatsapp { display:inline-grid; flex:0 0 24px; place-items:center; width:24px; height:24px; min-height:24px; padding:0 !important; border:1px solid var(--hc-line); border-radius:999px; color:var(--hc-link); background:var(--hc-inset); text-decoration:none !important; font-size:13px !important; line-height:1; }
.hmc-whatsapp:hover { border-color:var(--hc-accent); }
.hmc-public-ensemble { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:12px; width:100%; }
.hmc-public-person { min-width:0; margin:0; overflow:hidden; border:1px solid currentColor; border-radius:8px; background:transparent; text-align:center; }
.hmc-public-photos { display:grid; place-items:center; width:100%; height:180px; overflow:hidden; background:rgba(127,127,127,.12); }
.hmc-public-photos.is-dual { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hmc-public-photos img { display:block; width:100%; height:100%; margin:0; object-fit:contain; object-position:center; }
.hmc-public-person figcaption { padding:7px; font-weight:700; overflow-wrap:anywhere; }
.hmc-view-switch { display:inline-flex; align-items:flex-start; gap:4px; }
.hmc-view-switch button[aria-pressed="true"] { color:var(--hc-on-accent); background:var(--hc-accent); border-color:var(--hc-accent); font-weight:700; }
.hmc-address-scroll { width:100%; max-width:100%; overflow:auto; border:1px solid var(--hc-line); border-radius:8px; background:var(--hc-panel); }
.hmc-fill-scroll { min-height:190px; overscroll-behavior:contain; }
.hmc-address-table { width:100%; min-width:720px; margin:0; border:0; border-collapse:collapse; table-layout:auto; color:var(--hc-text); background:var(--hc-panel); }
.hmc-address-table th, .hmc-address-table td { padding:6px 8px; vertical-align:middle; border:0; border-bottom:1px solid var(--hc-line); color:var(--hc-text); background:transparent; text-align:left; }
.hmc-address-table thead th { position:sticky; z-index:2; top:0; background:var(--hc-inset); font-size:11px; text-transform:uppercase; }
.hmc-address-table tbody tr { cursor:pointer; }.hmc-address-table tbody tr:hover { background:var(--hc-inset); }
.hmc-address-table tbody tr:last-child > * { border-bottom:0; }
.hmc-address-table .hmc-address-photo { width:54px; padding:4px 6px; }
.hmc-address-name { display:block; }.hmc-address-roles { display:block; margin-top:2px; color:var(--hc-muted); font-size:11px; font-weight:400; line-height:1.3; }
@media (max-width:600px) { .hmc-photo-fields { grid-template-columns:1fr; } }
.hmc-address-table .hmc-photo.is-small { width:34px; height:40px; }
.hmc-address-table select { min-width:135px; padding:5px 7px; }
.hmc-accounting-filters .hmc-field { min-width:170px; }
.hmc-accounting-total { align-self:flex-end; min-height:34px; padding:6px 10px; border:1px solid var(--hc-line); border-radius:6px; background:var(--hc-inset); white-space:nowrap; }
.hmc-accounting-table { min-width:900px; }
.hmc-accounting-table td:nth-child(4) { min-width:260px; white-space:pre-wrap; }
.hmc-accounting-table .hmc-accounting-amount { text-align:right; white-space:nowrap; font-weight:700; }
.hmc-accounting-list-receipts { display:flex; align-items:flex-start; gap:4px; min-width:70px; }
.hmc-accounting-list-receipts a { display:block; width:38px; height:38px; overflow:hidden; border:1px solid var(--hc-line); border-radius:4px; background:var(--hc-inset); }
.hmc-accounting-list-receipts img { display:block; width:100%; height:100%; margin:0; object-fit:contain; }
.hmc-accounting-list-receipts > span { align-self:center; color:var(--hc-muted); font-size:11px; }
.hmc-accounting-existing { display:grid; gap:8px; min-width:0; }
.hmc-accounting-receipts, .hmc-accounting-pending { display:flex; align-items:flex-start; gap:7px; max-width:100%; overflow-x:auto; padding:2px 0; }
.hmc-accounting-receipts figure, .hmc-accounting-pending figure { flex:0 0 112px; width:112px; margin:0; }
.hmc-accounting-receipts img, .hmc-accounting-pending img { display:block; width:112px; height:88px; margin:0; border:1px solid var(--hc-line); border-radius:5px; background:var(--hc-inset); object-fit:contain; }
.hmc-accounting-receipts figcaption { display:flex; align-items:flex-start; gap:4px; margin-top:3px; font-size:10px; }
.hmc-accounting-receipts figcaption span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmc-accounting-receipts figcaption button { flex:0 0 24px; width:24px; height:24px; min-height:24px; padding:0; }
.hmc-accounting-pending figcaption { margin-top:3px; color:var(--hc-muted); font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmc-person-tooltip { position:fixed; z-index:2147483620; width:290px; max-width:calc(100vw - 12px); max-height:calc(100dvh - 12px); overflow:auto; overscroll-behavior:contain; border:1px solid var(--hc-line); border-radius:9px; background:var(--hc-panel); box-shadow:0 12px 35px rgba(0,0,0,.35); }
.hmc-person-tooltip .hmc-photo { height:145px; }.hmc-person-tooltip a { color:var(--hc-link); text-decoration:underline; }.hmc-person-tooltip small { color:var(--hc-muted); }
.hmc-person-tooltip .hmc-person-location { width:100%; margin-top:3px; text-align:left; }
.hmc-person-tooltip .hmc-preview-close { position:absolute; right:5px; top:5px; z-index:2; display:grid; place-items:center; width:30px; height:30px; min-height:30px; margin:0; padding:0; border:1px solid var(--hc-line); border-radius:5px; color:var(--hc-text); background:var(--hc-panel); font:22px/1 Arial,Helvetica,sans-serif; cursor:pointer; }
.hmc-person-tooltip :focus-visible { outline:2px solid var(--hc-accent); outline-offset:2px; }.hmc-person-note { width:100%; margin-top:8px; padding-top:8px; border-top:1px solid var(--hc-line); text-align:left; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; }.hmc-person-note strong { font-size:12px; }
.hmc-person-card.is-dragging::after, .hmc-person-card.is-uploading::after { content:"Foto hier ablegen"; position:absolute; inset:0; display:grid; place-items:center; color:var(--hc-on-accent); background:var(--hc-accent); z-index:4; font-weight:700; pointer-events:none; }.hmc-person-card.is-uploading::after { content:"Foto wird gespeichert …"; }
.hmc-hint { color:var(--hc-muted) !important; font-size:12px; }.hmc-warning { padding:10px; background:var(--hc-warning); border-radius:6px; }.hmc-badge { color:var(--hc-link); font-size:12px; }
.hmc-profile-prompt { margin:0 0 12px; padding:10px; border:1px solid var(--hc-line); border-radius:7px; background:var(--hc-warning); }
.hmc-magic-request { margin-top:15px; padding-top:14px; border-top:1px solid var(--hc-line); }
.hmc-magic-request .hmc-field { margin-bottom:8px; }
.hmc-permission-grid { display:grid; grid-template-columns:minmax(150px,1fr) minmax(190px,1fr); gap:7px 10px; align-items:center; }
.hmc-permission-grid > strong { min-width:0; overflow-wrap:anywhere; }
.hmc-permission-grid select { width:100%; }
.hmc-access-role-list { display:grid; gap:8px; margin-top:12px; }
.hmc-access-role-card { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:10px; border:1px solid var(--hc-line); border-radius:7px; background:var(--hc-inset); }
.hmc-access-role-card.is-archived { opacity:.6; }
.hmc-material-toolbar > input[type="search"] { flex:1 1 280px; }
.hmc-material-toolbar > select { flex:0 1 190px; min-width:150px; }
.hmc-material-toolbar > .hmc-check-row { align-self:center; }
.hmc-material-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; width:100%; align-items:start; }
.hmc-material-card { min-width:0; overflow:hidden; border:1px solid var(--hc-line); border-radius:9px; background:var(--hc-panel); cursor:pointer; }
.hmc-material-card:hover { border-color:var(--hc-accent); box-shadow:0 6px 18px rgba(0,0,0,.12); }.hmc-material-card.is-inactive { opacity:.58; }
.hmc-material-image { display:grid; place-items:center; height:220px; padding:0; overflow:hidden; background:var(--hc-inset); }
.hmc-material-image img { display:block; width:100%; height:100%; margin:0; padding:0; border:0; object-fit:contain; object-position:center; box-shadow:none; }
.hmc-material-meta { display:grid; gap:4px; min-width:0; padding:10px; text-align:left; overflow-wrap:anywhere; }
.hmc-material-meta > strong { color:var(--hc-text); font-size:15px; }.hmc-material-meta > small { margin:0; }
.hmc-material-tags { display:flex; flex-wrap:wrap; align-items:flex-start; gap:4px; min-width:0; }
.hmc-material-tags span { display:inline-block; max-width:100%; padding:2px 6px; border:1px solid var(--hc-line); border-radius:999px; color:var(--hc-text); background:var(--hc-inset); font-size:11px; line-height:1.35; text-transform:lowercase; overflow-wrap:anywhere; }
.hmc-material-source-row { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:10px; }
.hmc-material-drop { position:relative; display:grid; place-items:center; gap:3px; min-height:100px; padding:14px; border:2px dashed var(--hc-line); border-radius:8px; background:var(--hc-inset); color:var(--hc-text); text-align:center; cursor:pointer; }
.hmc-material-drop:focus-visible { outline:3px solid color-mix(in srgb,var(--hc-accent) 45%,transparent); outline-offset:2px; border-color:var(--hc-accent); }
.hmc-file-input { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important; }
.hmc-material-drop.is-dragging, .hmc-material-drop.has-files { border-color:var(--hc-accent); background:var(--hc-good); }
.hmc-material-upload-preview { display:flex; align-items:flex-start; gap:7px; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.hmc-material-upload-preview figure { flex:0 0 95px; width:95px; margin:0; }
.hmc-material-upload-preview img { display:block; width:95px; height:95px; margin:0; border:1px solid var(--hc-line); border-radius:6px; object-fit:contain; background:var(--hc-inset); }
.hmc-material-upload-preview figcaption { margin-top:3px; color:var(--hc-muted); font-size:9px; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmc-material-owner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:10px; padding:10px; border:1px solid var(--hc-line); border-radius:8px; background:var(--hc-inset); }
.hmc-material-loan { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:10px; padding:10px; border:1px solid var(--hc-line); border-radius:8px; background:var(--hc-inset); }
.hmc-material-class-picker { min-width:0; margin:0; padding:9px 10px 10px; border:1px solid var(--hc-line); border-radius:8px; }
.hmc-material-class-picker legend { padding:0 5px; color:var(--hc-muted); font-size:12px; font-weight:700; }
.hmc-material-class-radios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.hmc-material-class-radios label { display:flex; align-items:center; min-width:0; gap:6px; padding:7px 8px; border:1px solid var(--hc-line); border-radius:7px; background:var(--hc-panel); color:var(--hc-text); cursor:pointer; }
.hmc-material-class-radios label:has(input:checked) { border-color:var(--hc-accent); box-shadow:inset 0 0 0 1px var(--hc-accent); }
.hmc-material-class-radios input { flex:0 0 auto; margin:0; }.hmc-material-class-radios span { min-width:0; overflow-wrap:anywhere; }
.hmc-autocomplete { position:relative; min-width:0; }
.hmc-autocomplete > input { width:100%; }
.hmc-autocomplete-menu { position:absolute; z-index:1000002; top:calc(100% + 3px); right:0; left:0; display:grid; max-height:190px; overflow:auto; padding:4px; border:1px solid var(--hc-line); border-radius:7px; background:var(--hc-panel); box-shadow:0 12px 28px rgba(0,0,0,.3); }
.hmc-autocomplete-menu[hidden] { display:none; }
.hmc-autocomplete-menu button { width:100%; padding:7px 8px; border:0; border-radius:5px; background:transparent; color:var(--hc-text); text-align:left; }
.hmc-autocomplete-menu button:hover, .hmc-autocomplete-menu button.is-active { background:var(--hc-accent); color:var(--hc-accent-text,#08111d); }
.hmc-material-loan-status { margin:0 !important; color:var(--hc-text); text-align:center; }.hmc-material-card-loan { color:var(--hc-text); font-weight:700; }
.hmc-material-edit-preview { display:block; width:100%; min-height:220px !important; max-height:48vh; padding:0 !important; overflow:hidden; background:var(--hc-inset) !important; }
.hmc-material-edit-preview img, .hmc-material-large { display:block; width:100%; height:100%; max-height:65vh; margin:0; object-fit:contain; object-position:center; background:var(--hc-inset); }
.hmc-dialog--material-preview { width:min(900px,100%) !important; }.hmc-dialog--material-preview .hmc-dialog-content { display:grid; place-items:center; gap:10px; }
.hmc-material-caption { margin:0 !important; text-align:center; }.hmc-dialog--material-preview .hmc-material-tags { justify-content:center; }
.hmc-material-class-list { display:grid; gap:7px; }.hmc-material-class-list button { width:100%; text-align:left; }.hmc-material-class-list button.is-archived { opacity:.6; }
.hmc-idea-toolbar > input[type="search"] { flex:1 1 280px; }
.hmc-idea-filter-radios { display:flex; flex:1 1 320px; align-items:flex-start; flex-wrap:wrap; gap:5px; }
.hmc-idea-filter-radios label { position:relative; display:block; min-width:0; cursor:pointer; }
.hmc-idea-filter-radios input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.hmc-idea-filter-radios span { display:block; padding:7px 10px; border:1px solid var(--hc-line); border-radius:999px; background:var(--hc-inset); color:var(--hc-text); font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.hmc-idea-filter-radios input:checked + span { color:var(--hc-on-accent); background:var(--hc-accent); border-color:var(--hc-accent); font-weight:700; }
.hmc-idea-filter-radios input:focus-visible + span { outline:2px solid var(--hc-accent); outline-offset:2px; }
.hmc-idea-category-picker { min-width:0; margin:0; padding:9px 10px 10px; border:1px solid var(--hc-line); border-radius:8px; }
.hmc-idea-category-picker legend { padding:0 5px; color:var(--hc-muted); font-size:12px; font-weight:700; }
.hmc-idea-category-radios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.hmc-idea-category-radios label { display:flex; align-items:flex-start; min-width:0; gap:6px; padding:7px 8px; border:1px solid var(--hc-line); border-radius:7px; background:var(--hc-inset); color:var(--hc-text); cursor:pointer; }
.hmc-idea-category-radios label:has(input:checked) { border-color:var(--hc-accent); box-shadow:inset 0 0 0 1px var(--hc-accent); }
.hmc-idea-category-radios input { flex:0 0 auto; width:17px; height:17px; margin:0; accent-color:var(--hc-accent); }
.hmc-idea-category-radios span { min-width:0; overflow-wrap:anywhere; }
.hmc-idea-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); align-items:start; gap:12px; width:100%; }
.hmc-idea-card { display:flex; flex-direction:column; min-width:0; min-height:215px; overflow:hidden; border:1px solid var(--hc-line); border-radius:9px; background:var(--hc-panel); cursor:pointer; }
.hmc-idea-card:hover { border-color:var(--hc-accent); box-shadow:0 6px 18px rgba(0,0,0,.12); }
.hmc-idea-card > header { display:flex; align-items:flex-start; gap:6px; padding:10px 10px 0; }
.hmc-idea-rank { flex:0 0 auto; color:var(--hc-accent); font-size:17px; font-weight:800; }
.hmc-idea-category { display:inline-block; min-width:0; max-width:100%; padding:3px 7px; border:1px solid var(--hc-line); border-radius:999px; color:var(--hc-muted); background:var(--hc-inset); font-size:11px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmc-app .hmc-idea-vote, .hmc-modal .hmc-idea-vote { flex:0 0 auto; min-width:58px; margin-left:auto; padding:4px 8px; }
.hmc-app .hmc-idea-vote.is-supported, .hmc-modal .hmc-idea-vote.is-supported { color:var(--hc-on-accent); background:var(--hc-accent); border-color:var(--hc-accent); }
.hmc-app .hmc-idea-vote--readonly, .hmc-modal .hmc-idea-vote--readonly { display:inline-flex; align-items:center; justify-content:center; color:var(--hc-muted); border:1px solid var(--hc-line); border-radius:var(--hc-radius-sm); cursor:default; }
.hmc-idea-card > h3 { padding:8px 10px 0; overflow-wrap:anywhere; }
.hmc-idea-card-description { display:-webkit-box; min-height:3.9em; margin:7px 10px !important; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; white-space:pre-wrap; overflow-wrap:anywhere; }
.hmc-idea-card > footer { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-top:auto; padding:8px 10px; border-top:1px solid var(--hc-line); color:var(--hc-muted); font-size:11px; }
.hmc-idea-card > footer span, .hmc-idea-card > footer time { min-width:0; overflow-wrap:anywhere; }
.hmc-idea-card-photos, .hmc-idea-detail-photos, .hmc-idea-existing-photos, .hmc-idea-upload-preview { display:flex; align-items:flex-start; gap:6px; max-width:100%; padding:0 10px 9px; overflow-x:auto; overscroll-behavior-inline:contain; }
.hmc-idea-photo-button { display:block; flex:0 0 92px; width:92px; height:78px; min-height:78px !important; padding:0 !important; overflow:hidden; border:1px solid var(--hc-line) !important; border-radius:6px; background-color:var(--hc-inset) !important; background-position:center !important; background-repeat:no-repeat !important; background-size:contain !important; }
.hmc-idea-detail-photos { padding:0; }.hmc-idea-detail-photos .hmc-idea-photo-button { flex-basis:135px; width:135px; height:115px; }
.hmc-idea-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--hc-muted); font-size:12px; }
.hmc-idea-description-full { white-space:pre-wrap; overflow-wrap:anywhere; }
.hmc-idea-existing-field { display:grid !important; }.hmc-idea-existing-photos { padding:0; }
.hmc-idea-existing-photos figure { position:relative; flex:0 0 92px; width:92px; margin:0; }
.hmc-app .hmc-idea-photo-delete, .hmc-modal .hmc-idea-photo-delete { position:absolute; z-index:2; top:3px; right:3px; display:grid; place-items:center; width:26px; height:26px; min-height:26px; padding:0; border-radius:50%; color:#fff; background:#a9202a; border-color:#ff7d86; font:700 17px/1 Arial,sans-serif; }
.hmc-idea-photo-chooser { display:grid; gap:7px; min-width:0; }.hmc-idea-upload-preview { padding:0; }
.hmc-idea-upload-preview figure { flex:0 0 82px; width:82px; margin:0; }
.hmc-idea-upload-preview img { display:block; width:82px; height:70px; margin:0; border:1px solid var(--hc-line); border-radius:6px; object-fit:contain; background:var(--hc-inset); }
.hmc-idea-upload-preview figcaption { margin-top:3px; color:var(--hc-muted); font-size:9px; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmc-dialog--idea-gallery { width:min(980px,100%) !important; }.hmc-dialog--idea-gallery .hmc-dialog-content { display:grid; place-items:center; gap:7px; background:#05070a; }
.hmc-idea-gallery-stage { display:grid; grid-template-columns:auto minmax(0,1fr) auto; place-items:center; gap:8px; width:100%; min-height:0; }
.hmc-idea-large { display:block; width:100%; height:auto; max-height:72vh; margin:0; object-fit:contain; }
.hmc-modal .hmc-idea-gallery-nav { width:38px; min-width:38px; height:52px; padding:0; font:32px/1 Arial,sans-serif; }
.hmc-idea-gallery-count { color:#fff !important; }
.hmc-empty { padding:24px; border:1px dashed var(--hc-line); border-radius:8px; color:var(--hc-muted) !important; background:var(--hc-panel); text-align:center; }
.hmc-matrix-layout { display:grid; grid-template-columns:minmax(180px,230px) minmax(0,1fr); gap:16px; align-items:start; }.hmc-matrix-layout:not(:has(.hmc-casting-pool)) { grid-template-columns:minmax(0,1fr); }
.hmc-casting-pool { position:sticky; top:15px; display:flex; flex-direction:column; max-height:calc(100dvh - 40px); padding:12px; border:1px solid var(--hc-line); border-radius:9px; background:var(--hc-panel); }.hmc-casting-pool h3 { margin-bottom:12px; }.hmc-casting-pool input { width:100%; margin:10px 0; }
.hmc-casting-pool-list { flex:1 1 auto; min-height:0; height:45vh; max-height:60vh; overflow-y:auto; overflow-x:hidden; margin-top:12px; }.hmc-drag-person { display:flex; align-items:flex-start; gap:9px; min-width:0; padding:7px; border:1px solid var(--hc-line); border-radius:6px; background:var(--hc-inset); cursor:grab; }.hmc-drag-person > div:last-child { min-width:0; overflow-wrap:anywhere; }.hmc-drag-person[draggable="false"] { cursor:default; }.hmc-drag-person strong { display:block; font-size:13px; }.hmc-drag-person small { font-size:11px; }.hmc-availability-available { color:var(--hc-link) !important; }.hmc-availability-unavailable { color:var(--hc-danger) !important; }
.hmc-pool-group { display:grid; gap:7px; }.hmc-pool-group h4 { margin:0; padding:2px 0; font:700 11px/1.4 Arial,Helvetica,sans-serif; color:var(--hc-muted); text-transform:none; }.hmc-pool-divider { border:0; border-top:1px solid var(--hc-line); margin:12px 0; }.hmc-pool-options { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:flex-start; gap:8px 12px; margin-top:12px; padding-top:10px; border-top:1px solid var(--hc-line); font-size:11px; }.hmc-pool-options label { display:flex; align-items:flex-start; gap:5px; cursor:pointer; }.hmc-casting-pool .hmc-pool-options input { flex:0 0 17px; width:17px; height:17px; margin:0; }
.hmc-matrix-tables { min-width:0; }.hmc-matrix-scroll { width:100%; min-width:0; max-width:100%; max-height:70vh; overflow:auto; margin-top:12px; }
.hmc-matrix-toolbar { gap:6px; margin:6px 0 8px; padding-bottom:7px; border-bottom:1px solid var(--hc-line); }
.hmc-matrix-toolbar .hmc-project-filter { min-width:140px; margin-top:0; font-size:12px; }.hmc-matrix-toolbar .hmc-project-filter summary { min-height:29px; padding:4px 7px; }
.hmc-matrix-toolbar .hmc-field { flex-direction:row; align-items:flex-start !important; gap:4px; font-size:12px; }.hmc-matrix-toolbar .hmc-field > span { padding-top:5px; white-space:nowrap; }
.hmc-matrix-toolbar .hmc-field > input { width:125px; }.hmc-matrix-toolbar .hmc-field > select { width:170px; }
.hmc-app .hmc-matrix-toolbar input, .hmc-app .hmc-matrix-toolbar select, .hmc-app .hmc-matrix-toolbar button { min-height:29px; padding:4px 7px; font-size:12px; }.hmc-matrix-toolbar > button { align-self:flex-start; white-space:nowrap; }
.hmc-matrix { table-layout:auto; width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; margin:0; color:var(--hc-text); background:var(--hc-bg); font-size:13px; }
.hmc-matrix thead { position:sticky; top:0; z-index:4; background:var(--hc-bg); }
.hmc-matrix th, .hmc-matrix td { min-width:180px; max-width:280px; padding:6px 7px; border:0; border-right:1px solid var(--hc-line); border-bottom:1px solid var(--hc-line); vertical-align:top; text-align:left; overflow-wrap:anywhere; background:var(--hc-panel); }
.hmc-matrix thead th { position:sticky; top:0; z-index:3; background:var(--hc-inset); border-top:1px solid var(--hc-line); }.hmc-matrix th:first-child { position:sticky; left:0; z-index:2; min-width:155px; max-width:220px; border-left:1px solid var(--hc-line); background:var(--hc-inset); }.hmc-matrix thead th:first-child { z-index:5; }.hmc-matrix thead th span { display:block; margin-top:5px; }.hmc-matrix th.is-selected { box-shadow:inset 0 -3px 0 var(--hc-accent); }
.hmc-app .hmc-assignment { display:block; width:100%; margin:3px 0; padding:3px 6px; min-height:25px; text-align:left; font-size:12px; }.hmc-app .hmc-assignment.is-reserve { border-style:dashed; font-style:italic; }.hmc-cell-count { color:var(--hc-muted); font-size:11px; }
.hmc-app .hmc-matrix .hmc-role-entry { display:block; width:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; text-align:left; line-height:inherit; color:inherit; }
.hmc-app .hmc-matrix .hmc-role-entry:hover { text-decoration:underline; }
.hmc-app .hmc-matrix .hmc-role-entry.is-reserve { border:0; font-style:italic; }
.hmc-app .hmc-matrix .hmc-person-name { display:inline-block; width:auto; max-width:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; text-align:left; line-height:inherit; color:inherit; overflow-wrap:anywhere; }
.hmc-app .hmc-matrix .hmc-person-name:hover { text-decoration:underline; }
.hmc-role-title-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:4px; width:100%; min-width:0; }
.hmc-matrix .hmc-role-title-row .hmc-role-entry { min-width:0; }
.hmc-matrix .hmc-role-scene { margin-top:1px; line-height:1.15; }
.hmc-cell-layout { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px; }
.hmc-cell-content { min-width:0; overflow-wrap:anywhere; }
.hmc-cell-content:only-child { grid-column:1 / -1; }
.hmc-cell-content > .hmc-assignment:first-child { margin-top:0; }
.hmc-cell-content > .hmc-assignment:last-child { margin-bottom:0; }
.hmc-cell-actions { display:flex; justify-content:flex-end; align-items:flex-start; gap:6px; margin:0; }
.hmc-app .hmc-cell-add, .hmc-app .hmc-copy-cell, .hmc-app .hmc-cell-requirement { display:block; min-height:25px; margin:0; padding:2px 6px; }
.hmc-app .hmc-copy-cell { font-size:16px; line-height:1.2; }
.hmc-app .hmc-cell-requirement { font-size:10px; line-height:1.2; }.hmc-app .hmc-cell-requirement.is-override { color:var(--hc-on-accent); border-color:var(--hc-accent); background:var(--hc-accent); font-weight:700; }
.hmc-requirement-picker { position:fixed; z-index:2147483630; width:max-content; max-width:calc(100vw - 12px); padding:6px; color:var(--hc-text); background:var(--hc-panel); border:1px solid var(--hc-accent); border-radius:8px; box-shadow:0 10px 28px rgba(0,0,0,.34); }
.hmc-requirement-picker > strong { display:block; margin:0 0 4px; font-size:11px; line-height:1.2; }
.hmc-requirement-choices { display:grid; grid-template-columns:repeat(11,28px); gap:3px; }
.hmc-requirement-picker .hmc-requirement-choices button { display:grid; place-items:center; width:28px; min-width:28px; min-height:28px; padding:0; font-size:12px; line-height:1; }
.hmc-requirement-picker .hmc-requirement-choices button.is-current { color:var(--hc-on-accent); background:var(--hc-accent); border-color:var(--hc-accent); font-weight:800; }
.hmc-matrix .is-understaffed { background:var(--hc-warning); }.hmc-matrix .is-complete, .hmc-matrix .is-overstaffed { background:var(--hc-good); }.hmc-matrix .is-overstaffed { box-shadow:inset 0 0 0 2px var(--hc-accent); }.hmc-cast-cell.is-dragging { outline:3px solid var(--hc-accent); outline-offset:-3px; }
.hmc-matrix tr.hmc-scene-end > th, .hmc-matrix tr.hmc-scene-end > td { border-bottom-width:3px; }
.hmc-app .hmc-role-order { position:relative; z-index:1; min-width:23px; min-height:23px; margin:0; padding:1px 4px; cursor:grab; font-size:15px; line-height:1; }
.hmc-app.is-role-order-drag .hmc-role-order { cursor:grabbing; }.hmc-matrix tr.hmc-role-order-target > * { border-top:3px solid var(--hc-accent); }.hmc-matrix tr.hmc-role-order-target.is-after > * { border-top-width:0; border-bottom:3px solid var(--hc-accent); }
.hmc-person-match { position:relative; z-index:2; color:#071b16 !important; background:color-mix(in srgb,var(--hc-accent) 76%,#fff) !important; border-color:var(--hc-accent) !important; outline:2px solid var(--hc-accent) !important; outline-offset:-2px; font-weight:800; animation:hmc-person-match-pulse .9s ease-in-out infinite; }
.hmc-person-match * { color:#071b16 !important; }
@keyframes hmc-person-match-pulse { 0%,100% { box-shadow:0 0 0 0 color-mix(in srgb,var(--hc-accent) 55%,transparent); } 50% { box-shadow:0 0 0 3px color-mix(in srgb,var(--hc-accent) 25%,transparent); } }
@media (prefers-reduced-motion:reduce) { .hmc-person-match { animation:none; } }
.hmc-matrix :is(th,td).hmc-focus-unavailable { filter:saturate(.2) brightness(.68); }.hmc-matrix :is(th,td).hmc-focus-unknown { filter:saturate(.65) brightness(.9); }
.hmc-matrix .is-pinned { outline:2px solid var(--hc-accent); outline-offset:-2px; }
.hmc-app .hmc-copy-column { float:right; min-width:30px; min-height:30px; margin:0 0 4px 5px; padding:2px 5px; font-size:19px; }
.hmc-front-page-control { display:grid; gap:8px; min-width:0; }
.hmc-front-page-control > p { margin:0 !important; }
.hmc-front-page-found { padding:8px 10px; color:var(--hc-text); background:var(--hc-inset); border:1px solid var(--hc-line); border-radius:6px; }
.hmc-settings-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; padding:12px; background:var(--hc-inset); border:1px solid var(--hc-line); border-radius:8px; }
.hmc-settings-intro p { margin:0; }
.hmc-settings-list { display:grid; gap:7px; }
.hmc-settings-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 12px; background:var(--hc-panel); border:1px solid var(--hc-line); border-radius:8px; }
.hmc-settings-row.is-archived { opacity:.68; }
.hmc-settings-row > div:first-child { display:grid; gap:2px; min-width:0; }
.hmc-settings-row-actions { display:flex; align-items:flex-start; gap:5px; }
.hmc-settings-row-actions button { min-width:34px; padding-inline:8px; }
.hmc-matrix--people tr.hmc-person-focus > th,
.hmc-matrix--people tr.hmc-person-focus > td { background:rgba(104,213,181,.15) !important; box-shadow:inset 0 2px 0 var(--hc-accent), inset 0 -2px 0 var(--hc-accent); }
.hmc-matrix--people tr.hmc-person-focus > th { box-shadow:inset 2px 0 0 var(--hc-accent), inset 0 2px 0 var(--hc-accent), inset 0 -2px 0 var(--hc-accent); }
.hmc-app table :is(th,td).hmc-grid-row-hover { background-image:linear-gradient(rgba(104,213,181,.07),rgba(104,213,181,.07)) !important; }
.hmc-app table :is(th,td).hmc-grid-column-hover { background-image:linear-gradient(rgba(104,213,181,.12),rgba(104,213,181,.12)) !important; }
.hmc-app table :is(th,td).hmc-grid-cell-hover { background-image:linear-gradient(rgba(104,213,181,.2),rgba(104,213,181,.2)) !important; outline:2px solid color-mix(in srgb,var(--hc-accent) 65%,transparent); outline-offset:-2px; }
.hmc-view:has(.hmc-availability-apply) { padding-bottom:90px; }
.hmc-app .hmc-availability-apply { position:fixed; right:18px; bottom:18px; z-index:80; max-width:calc(100vw - 36px); min-height:44px; box-shadow:0 6px 22px rgba(0,0,0,.25); }
.hmc-view--availability .hmc-view-header { margin-bottom:6px; }
.hmc-view--availability .hmc-view-header h2 { font-size:21px; }
.hmc-availability-toolbar { gap:6px; margin:6px 0; }
.hmc-availability-toolbar .hmc-project-filter { min-width:140px; margin-top:0; font-size:12px; }
.hmc-availability-toolbar .hmc-project-filter summary { padding:4px 7px; min-height:29px; }
.hmc-availability-toolbar .hmc-field { flex-direction:row; align-items:flex-start !important; gap:4px; font-size:12px; }
.hmc-availability-toolbar .hmc-field > span { padding-top:5px; white-space:nowrap; }
.hmc-availability-toolbar .hmc-field > input { width:125px; }
.hmc-availability-toolbar .hmc-field > select { width:115px; }
.hmc-availability-toolbar > input[type="search"] { width:155px; min-width:110px; flex:1 1 130px; }
.hmc-app .hmc-availability-toolbar input, .hmc-app .hmc-availability-toolbar select, .hmc-app .hmc-availability-toolbar button, .hmc-app .hmc-availability-batch button { min-height:29px; padding:4px 7px; font-size:12px; }
.hmc-availability-toolbar > button { align-self:flex-start; white-space:nowrap; }
.hmc-availability-batch { display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px 10px; margin:5px 0; }
.hmc-availability-status-filters { display:flex; flex-wrap:wrap; align-items:flex-start; gap:4px; }
.hmc-app .hmc-status-filter[aria-pressed="true"] { background:var(--hc-accent); color:var(--hc-on-accent); border-color:var(--hc-accent); font-weight:700; }
.hmc-availability-filter-note { padding:5px 0; font-size:11px !important; }
.hmc-app.is-casting-drag .hmc-role-drop { outline:1px dashed var(--hc-accent); outline-offset:-2px; }
.hmc-app.is-casting-drag .hmc-role-drop.is-dragging { outline:3px solid var(--hc-accent); outline-offset:-3px; background:var(--hc-good); }
.hmc-availability-batch .hmc-selection-count { padding:5px 0; align-self:flex-start; font-size:11px; }
.hmc-availability-legend { padding:5px 0; white-space:nowrap; }
.hmc-batch-status { display:flex; align-items:flex-start; gap:6px; font-size:12px; }
.hmc-batch-status > span { padding-top:4px; }
.hmc-view--availability .hmc-matrix-scroll { margin-top:6px; }
.hmc-matrix.hmc-availability-matrix th, .hmc-matrix.hmc-availability-matrix td { min-width:158px; max-width:205px; padding:2px 4px; font-size:11px; }
.hmc-availability-heading { display:flex; align-items:flex-start; gap:6px; cursor:pointer; }
.hmc-availability-heading > input[type="checkbox"] { flex:0 0 17px; margin:0; }
.hmc-matrix.hmc-availability-matrix .hmc-availability-heading > span { min-width:0; margin:0; }
.hmc-availability-heading small { font-size:10px; line-height:1.3; margin-top:2px; }
.hmc-availability-matrix .is-marked { background:var(--hc-good); outline:2px solid var(--hc-accent); outline-offset:-2px; }
.hmc-availability-cell { display:grid; grid-template-columns:17px auto minmax(0,1fr); align-items:center; gap:4px; min-width:0; }
.hmc-availability-cell > input[type="checkbox"] { width:15px; height:15px; margin:0; }
.hmc-app .hmc-availability-person { display:flex; align-items:center; gap:5px; width:100%; min-width:0; min-height:28px; padding:1px 3px !important; border-color:transparent !important; background:transparent !important; text-align:left; }
.hmc-availability-person:hover { background:var(--hc-inset) !important; border-color:var(--hc-line) !important; }
.hmc-availability-person .hmc-photo.is-small { width:24px; height:27px; flex-basis:24px; border-radius:3px; }
.hmc-availability-person > span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmc-row-check { flex:0 0 15px; width:15px !important; height:15px !important; margin:6px 1px 0 0 !important; }
.hmc-availability-readonly { display:inline-flex; align-items:center; min-height:25px; padding:2px 6px; color:var(--hc-muted); font-weight:700; }
.hmc-availability-control { display:flex; flex:0 0 auto; align-items:flex-start; gap:3px; }
.hmc-event-row > .hmc-availability-control { flex:0 0 auto; min-width:0; }
.hmc-status-choice { position:relative; display:block; margin:0; cursor:pointer; }
.hmc-app .hmc-status-choice input[type="radio"] { position:absolute; width:1px; height:1px; padding:0; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hmc-status-choice > span { display:grid; place-items:center; width:23px; height:22px; border:1px solid var(--hc-line); border-radius:4px; background:var(--hc-inset); color:var(--hc-muted); font:15px/1 Arial,Helvetica,sans-serif; }
.hmc-status-choice:hover > span { border-color:var(--hc-accent); color:var(--hc-text); }
.hmc-status-choice input:checked + span { background:var(--hc-accent); color:var(--hc-on-accent); border-color:currentColor; box-shadow:inset 0 0 0 1px currentColor; font-weight:700; }
.hmc-status-choice[data-status="unavailable"] input:checked + span { background:var(--hc-danger); color:var(--hc-bg); }
.hmc-status-choice[data-status="unknown"] input:checked + span { background:var(--hc-warning); color:var(--hc-text); }
.hmc-status-choice input:focus-visible + span { outline:2px solid var(--hc-accent); outline-offset:2px; }
.hmc-status-choice input:disabled + span { opacity:.55; cursor:wait; }
.hmc-app .hmc-availability-meta { display:flex; min-width:0; justify-content:flex-end; align-items:center; flex-wrap:nowrap; gap:0; overflow:hidden; white-space:nowrap; font-size:9px; line-height:1.2; text-align:right; }
.hmc-availability-meta > span { overflow:hidden; text-overflow:ellipsis; }
.hmc-availability-meta > span:last-child { flex-shrink:0; font-size:inherit; }
.hmc-selection-count { align-self:flex-end; padding:8px 0; font-size:12px; }
.hmc-invitation-choices { max-height:220px; overflow:auto; border:1px solid var(--hc-line); border-radius:6px; padding:8px; background:var(--hc-inset); }
.hmc-invitation-choices label { display:flex; align-items:flex-start; gap:8px; padding:7px 2px; border-bottom:1px solid var(--hc-line); }
.hmc-invitation-choices label:last-child { border-bottom:0; }
.hmc-invitation-choices input { flex:0 0 17px; }
.hmc-invitation-choices span { min-width:0; overflow-wrap:anywhere; }
.hmc-invitation-results { max-height:240px; overflow:auto; overflow-wrap:anywhere; }
.hmc-modal { position:fixed; inset:0; z-index:2147483600; display:flex; justify-content:center; align-items:flex-start; padding:25px 12px; background:var(--hc-backdrop); backdrop-filter:blur(4px); overflow:auto; }
.hmc-modal .hmc-dialog { display:flex; flex-direction:column; width:min(660px,100%); min-height:0; max-height:calc(100vh - 50px); max-height:calc(100dvh - 50px); overflow:hidden; border-radius:12px; border:1px solid var(--hc-line); background:var(--hc-panel); box-shadow:0 25px 70px rgba(0,0,0,.3); }
.hmc-dialog > header { position:relative; flex:0 0 auto; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:15px 18px; background:var(--hc-panel); border-bottom:1px solid var(--hc-line); }.hmc-dialog h2 { font-size:21px; }.hmc-modal .hmc-close { min-width:34px; padding:3px; font-size:22px; }
.hmc-dialog > .hmc-dialog-content { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px 18px; }
.hmc-dialog > footer { position:relative !important; inset:auto !important; flex:0 0 auto; display:flex; justify-content:flex-end; align-items:flex-start; flex-wrap:wrap; gap:8px; margin:0; padding:13px 18px; border-top:1px solid var(--hc-line); background:var(--hc-panel); }
.hmc-modal .hmc-save { position:static !important; inset:auto !important; order:1; margin:0 0 0 auto !important; max-width:100%; min-height:44px; box-shadow:none; }
.hmc-status { flex:1 0 100%; margin:0 !important; font-size:12px; color:var(--hc-muted) !important; overflow-wrap:anywhere; }.hmc-status:empty { display:none; }.hmc-status.is-error { color:var(--hc-danger) !important; }
.hmc-form { display:grid; gap:14px; margin-top:15px; }.hmc-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }.hmc-person-preview { max-width:100%; margin:0; border:1px dashed var(--hc-line); border-radius:8px; overflow:hidden; }.hmc-person-preview .hmc-photo { height:220px; }.hmc-person-preview small { padding:8px; }.hmc-person-preview.is-dragging, .hmc-form.is-dragging { outline:2px solid var(--hc-accent); }
.hmc-check-row { display:flex; align-items:flex-start; gap:7px; }
.hmc-toast { position:fixed; z-index:2147483640; bottom:18px; left:18px; max-width:min(420px,calc(100vw - 36px)); padding:12px 16px; background:var(--hc-good); border:1px solid var(--hc-line); border-radius:8px; box-shadow:0 8px 30px rgba(0,0,0,.2); }.hmc-toast.is-error { background:var(--hc-panel); color:var(--hc-danger); }
.hmc-access { display:grid; gap:15px; padding:24px; max-width:650px; }.hmc-history p { padding-bottom:10px; border-bottom:1px solid var(--hc-line); overflow-wrap:anywhere; }
.hmp-app.hmc-wide:not(.is-expanded) { width:calc(100vw - 32px); max-width:none; margin-inline-start:calc(50% - 50vw + 16px); }
.hmp-app.is-expanded .hmc-tabs { flex:0 0 auto; }
.hmp-app.is-expanded .hmc-app { flex:1 1 auto; min-height:0; max-height:none; overflow:auto; }
.hmc-app .hmc-role-scene, .hmc-modal .hmc-role-scene, .hmc-print-root .hmc-role-scene { display:block; margin:2px 0 0; font-size:.8em; line-height:1.3; font-weight:400; text-transform:none; overflow-wrap:anywhere; white-space:normal; }
.hmc-assignment-warning { cursor:help; color:var(--hc-danger); }
.hmc-conflict-info p { margin:4px 0 0; text-align:left; }
.hmc-cast-available-footer { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:flex-start; gap:10px; margin:12px 0 0; padding:10px 0; border-top:1px solid var(--hc-line); }
.hmc-cast-available-footer > small { flex:1 1 280px; max-width:650px; }
.hmc-app .hmc-cast-available { position:static; max-width:100%; margin-left:auto; white-space:normal; }
.hmc-print-root { position:absolute; left:-100000px; top:0; width:281mm; background:white; color:black; font:10pt/1.35 Arial,Helvetica,sans-serif; }
.hmc-print-root * { font-family:Arial,Helvetica,sans-serif !important; line-height:1.35 !important; letter-spacing:normal !important; text-transform:none !important; text-shadow:none !important; box-shadow:none !important; background-image:none !important; color:#000 !important; }
.hmc-print-page { position:relative; width:281mm; height:194mm; margin:0; padding:0 0 8mm; overflow:hidden; page-break-after:always; break-after:page; }.hmc-print-page:last-child { page-break-after:auto; break-after:auto; }
.hmc-print-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10mm; min-height:7mm; padding:0 0 1mm; margin-bottom:1mm; border-bottom:.2mm solid black; font-size:8.5pt; }.hmc-print-header > strong { max-width:62%; overflow-wrap:anywhere; }.hmc-print-header > span { text-align:right; white-space:nowrap; }
.hmc-print-footer { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:flex-end; justify-content:space-between; gap:8mm; min-height:6mm; padding:1mm 0 0; border-top:.2mm solid #000; font-size:7.5pt; }.hmc-print-footer > span { min-width:0; overflow-wrap:anywhere; }.hmc-print-footer > b { flex:0 0 auto; white-space:nowrap; }
.hmc-print-content table { table-layout:fixed; border-collapse:separate; border-spacing:0; width:100%; margin:0; border-top:.2mm solid black; border-left:.2mm solid black; }.hmc-print-content th, .hmc-print-content td { padding:1.4mm; vertical-align:top; text-align:left; border-right:.2mm solid black; border-bottom:.2mm solid black; overflow-wrap:anywhere; font-size:8.5pt; }.hmc-print-content td > div { margin-bottom:1mm; }
.hmc-print-content tr { break-inside:avoid; page-break-inside:avoid; }
.hmc-print-content table.hmc-print-people-list th:first-child, .hmc-print-content table.hmc-print-people-list td:first-child { width:22mm; }
.hmc-print-content table.hmc-print-people-list th:nth-child(3), .hmc-print-content table.hmc-print-people-list td:nth-child(3) { width:42mm; }
.hmc-print-list-photo { width:24mm; height:15mm; padding:.7mm !important; text-align:center !important; }.hmc-print-list-photo img { display:block; width:100%; height:13.5mm; margin:0; object-fit:contain; }.hmc-print-list-photo span { display:grid; place-items:center; min-height:13.5mm; font-size:7pt; }
.hmc-print-content tr.hmc-scene-end > th, .hmc-print-content tr.hmc-scene-end > td { border-bottom-width:.8mm; }
.hmc-print-photos { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); align-items:stretch; gap:2mm; height:170mm; margin:0; padding:0; }
.hmc-print-photos figure.hmc-print-person { position:relative; display:grid; grid-template-rows:38mm minmax(0,1fr); min-width:0; min-height:0; margin:0; padding:0; overflow:hidden; border:0; break-inside:avoid; page-break-inside:avoid; text-align:center; }
.hmc-print-photos figure.hmc-print-person::after { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; border:.3mm solid #000; }
.hmc-print-photos.has-contacts figure.hmc-print-person { grid-template-rows:38mm minmax(0,1fr); }
.hmc-print-person-photos, .hmc-print-placeholder { position:relative; z-index:0; display:grid; place-items:center; width:100%; max-width:100%; height:38mm; min-width:0; margin:0; padding:0; overflow:hidden; border-bottom:.2mm solid #000; }
.hmc-print-person-photos.is-dual { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hmc-print-person-photos img { display:block; width:100%; height:38mm; min-width:0; margin:0; object-fit:contain; object-position:center; }
.hmc-print-person-photos.is-dual img + img { border-left:.2mm solid #000; }
.hmc-print-list-photo .hmc-print-person-photos, .hmc-print-list-photo .hmc-print-person-photos img { height:13.5mm; }
.hmc-print-photos figcaption { display:flex; flex-direction:column; justify-content:flex-start; align-items:center; gap:.35mm; min-width:0; min-height:0; margin:0; padding:.7mm .7mm .45mm; overflow:hidden; overflow-wrap:anywhere; font-size:8.5pt; }
.hmc-print-photos figcaption strong { display:block; width:100%; font-size:8.5pt; line-height:1.15 !important; }
.hmc-print-contacts { display:flex; flex-direction:column; gap:.2mm; width:100%; font-size:7pt; line-height:1.12 !important; overflow-wrap:anywhere; }
.hmc-print-assignment-roles { display:block; margin-top:.5mm; font-size:7.2pt; font-weight:400; line-height:1.2 !important; }
@media(max-width:900px) {
  .hmp-app.hmc-wide:not(.is-expanded) { width:100%; max-width:100%; margin-inline-start:0; }
  .hmc-matrix-layout { grid-template-columns:minmax(0,1fr); gap:10px; }
  .hmc-casting-pool { position:static; max-height:none; padding:10px; }
  .hmc-casting-pool-list { height:190px; max-height:190px; margin-top:8px; }
  .hmc-pool-group { grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:6px; }
  .hmc-pool-group h4 { grid-column:1 / -1; }
  .hmc-people-grid { grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); }
  .hmc-photo { height:170px; }
  .hmc-view { padding:12px; }
  .hmc-view-header { gap:9px; margin-bottom:12px; }
  .hmc-block { margin-top:10px; padding:10px; }
  .hmc-matrix-scroll { max-height:68dvh; margin-top:8px; }
}
@media(min-width:1100px) { .hmc-availability-toolbar { flex-wrap:nowrap; } }
@media(max-width:640px) {
	.hmc-settings-intro, .hmc-settings-row { align-items:stretch; flex-direction:column; }
	.hmc-settings-row-actions { flex-wrap:wrap; }
  .hmc-app { border-radius:7px; }
  .hmc-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:4px; padding:6px; }
  .hmc-tabs button { min-width:0; min-height:34px; padding:5px 6px; overflow:hidden; font-size:11px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
  .hmc-tabs .hmc-expand { margin-left:0; }
  .hmc-view { padding:8px; }
  .hmc-view-header { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; margin-bottom:8px; }
  .hmc-view-header h2 { font-size:18px; overflow-wrap:anywhere; }
  .hmc-view-actions { gap:5px; }
  .hmc-view-actions > button { flex:1 1 auto; min-height:32px; padding:5px 8px; }
  .hmc-filters { gap:6px; margin:7px 0; }
  .hmc-filters > *, .hmc-filters > .hmc-field { flex:1 1 145px; min-width:0; }
  .hmc-filters > button { flex:0 1 auto; }
  .hmc-project-filter { min-width:0; margin-top:0; }
  .hmc-project-filter summary { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .hmc-filter-popover { position:fixed; z-index:2147483610; top:8px; right:8px; bottom:auto; left:8px; width:auto; min-width:0; max-width:none; max-height:calc(100dvh - 16px); padding:9px; }
  .hmc-block { margin-top:8px; padding:8px; border-radius:7px; }
  .hmc-role-list, .hmc-event-list { margin-top:8px; }
  .hmc-event-row { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; padding:8px; }
  .hmc-event-row > div { min-width:0; }
  .hmc-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .hmc-photo { height:150px; }
  .hmc-person-meta { gap:2px; padding:8px 5px; }
  .hmc-person-meta strong { font-size:13px; }
  .hmc-person-meta a { font-size:10px; }
  .hmc-material-toolbar > input[type="search"], .hmc-material-toolbar > select, .hmc-material-toolbar > button, .hmc-material-toolbar > .hmc-check-row { flex:1 1 145px; width:auto; min-width:0; }
  .hmc-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .hmc-material-image { height:155px; }
  .hmc-material-meta { gap:3px; padding:7px; }.hmc-material-meta > strong { font-size:13px; }.hmc-material-tags { gap:3px; }.hmc-material-tags span { padding:1px 4px; font-size:9px; }
  .hmc-material-source-row, .hmc-material-owner, .hmc-material-loan { grid-template-columns:minmax(0,1fr); gap:8px; }
  .hmc-material-drop { min-height:78px; padding:9px; }
  .hmc-material-upload-preview figure, .hmc-material-upload-preview img { width:78px; }.hmc-material-upload-preview figure { flex-basis:78px; }.hmc-material-upload-preview img { height:78px; }
  .hmc-material-edit-preview { min-height:170px !important; }
  .hmc-idea-toolbar > input[type="search"], .hmc-idea-toolbar > select, .hmc-idea-toolbar > button, .hmc-idea-toolbar > .hmc-idea-filter-radios { flex:1 1 145px; width:auto; min-width:0; }
  .hmc-idea-filter-radios { gap:4px; }
  .hmc-idea-filter-radios span { padding:6px 8px; font-size:10px; }
  .hmc-idea-grid { grid-template-columns:minmax(0,1fr); gap:7px; }
  .hmc-idea-card { min-height:0; }.hmc-idea-card-description { min-height:0; }
  .hmc-idea-category-radios { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
  .hmc-idea-category-radios label { gap:4px; padding:6px 5px; font-size:11px; }
  .hmc-idea-photo-button { flex-basis:78px; width:78px; height:66px; min-height:66px !important; }
  .hmc-idea-existing-photos figure { flex-basis:78px; width:78px; }
  .hmc-idea-detail-photos .hmc-idea-photo-button { flex-basis:105px; width:105px; height:90px; }
  .hmc-idea-gallery-stage { grid-template-columns:30px minmax(0,1fr) 30px; gap:3px; }
  .hmc-modal .hmc-idea-gallery-nav { width:30px; min-width:30px; height:44px; }
  .hmc-casting-pool { padding:7px; border-radius:7px; }
  .hmc-casting-pool h3 { margin-bottom:6px; }
  .hmc-casting-pool input { margin:6px 0; padding:6px 8px; }
  .hmc-casting-pool-list { height:158px; max-height:158px; margin-top:5px; }
  .hmc-pool-group { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
  .hmc-drag-person { gap:5px; padding:5px; }
  .hmc-photo.is-small { width:34px; height:39px; flex-basis:34px; }
  .hmc-pool-options { gap:5px 9px; margin-top:7px; padding-top:7px; }
  .hmc-matrix-scroll { max-height:65dvh; margin-top:5px; }
	.hmc-matrix-toolbar { gap:4px; margin:4px 0 6px; padding-bottom:5px; }
	.hmc-matrix-toolbar > *, .hmc-matrix-toolbar .hmc-project-filter { flex:1 1 130px; width:auto; min-width:0; }
	.hmc-matrix-toolbar .hmc-field { flex-direction:column; gap:2px; }.hmc-matrix-toolbar .hmc-field > span { padding-top:0; }.hmc-matrix-toolbar .hmc-field > input, .hmc-matrix-toolbar .hmc-field > select { width:100%; }
  .hmc-matrix th, .hmc-matrix td { min-width:150px; max-width:210px; padding:6px; font-size:12px; }
	.hmc-cell-actions { gap:3px; }
	.hmc-app .hmc-cell-add, .hmc-app .hmc-copy-cell, .hmc-app .hmc-cell-requirement { min-width:25px; padding:2px 4px; }
  .hmc-matrix th:first-child { min-width:122px; max-width:145px; }
  .hmc-app .hmc-assignment { margin:3px 0; padding:4px 5px; min-height:25px; font-size:11px; }
  .hmc-cell-layout { gap:4px; }
  .hmc-cell-actions { gap:3px; }
  .hmc-app .hmc-cell-add, .hmc-app .hmc-copy-cell { min-height:23px; padding:1px 6px; }
  .hmc-availability-toolbar { gap:4px; margin:4px 0; }
  .hmc-availability-toolbar > *, .hmc-availability-toolbar .hmc-project-filter, .hmc-availability-toolbar > input[type="search"] { flex:1 1 130px; width:auto; min-width:0; }
  .hmc-availability-toolbar .hmc-field { flex-direction:column; gap:2px; }
  .hmc-availability-toolbar .hmc-field > span { padding-top:0; }
  .hmc-availability-toolbar .hmc-field > input, .hmc-availability-toolbar .hmc-field > select { width:100%; }
  .hmc-availability-batch { gap:4px 6px; margin:4px 0; }
  .hmc-availability-status-filters { gap:3px; }
  .hmc-matrix.hmc-availability-matrix th, .hmc-matrix.hmc-availability-matrix td { min-width:142px; max-width:178px; padding:2px 3px; }
  .hmc-matrix.hmc-availability-matrix th:first-child { min-width:122px; max-width:140px; }
  .hmc-availability-cell { gap:4px; }
  .hmc-status-choice > span { width:22px; height:22px; }
  .hmc-app .hmc-availability-meta { font-size:9px; }
  .hmc-view:has(.hmc-availability-apply) { padding-bottom:72px; }
  .hmc-app .hmc-availability-apply { right:7px; bottom:7px; max-width:calc(100vw - 14px); min-height:38px; }
  .hmc-cast-available-footer { gap:6px; margin-top:7px; padding-top:7px; }
  .hmc-cast-available-footer > small { flex-basis:100%; }
  .hmc-app .hmc-cast-available { width:100%; margin-left:0; }
  .hmc-modal { padding:5px; overflow:hidden; }
  .hmc-modal .hmc-dialog { width:100%; max-height:calc(100dvh - 10px); border-radius:8px; }
  .hmc-dialog > header { gap:8px; padding:10px; }
  .hmc-dialog h2 { font-size:18px; overflow-wrap:anywhere; }
  .hmc-dialog > .hmc-dialog-content { padding:10px; }
  .hmc-dialog > footer { gap:6px; padding:8px 10px; }
  .hmc-modal .hmc-save { flex:1 1 150px; min-height:38px; margin-left:0 !important; }
  .hmc-dialog > footer > button:not(.hmc-save) { flex:1 1 auto; }
  .hmc-form { gap:9px; margin-top:9px; }
  .hmc-form-row { grid-template-columns:1fr; gap:8px; }
  .hmc-person-preview .hmc-photo { height:175px; }
  .hmc-person-tooltip { width:min(280px,calc(100vw - 10px)); max-height:calc(100dvh - 10px); }
  .hmc-access { gap:9px; padding:10px; }
  .hmc-permission-grid { grid-template-columns:minmax(0,1fr); gap:3px; }
  .hmc-permission-grid > strong { margin-top:5px; }
  .hmc-access-role-card { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; padding:8px; }
  .hmc-access-role-card > button { width:100%; }
  .hmc-view-switch { width:100%; }
  .hmc-view-switch > button { flex:1 1 50%; }
  .hmc-toast { right:7px; bottom:7px; left:7px; max-width:none; padding:9px 11px; }
}

@media(max-width:380px) {
  .hmc-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hmc-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hmc-photo { height:132px; }
  .hmc-material-image { height:132px; }
  .hmc-pool-group { grid-template-columns:minmax(0,1fr); }
  .hmc-view-actions > button { flex-basis:100%; }
  .hmc-matrix th, .hmc-matrix td { min-width:142px; }
  .hmc-matrix th:first-child, .hmc-matrix.hmc-availability-matrix th:first-child { min-width:112px; max-width:125px; }
	.hmc-requirement-choices { grid-template-columns:repeat(6,28px); }
}
@media print {
  .hmc-tabs, .hmc-modal, .hmc-toast, .hmc-app, .hmc-person-tooltip, .hmc-requirement-picker { display:none !important; }
  body.hmc-printing, body.hmc-printing * { background-image:none !important; box-shadow:none !important; text-shadow:none !important; font-family:Arial,Helvetica,sans-serif !important; color:#000 !important; }
  body.hmc-printing { margin:0 !important; padding:0 !important; background:#fff !important; }
  body.hmc-printing > :not(.hmc-print-root) { display:none !important; }
  body.hmc-printing .hmc-print-root { position:static !important; display:block !important; margin:0 !important; padding:0 !important; }
  .hmc-print-root, .hmc-print-root * { background:transparent !important; color:#000 !important; font-family:Arial,Helvetica,sans-serif !important; }
  .hmc-print-root table, .hmc-print-root th, .hmc-print-root td { border-color:#000 !important; }
}
