:root{--bg:#080b12;--panel:#101620;--panel2:#141c28;--line:#242e3d;--text:#edf2f8;--muted:#8f9bac;--accent:#f1a8be;--accent2:#8ba8ff;--ok:#72d2a5;--bad:#ff8c92;--gold:#eac18d}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{background:radial-gradient(circle at 85% -10%,#263151 0,transparent 28%),radial-gradient(circle at 0 15%,#49243a55 0,transparent 24%),#080b12}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.55}.error{color:var(--bad);margin-top:12px;min-height:20px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#b7c2d0}.wrap{white-space:normal;min-width:220px}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);background:linear-gradient(155deg,#151d29eF,#0d121aeF);border:1px solid #2a3444;border-radius:28px;padding:31px;box-shadow:0 35px 100px #0008;backdrop-filter:blur(20px)}.brand{font-size:11px;letter-spacing:.18em;color:#d5b5c1;font-weight:850;display:flex;align-items:center;gap:8px}.brand-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent2));box-shadow:0 0 18px var(--accent)}.login-card h1{font-size:34px;letter-spacing:-.04em;margin:13px 0 8px}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.field label{font-size:12px;color:#9da8b8;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid #2b3647;background:#0d131c;color:var(--text);border-radius:14px;padding:13px 14px;outline:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6e7d96;box-shadow:0 0 0 4px #7185a512}.field textarea{min-height:120px;resize:vertical}.check{display:flex;align-items:center;gap:9px;color:#c2cbd8;margin:12px 0}.check input{width:18px;height:18px;accent-color:#d993ad}.btn{border:1px solid transparent;border-radius:12px;padding:10px 14px;font-weight:760;color:var(--text);background:#1a2330}.btn.primary{background:linear-gradient(135deg,#e99eb9,#8fa9ff);color:#0c0e14;box-shadow:0 10px 28px #d78ca627}.btn.ghost{background:#131b26;border-color:#2a3443}.btn.danger{background:#341b22;border-color:#61303c;color:#ffb9be}.btn.small{padding:7px 10px;font-size:12px}.btn:disabled{opacity:.5}.actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap}.form-actions{margin-top:16px}
.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.side{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid #1f2835;background:#0b1018d9;backdrop-filter:blur(20px);z-index:5}.side-brand{display:flex;align-items:center;gap:12px;padding:6px 7px 21px}.side-mark{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;background:linear-gradient(145deg,#f0acc0,#89a5ff);color:#0b0d12;box-shadow:0 10px 25px #d69bb52e}.side h2{margin:0;font-size:16px;letter-spacing:.14em}.side small{font-size:9px;letter-spacing:.16em;color:#778398}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;border-radius:12px;text-align:left;padding:11px 12px;background:transparent;color:#929eaf;font-weight:680;transition:.16s}.nav button:hover{background:#131b26;color:#d9e1eb}.nav button.active{background:linear-gradient(90deg,#f1a8be18,#8aa7ff16);color:#fff;box-shadow:inset 3px 0 #e7a4ba}.main{padding:28px 31px 70px;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.top h1{font-size:34px;letter-spacing:-.04em;margin:3px 0 0}.status{font-size:10px;letter-spacing:.22em;color:#c396a7;font-weight:850}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.card{position:relative;overflow:hidden;background:linear-gradient(145deg,#141d29,#0f151f);border:1px solid #253041;border-radius:20px;padding:19px;min-height:110px;box-shadow:0 18px 45px #0003;animation:metricIn .45s ease both}.card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-35px;background:#bca4ff12;filter:blur(2px)}.card:nth-child(2):before{background:#f5a6c51c}.card:nth-child(3):before{background:#88d5ad18}.card:nth-child(4):before{background:#efc88c16}@keyframes metricIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card .label{color:#8f9baa;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:760}.card .num{font-size:34px;font-weight:780;margin-top:8px;letter-spacing:-.04em}.section{background:linear-gradient(155deg,#111925eF,#0e141deF);border:1px solid #222d3c;border-radius:22px;padding:20px;margin-top:17px;box-shadow:0 18px 50px #0002}.section h2{margin:0;font-size:20px;letter-spacing:-.02em}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.table-wrap{overflow:auto;border:1px solid #202a38;border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;border-bottom:1px solid #1e2835;text-align:left;vertical-align:top}.table th{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8490a0;background:#0d131c;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;border:1px solid #344156;border-radius:999px;padding:4px 8px;font-size:10px;color:#b9c5d3;background:#121a25}.pill.ok{border-color:#315c4a;color:#8cdfb4}.pill.bad{border-color:#65363e;color:#ff9ea6}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.notice,.upload-box{border:1px solid #2a3545;background:#0e151f;border-radius:15px;padding:14px;margin-top:14px}.empty{padding:28px;border:1px dashed #2e3949;border-radius:16px;color:#7f8a99;text-align:center}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.quick-action{border:1px solid #273244;background:linear-gradient(145deg,#121b27,#0d141e);border-radius:17px;padding:16px;color:#e7edf4;text-align:left}.quick-action strong{display:block;font-size:15px;margin-bottom:4px}.quick-action span{font-size:12px;color:#8390a0}.quick-action:hover{border-color:#46536a;transform:translateY(-1px)}
.session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px}.session-card{position:relative;overflow:hidden;border:1px solid #273244;background:linear-gradient(145deg,#151e2b,#0d141e);border-radius:21px;padding:16px;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.session-card:hover{transform:translateY(-3px);border-color:#526077;box-shadow:0 18px 45px #0004}.session-person{display:flex;align-items:center;gap:13px}.avatar{width:68px;height:68px;flex:none;border-radius:19px;background:linear-gradient(145deg,#293445,#151d29);border:1px solid #354257;display:grid;place-items:center;color:#9ca8b7;font-size:25px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.session-title{min-width:0}.session-title strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-title span{display:block;color:#8c98a8;font-size:11px;margin-top:4px}.session-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.meta-box{background:#0c121b;border:1px solid #1f2937;border-radius:12px;padding:9px}.meta-box b{display:block;font-size:10px;color:#748194;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.meta-box span{font-size:11px;color:#c5ced9}.session-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:8px}.session-id{font-family:ui-monospace,monospace;color:#687587;font-size:10px}.session-open{font-size:10px;color:#e8b2c3;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:14px}.media{border:1px solid #273244;background:#0e151f;border-radius:17px;overflow:hidden}.media-preview{height:92px;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#263247,#0b1119);color:#7e8999;font-weight:800}.media .copy{padding:12px;font-size:11px;color:#8793a3}.media .copy strong{display:block;color:#dce3ec;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.capture-tile{border:1px solid #2a3545;border-radius:16px;background:#0b1119;overflow:hidden}.capture-tile .capture-thumb{height:130px;display:grid;place-items:center;background:linear-gradient(145deg,#1a2431,#0b1017);color:#8b97a7}.capture-tile .capture-thumb img{width:100%;height:100%;object-fit:cover}.capture-tile .capture-copy{padding:11px}.capture-tile .capture-copy strong{display:block;font-size:12px}.capture-tile .capture-copy span{display:block;color:#7d8999;font-size:10px;margin-top:5px}.session-profile{display:flex;gap:15px;align-items:center;padding:14px;border:1px solid #293545;border-radius:18px;background:#0b1119}.session-profile .avatar{width:82px;height:82px}.session-profile h3{margin:0 0 5px;font-size:20px}.session-profile p{margin:3px 0;color:#8d99a9;font-size:12px}
.design-preview{margin-top:14px;border-radius:20px;padding:22px;min-height:150px;background:linear-gradient(145deg,#4b2f4544,#24335b55);border:1px solid #ffffff15;box-shadow:0 18px 45px #0004}.design-preview h3{margin:0 0 8px;font-family:Georgia,serif;font-size:24px}.design-preview p{margin:0;color:#bec7d3;line-height:1.6}.preview-float{animation:previewFloat 4s ease-in-out infinite}@keyframes previewFloat{50%{transform:translateY(-5px)}}.preview-glow{animation:previewGlow 2.7s ease-in-out infinite alternate}@keyframes previewGlow{to{box-shadow:0 18px 50px #f1a8be2b}}.preview-heartbeat{animation:previewBeat 3s ease-in-out infinite}@keyframes previewBeat{50%{transform:scale(1.012)}}.preview-shimmer{position:relative;overflow:hidden}.preview-shimmer:after{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 42%,#fff2 50%,transparent 58%);animation:pvShimmer 4s linear infinite}@keyframes pvShimmer{from{transform:translateX(-60%)}to{transform:translateX(60%)}}
.modal{position:fixed;inset:0;background:#03060bc9;display:grid;place-items:center;padding:18px;z-index:30;backdrop-filter:blur(8px)}.modal-card{width:min(980px,100%);max-height:90vh;overflow:auto;background:#101722;border:1px solid #2a3545;border-radius:24px;box-shadow:0 35px 110px #000b}.modal-head{position:sticky;top:0;z-index:2;background:#101722ed;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #253041}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid #2a3545;background:#151e2a;color:#fff;font-size:22px}.modal #modalBody{padding:18px}.modal img,.modal video{max-width:100%;border-radius:14px;background:#070a0f}.modal video{width:100%}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.session-grid{grid-template-columns:repeat(2,1fr)}.media-grid,.session-media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.app{display:block}.side{position:static;height:auto;border-right:0;border-bottom:1px solid #1f2835;padding:14px}.side-brand{padding-bottom:12px}.nav{display:grid;grid-template-columns:repeat(3,1fr)}.nav button{text-align:center;padding:9px 6px;font-size:11px}.main{padding:20px 13px 60px}.top h1{font-size:28px}.grid2,.grid3{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.session-grid{grid-template-columns:1fr}.media-grid,.session-media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.cards{grid-template-columns:1fr 1fr;gap:9px}.card{padding:14px;min-height:96px}.card .num{font-size:28px}.top{align-items:flex-end}.session-meta{grid-template-columns:1fr}.media-grid,.session-media-grid{grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,1fr)}.login-card{padding:23px}.modal{padding:8px}.modal-card{border-radius:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
.profile-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.profile-admin-card{border:1px solid #293546;background:linear-gradient(145deg,#141e2b,#0d141e);border-radius:22px;padding:18px}.profile-admin-head{display:flex;align-items:center;gap:13px;margin-bottom:15px}.profile-admin-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#f0acc0,#8fa8ff);color:#13161d;font-family:Georgia,serif;font-size:22px;font-weight:800}.profile-admin-head span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#987888}.profile-admin-head h3{margin:3px 0 0;font-size:19px}.profile-admin-card .field{margin-top:10px}.profile-admin-card .btn.primary{margin-top:14px;width:100%}
@media(max-width:780px){.profile-admin-grid{grid-template-columns:1fr}}
.side{overflow-y:auto}.nav button[data-page="people"],.nav button[data-page="letters"],.nav button[data-page="music"]{position:relative}.nav button[data-page="people"]:after,.nav button[data-page="letters"]:after,.nav button[data-page="music"]:after{content:"NEW";float:right;font-size:7px;letter-spacing:.08em;color:#e7a4ba;border:1px solid #e7a4ba40;border-radius:999px;padding:2px 5px}

/* Phase 2 v7 */
.admin-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;margin-right:7px}.quick-action strong{display:flex;align-items:center}.avatar>.admin-icon{width:25px;height:25px;margin:0;opacity:.7}.complete-recording{margin-top:20px;padding:18px;border-radius:18px;background:linear-gradient(145deg,#171d2a,#10151e);border:1px solid #ffffff14}.recording-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border-radius:15px;background:#ffffff08;border:1px solid #ffffff10}.recording-card>div{display:grid;grid-template-columns:30px 1fr;column-gap:10px}.recording-card .admin-icon{grid-row:1/3;width:27px;height:27px}.recording-card span{color:#8f99a9;font-size:11px}.complete-video{width:100%;max-height:560px;margin-top:14px;border-radius:16px;background:#000}.session-photo-section{margin-top:20px}.session-photo-section h3{margin-bottom:10px}


/* ===== v7.1 session media stability + polish ===== */
.modal-card{max-width:min(980px,94vw)}
.session-profile{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;padding:20px;border:1px solid #ffffff12;border-radius:22px;background:linear-gradient(145deg,#161c25,#0e131a)}
.session-avatar-large{width:96px!important;height:96px!important;border-radius:28px!important;overflow:hidden;background:#111824}
.session-avatar-large img,.capture-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.recording-card,.recording-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #ffffff12;border-radius:18px;background:#0e141d;margin-top:12px}
.recording-card>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}.recording-card>div>span{grid-column:2;color:#87909d;font-size:12px}.recording-card .admin-icon{width:28px;height:28px;grid-row:1/3}
.recording-progress{justify-content:flex-start}.recording-progress p{margin:4px 0 0;color:#87909d}.live-dot{width:10px;height:10px;border-radius:50%;background:#f1789a;box-shadow:0 0 0 6px #f1789a16;flex:none}
.session-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.capture-tile{overflow:hidden;border:1px solid #ffffff10;border-radius:18px;background:#10161f}.capture-thumb{height:150px;display:grid;place-items:center;background:#0b1017;color:#6f7885}.capture-copy{padding:11px;display:grid;gap:3px}.capture-copy span{font-size:11px;color:#7f8996}.session-video{width:100%;max-height:66vh;background:#05070a;border-radius:18px;margin-top:14px}.notice.compact{margin:12px 0 0;padding:10px 12px;font-size:12px}
@media(max-width:640px){.session-profile{grid-template-columns:1fr;text-align:center}.session-avatar-large{margin:auto}.recording-card{align-items:stretch;flex-direction:column}.session-media-grid{grid-template-columns:1fr 1fr}.capture-thumb{height:120px}}


/* ===== v8.0 Admin UX Audit ===== */
.premium-editor{max-width:980px;margin:18px auto;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,244,250,.98));box-shadow:0 24px 70px rgba(49,25,52,.09)}.editor-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#a06c89;margin-bottom:7px}.direct-media{margin:14px 0}.direct-drop{min-height:132px;border:1px dashed #cfa8bd;border-radius:20px;background:linear-gradient(145deg,#fff7fb,#fbf7ff);display:grid;place-items:center;text-align:center;position:relative;padding:20px;cursor:pointer}.direct-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.direct-drop .admin-icon{width:34px;height:34px}.direct-drop strong{display:block;margin-top:7px}.direct-drop small{display:block;color:#8d7c88;margin-top:3px}.premium-editor .field input,.premium-editor .field textarea,.premium-editor .field select{border-radius:13px;border:1px solid #eadde5;background:white;padding:11px 12px}.premium-editor .field textarea{min-height:145px}.premium-editor .field input:focus,.premium-editor .field textarea:focus,.premium-editor .field select:focus{outline:0;border-color:#dca2c0;box-shadow:0 0 0 3px #f7ddea}.session-video{width:100%;max-height:70vh;border-radius:18px;background:#111}.media-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.session-card{transition:border-color .18s ease,box-shadow .18s ease;transform:none!important}.session-card:hover{transform:none!important;box-shadow:0 16px 40px rgba(41,27,40,.08)}


/* v9 final admin polish */
.admin-shell,.panel,.modal-card{scrollbar-width:thin}.panel{border-radius:24px}.media-upload-zone,.content-editor{border-radius:20px}.btn,.primary-btn,.secondary-btn{transition:transform .12s ease,opacity .12s ease}.btn:active,.primary-btn:active,.secondary-btn:active{transform:scale(.985)}
@media(max-width:720px){.admin-main{padding-left:12px!important;padding-right:12px!important}.panel{border-radius:18px}.modal-card{border-radius:22px}.form-grid{grid-template-columns:1fr!important}}
