:root{--bg: #0f1419;--surface: #1a222d;--surface2: #243040;--border: #2e3d52;--text: #e8edf4;--muted: #8b9cb3;--accent: #c9a227;--accent-dim: #8a7020;--danger: #e85d5d;--radius: 10px;--font: "DM Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--accent);text-decoration:none}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:2rem}.brand h1{margin:0;font-size:1rem;font-weight:600;line-height:1.3;color:var(--accent)}.brand p{margin:.25rem 0 0;font-size:.75rem;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:.35rem}.nav a{color:var(--muted);padding:.55rem .75rem;border-radius:var(--radius);font-size:.9rem}.nav a:hover,.nav a.active{background:var(--surface2);color:var(--text)}.main{padding:1.5rem 2rem;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.topbar h2{margin:0;font-size:1.35rem;font-weight:600}.btn{border:none;border-radius:var(--radius);padding:.5rem 1rem;font-family:inherit;font-size:.875rem;cursor:pointer;background:var(--accent);color:#1a1408;font-weight:600}.btn:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 30% 20%,#1e2a3a 0%,var(--bg) 55%)}.login-card{width:min(400px,92vw)}.login-card h1{margin:0 0 .25rem;color:var(--accent);font-size:1.25rem}.form{display:flex;flex-direction:column;gap:.85rem;margin-top:1.25rem}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--muted)}.form input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;color:var(--text);font-family:inherit}.form input:focus{outline:2px solid var(--accent-dim);border-color:var(--accent)}.error{color:var(--danger);font-size:.85rem}.table-wrap{overflow-x:auto}.films-table-wrap{max-width:100%}.films-table-hint{margin:0 0 .75rem}.films-count{margin-left:.5rem;font-size:.85rem}.films-table{min-width:1200px;font-size:.8rem}.films-table-groups th{background:var(--surface2);color:var(--accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border);vertical-align:bottom;white-space:nowrap}.films-table td{vertical-align:top;min-width:140px;max-width:220px}.films-table td.col-number{min-width:2.6rem;max-width:3rem;width:3rem;padding-right:.2rem;padding-left:.5rem;text-align:right;white-space:nowrap}.films-table td.col-titles{min-width:160px;max-width:240px;padding-left:.35rem}.films-table-groups th.col-number{text-align:right;padding-right:.2rem}.films-table-groups th.col-titles{padding-left:.35rem}.film-group-cell{display:flex;flex-direction:column;gap:.35rem}.film-program-cell .film-program-name{display:block;width:100%;font-weight:600;font-size:.85rem;line-height:1.35;word-break:break-word;margin-bottom:.15rem}.films-table td.col-program{min-width:9rem;max-width:11rem}.film-field-row{display:grid;grid-template-columns:minmax(4.5rem,auto) 1fr;gap:.35rem .5rem;align-items:start;line-height:1.35}.film-field-label{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.film-field-value{word-break:break-word}.film-field-clamp{display:block}.film-title-link{font-weight:600;color:var(--text)}.film-title-link:hover{color:var(--accent)}.film-field-link{font-size:.75rem}.film-cell-open{cursor:pointer}.film-cell-open:hover{background:var(--surface2)}.film-cell-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.film-number-text{font-weight:700;font-size:.9rem;color:var(--accent);font-variant-numeric:tabular-nums}.film-title-text{font-weight:600;color:var(--text)}.film-cell-open:hover .film-title-text{color:var(--accent)}.col-status{min-width:8.5rem;max-width:11rem}.film-status-cell{display:flex;flex-direction:column;gap:.65rem}.film-status-cell .status-current{font-size:.85rem}.col-subs{min-width:120px;max-width:150px}.col-subs-work{min-width:150px;max-width:180px}.col-subs-preview,.films-table td.col-subs-preview{min-width:11rem;max-width:16rem}.films-table-subheads th.col-subs-preview{min-width:11rem}.th-subs-group{text-align:center;border-left:2px solid var(--border)}.films-table-subheads th{font-size:.65rem;color:var(--muted);font-weight:400;padding-top:0;border-bottom:2px solid var(--border)}.films-table-subheads th:first-of-type{border-left:none}.status-current{margin:0;font-size:1rem;font-weight:700;line-height:1.25}.status-current--danger{color:var(--danger)}.status-current--success{color:#6bc98a}.status-current--neutral{color:var(--text)}.films-table td.col-subs-work{min-width:8.5rem;max-width:10rem}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}tr:hover td{background:var(--surface2)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.72rem;background:var(--surface2);color:var(--muted)}.toolbar{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar input{flex:1;min-width:200px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text);font-family:inherit}.schedule-grid{display:grid;gap:.75rem}.schedule-item{display:grid;grid-template-columns:140px 1fr auto;gap:1rem;align-items:center;padding:.75rem;background:var(--surface2);border-radius:var(--radius);font-size:.875rem}.card-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.program-card{display:block;color:inherit;text-decoration:none;transition:border-color .15s}.program-card:hover{border-color:var(--accent-dim)}.program-card h3{margin:0 0 .5rem;font-size:1rem}.program-card .muted{color:var(--muted);font-size:.85rem;margin:0}.program-card .stats{margin:.5rem 0 0;font-size:.8rem;color:var(--accent)}.topbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.grid-toolbar h3{margin:0}.grid-pager{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.number-grid{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0;max-height:420px;overflow-y:auto}.number-cell{min-width:2.5rem;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--muted);font-size:.8rem;cursor:pointer;font-family:inherit}.number-cell--reserved{background:var(--bg);color:var(--muted)}.number-cell--in_use{background:var(--accent-dim);color:var(--text);border-color:var(--accent)}.number-cell--blocked{opacity:.4;cursor:not-allowed}.reserve-row{display:flex;gap:.5rem;margin-top:1rem}.reserve-row input{flex:1;max-width:120px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;color:var(--text);font-family:inherit}.hint{color:var(--muted);font-size:.8rem;margin:.25rem 0 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.range-form-row{grid-template-columns:1fr auto 1fr;align-items:end}.range-dash{color:var(--muted);font-size:1.25rem;padding-bottom:.55rem;text-align:center}.range-preview{color:var(--accent)}.range-card{margin-bottom:1rem}.range-form .btn{margin-top:.5rem}.success{color:#6bc98a;font-size:.85rem;margin:.5rem 0 0}.fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem 1rem;margin:0}.fieldset legend{color:var(--muted);font-size:.75rem;padding:0 .35rem}.program-full-name{margin:.15rem 0 .35rem;font-size:.8rem;color:var(--muted);line-height:1.3}.program-short-name{margin:.15rem 0 0;font-size:.9rem;color:var(--accent)}.checkbox-row{flex-direction:row!important;align-items:center;gap:.5rem}.checkbox-row input{width:auto}.tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.tab{padding:.45rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;font-family:inherit;font-size:.85rem}.tab.active{background:var(--accent-dim);color:var(--text);border-color:var(--accent)}.form textarea,.form select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;color:var(--text);font-family:inherit;width:100%}.success{color:#6bcf7f;font-size:.85rem}.start-card{max-width:520px;width:100%}.user-quick-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow-y:auto}.user-quick-btn{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}.user-quick-role{font-size:.8rem;color:var(--muted)}.start-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.nav-dev{font-size:.8rem!important;opacity:.85}.user-form section{margin-bottom:2rem}.user-form h3{margin:0 0 1rem;font-size:1rem;color:var(--accent)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.perm-group{margin-bottom:1.5rem}.perm-group h4{margin:0 0 .5rem;font-size:.9rem}.perm-table-wrap{overflow-x:auto;max-width:100%}.perm-table{width:max-content;max-width:100%;border-collapse:collapse;font-size:.8rem;table-layout:fixed}.perm-table th,.perm-table td{border:1px solid var(--border);padding:.2rem .15rem;text-align:center;vertical-align:middle}.perm-table th.perm-col-field,.perm-table td.perm-col-field{text-align:left;width:11rem;min-width:9rem;max-width:14rem;padding-left:.45rem;padding-right:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perm-table th.perm-col-access,.perm-table td.perm-radio{width:1.65rem;min-width:1.65rem;max-width:1.65rem;padding:.1rem 0}.perm-table thead th.perm-col-access{font-size:.65rem;font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--muted)}.perm-radio{line-height:0}.perm-radio input[type=radio]{width:.95rem;height:.95rem;margin:0;padding:0;cursor:pointer;accent-color:var(--accent)}.perm-hint{margin:0 0 .75rem;font-size:.8rem}.venues-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem;align-items:start}.venues-list-hint{margin:0 0 1rem;font-size:.8rem}.venues-complex{margin-bottom:1.25rem}.venues-complex h4{margin:0 0 .5rem;font-size:.85rem;color:var(--accent)}.venues-complex ul{list-style:none;margin:0;padding:0}.venues-complex li{display:flex;align-items:center;gap:.35rem;margin-bottom:.25rem}.venue-item{flex:1;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text);padding:.4rem .5rem;cursor:pointer;font-family:inherit;font-size:.85rem}.venue-item:hover,.venue-item.active{background:var(--surface2);border-color:var(--border)}.venue-item.inactive{opacity:.55}.venue-meta{display:block;font-size:.7rem;color:var(--muted)}.venue-active-toggle{display:flex;flex-direction:column;align-items:center;font-size:.65rem;color:var(--muted);gap:.1rem;cursor:pointer}.venue-active-toggle input{width:auto;margin:0}.venues-add-form{margin-bottom:1rem;max-width:480px}.venues-schedule h3{margin:0 0 .5rem}.badge-inactive{margin-left:.5rem;font-size:.75rem;color:var(--danger);font-weight:400}.venues-schedule-actions{margin-bottom:.75rem}.venues-days-table input[type=time]{width:6.5rem;padding:.35rem .4rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit}.venues-days-table tr.row-dirty td{background:#c9a22714}@media (max-width: 900px){.venues-layout{grid-template-columns:1fr}}.schedule-topbar{flex-wrap:wrap;gap:1rem}.edit-mode-toggle{margin:0;white-space:nowrap}.venue-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.venue-tab{padding:.45rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:pointer;font-family:inherit;font-size:.8rem}.venue-tab.active{border-color:var(--accent);color:var(--text);background:var(--surface2)}.venue-tab.inactive{opacity:.55}.cal-wrap{overflow-x:auto;padding:.75rem}.cal-grid{min-width:720px}.cal-header{display:flex;position:sticky;top:0;z-index:2;background:var(--surface)}.cal-time-gutter{width:52px;flex-shrink:0}.cal-day-head{flex:1;min-width:100px;text-align:center;font-size:.75rem;font-weight:600;padding:.35rem;border-left:1px solid var(--border)}.cal-body{display:flex}.cal-time-col{width:52px;flex-shrink:0}.cal-hour-label{font-size:.65rem;color:var(--muted);text-align:right;padding-right:.35rem;box-sizing:border-box}.cal-days{display:flex;flex:1;position:relative}.grid-day-col{flex:1;min-width:100px;position:relative;border-left:1px solid var(--border);cursor:crosshair;background:repeating-linear-gradient(to bottom,transparent,transparent 29px,rgba(46,61,82,.35) 29px,rgba(46,61,82,.35) 30px)}.schedule-clipboard-hint{margin:0 0 .75rem;font-size:.85rem}.schedule-context-menu{position:fixed;z-index:1000;min-width:168px;padding:.25rem 0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000059}.schedule-context-item{display:block;width:100%;padding:.45rem .85rem;border:none;background:transparent;color:var(--text);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.schedule-context-item:hover:not(:disabled){background:#ffffff0f}.schedule-context-item:disabled{opacity:.45;cursor:default}.schedule-context-item.danger{color:#f87171}.cal-hour-line{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--border);pointer-events:none}.screening-block{position:absolute;left:2px;right:2px;z-index:1;display:flex;flex-direction:column;border-radius:6px;background:var(--surface2);border:1px solid var(--accent-dim);color:var(--text);font-size:.68rem;text-align:left;overflow:hidden;box-shadow:0 2px 6px #00000059}.screening-block:hover{border-color:var(--accent)}.screening-block.dragging-source{opacity:.25}.screening-block.dragging-preview{z-index:5;opacity:.95;outline:2px dashed var(--accent);box-shadow:0 4px 12px #00000073}.screening-block-actions{display:flex;gap:2px;padding:2px 3px;background:#00000040;flex-shrink:0}.scr-action{flex:1;padding:.15rem .25rem;border:none;border-radius:3px;background:var(--surface);color:var(--text);font-size:.6rem;font-family:inherit;cursor:pointer;line-height:1.2}.scr-action:hover{background:var(--accent-dim)}.scr-action-danger{color:var(--danger);max-width:1.6rem}.screening-block-body{flex:1;padding:.25rem .4rem .35rem;min-height:0;overflow:hidden}.screening-block-body.draggable{cursor:grab}.screening-block-body.draggable:active{cursor:grabbing}.scr-title{font-weight:600;font-size:.72rem;line-height:1.25;margin-bottom:.15rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scr-meta{display:flex;flex-direction:column;gap:.05rem;color:var(--muted);font-size:.62rem}.scr-sub{opacity:.9}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{max-width:520px;width:100%;max-height:90vh;overflow-y:auto}.screening-modal h3{margin:0 0 .35rem}.screening-modal-meta{margin:0 0 1rem;font-size:.85rem}.screening-modal .form-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.screening-modal .field-label{font-size:.8rem;color:var(--muted)}.screening-modal .form-field input[type=text],.screening-modal .form-field input:not([type=number]):not([type=checkbox]){width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .65rem;color:var(--text);font-family:inherit;font-size:.9rem}.screening-modal .field-textarea{width:100%;min-height:4.5rem;resize:vertical;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .65rem;color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.45}.screening-modal .field-textarea:focus,.screening-modal .form-field input:focus{outline:none;border-color:var(--accent)}.screening-modal .form-field-notes{margin-bottom:.5rem}.screening-items-list .item-film-name{flex:1;min-width:100px;font-size:.85rem}.screening-items-list .item-title-input{flex:1;min-width:100px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem;color:var(--text);font-family:inherit;font-size:.85rem}.screening-add-buttons{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.film-search{position:relative;margin-bottom:.75rem}.film-search-hits{list-style:none;margin:.25rem 0 0;padding:0;max-height:160px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.film-search-hits button{width:100%;text-align:left;padding:.4rem .6rem;border:none;background:transparent;color:var(--text);cursor:pointer;font-family:inherit;font-size:.85rem}.film-search-hits button:hover{background:var(--surface2)}.screening-items-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.screening-items-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem;background:var(--surface2);border-radius:var(--radius)}.screening-items-list .item-type{font-size:.7rem;color:var(--accent);min-width:4rem}.screening-items-list input:not([type=number]){flex:1;min-width:120px}.dur-input{width:4rem}.item-actions{display:flex;gap:.15rem;margin-left:auto}.btn-ghost-sm{padding:.15rem .35rem;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem}.btn-ghost-sm.danger{color:var(--danger)}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1rem}.modal-actions .danger{margin-right:auto;color:var(--danger)}.fab{position:fixed;right:1.5rem;bottom:1.5rem;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--accent);background:var(--accent-dim);color:var(--text);font-size:1.25rem;cursor:pointer;box-shadow:0 4px 16px #0006;z-index:50}.fab:hover{filter:brightness(1.1)}.fab-modal{max-width:360px}@media (max-width: 768px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}.nav{flex-direction:row;flex-wrap:wrap}}.import-merge-mode{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.import-merge-mode legend{padding:0 .25rem;font-size:.85rem;color:var(--muted)}.import-summary{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1rem}.import-row-error td{background:#dc354514}.import-warn{margin-left:.35rem;color:var(--warn, #b8860b)}.import-errors{margin:.5rem 0 0;padding-left:1.25rem;color:var(--danger, #c0392b);font-size:.9rem}.film-add-modal{max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px #00000073;padding:0;overflow:hidden}.film-add-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem 1rem;border-bottom:1px solid var(--border);background:var(--surface2)}.film-add-header h3{margin:0;font-size:1.15rem;font-weight:600}.film-add-subtitle{margin:.35rem 0 0;font-size:.82rem;color:var(--muted)}.modal-close{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer}.modal-close:hover{background:var(--bg);color:var(--text)}.film-add-loading{padding:2rem 1.35rem;color:var(--muted)}.film-add-form{padding:1.15rem 1.35rem 1.25rem}.film-add-section{display:flex;flex-direction:column;gap:1rem}.film-add-section-title{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.film-add-modal .form-field{display:flex;flex-direction:column;gap:.4rem;margin:0}.film-add-modal .field-label{font-size:.82rem;color:var(--muted);font-weight:500}.req-mark{color:var(--accent)}.film-add-modal .field-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;color:var(--text);font-family:inherit;font-size:.92rem}.film-add-modal .field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.film-add-modal .field-input-title{font-size:1rem;padding:.7rem .8rem}.number-pills{display:flex;flex-wrap:wrap;gap:.4rem}.number-pill{min-width:2.5rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.number-pill:hover{border-color:var(--accent-dim)}.number-pill.active{background:var(--accent);border-color:var(--accent);color:#1a1408}.number-more{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.btn-sm{padding:.35rem .65rem;font-size:.8rem;align-self:flex-start}.film-add-alert{margin:0;padding:.65rem .8rem;border-radius:8px;background:#e85d5d1a;border:1px solid rgba(232,93,93,.35);color:var(--danger);font-size:.85rem}.film-add-optional{margin-top:1.1rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.film-add-optional summary{padding:.65rem .85rem;font-size:.85rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg)}.film-add-optional summary:hover{color:var(--text)}.film-add-optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;padding:.85rem;border-top:1px solid var(--border)}.film-add-error{margin:1rem 0 0}.film-add-actions{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}@media (max-width: 520px){.film-add-optional-grid{grid-template-columns:1fr}}.film-edit-page{max-width:920px}.film-edit-page--materials-wide{max-width:1240px}.film-edit-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.film-edit-header h2{margin:0;font-size:1.35rem;font-weight:600;line-height:1.3}.film-edit-card{padding:0;overflow:hidden}.film-edit-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--surface2)}.film-edit-tabs .tab{white-space:nowrap}.film-edit-form{padding:1.25rem 1.35rem 1.35rem}.film-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.5rem;align-items:start}.film-edit-fields label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--muted);min-width:0}.film-edit-fields input,.film-edit-fields select,.film-edit-fields textarea{width:100%;max-width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .7rem;color:var(--text);font-family:inherit;font-size:.9rem}.film-edit-fields input:focus,.film-edit-fields select:focus,.film-edit-fields textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.film-edit-fields textarea{resize:vertical;min-height:4.5rem}.film-edit-fields .field-wide{grid-column:1 / -1;max-width:36rem}.film-edit-fields .field-medium{max-width:18rem}.film-edit-fields .field-compact{max-width:9rem}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.field-label-row .field-label{font-size:.82rem;color:var(--muted);font-weight:500}.film-edit-fields .checkbox-row{align-self:center;padding-top:1.1rem}.film-edit-split{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;align-items:start}.film-edit-col{display:flex;flex-direction:column;gap:.9rem;min-width:0}.film-edit-col label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--muted)}.film-edit-col input,.film-edit-col select,.film-edit-col textarea{width:100%;max-width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .7rem;color:var(--text);font-family:inherit;font-size:.9rem}.film-edit-col input:focus,.film-edit-col select:focus,.film-edit-col textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.film-edit-col textarea{resize:vertical;min-height:4.5rem}.film-edit-col .field-compact{max-width:9rem}.film-delivery-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.film-delivery-layout{grid-column:1 / -1;display:flex;flex-direction:column;gap:1rem}.film-delivery-layout--with-qc{display:grid;grid-template-columns:minmax(22rem,.95fr) minmax(28rem,1.35fr);gap:1.5rem 2rem;align-items:stretch}.film-delivery-left{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.film-delivery-links{display:flex;flex-direction:column;gap:.9rem;min-width:0}.film-delivery-layout .field-wide{max-width:none}.film-delivery-qc-controls,.film-delivery-qc-report-panel{display:flex;flex-direction:column;gap:.75rem;min-width:0;padding:1rem 1.1rem;border-radius:12px;background:var(--surface2);border:1px solid var(--border)}.film-delivery-qc-report-panel{min-height:18rem;max-height:calc(100vh - 12rem);overflow:hidden}.film-delivery-qc-report-panel .film-qc-report{overflow-y:auto;max-height:calc(100vh - 16rem)}.film-delivery-qc-report-panel .film-edit-section-title{margin:0}.film-delivery-meta{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.5rem}.film-delivery-meta .field-wide{max-width:none}.film-edit-page--materials-wide .film-delivery-meta{margin-top:.35rem;padding-top:1.1rem;border-top:1px solid var(--border)}.film-delivery-qc-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.film-delivery-qc-header .film-edit-section-title{margin:0}.film-delivery-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}.film-delivery-hint{margin:0;font-size:.85rem}.film-provision-note{margin:0;padding:.65rem .75rem;font-size:.8rem;line-height:1.45;white-space:pre-wrap;background:#1e3a8a33;border:1px solid rgba(110,168,255,.25);border-radius:8px;color:#dbeafe}.delivery-url-field .delivery-url-row{display:flex;align-items:stretch;gap:.5rem;min-width:0}.delivery-url-input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;white-space:nowrap;overflow-x:auto}.delivery-url-copy{flex-shrink:0;align-self:stretch}.film-qc-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.film-qc-progress{margin:0;font-size:.82rem;padding:.5rem .65rem;border-radius:6px;background:#c9a2271f;border:1px solid rgba(201,162,39,.25)}.film-qc-options{margin:.5rem 0 .75rem;padding:.55rem .65rem .45rem;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.35rem}.film-qc-options legend{padding:0 .25rem;font-size:.78rem;color:var(--muted)}.film-qc-options label{display:flex;align-items:center;gap:.45rem;font-size:.84rem;cursor:pointer}.film-qc-run-row{display:grid;grid-template-columns:1fr auto;gap:.25rem;align-items:stretch}.film-qc-run-delete{min-width:2rem;padding:0 .4rem;opacity:.7}.film-qc-run-delete:hover{opacity:1}.film-qc-runs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.film-qc-runs--compact{gap:.25rem}.film-qc-runs--compact li{margin:0;padding:0}.film-qc-run{display:grid;grid-template-columns:5.5rem 1fr auto;gap:.5rem;align-items:baseline;font-size:.8rem;padding:.45rem .6rem;border-radius:6px;background:var(--surface2);border:1px solid var(--border)}.film-qc-runs--compact .film-qc-run{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;background:var(--bg);grid-template-columns:4.75rem 1fr;grid-template-rows:auto auto}.film-qc-runs--compact .film-qc-run-time{grid-column:1 / -1;margin-top:.1rem}.film-qc-run--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.film-qc-report{display:flex;flex-direction:column;gap:.75rem;padding:.85rem .95rem;border-radius:10px;background:var(--bg);border:1px solid var(--border);flex:1}.film-qc-report--empty{justify-content:center;min-height:10rem}.film-qc-report-head{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem;padding-bottom:.55rem;border-bottom:1px solid var(--border)}.film-qc-report-time{color:var(--muted);font-size:.75rem}.film-qc-report-head strong{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.film-qc-report--passed .film-qc-report-head strong{color:#6ee7a0}.film-qc-report--failed .film-qc-report-head strong,.film-qc-report--error .film-qc-report-head strong{color:var(--danger)}.film-qc-report-rows{margin:0;display:flex;flex-direction:column;gap:.5rem}.film-qc-report-row{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;font-size:.84rem;line-height:1.45;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.film-qc-report-row:last-child{border-bottom:none}.film-qc-report-row dt{margin:0;color:var(--muted)}.film-qc-report-row dd{margin:0;word-break:break-word}.film-qc-report-row--warn dd{color:var(--danger)}.film-qc-dcp-report{display:flex;flex-direction:column;gap:.65rem;margin-top:.35rem;padding-top:.75rem;border-top:1px solid var(--border)}.film-qc-dcp-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.film-qc-dcp-narrative{margin:0;padding:.7rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;background:#0003;border:1px solid var(--border);border-radius:8px;max-height:16rem;overflow:auto}.film-qc-dcp-issues{display:flex;flex-direction:column;gap:.65rem}.film-qc-dcp-group h6{margin:0 0 .35rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.film-qc-dcp-group--error h6{color:var(--danger)}.film-qc-dcp-group--warning h6{color:#e8c468}.film-qc-dcp-group--info h6{color:var(--muted)}.film-qc-dcp-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.film-qc-dcp-group li{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border-radius:6px;background:var(--surface2);border:1px solid var(--border);font-size:.78rem;line-height:1.4}.film-qc-dcp-group--error li{border-color:#ef444440}.film-qc-dcp-group--warning li{border-color:#c9a22740}.film-qc-dcp-check{font-weight:600;color:var(--text)}.film-qc-dcp-message{color:var(--muted);word-break:break-word}.film-qc-run-status{text-transform:uppercase;font-size:.68rem;font-weight:600;color:var(--muted)}.film-qc-run--passed .film-qc-run-status{color:#6ee7a0}.film-qc-run--failed .film-qc-run-status,.film-qc-run--error .film-qc-run-status{color:var(--danger)}.film-qc-run--pending .film-qc-run-status,.film-qc-run--running .film-qc-run-status{color:var(--accent)}.film-qc-run-time{color:var(--muted);font-size:.72rem;white-space:nowrap}.film-edit-materials{grid-column:1 / -1;margin-top:1.25rem;padding-top:1.15rem;border-top:1px solid var(--border);max-width:36rem}.film-edit-section-title{margin:0 0 .9rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.film-edit-materials-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .7rem;color:var(--text);font-family:inherit;font-size:.9rem;resize:vertical;min-height:4.5rem}.film-edit-materials-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.film-edit-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid var(--border);max-width:36rem}.film-edit-footer .error,.film-edit-footer .success{margin:0;flex:1 1 100%}@media (max-width: 640px){.film-edit-fields,.film-edit-split{grid-template-columns:1fr}.film-edit-fields .field-wide,.film-edit-fields .field-medium,.film-edit-fields .field-compact,.film-edit-col .field-compact{max-width:none}.film-delivery-layout--with-qc{grid-template-columns:1fr}.film-edit-page--materials-wide{max-width:920px}.film-delivery-meta{grid-template-columns:1fr}}
