.dg-page{--dg-ink:var(--text);--dg-accent:var(--accent);--dg-accent-soft:#6dd4eb;--dg-line:var(--border);--dg-muted:var(--text-dim);--dg-muted-2:var(--text-faint);--dg-success:var(--success);font-family:var(--font-sans),"IBM Plex Sans",system-ui,sans-serif;color:var(--dg-ink)}.dg-page .master-card>.MuiCardContent-root{padding:22px 24px 28px!important}.dg-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.dg-search{flex:1;max-width:380px;position:relative}.dg-search input{border:1px solid var(--dg-line);background:var(--surface);width:100%;height:40px;color:var(--dg-ink);border-radius:10px;padding:0 14px 0 38px;font-family:inherit;font-size:13px;transition:border-color .16s,box-shadow .16s}.dg-search input::placeholder{color:var(--dg-muted-2)}.dg-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.dg-search .icon{color:var(--dg-muted-2);position:absolute;top:50%;left:12px;transform:translateY(-50%);font-size:18px!important}.dg-toolbar .count{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--dg-muted);margin-left:auto;font-size:11px}.dg-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px;display:grid}.dg-card{background:var(--surface);border:1px solid var(--dg-line);box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;transition:box-shadow .22s,transform .22s,border-color .22s;display:flex;position:relative;overflow:hidden}.dg-card:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-2);transform:translateY(-3px)}.dg-card.is-inactive:after{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#0a162805 0 8px,#0000 8px 18px);border-radius:16px;position:absolute;inset:0}.dg-card-head{background:var(--accent-soft);border-bottom:1px solid var(--dg-line);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex;position:relative}.dg-card-head:before{content:"";background:linear-gradient(90deg,transparent 0%,var(--accent)30%,var(--accent)70%,transparent 100%);opacity:.5;height:2px;position:absolute;inset:0 0 auto}.dg-card-eyebrow{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--dg-accent);align-items:center;gap:8px;font-size:9.5px;font-weight:600;display:inline-flex}.dg-card-eyebrow .pulse{background:var(--dg-accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;animation:2.4s ease-in-out infinite dg-pulse}@keyframes dg-pulse{0%,to{opacity:1}50%{opacity:.45}}.dg-status-pill{letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 10px;font-family:inherit;font-size:10.5px;font-weight:600;transition:filter .16s;display:inline-flex}.dg-status-pill:hover{filter:brightness(1.05)}.dg-status-pill:before{content:"";border-radius:50%;width:6px;height:6px}.dg-status-pill.active{color:#15803d;background:#22c55e1f;border:1px solid #22c55e4d}.dg-status-pill.active:before{background:#16a34a;animation:2.4s ease-in-out infinite dg-pulse;box-shadow:0 0 0 2px #22c55e40}.dg-status-pill.inactive{color:var(--dg-muted);background:#6b72801f;border:1px solid #6b728040}.dg-status-pill.inactive:before{background:var(--dg-muted-2)}.dg-icon-btn{width:30px;height:30px;color:var(--dg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.dg-icon-btn:hover{background:var(--accent-soft);color:var(--dg-accent);border-color:var(--accent-soft)}.dg-card-body{flex-direction:column;flex:1;gap:14px;padding:18px 18px 16px;display:flex}.dg-name{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:-.01em;color:var(--dg-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding-right:.18em;font-size:26px;font-weight:600;line-height:1.05;display:-webkit-box;overflow:hidden}.dg-desc{color:var(--dg-muted);letter-spacing:.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:-8px 0 0;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.dg-desc.is-empty{color:var(--dg-muted-2);font-style:italic}.dg-metric{background:var(--accent-soft);border:1px solid var(--accent-soft);cursor:pointer;border-radius:12px;align-items:stretch;gap:14px;padding:14px;transition:background .18s,border-color .18s,transform .18s;display:flex;position:relative}.dg-metric:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.dg-metric:hover .dg-metric-overlay{opacity:1}.dg-metric-overlay{background:var(--dg-accent);color:var(--accent-contrast);font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;box-shadow:var(--shadow-1);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:9.5px;font-weight:600;transition:opacity .18s;display:inline-flex;position:absolute;top:8px;right:8px}.dg-metric-overlay .icon{font-size:11px!important}.dg-num-block{background:var(--surface);border:1px solid var(--accent-soft);width:64px;box-shadow:var(--shadow-1);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:6px 0 4px;display:flex}.dg-num{font-family:var(--font-sans),system-ui,sans-serif;color:var(--dg-accent);letter-spacing:-.02em;font-size:32px;font-weight:400;line-height:1}.dg-num-label{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--dg-muted);margin-top:2px;font-size:8.5px}.dg-device-info{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.dg-device-row{align-items:center;gap:4px;display:flex}.dg-tv-icon{background:linear-gradient(180deg,var(--accent)0%,var(--accent-strong)100%);border:1px solid var(--accent-soft);width:22px;height:18px;box-shadow:0 0 0 1px var(--surface);border-radius:3px;position:relative}.dg-tv-icon:before{content:"";background:#ffffff2e;border-radius:1.5px;position:absolute;inset:2px}.dg-tv-icon:after{content:"";background:var(--accent);border-radius:1px;width:6px;height:1.5px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.dg-tv-extra{height:18px;font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.04em;color:var(--dg-accent);background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:4px;align-items:center;padding:0 6px;font-size:9.5px;font-weight:600;display:inline-flex}.dg-device-names{color:var(--dg-muted);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.dg-device-names.is-empty{color:var(--dg-muted-2);font-style:italic}.dg-schedule{border:1px solid var(--dg-line);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.dg-schedule.empty{text-align:center;color:var(--dg-muted);background:0 0;border-style:dashed;justify-content:center;align-items:center;gap:4px;padding:18px 14px}.dg-schedule.empty .icon{background:var(--accent-soft);border:1px solid var(--accent-soft);width:36px;height:36px;color:var(--dg-accent);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.dg-schedule.empty .icon .MuiSvgIcon-root{font-size:18px}.dg-schedule.empty .empty-title{font-family:var(--font-sans),system-ui,sans-serif;color:var(--dg-ink);letter-spacing:-.005em;font-size:16px;font-weight:600}.dg-schedule.empty .empty-sub{color:var(--dg-muted-2);font-size:11.5px}.dg-sched-eyebrow{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:9.5px;display:flex}.dg-sched-eyebrow .label{color:var(--dg-accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.dg-sched-eyebrow .more{color:var(--dg-muted)}.dg-now{align-items:center;gap:10px;min-width:0;display:flex}.dg-now-thumb{color:#fff;width:48px;height:48px;font-family:var(--font-sans),system-ui,sans-serif;border:1px solid var(--accent-soft);background:linear-gradient(135deg,#0a1628 0%,#03758c 100%);border-radius:8px;flex-shrink:0;place-items:center;font-size:22px;font-weight:600;display:grid;overflow:hidden}.dg-now-thumb img,.dg-now-thumb video{object-fit:cover;width:100%;height:100%}.dg-now-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dg-now-name{color:var(--dg-ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.dg-now-summary{color:var(--dg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.dg-sched-count-line{border:1px solid var(--dg-line);background:var(--accent-soft);color:var(--dg-muted);letter-spacing:.01em;border-radius:10px;align-items:center;gap:8px;padding:12px 14px;font-size:12.5px;display:flex}.dg-sched-count-line .icon{color:var(--dg-accent);flex-shrink:0;font-size:16px!important}.dg-sched-count-line strong{color:var(--dg-ink);font-weight:700;font-family:var(--font-mono),"IBM Plex Mono",monospace;margin-right:2px;font-size:13px}.dg-schedule-skeleton{background:linear-gradient(90deg,var(--surface-2)0%,var(--border)50%,var(--surface-2)100%);background-size:200% 100%;border-radius:8px;height:64px;animation:1.4s ease-in-out infinite dg-shimmer}@keyframes dg-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dg-card-actions{border-top:1px solid var(--dg-line);background:var(--surface);gap:8px;padding:12px 14px 14px;display:flex}.dg-cta-primary{border:1px solid var(--accent);background:linear-gradient(180deg,var(--accent)0%,var(--accent-strong)100%);height:38px;color:var(--accent-contrast);letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-1);white-space:nowrap;border-radius:9px;flex:1.4;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:filter .14s,transform .14s,box-shadow .14s;display:inline-flex}.dg-cta-primary:hover{filter:brightness(1.1);box-shadow:var(--shadow-2);transform:translateY(-1px)}.dg-cta-primary:active{transform:translateY(0)scale(.98)}.dg-cta-primary .icon{font-size:16px!important}.dg-cta-secondary{border:1px solid var(--dg-line);background:var(--surface);height:38px;color:var(--dg-ink);letter-spacing:.01em;cursor:pointer;white-space:nowrap;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12.5px;font-weight:500;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.dg-cta-secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--dg-accent)}.dg-cta-secondary .icon{font-size:15px!important}.dg-cta-secondary .badge{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.04em;background:var(--accent-soft);color:var(--dg-accent);border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600}.dg-empty{text-align:center;border:1px dashed var(--dg-line);background:var(--surface);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.dg-empty .title{font-family:var(--font-sans),system-ui,sans-serif;color:var(--dg-ink);font-size:22px;font-weight:600}.dg-empty .subtitle{color:var(--dg-muted);font-size:13px}.dg-card-skeleton{background:linear-gradient(180deg,var(--surface-2)0%,var(--border)100%);background-size:200% 100%;border-radius:16px;height:360px;animation:1.6s ease-in-out infinite dg-shimmer}.dg-pager{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.06em;color:var(--dg-muted);justify-content:center;align-items:center;gap:8px;margin-top:18px;font-size:11px;display:flex}.dg-pager button{border:1px solid var(--dg-line);background:var(--surface);height:30px;color:var(--dg-ink);letter-spacing:.04em;cursor:pointer;border-radius:7px;padding:0 12px;font-family:inherit;font-size:11px;transition:background .14s,border-color .14s}.dg-pager button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.dg-pager button:disabled{opacity:.4;cursor:default}.dg-sched-view{background:var(--surface);border:1px solid var(--dg-line);min-height:calc(100% - 36px);box-shadow:var(--shadow-1);font-family:var(--font-sans),"IBM Plex Sans",system-ui,sans-serif;color:var(--dg-ink);box-sizing:border-box;border-radius:12px;margin:16px;padding:22px 24px 28px}.dg-sched-meta{background:var(--accent-soft);border:1px solid var(--dg-line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:18px;padding:14px 18px;display:flex}.dg-sched-meta .label{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--dg-muted);margin-right:6px;font-size:9.5px}.dg-sched-meta .value{color:var(--dg-ink);font-size:13px;font-weight:500}.dg-sched-meta .pipe{background:var(--dg-line);width:1px;height:18px}.dg-sched-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.dg-sched-grid.is-portrait{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.dg-sched-card{background:var(--surface);border:1px solid var(--accent-soft);box-shadow:var(--shadow-1);border-radius:14px;flex-direction:column;transition:box-shadow .22s,transform .22s,border-color .22s;display:flex;position:relative;overflow:hidden}.dg-sched-card:before{content:"";background:linear-gradient(90deg,var(--accent)0%,#6dd4eb 100%);z-index:1;height:3px;position:absolute;inset:0 0 auto}.dg-sched-card:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-3px)}.dg-sched-card-thumb{aspect-ratio:16/9;cursor:pointer;border-bottom:1px solid var(--accent-soft);background:linear-gradient(135deg,#0a1628 0%,#03758c 100%);width:100%;position:relative;overflow:hidden}.dg-sched-card-thumb.is-portrait{aspect-ratio:9/16}.dg-sched-card-thumb:after{content:"";pointer-events:none;z-index:1;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #03758c24}.dg-sched-card-thumb img,.dg-sched-card-thumb video{object-fit:cover;width:100%;height:100%;display:block}.dg-thumb-skel{background:linear-gradient(90deg,#0a16280a 0%,#0a16281a 50%,#0a16280a 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite dg-shimmer;position:absolute;inset:0}.dg-sched-card-thumb .fallback{color:#fff;font-family:var(--font-sans),system-ui,sans-serif;background:linear-gradient(135deg,#0a1628 0%,#03758c 100%);place-items:center;font-size:32px;font-weight:600;display:grid;position:absolute;inset:0}.dg-sched-card-body{background:var(--surface);flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex}.dg-sched-card-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.dg-sched-name{font-family:var(--font-sans),system-ui,sans-serif;color:var(--dg-ink);letter-spacing:-.005em;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;padding-right:.18em;font-size:18px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.dg-sched-status{height:22px;font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:0 9px;font-size:9.5px;font-weight:500;display:inline-flex}.dg-sched-status.always{background:var(--accent-soft);color:var(--dg-accent);border:1px solid var(--accent-soft)}.dg-sched-status.scheduled{color:var(--dg-success);background:#22c55e1a;border:1px solid #22c55e4d}.dg-sched-status.expired{color:#b91c1c;background:#ef44441a;border:1px solid #ef44444d}.dg-sched-summary{color:var(--dg-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.dg-sched-summary .icon{color:var(--dg-accent);font-size:15px!important}.dg-sched-window{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.06em;color:var(--dg-muted-2);font-size:10.5px}.dg-sched-card-actions{border-top:1px solid var(--dg-line);background:var(--accent-soft);gap:8px;padding:12px 14px 14px;display:flex}.dg-sched-card-actions button{letter-spacing:.01em;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;transition:filter .14s,transform .14s,background .14s,border-color .14s,box-shadow .14s;display:inline-flex}.dg-sched-card-actions .playlist,.dg-sched-card-actions .edit{flex:1;min-width:0}.dg-sched-card-actions .delete{flex:0 0 36px;width:36px;padding:0}.dg-sched-card-actions button:active{transform:translateY(0)scale(.98)}.dg-sched-card-actions .playlist{background:var(--accent-soft);color:var(--dg-accent);border:1px solid var(--accent-soft)}.dg-sched-card-actions .playlist:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.dg-sched-card-actions .edit{background:linear-gradient(180deg,var(--accent)0%,var(--accent-strong)100%);color:var(--accent-contrast);border:1px solid var(--accent);box-shadow:var(--shadow-1)}.dg-sched-card-actions .edit:hover{filter:brightness(1.1);box-shadow:var(--shadow-2);transform:translateY(-1px)}.dg-sched-card-actions .delete{color:#b91c1c;background:#dc26260f;border:1px solid #dc262652}.dg-sched-card-actions .delete:hover{color:#991b1b;background:#dc26261f;border-color:#dc262680;transform:translateY(-1px)}.dg-sched-empty{text-align:center;border:1px dashed var(--dg-line);background:var(--surface);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;display:flex}.dg-sched-empty .icon{background:var(--accent-soft);border:1px solid var(--accent-soft);width:56px;height:56px;color:var(--dg-accent);border-radius:50%;place-items:center;display:grid}.dg-sched-empty .icon .MuiSvgIcon-root{font-size:28px}.dg-sched-empty .title{font-family:var(--font-sans),system-ui,sans-serif;color:var(--dg-ink);font-size:22px;font-weight:600}.dg-sched-empty .subtitle{color:var(--dg-muted);font-size:13px}.dg-assign-dialog{font-family:var(--font-sans),"IBM Plex Sans",system-ui,sans-serif;flex-direction:column;width:100%;min-height:420px;max-height:70vh;display:flex}.dg-assign-head{border-bottom:1px solid var(--dg-line);flex-direction:column;gap:8px;padding:14px 18px;display:flex}.dg-assign-eyebrow{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--dg-muted);font-size:9.5px}.dg-assign-title{font-family:var(--font-sans),system-ui,sans-serif;color:var(--dg-ink);letter-spacing:-.005em;font-size:22px;font-weight:600;line-height:1.1}.dg-assign-search{margin-top:6px;position:relative}.dg-assign-search input{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:40px;color:var(--dg-ink);box-shadow:var(--shadow-1);border-radius:9px;padding:0 14px 0 38px;font-family:inherit;font-size:13px;transition:border-color .16s,box-shadow .16s}.dg-assign-search input::placeholder{color:var(--dg-muted-2)}.dg-assign-search input:hover{border-color:var(--accent)}.dg-assign-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.dg-assign-search .icon{color:var(--dg-muted-2);position:absolute;top:50%;left:11px;transform:translateY(-50%);font-size:16px!important}.dg-assign-list{background:var(--surface-2);border-bottom:1px solid var(--dg-line);flex:1;padding:8px;overflow-y:auto}.dg-assign-row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:9px 12px;transition:background .14s;display:flex}.dg-assign-row:hover{background:var(--accent-soft)}.dg-assign-row.checked{background:var(--accent-soft);border-color:var(--accent-soft)}.dg-assign-row .check{border:1.5px solid var(--border-strong);background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-1);border-radius:6px;flex-shrink:0;place-items:center;transition:all .14s;display:grid}.dg-assign-row:hover .check{border-color:var(--dg-accent)}.dg-assign-row.checked .check{background:var(--dg-accent);border-color:var(--dg-accent);color:var(--accent-contrast);box-shadow:0 0 0 3px var(--accent-soft)}.dg-assign-row.checked .check .MuiSvgIcon-root{font-size:16px}.dg-assign-row .device-icon{background:linear-gradient(135deg,var(--accent)0%,var(--accent-strong)100%);width:28px;height:28px;color:var(--accent-contrast);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.dg-assign-row .device-icon .MuiSvgIcon-root{font-size:16px}.dg-assign-row .name{color:var(--dg-ink);flex:1;font-size:13px;font-weight:500}.dg-assign-empty{text-align:center;color:var(--dg-muted);padding:36px 16px;font-size:13px;font-style:italic}.dg-assign-foot{background:var(--surface);align-items:center;gap:12px;padding:14px 18px;display:flex}.dg-assign-summary{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--dg-muted);flex:1;font-size:11px}.dg-assign-summary strong{color:var(--dg-accent);margin-right:2px;font-weight:700}.dg-assign-foot button{cursor:pointer;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 16px;font-family:inherit;font-size:12.5px;font-weight:600;transition:filter .14s,transform .14s,background .14s,border-color .14s,color .14s;display:inline-flex}.dg-assign-foot .cancel{border:1px solid var(--dg-line);color:var(--dg-ink);background:0 0}.dg-assign-foot .cancel:hover{background:var(--surface-2)}.dg-assign-foot .save{border:1px solid var(--accent);background:linear-gradient(180deg,var(--accent)0%,var(--accent-strong)100%);color:var(--accent-contrast);box-shadow:var(--shadow-1)}.dg-assign-foot .save:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.dg-assign-foot .save:disabled{opacity:.55;cursor:default}@media (max-width:600px){.dg-grid{grid-template-columns:1fr;gap:14px}.dg-name{font-size:22px}}
.sf-shell{--sf-ink:var(--text);--sf-accent:var(--accent);--sf-accent-soft:var(--accent-soft);--sf-line:var(--border);--sf-muted:var(--text-dim);--sf-muted-2:var(--text-faint);--sf-success:#16a34a;font-family:var(--font-sans),"IBM Plex Sans",system-ui,sans-serif;color:var(--sf-ink);grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:22px;padding:22px 24px;display:grid}@media (max-width:1024px){.sf-shell{grid-template-columns:1fr}}.sf-sections{flex-direction:column;gap:18px;min-width:0;display:flex}.sf-section{background:var(--surface);border:1px solid var(--sf-line);box-shadow:0 1px 2px var(--shadow-1),0 8px 24px -16px var(--shadow-2);border-radius:14px;padding:18px 20px 16px}.sf-section-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.sf-section-num{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.16em;color:var(--sf-accent);background:var(--accent-soft);border:1px solid var(--accent-soft);text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:3px 9px 3px 8px;font-size:10px;font-weight:600}.sf-section-label{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--sf-ink);font-size:11px;font-weight:600}.sf-section-title{font-family:var(--font-sans),system-ui,sans-serif;color:var(--sf-ink);letter-spacing:-.01em;flex:1;padding-right:.18em;font-size:18px;font-weight:600}.sf-section-rule{background:linear-gradient(90deg,var(--sf-line)0%,transparent 100%);flex:1;height:1px}.sf-section-body{flex-direction:column;gap:12px;display:flex}.sf-section-hint{color:var(--sf-muted);letter-spacing:.01em;margin:-6px 0 4px;font-size:11.5px}.sf-preview{background:var(--surface);border:1px solid var(--sf-line);box-shadow:0 1px 2px var(--shadow-1),0 12px 32px -16px var(--shadow-2);border-radius:14px;position:sticky;top:0;overflow:hidden}.sf-preview-eyebrow{background:linear-gradient(180deg,var(--accent-soft)0%,transparent 100%);border-bottom:1px solid var(--sf-line);font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--sf-accent);align-items:center;gap:10px;padding:10px 14px;font-size:9.5px;font-weight:600;display:flex}.sf-preview-eyebrow .pulse{background:var(--sf-accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;animation:2.4s ease-in-out infinite sf-pulse}@keyframes sf-pulse{0%,to{opacity:1}50%{opacity:.45}}.sf-preview-stage{aspect-ratio:16/9;background:#0a1628;width:100%;position:relative;overflow:hidden}.sf-preview-stage.is-portrait{aspect-ratio:9/16;background:#0a1628;max-width:60%;margin:0 auto}.sf-preview-skel{background:linear-gradient(90deg,#ffffff0d 0%,#ffffff1f 50%,#ffffff0d 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite sf-shimmer;position:absolute;inset:0}@keyframes sf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sf-preview-empty{color:#ffffff8c;background:linear-gradient(#0a1628 0%,#03758c 100%);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.sf-preview-empty .icon{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.sf-preview-empty .icon .MuiSvgIcon-root{font-size:22px}.sf-preview-empty-title{font-family:var(--font-sans),system-ui,sans-serif;color:#fff;letter-spacing:-.005em;font-size:16px;font-weight:600}.sf-preview-empty-sub{letter-spacing:.02em;font-size:11px}.sf-preview-badge{color:#fff;height:22px;font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.14em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1628d1;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:9.5px;font-weight:600;display:inline-flex;position:absolute;top:10px;right:10px}.sf-preview-dots{z-index:2;gap:4px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.sf-preview-dots .dot{background:#ffffff73;border-radius:50%;width:5px;height:5px;transition:background .16s,transform .16s}.sf-preview-dots .dot.active{background:#fff;transform:scale(1.4)}.sf-preview-body{flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.sf-preview-name{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:-.01em;color:var(--sf-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:.18em;font-size:22px;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.sf-preview-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sf-stat{border:1px solid var(--sf-line);background:var(--surface-2);border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.sf-stat .icon{color:var(--sf-accent);flex-shrink:0;font-size:16px!important}.sf-stat .label{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--sf-muted);font-size:9px;display:block}.sf-stat .value{color:var(--sf-ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.sf-preview-orient{font-family:var(--font-mono),"IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--sf-muted);align-items:center;gap:6px;margin-top:2px;font-size:10px;display:inline-flex}.sf-preview-orient .icon{color:var(--sf-accent);font-size:13px!important}.sf-day-actions{align-items:center;gap:8px;display:inline-flex}.sf-btn{letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 14px;font-family:inherit;font-size:12.5px;font-weight:600;transition:filter .14s,transform .14s,background .14s,color .14s,border-color .14s,box-shadow .14s;display:inline-flex}.sf-btn:active{transform:translateY(0)scale(.98)}.sf-btn .MuiSvgIcon-root{font-size:16px}.sf-btn-primary{background:linear-gradient(180deg,var(--accent)0%,var(--accent-strong)100%);color:var(--accent-contrast);border-color:var(--accent-soft);box-shadow:0 6px 16px -8px var(--shadow-2)}.sf-btn-primary:hover{filter:brightness(1.1);box-shadow:0 10px 22px -8px var(--shadow-2);transform:translateY(-1px)}.sf-btn-ghost-danger{color:#b91c1c;background:#dc26260f;border-color:#dc262647}.sf-btn-ghost-danger:hover{color:#991b1b;background:#dc26261f;border-color:#dc262673}
