html{scrollbar-gutter:stable}:root{--cast-width:430px;--cast-surface:#edf5ff;--cast-chrome:#e7f1fd;--cast-border:#cfdef0}.cast-launcher{position:fixed;right:18px;bottom:20px;display:flex;gap:9px;align-items:center;background:#3266a9;color:white;padding:12px 16px;border-radius:9px;box-shadow:0 4px 20px #284d7730;z-index:45;font-size:13px;min-height:46px}.cast-launcher .line-icon{width:19px;height:19px}.cast-badge{border-radius:5px;background:#ffffff24;padding:1px 7px;min-width:23px;text-align:center;font-size:11px}.cast-docked .cast-launcher,.cast-mobile-open .cast-launcher{display:none}.cast-header-trigger{display:inline-flex!important}.cast-mobile-open{overflow:hidden}
#cast-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;border-left:1px solid #d9e3ef;border-radius:0;width:var(--cast-width);max-width:100vw;height:100dvh;max-height:none;background:#fff;color:#25354b;overflow:hidden;box-shadow:-8px 0 35px #1e416e0c;z-index:70}#cast-drawer[open]{display:flex;flex-direction:column;animation:cast-slide-in .18s ease-out}#cast-drawer::backdrop{background:#243e5c50;backdrop-filter:none}.cast-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;background:#fff;border-bottom:1px solid #e0e6ee;flex-shrink:0}.cast-drawer-header>div{display:flex;align-items:center;gap:12px}.cast-drawer-header .line-icon{color:#5c7fa8;width:24px;height:24px}.cast-drawer-header h2{font-family:'DM Sans',Arial,sans-serif;font-size:18px;line-height:1.35;font-weight:600;margin:0;letter-spacing:-.02em}.cast-drawer-header span{font-size:11px;color:#6b809b}.cast-icon{width:34px;height:34px;min-width:34px;min-height:34px;display:grid;place-items:center;border:1px solid #e0e7f0;background:#fff;border-radius:6px;color:#617b9b;font-size:18px;padding:0}.cast-icon:hover{border-color:#adc3df}.cast-icon:disabled{opacity:.35}.cast-panel-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:22px;scrollbar-width:thin;min-height:0}.cast-panel-content h3{font-size:18px;line-height:1.45;font-weight:600;margin:0 0 6px;letter-spacing:-.025em}.cast-panel-content p{font-size:13px;line-height:1.8}.cast-panel-content .cast-small{font-size:12px;line-height:1.75;color:#708199;margin:0 0 16px}.cast-panel-content .button{font-size:12px;min-height:42px;gap:12px}.cast-panel-content .button .line-icon{width:17px}.cast-panel-content .field{display:flex;flex-direction:column;font-size:12px;gap:7px;margin:18px 0;color:#425a78}.cast-panel-content input,.cast-panel-content select,.cast-panel-content textarea{width:100%;min-height:42px;padding:10px 11px;background:#fff;border:1px solid #d8e2ef;border-radius:6px;font-size:13px;color:#314b6b}.cast-panel-content select{padding-right:25px}.cast-panel-content textarea{resize:vertical;max-height:250px;min-height:100px;line-height:1.65}.cast-panel-content form>.button{width:100%;margin-top:8px}.cast-panel-footer{padding:13px 22px;background:#f8fafd;border-top:1px solid #e2e9f2;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#7587a0;flex-shrink:0;padding-bottom:max(13px,env(safe-area-inset-bottom))}.cast-panel-footer button{font-size:11px;color:#3266a9;min-height:30px;padding:3px}.cast-save-state.failed{color:#a54848}.cast-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 18px}.cast-title-row h3{margin-bottom:3px}.cast-title-row .cast-small{margin:0}.cast-project-selector{background:#f4f7fb;border:1px solid #e2e9f2;border-radius:8px;padding:14px;margin-bottom:21px}.cast-project-selector>label{font-size:11px;color:#6f829c;display:block;margin-bottom:8px}.cast-project-selector select{font-size:13px;min-height:44px}.cast-project-selector .cast-text{padding-top:9px}.cast-text,.cast-back{color:#3266a9;font-size:12px;padding:8px 0;min-height:32px;display:inline-flex;align-items:center}.cast-back{margin:-7px 0 18px}.cast-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0 13px}.cast-section-heading strong{font-size:13px;font-weight:600}.cast-section-heading span{background:#edf3fa;color:#6983a4;font-size:11px;margin-left:5px;padding:2px 6px;border-radius:4px}.cast-role{border:1px solid #dfe7f1;border-radius:8px;margin-bottom:12px;background:#fff}.cast-role summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;cursor:pointer;list-style:none}.cast-role summary::-webkit-details-marker{display:none}.cast-role summary strong{font-size:14px;font-weight:600}.cast-role summary small{display:block;color:#75879f;font-size:11px;margin-top:3px}.cast-role summary>span{color:#8297b1;font-size:18px}.cast-role[open] summary{background:#f6f9fd;border-radius:8px 8px 0 0}.cast-role[open] summary>span{transform:rotate(180deg)}.cast-role-content{padding:0 14px 14px}.cast-role-content .cast-brief{font-size:11px;color:#7c8da4;margin:11px 0 3px}.cast-role-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:8px 0 12px}.cast-role-tools button{font-size:10px;min-height:30px;color:#577ca8;padding:4px 0}.cast-role-tools button:disabled{opacity:.4}.cast-role-tools .danger-text{margin-left:auto}.danger-text{color:#a56363!important}.cast-candidate{border-top:1px solid #e8edf4;padding:13px 0 12px}.cast-candidate:last-child{padding-bottom:0}.cast-candidate-top{display:flex;gap:10px;align-items:center}.cast-order{font-size:10px;color:#91a1b7;min-width:13px}.cast-candidate-top img{width:34px;height:43px;object-fit:cover;border-radius:4px}.cast-candidate-top>div{flex:1;min-width:0}.cast-candidate-name{font-size:13px;font-weight:550;overflow-wrap:anywhere}.cast-candidate-top p{font-size:10px;margin:1px 0 0;color:#8392a8}.cast-candidate-top .cast-icon{width:27px;height:27px;min-width:27px;min-height:27px;border:0;color:#8ca0b9;font-size:17px}.cast-candidate-controls{display:flex;gap:5px;align-items:center;margin:10px 0 0;padding-left:23px}.cast-candidate-controls select{width:auto;flex:1;min-width:0;min-height:31px;padding:6px 19px 6px 8px;font-size:10px}.cast-candidate-controls .cast-icon{height:29px;width:27px;min-height:29px;min-width:27px;font-size:14px}.cast-candidate-controls .cast-text{font-size:10px;white-space:nowrap;padding:3px 4px}.cast-candidate .cast-entry-note{margin:8px 0 0 23px;font-size:11px;background:#f7f9fc;padding:8px 10px;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere}.cast-no-entries{font-size:12px!important;color:#8a9bb1;padding:15px 0}.cast-project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 0 5px}.cast-project-actions>.button{flex:1}.cast-project-actions>.cast-text{font-size:11px}.cast-project-card{border:1px solid #dfe7f1;border-radius:8px;padding:15px;display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin:12px 0;background:white}.cast-project-card>div{flex:1;min-width:0}.cast-project-card strong{font-size:14px}.cast-project-card p{font-size:11px;margin:3px 0}.cast-project-card small{color:#6a829f;font-size:10px}.cast-project-card>.line-icon{width:17px;color:#93a7c0}.cast-signout{font-size:12px;color:#6c839f;padding:12px 0;margin-top:10px}.cast-empty{border:1px dashed #d2dfef;border-radius:8px;padding:28px 18px;text-align:center;background:#fafcfe;margin:18px 0}.cast-empty>.line-icon{color:#96adc9;width:29px;height:29px;margin:0 auto 10px}.cast-empty h3{font-size:15px}.cast-empty p{font-size:12px;color:#7a8da6}.cast-empty .button{margin-top:15px}.cast-login{padding:18px 0}.cast-login>.shortcut-icon{width:49px;height:49px;margin-bottom:20px}.cast-login h3{font-size:23px}.cast-login p{margin:14px 0 23px;font-size:13px}.cast-login .button{width:100%}.cast-login .cast-small{margin-top:15px;font-size:11px}.cast-info{background:#eef4fc;border:1px solid #dce8f8;border-radius:6px;padding:12px 13px;color:#5d789a;font-size:12px;line-height:1.75;margin:15px 0}.cast-adding-actor{display:flex;gap:13px;background:#f6f9fd;border:1px solid #e0e9f4;border-radius:8px;padding:14px;margin:18px 0}.cast-adding-actor img{width:55px;height:71px;object-fit:cover;border-radius:5px}.cast-adding-actor strong{font-size:15px}.cast-adding-actor p{font-size:11px;margin:4px 0}.cast-adding-actor small{font-size:10px;color:#8a9bb1}.cast-add-destination{border-left:2px solid #9ab7df;background:#f6f9fd;padding:11px 13px;margin:20px 0}.cast-add-destination span{display:block;font-size:10px;color:#7e94b0;margin-bottom:5px}.cast-add-destination strong{font-size:12px;color:#4a6f9d;font-weight:550;overflow-wrap:anywhere}.cast-form-error{font-size:12px!important;color:#a34848;padding:10px 0;margin:10px 0!important}.cast-form-error[hidden]{display:none}.cast-inline-actions{display:flex;gap:12px;margin:25px 0}.button.danger{color:#a94f4f;border-color:#e1c0c0;background:#fff6f6}.cast-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef7f3;border:1px solid #d3e9dd;color:#537d69;border-radius:6px;padding:10px 12px;font-size:11px;margin-bottom:16px}.cast-undo button{color:#327355;font-size:12px;min-height:30px;font-weight:550}.cast-template-options{padding:14px 16px;margin:20px 0;border:1px solid #dce6f2;border-radius:7px}.cast-template-options legend{font-size:12px;color:#6e84a2;padding:0 6px}.cast-template-options label{font-size:12px;display:flex;gap:9px;align-items:center;margin:10px 0}.cast-template-options input{width:16px;height:16px;min-height:0;flex-shrink:0;accent-color:#3266a9}.cast-export-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.cast-export-buttons .button{flex:1;white-space:nowrap}.cast-export-buttons .button:last-child{width:100%;flex:auto}#cast-preview-frame{width:100%;height:350px;border:1px solid #e0e8f2;border-radius:7px;background:#eef2f7}.cast-panel-content button:focus-visible,.cast-panel-content summary:focus-visible,.cast-launcher:focus-visible{outline:2px solid #3266a9;outline-offset:3px}.cast-panel-content button:disabled{cursor:not-allowed}
@keyframes cast-slide-in{from{transform:translateX(25px);opacity:.4}to{transform:none;opacity:1}}
@media(max-width:1099px){#cast-drawer{width:440px;box-shadow:-10px 0 40px #1e416e25}.cast-launcher{right:16px;bottom:16px}.header-actions .cast-header-trigger{font-size:11px}.header-actions .button[data-go=onboarding]{display:none}.cast-panel-content input,.cast-panel-content select,.cast-panel-content textarea{font-size:16px}.cast-candidate-controls select{font-size:12px}.cast-mobile-open{padding-right:0}}
@media(max-width:580px){#cast-drawer{width:100%;border:0}.cast-drawer-header{padding:15px 18px}.cast-drawer-header h2{font-size:18px}.cast-drawer-header span{font-size:11px}.cast-drawer-header .cast-icon{width:40px;height:40px}.cast-panel-content{padding:20px 18px}.cast-panel-footer{padding-inline:18px}.cast-panel-content .button{font-size:13px;min-height:44px}.cast-panel-content .field{font-size:13px}.cast-panel-content h3{font-size:19px}.cast-project-selector>label{font-size:12px}.cast-project-selector select{font-size:16px}.cast-role summary{padding:16px 14px;min-height:72px}.cast-role summary strong{font-size:15px}.cast-role summary small{font-size:12px}.cast-role-tools{gap:14px}.cast-role-tools button{font-size:11px;min-height:36px}.cast-candidate-name{font-size:14px}.cast-candidate-top p{font-size:11px}.cast-candidate-top img{width:37px;height:47px}.cast-candidate-top .cast-icon{width:32px;height:32px;min-width:32px;min-height:32px}.cast-candidate-controls{padding-left:0;gap:6px}.cast-candidate-controls select{min-height:36px;font-size:12px}.cast-candidate-controls .cast-icon{min-height:34px;min-width:30px;width:30px;height:34px}.cast-candidate-controls .cast-text{font-size:11px;min-height:34px}.cast-candidate .cast-entry-note{margin-left:0;font-size:12px}.cast-text,.cast-back{font-size:13px;min-height:36px}.cast-panel-footer{font-size:10px}.cast-panel-footer button{font-size:12px}.cast-launcher{right:12px;bottom:12px;padding:11px 13px;font-size:12px}.cast-launcher .line-icon{width:17px}.cast-adding-actor strong{font-size:16px}.cast-adding-actor p{font-size:12px}.cast-adding-actor small{font-size:11px}.cast-add-destination span{font-size:11px}.cast-add-destination strong{font-size:13px}.cast-template-options label{font-size:13px}}
@media(max-width:580px){.cast-candidate-controls select{font-size:16px}.cast-candidate-controls .cast-icon,.cast-candidate-top .cast-icon{min-height:44px}.cast-candidate-controls .cast-text{min-height:44px}}
@media(max-width:360px){.cast-candidate-controls{flex-wrap:wrap}.cast-candidate-controls select{flex-basis:100%}.cast-candidate-controls .cast-icon{min-width:44px}.cast-candidate-controls .cast-text{margin-left:auto}}
@media(prefers-reduced-motion:reduce){#cast-drawer[open]{animation:none}}
@media print{#cast-drawer,.cast-launcher{display:none!important}}
/* Drag handles do not affect the main site's layout. */
.cast-drag-handle{display:grid;place-items:center;flex-shrink:0;width:28px;min-height:36px;padding:0;color:#8da3bd;border-radius:5px;cursor:grab;touch-action:none;user-select:none}.cast-drag-handle svg{width:14px;height:22px;fill:currentColor;pointer-events:none}.cast-drag-handle:hover{color:#3266a9}.cast-drag-handle:focus-visible{outline:2px solid #3266a9;outline-offset:2px}.cast-role summary{gap:8px}.cast-role summary>div{flex:1}.cast-role summary>.cast-drag-handle{padding:0}.cast-candidate-top{gap:7px}.cast-candidate-top .cast-drag-handle{width:22px;min-height:36px}.cast-project-card{gap:8px;padding:12px 10px}.cast-project-choice{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;background:none}.cast-project-choice>div{flex:1;min-width:0}.cast-project-choice>.line-icon{width:17px;color:#93a7c0}.cast-drag-source{opacity:.35}.cast-drag-ghost{position:fixed!important;z-index:100;pointer-events:none!important;opacity:.85;margin:0!important;overflow:hidden;background:#fff;box-shadow:0 8px 28px #29496d30;border:1px solid #8aafd9;border-radius:8px}.cast-is-dragging,.cast-is-dragging *{cursor:grabbing!important;user-select:none!important}.cast-drop-before{box-shadow:0 -3px 0 #3266a9!important}.cast-drop-after{box-shadow:0 3px 0 #3266a9!important}.cast-drop-inside{outline:2px dashed #3266a9;outline-offset:2px;background:#f1f6fc}.cast-drag-hint{position:absolute;bottom:58px;left:18px;right:18px;pointer-events:none;background:#253f60;color:white;padding:11px 14px;font-size:12px;line-height:1.5;border-radius:7px;z-index:101;box-shadow:0 3px 16px #1d395425}#cast-move-dialog{position:fixed;margin:auto;width:min(400px,calc(100vw - 36px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border-color:#dce6f2;box-shadow:0 15px 50px #253f6030}#cast-move-dialog h3{font-size:18px;margin-bottom:18px}#cast-move-dialog .field{font-size:12px;display:flex;flex-direction:column;gap:8px;margin:15px 0}#cast-move-dialog select{width:100%;padding:10px;border:1px solid #dce6f2;border-radius:6px;background:white;color:#314b6b;font-size:16px}#cast-move-dialog .cast-inline-actions{margin:20px 0 0}#cast-move-dialog .button{flex:1}#cast-move-error{color:#a34848;font-size:12px}#cast-move-error[hidden]{display:none}
@media(max-width:580px){.cast-drag-handle{width:32px;min-height:44px}.cast-candidate-top .cast-drag-handle{width:26px;min-height:44px}.cast-candidate-controls{flex-wrap:wrap}.cast-candidate-controls select{flex-basis:100%}}
.cast-sort-help{font-size:11px!important;color:#7b8da5;margin:-3px 0 14px;line-height:1.6!important}

/* Pale blue workspace, with white cards for clear separation. */
#cast-drawer{background:var(--cast-surface);border-left-color:var(--cast-border)}
.cast-drawer-header,.cast-panel-footer{background:var(--cast-chrome);border-color:var(--cast-border)}
.cast-project-selector{background:#fff;border-color:var(--cast-border)}
.cast-role,.cast-project-card,.cast-template-options{background:#fff;border-color:var(--cast-border)}
.cast-role[open] summary{background:#f5f9ff}
.cast-panel-content .cast-small,.cast-panel-footer,.cast-drawer-header span{color:#5d7492}


/* A4 export controls stay compact on mobile. */
.cast-export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cast-export-buttons .button:last-child{width:auto;flex-basis:auto}.cast-export-buttons .button{min-width:0;padding-inline:8px}#cast-preview-frame{width:100%;height:320px;border:1px solid var(--cast-border);border-radius:8px;background:#e8eef6}.cast-template-options:disabled{opacity:.6}
