.portal-workspace{max-width:1180px;margin:0 auto;display:grid;gap:24px;min-width:0}.portal-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:10px 0 8px}.portal-heading h1{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.035em;margin:10px 0 14px}.portal-heading p{max-width:720px;color:#a8b4c9;line-height:1.7;margin-bottom:0}.portal-heading>.btn{flex-shrink:0}.portal-workspace .card{min-width:0;margin:0;padding:26px}.portal-stack,.portal-settings-form{display:grid;gap:24px}.portal-workspace h2{font-size:22px;margin:0 0 14px;letter-spacing:-.02em}.portal-pill{display:inline-flex;padding:6px 10px;border:1px solid #6972aa50;background:#7b66ff12;border-radius:10px;color:#c5b9f7;font-size:12px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.portal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.portal-actions form{margin:0}.portal-inline{display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-inline h2{margin:8px 0}.portal-form{display:grid;gap:20px}.portal-form label,.portal-year label{display:grid;gap:9px;color:#cad1e2;font-size:14px}.portal-form input,.portal-form select,.portal-form textarea,.portal-year input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;background:#0d1422;border:1px solid #33405a;border-radius:12px;padding:13px 14px;color:#eef0fb;font:inherit}.portal-form textarea{resize:vertical;min-height:96px}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{outline:2px solid #8c76ff;outline-offset:2px}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-form .portal-checkbox,.portal-checks label{display:flex;align-items:flex-start;gap:12px;line-height:1.6}.portal-form input[type=checkbox],.portal-checks input,.home-order input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#8868ff;margin-top:2px}.portal-checks{display:grid;gap:16px;margin-top:20px}.home-order{display:grid;gap:10px}.home-order-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0d142270;padding:14px;border:1px solid #34415980;border-radius:13px}.home-order-row label{display:flex;align-items:center;gap:10px;font-size:14px}.home-order-row>div{display:flex;gap:5px;flex-shrink:0}.home-order-row .btn{padding:6px 12px;min-width:38px;min-height:38px}.home-order-row:first-child [data-move=up],.home-order-row:last-child [data-move=down]{opacity:.35}.portal-device{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid #33405a;gap:12px}.portal-device small,.ledger-rows small,.household-members small{display:block;color:#9eaec4;font-size:13px;line-height:1.7;margin-top:4px}.watch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.watch-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;padding:20px;background:linear-gradient(135deg,#1c263a,#121b2b);border:1px solid #35415a;border-radius:22px;min-width:0}.watch-card h2{font-size:20px;line-height:1.35;margin:10px 0 12px;overflow-wrap:anywhere}.watch-card h2 a{text-decoration:none;color:#eef0fb}.watch-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;overflow:hidden;border-radius:12px;background:#26314b;color:#a5afc5;text-decoration:none;align-self:start}.watch-cover img{display:block;width:100%;height:100%;object-fit:cover}.watch-card .btn{padding:9px 12px;font-size:12px;min-height:38px}.portal-empty{grid-column:1/-1}.personal-shelves{min-width:0;margin:10px 0 26px;display:grid;gap:16px}.personal-shelves .section-heading{margin-bottom:0}.personal-shelves .section-heading a{color:#c4b4ff;font-size:14px;white-space:nowrap}.personal-group h3{font-size:18px;margin:0 0 14px}.personal-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:160px;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 14px;scrollbar-width:thin;scrollbar-color:#7562b8 #121a2a}.personal-card{min-width:0}.personal-card>a{display:block;text-decoration:none;color:#eef0fb}.personal-card img,.personal-card .poster-fallback{width:100%;aspect-ratio:2/3;object-fit:cover;background:#202b42;border-radius:12px}.personal-card .poster-fallback{display:flex;align-items:center;justify-content:center;color:#a7b5cb}.personal-card strong{display:block;font-size:14px;line-height:1.5;margin-top:10px}.personal-card progress{width:100%;height:5px;accent-color:#9274ff;margin-top:8px}.personal-card .btn{margin-top:9px;font-size:12px;padding:8px 12px;min-height:36px;display:block;text-align:center}.personal-shelves [hidden]{display:none!important}.portal-device [hidden]{display:none}.household-members{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.household-members article{display:flex;gap:14px;align-items:center;padding:18px;background:#0b142266;border:1px solid #34415970;border-radius:14px;min-width:0;overflow-wrap:anywhere}.portal-avatar{width:42px;height:42px;background:#7c64ff25;border:1px solid #8b76ff55;display:grid;place-items:center;border-radius:14px;color:#d4c9ff;font-weight:700;flex-shrink:0}.portal-request{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid #344159}.portal-request strong{display:block;margin-bottom:10px}.portal-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.portal-stat-grid article{background:linear-gradient(130deg,#242441,#162332)}.portal-stat-grid span{display:block;color:#a7b2ca;font-size:14px;margin-bottom:14px}.portal-stat-grid strong{display:block;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em;overflow-wrap:anywhere}.portal-stat-grid .portal-date{font-size:25px}.ledger-rows{display:grid;gap:0}.ledger-rows>article{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 0;border-top:1px solid #33405a}.ledger-rows>article:first-child{border-top:0}.ledger-rows strong{display:block;font-size:15px;overflow-wrap:anywhere}.ledger-rows b{white-space:nowrap;font-size:17px}.ledger-rows a{font-size:13px;color:#c5b6ff}.ledger-rows .btn{white-space:normal;color:#eff1fa}.amount-positive{color:#8ad8bd}.amount-negative{color:#f5abb7}.cash-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.cash-months article{padding:18px;background:#101a2d;border:1px solid #33405a;border-radius:15px}.cash-months h3{font-size:17px;color:#d2c5ff;margin:0 0 18px}.cash-months dl{margin:0;display:grid;gap:10px;font-size:13px}.cash-months dl>div{display:flex;justify-content:space-between;gap:10px}.cash-months dt{color:#aab5ca}.cash-months dd{margin:0;white-space:nowrap}.cash-result{padding-top:12px;border-top:1px solid #33405a;font-weight:700}.portal-year{display:flex;align-items:end;gap:12px}.portal-year input{max-width:150px}.portal-year label{font-size:12px}.catalog-portal-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0}.catalog-portal-actions form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.catalog-portal-actions label{display:flex;gap:8px;align-items:center;font-size:13px}.catalog-portal-actions input{accent-color:#9170ff}.download-panel{padding:20px;border:1px solid #6572a250;border-radius:16px;background:#151e3080;margin:16px 0}.download-panel h3{font-size:16px;margin:0 0 10px}.download-panel p{font-size:14px;line-height:1.7}.download-panel progress{width:100%;accent-color:#9470ff}.issue-context{padding:18px 22px;border:1px solid #7466a76b;border-radius:16px;background:#7762f812;margin:16px 0 24px;line-height:1.7}.issue-context .portal-actions{margin-top:12px}.portal-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.portal-shortcuts a{color:#c7b9ff;text-decoration:none;font-size:13px;border:1px solid #52608088;border-radius:10px;padding:9px 13px}.home-customize-link{font-size:13px;color:#c4b4ff;margin-top:16px;display:inline-block}.portal-workspace p{line-height:1.7}.portal-workspace .btn{max-width:100%;white-space:normal}.portal-workspace form{min-width:0}.portal-settings-form>.btn{justify-self:start}.portal-settings-form .card{display:grid;gap:14px}.portal-settings-form h2,.portal-settings-form p{margin:0}.portal-workspace [hidden]{display:none!important}
@media(max-width:1000px){.watch-grid{grid-template-columns:1fr}.cash-months{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-heading{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:560px){.portal-workspace{gap:18px}.portal-workspace .card{padding:20px}.portal-form-grid,.household-members{grid-template-columns:1fr}.watch-card{grid-template-columns:86px minmax(0,1fr);gap:15px;padding:16px;border-radius:18px}.watch-card h2{font-size:18px}.watch-card .portal-actions{gap:8px;margin-top:14px}.portal-inline{flex-wrap:wrap;gap:12px}.portal-heading p{font-size:14px}.home-order-row{padding:12px 10px;gap:7px}.home-order-row label{font-size:12px;gap:7px}.home-order-row .btn{padding:5px 9px;min-width:32px}.personal-shelf{grid-auto-columns:135px;gap:14px}.portal-stat-grid{grid-template-columns:1fr}.portal-stat-grid article{padding:20px}.portal-stat-grid strong{font-size:28px}.cash-months{grid-template-columns:1fr}.ledger-rows>article{gap:12px}.ledger-rows b{font-size:14px}.ledger-rows .btn{padding:8px 10px;font-size:12px;min-width:100px}.portal-request{flex-wrap:wrap}.portal-form>.btn{width:100%}.catalog-portal-actions,.catalog-portal-actions form{align-items:stretch;flex-direction:column}.portal-workspace .portal-actions .btn{font-size:13px}.issue-context{padding:16px}.portal-empty h2{font-size:20px}}

.request-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:16px 0 20px;counter-reset:stage}.request-timeline li{counter-increment:stage;padding:9px;border:1px solid #34435a;border-radius:9px;color:#8fa0ba;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.request-timeline li:before{content:counter(stage) ' · ';font-weight:700}.request-timeline .is-current{background:#8964ff24;border-color:#a28aff;color:#e1d7ff}

.cash-month{align-self:start;background:#101a2d;border:1px solid #33405a;border-radius:12px;overflow:hidden}.cash-month>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;cursor:pointer;color:#c6b8fa;font-size:14px;list-style:none}.cash-month>summary:after{content:'+';color:#9e93bf;margin-left:4px}.cash-month[open]>summary:after{content:'−'}.cash-month>summary strong{margin-left:auto;font-size:14px;color:#e5e9f3;white-space:nowrap}.cash-month dl{padding:0 16px 18px}.cash-month>summary::-webkit-details-marker{display:none}.ledger-start-picker{margin-top:18px;border-top:1px solid #344159;padding-top:18px}.ledger-start-picker>summary{cursor:pointer;color:#c9baff;font-size:14px}.ledger-start-picker .portal-form{margin-top:20px}

/* Live realization: motion represents activity, never a fabricated percentage. */
.download-panel{padding:24px;border-color:#685a9d70;background:linear-gradient(135deg,#212039a0,#111c2db0);overflow:hidden;min-width:0}
.download-panel__heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:24px}.download-panel__heading h3{font-size:18px;margin:0}.download-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#a9b6cd;white-space:nowrap}.download-live i{width:6px;height:6px;border-radius:50%;background:#8a76c9}
.download-summary{display:flex;align-items:center;gap:12px;min-width:0}.download-summary strong{font-size:19px;line-height:1.45;flex:1;min-width:0}.download-summary b{color:#bdadff;font-size:27px;letter-spacing:-.04em;white-space:nowrap}.download-activity{width:28px;height:28px;flex:0 0 28px;border:2px solid #5c5280;border-top-color:#bca6ff;border-radius:50%;display:none}
.download-is-active .download-activity{display:block;animation:download-spin 1.25s linear infinite}.download-is-active .download-live i{background:#6ce2c0;animation:download-pulse 1.8s ease-in-out infinite}.download-panel progress{height:10px;border:0;border-radius:10px;overflow:hidden;background:#333b55;margin:18px 0 4px;display:block}.download-panel progress::-webkit-progress-bar{background:#333b55;border-radius:10px}.download-panel progress::-webkit-progress-value{background:linear-gradient(90deg,#825aff,#40d5ef);border-radius:10px;transition:width .5s ease}.download-panel progress::-moz-progress-bar{background:linear-gradient(90deg,#825aff,#40d5ef);border-radius:10px}.download-panel progress[hidden]{display:none!important}.download-panel [data-progress-note]{color:#aab6cb;font-size:13px;margin:14px 0}
.download-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #45516c70}.download-panel__footer small{color:#9daac2;font-size:11px;line-height:1.6}.download-panel__footer .btn{padding:8px 12px;min-height:36px;font-size:12px;flex-shrink:0}.download-panel .request-timeline{margin:16px 0 0}.badge-downloading{background:#00c4a919;color:#86e3cd;border-color:#42b6a166}.badge-downloading:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:6px;animation:download-pulse 1.8s ease-in-out infinite}
@keyframes download-spin{to{transform:rotate(360deg)}}@keyframes download-pulse{50%{opacity:.35}}
@media(max-width:480px){.download-panel{padding:18px}.download-summary{flex-wrap:wrap;gap:10px}.download-summary strong{font-size:16px}.download-summary b{font-size:24px}.download-panel__heading h3{font-size:16px}.download-panel .request-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.download-panel__footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.download-is-active .download-activity,.download-is-active .download-live i,.badge-downloading:before{animation:none}.download-panel progress::-webkit-progress-value{transition:none}}
.download-panel__footer .btn{width:auto;flex:0 0 auto}.download-panel__footer small{min-width:0;flex:1}.media-detail__status .media-badge.badge-downloading,.request-record .media-badge.badge-downloading{background:#00c4a919;color:#86e3cd;border-color:#42b6a166}
