:root{font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;color:#18233a;background:#f5f7fb;font-synthesis:none;--blue:#245bd6;--blue-dark:#1646b5;--ink:#17213a;--muted:#78839a;--line:#e4e8f0;--paper:#fff;--button-radius:8px;--button-height:44px;--button-small-height:34px;--button-shadow:0 8px 25px rgba(36,91,214,.18)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 6%,rgba(56,107,228,.06),transparent 24%),#f5f7fb}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid rgba(36,91,214,.22);outline-offset:2px}.app-shell{min-height:100vh}.topbar{height:72px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;border-bottom:1px solid rgba(220,225,235,.8);background:#f8f9fcd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.logo-link{display:flex}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;-webkit-user-select:none;user-select:none}.brand-mark{width:38px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.brand-mark-svg{width:100%;height:100%;overflow:visible;display:block}.brand:hover .brand-mark{transform:translateY(-1px) scale(1.04)}.brand-text{display:inline-flex;align-items:baseline;gap:8px}.brand strong,.brand-title{font-family:Songti SC,"Noto Serif SC","Source Han Serif CN",STSong,STKaiti,PingFang SC,serif;font-size:21px;font-weight:600;letter-spacing:.2em;color:#121826;line-height:1;transition:color .2s ease}.brand small,.brand-sub{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;font-weight:500;letter-spacing:.28em;color:#8c97aa;line-height:1;text-transform:uppercase}.brand--compact .brand-mark{width:32px;height:20px}.brand--compact strong,.brand--compact .brand-title{font-size:18px;letter-spacing:.16em}.topbar nav{display:flex;height:100%;gap:34px;align-items:center;margin-left:60px;color:#9aa3b3;font-size:14px}.topbar nav a{color:#5b6880;font-weight:500;height:100%;display:flex;align-items:center;position:relative}.topbar nav a.active{color:var(--blue);font-weight:600}.topbar nav a.active:after{content:"";position:absolute;bottom:0;left:3px;right:3px;height:2px;background:var(--blue)}.admin-nav-link{color:var(--blue)!important;display:inline-flex;align-items:center;gap:6px;font-weight:600!important}.admin-tag{background:var(--blue);color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;margin-left:4px;font-weight:500}.nav-muted{cursor:default}.top-actions{margin-left:auto;display:flex;align-items:center;gap:13px}.icon-button{border:0;background:transparent;color:#8d96a7;padding:7px;display:grid;place-items:center;border-radius:6px}.icon-button:hover{color:#18233a;background:#0000000a}.beta{display:flex;align-items:center;gap:6px;font-size:11px;color:#5572ad;border:1px solid #dbe4f7;background:#f0f4fd;border-radius:999px;padding:6px 10px;letter-spacing:.06em}.page{width:min(1400px,100%);margin:0 auto;padding:0 clamp(24px,5vw,76px) 70px}.hero{min-height:414px;display:flex;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:2;padding-top:12px}.eyebrow{font-size:11px!important;font-weight:600;letter-spacing:.18em;color:#5271ad!important;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin:0 0 20px!important}.hero h1{color:#19233a;font-size:clamp(39px,4.3vw,64px);line-height:1.18;letter-spacing:-.045em;margin:0;font-weight:300}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy>p:not(.eyebrow){color:#7b8699;font-size:15px;margin:24px 0 30px;letter-spacing:.02em}.primary-button,.secondary-button{border:0;border-radius:var(--button-radius);min-height:var(--button-height);padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:500;font-size:14px;line-height:1;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.primary-button{background:var(--blue);color:#fff;box-shadow:var(--button-shadow)}.primary-button:hover:not(:disabled){background:var(--blue-dark);transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #245bd62e}.primary-button:disabled,.secondary-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.secondary-button{border:1px solid #dce2ed;color:#536077;background:#fff}.secondary-button:hover:not(:disabled){border-color:#bfc9da;background:#f8faff;color:#35435b;transform:translateY(-1px)}.secondary-button:active:not(:disabled){transform:translateY(0)}.small-button{min-height:var(--button-small-height);padding:0 12px;font-size:12px}.highlight-button{background:var(--blue);color:#fff;box-shadow:var(--button-shadow)}.highlight-button:hover:not(:disabled){background:var(--blue-dark)}.orbit{position:absolute;border:1px solid rgba(72,91,125,.18);border-color:rgba(72,91,125,.22) transparent transparent transparent;border-radius:50%;transform:rotate(-12deg)}.orbit-one{width:570px;height:280px;right:1%;top:99px}.orbit-two{width:440px;height:210px;right:6%;top:135px;border-color:rgba(36,91,214,.14) transparent transparent transparent}.star-dot{position:absolute;border-radius:50%;width:8px;height:8px;background:#c4a05b;right:8.4%;top:192px;box-shadow:-380px 50px 0 -2px #2d5fc5}.hero-note{position:absolute;right:4%;top:165px;width:340px;z-index:2}.hero-note span{display:block;letter-spacing:.36em;color:#aab1bf;font-size:10px;margin-bottom:18px}.hero-note p{margin:0;color:#556176;font-weight:300;font-size:17px;line-height:1.8;max-width:260px}.content-section{padding-top:43px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.section-kicker{color:#a0aabc;letter-spacing:.22em;font-size:9px;font-weight:600}.section-heading h2{margin:6px 0 0;font-size:24px;font-weight:500}.metrics{display:flex;gap:20px;color:#8b96aa;font-size:12px}.metrics span{display:flex;align-items:center;gap:7px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-card{min-height:158px;border:1px solid #e5e9f1;background:#ffffffd1;border-radius:12px;display:flex;padding:22px;position:relative;transition:.2s;overflow:hidden}.course-card:hover{border-color:#cbd7ee;box-shadow:0 12px 40px #18305b12;transform:translateY(-2px)}.course-number{width:70px;min-width:70px;flex-shrink:0;height:100%;min-height:110px;display:grid;place-items:center;border-radius:8px;color:#2d62ce;font-size:18px;font-weight:600;background:linear-gradient(145deg,#edf3ff,#f7f9fd);margin-right:20px;position:relative;overflow:hidden}.course-number:after{content:"";position:absolute;width:80px;height:36px;border:1px solid rgba(44,95,200,.2);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);pointer-events:none}.tone-0{color:#2d62ce;background:linear-gradient(145deg,#edf3ff,#f7f9fd)}.tone-1{color:#6885a9;background:#f1f4f7}.tone-1:after{border-color:#6885a938}.tone-2{color:#b09052;background:#f8f5ed}.tone-2:after{border-color:#b0905240}.course-card-main{flex:1;min-width:0;padding-top:1px;padding-right:28px}.course-card h3{margin:11px 0 6px;font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-card-main>p{font-size:12px;color:#8c96a8;margin:0 0 17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-meta{display:flex;gap:8px;flex-wrap:wrap}.course-meta span{font-size:10px;color:#7d899c;background:#f4f6f9;padding:5px 8px;border-radius:4px}.card-arrow{position:absolute;right:20px;top:24px;color:#b6bfce}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;letter-spacing:.02em;padding:3px 9px;border-radius:20px}.status i{width:6px;height:6px;border-radius:50%}.status--draft{color:#627289;background:#f1f4f8}.status--draft i{background:#8e9cb0}.status--waiting_production{color:#b45309;background:#fef3c7}.status--waiting_production i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.status--in_production{color:#1d4ed8;background:#dbeafe}.status--in_production i{background:#2563eb;box-shadow:0 0 0 3px #2563eb33}.status--completed{color:#15803d;background:#dcfce7}.status--completed i{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.status--rejected{color:#b91c1c;background:#fee2e2}.status--rejected i{background:#ef4444}.empty-state{background:#ffffff94;border:1px dashed #d9dfe9;min-height:260px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.empty-state h3{margin:13px 0 5px;font-size:17px;font-weight:500}.empty-state p{color:#939cad;font-size:13px;margin:0 0 15px}.empty-state a:not([class*=button]){color:var(--blue);font-size:13px;display:flex;align-items:center;gap:5px}.empty-state .primary-button{color:#fff}.compact-empty{min-height:160px;padding:20px}.empty-orbit{width:58px;height:33px;border:1px solid #aab4c4;border-color:#aab4c4 transparent transparent transparent;border-radius:50%;position:relative;transform:rotate(-9deg)}.empty-orbit i{position:absolute;width:6px;height:6px;background:#c4a05b;border-radius:50%;top:8px;left:-1px}.skeleton-card{height:158px;border-radius:12px;background:linear-gradient(90deg,#eceff4,#f7f8fa,#eceff4);background-size:200% 100%;animation:shimmer 1.3s infinite}.form-page,.workspace-page{padding-top:32px}.back-link{color:#8c96a7;display:inline-flex;align-items:center;gap:7px;font-size:12px;margin-bottom:35px}.back-link:hover{color:var(--blue)}.form-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(500px,700px);gap:clamp(40px,8vw,115px);align-items:start;justify-content:center}.form-layout aside{padding-top:24px}.step-number{color:#c2cada;font-size:11px;letter-spacing:.18em;border-bottom:1px solid #bdc7d9;padding-bottom:6px}.form-layout aside .eyebrow{margin-top:44px!important}.form-layout aside h1{font-size:36px;font-weight:300;line-height:1.45;margin:0;letter-spacing:-.035em}.form-layout aside>p:last-child{color:#8b96a9;font-size:13px;line-height:1.8;margin-top:25px;max-width:280px}.paper-form{background:#fff;padding:38px 42px;border:1px solid #e5e9f0;border-radius:13px;box-shadow:0 20px 60px #28395a0f}.form-title{padding-bottom:25px;border-bottom:1px solid #edf0f4;margin-bottom:27px}.form-title span{font-size:9px;color:#a3adbd;letter-spacing:.2em}.form-title h2{font-size:21px;margin:7px 0 0;font-weight:500}.form-title h3{font-size:19px;margin:6px 0 0;font-weight:500}.form-title h4{font-size:16px;margin:4px 0 0;font-weight:500}.paper-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#59657b;margin:0 0 22px}.paper-form label span{display:inline-flex;align-items:center;gap:3px}.paper-form label b{color:#d86f67;font-weight:600}.paper-form input,.paper-form select,.paper-form textarea{border:1px solid #dfe4ec;border-radius:7px;color:#253149;background:#fbfcfe;padding:12px 13px;outline:none;width:100%;transition:.2s}.paper-form textarea{resize:vertical;line-height:1.6}.paper-form input:focus,.paper-form select:focus,.paper-form textarea:focus{border-color:#7599e8;box-shadow:0 0 0 3px #245bd614;background:#fff}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-footer{border-top:1px solid #edf0f4;padding-top:22px;display:flex;justify-content:space-between;align-items:center}.form-footer>span{font-size:11px;color:#a1aaba}.form-error{color:#bc4e47;background:#fff4f3;padding:9px 12px;border-radius:6px;font-size:12px}.workspace-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:28px}.workspace-head .back-link{margin-bottom:22px}.title-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.title-row h1{margin:0;font-size:27px;font-weight:500}.title-row h2{margin:0;font-size:23px;font-weight:500}.workspace-head>div>p{color:#929cad;font-size:12px;margin:8px 0 0}.success-panel{margin:55px auto 0;max-width:720px;text-align:center;background:#fff;border:1px solid #e4e9f1;border-radius:14px;padding:50px 55px;box-shadow:0 22px 70px #2335580f}.success-panel .eyebrow{justify-content:center;margin-top:18px!important;margin-bottom:11px!important}.success-panel h2{font-size:28px;font-weight:400;margin:0 0 13px}.success-panel>p:not(.eyebrow){color:#8a95a7;font-size:13px;line-height:1.8;margin:0 auto;max-width:510px}.completed-panel{border-color:#c8e6c9;background:linear-gradient(180deg,#fff 60%,#f5fbf7)}.producing-panel{border-color:#bfdbfe;background:linear-gradient(180deg,#fff 60%,#f0f6ff)}.producing-orbit-icon{color:#245bd6;margin-bottom:12px}.success-badge-icon{color:#2e7d32;margin-bottom:12px}.production-notes-box{background:#f4f9f4;border:1px solid #d4ecd7;border-radius:10px;padding:18px 22px;margin:24px 0;text-align:left}.production-notes-box strong{font-size:13px;color:#276749;display:block;margin-bottom:8px}.production-notes-box p{margin:0;font-size:13px;color:#2d3748;line-height:1.7;white-space:pre-line}.deliverables-box{margin:24px 0;border:1px solid #e2e8f0;border-radius:10px;padding:20px;background:#fff;text-align:left}.deliverables-box .box-header{display:flex;align-items:center;gap:8px;margin-bottom:15px;color:#2b6cb0}.deliverables-box .box-header h4{margin:0;font-size:15px;font-weight:600}.deliverable-list{display:flex;flex-direction:column;gap:10px}.deliverable-row{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.deliv-info{flex:1;min-width:0}.deliv-info strong{display:block;font-size:13px;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deliv-info span{font-size:11px;color:#718096}.receipt{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f7f9fc;border:1px solid #edf0f5;border-radius:9px;margin:30px 0 25px;text-align:left}.receipt span{display:flex;flex-direction:column;gap:7px;padding:17px;min-width:0;border-right:1px solid #e6eaf1}.receipt span:last-child{border:0}.receipt small{color:#9ca6b5;font-size:9px}.receipt strong{color:#536076;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-loading{min-height:60vh;display:grid;place-items:center;color:#8793a8}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}.user-link{display:flex;align-items:center;gap:7px;color:#66738a;font-size:12px;padding:7px 10px;border-radius:7px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-brand{padding:64px clamp(40px,8vw,120px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 70%,rgba(36,91,214,.12),transparent 38%),#eef3fc}.auth-brand h1{font-size:clamp(40px,5vw,67px);font-weight:300;line-height:1.2}.auth-brand h1 em{font-style:normal;color:var(--blue)}.auth-card{align-self:center;width:min(430px,calc(100% - 48px));margin:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:42px}.auth-card label,.instructor-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#59657b;margin:18px 0}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:13px;top:13px;width:17px;color:#a1abbc}.auth-card input,.instructor-form input,.instructor-form textarea{width:100%;border:1px solid #dfe4ec;border-radius:7px;padding:12px 13px;background:#fbfcfe}.input-with-icon input{padding-left:41px}.auth-switch{display:block;margin:18px auto 0;border:0;background:transparent;color:var(--blue)}.profile-grid{display:grid;grid-template-columns:minmax(500px,700px) 350px;gap:22px;justify-content:center}.password-card{align-self:start}.notice{padding:12px 16px;border-radius:8px;margin:14px 0;font-size:13px}.notice-error{color:#ad504a;background:#fff1f0;border:1px solid #f3d9d7}.notice-success{color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9}.asset-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;margin:31px auto 0;max-width:1160px}.upload-panel{background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:32px 35px}.instructor-panel{background:#fff;border:1px solid #e5e9f0;border-radius:12px;padding:28px;align-self:start}.panel-heading{display:flex;gap:22px;margin-bottom:27px}.panel-heading .step-number{height:25px}.panel-heading .eyebrow{margin-bottom:9px!important}.panel-heading h2{margin:0;font-size:22px;font-weight:500}.panel-heading>div>p:last-child{color:#8e98aa;font-size:12px;margin:8px 0 0}.drop-zone{min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #cbd5e5;border-radius:10px;background:#fafcff;cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.dragging{border-color:#6e93e5;background:#f5f8ff}.compact{min-height:140px}.drop-zone h3{font-size:15px;font-weight:500;margin:3px 0 6px}.drop-zone small{font-size:10px;color:#adb5c3}.asset-list{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}.asset-row{display:flex;align-items:center;gap:12px;border:1px solid #e3e8f0;border-radius:8px;padding:12px;background:#fafbfc}.asset-row div{display:flex;flex-direction:column;min-width:0}.asset-row span{font-size:10px;color:#9aa5b7}.asset-row button,.instructor-card>button{margin-left:auto;border:0;background:transparent;color:#a4adbb;cursor:pointer}.asset-row button:hover,.instructor-card>button:hover{color:#e53e3e}.aside-title{display:flex;justify-content:space-between;align-items:center}.aside-title button{height:34px;border:1px solid #dce3ed;background:#fff;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px}.instructor-form{padding:18px;background:#f8fafd;border-radius:9px;margin-top:14px;border:1px solid #e2e8f0}.instructor-list{margin-top:14px}.instructor-card{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #edf0f4;align-items:start}.instructor-card img,.avatar,.avatar-placeholder{width:54px;height:65px;object-fit:cover;border-radius:7px;background:#e9effa;display:grid;place-items:center;flex:none;font-weight:600;color:#4a5568}.instructor-card>div{display:flex;flex-direction:column;gap:4px;min-width:0}.instructor-card small,.instructor-card p,.empty-tip,.submit-box p{font-size:11px;color:#8d98aa}.instructor-card p{margin:3px 0;line-height:1.5;color:#4a5568}.submit-box{border-top:1px solid #edf0f4;margin-top:20px;padding-top:18px}.selected-stack{margin-top:12px}.selected-file{display:flex;align-items:center;border:1px solid #dfe6f1;background:#f9fbff;border-radius:9px;padding:12px 14px;margin-top:8px;gap:10px}.selected-file div{display:flex;flex-direction:column;min-width:0}.selected-file strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file span{font-size:10px;color:#97a2b4}.selected-file button{margin-left:auto;border:0;background:transparent;color:#9ca6b6;cursor:pointer}.full-button{width:100%;margin-top:14px}.admin-shell{min-height:100vh;background:#f4f6fa}.admin-topbar{height:70px;padding:0 clamp(20px,4vw,60px);display:flex;align-items:center;border-bottom:1px solid #dde3ed;background:#fff;box-shadow:0 1px 4px #00000008;position:sticky;top:0;z-index:20}.admin-brand-wrap{display:flex;align-items:center;gap:14px}.admin-badge{display:inline-flex;align-items:center;gap:5px;background:var(--blue);color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px;letter-spacing:.05em}.admin-nav{display:flex;height:100%;gap:26px;align-items:center;margin-left:45px}.admin-nav a{color:#64748b;font-size:14px;font-weight:500;height:100%;display:flex;align-items:center;gap:7px;position:relative}.admin-nav a:hover{color:#1e293b}.admin-nav a.active{color:var(--blue);font-weight:600}.admin-nav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--blue)}.admin-top-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.client-switch-button{min-height:var(--button-small-height);display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#536077;background:#fff;border:1px solid #dce2ed;padding:0 12px;border-radius:var(--button-radius);font-weight:500;transition:.2s ease}.client-switch-button:hover{background:#e2e8f0;color:#0f172a}.admin-user-info{display:flex;flex-direction:column;text-align:right;font-size:12px}.admin-user-info strong{color:#1e293b}.admin-user-info small{color:#94a3b8;font-size:10px}.admin-page{padding-top:28px}.admin-header-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.admin-header-row h2{margin:5px 0 0;font-size:24px;font-weight:600;color:#0f172a}.admin-subtitle{color:#64748b;font-size:13px;margin:4px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 6px #00000005;transition:.2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000a}.stat-icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.tone-blue{background:#ebf4ff;color:#2563eb}.tone-slate{background:#f1f5f9;color:#475569}.tone-gold{background:#fef3c7;color:#d97706}.tone-primary{background:#edf3ff;color:var(--blue)}.tone-green{background:#dcfce7;color:#16a34a}.stat-content{display:flex;flex-direction:column}.stat-content small{font-size:12px;color:#64748b;margin-bottom:4px}.stat-content strong{font-size:24px;font-weight:600;color:#0f172a;line-height:1}.admin-section-block{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-bottom:28px}.text-link{color:var(--blue);font-size:13px;display:inline-flex;align-items:center;gap:5px}.admin-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-tabs{display:flex;background:#e2e8f0;padding:3px;border-radius:8px;gap:3px}.tab-item{border:0;background:transparent;color:#64748b;font-size:13px;font-weight:500;padding:6px 14px;border-radius:6px;transition:.15s}.tab-item.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 3px #00000014}.search-form{display:flex;gap:8px;width:100%;max-width:380px}.search-form .input-with-icon{flex:1}.search-form input{border:1px solid #cbd5e1;border-radius:8px;padding:9px 12px 9px 36px;font-size:13px;background:#fff;outline:none}.search-form input:focus{border-color:var(--blue)}.user-stat-summary{color:#64748b;font-size:13px}.admin-table-wrapper{width:100%;overflow-x:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.admin-table th{background:#f8fafc;color:#475569;font-weight:600;font-size:12px;padding:14px 18px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.admin-table td{padding:16px 18px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#1e293b}.admin-table tr:last-child td{border-bottom:0}.admin-table tr:hover td{background:#fafcff}.table-main-title strong{display:block;font-size:14px;font-weight:500;color:#0f172a;margin-bottom:3px}.table-main-title small{display:block;color:#64748b;font-size:11px;line-height:1.4;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-text{display:block;color:#64748b;font-size:11px;margin-top:2px}.user-cell strong{display:block;font-size:13px;font-weight:500}.user-bio-tip{color:#94a3b8;font-size:10px;display:block;margin-top:2px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-cell small{display:block;font-size:11px;color:#64748b}.badge-group{display:flex;flex-wrap:wrap;gap:6px}.badge-count{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#475569;background:#f1f5f9;padding:3px 7px;border-radius:4px}.deliverable-badge{background:#e8f5e9;color:#16a34a;font-weight:500}.role-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}.role-admin{background:#fee2e2;color:#991b1b}.role-user{background:#f1f5f9;color:#475569}.action-button-group{display:flex;justify-content:flex-end;gap:8px}.admin-detail-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px 28px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.admin-detail-title h2{margin:0 0 6px;font-size:22px;font-weight:600}.status-action-box{display:flex;align-items:center;gap:12px}.action-buttons-row{display:flex;align-items:center;gap:10px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:6px 14px;border-radius:20px}.status-pill-producing{background:#dbeafe;color:#1e40af}.status-pill-completed{background:#dcfce7;color:#166534}.admin-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1.1fr);gap:24px;align-items:start}.admin-panel{padding:30px;margin-bottom:24px}.panel-desc{font-size:13px;color:#64748b;line-height:1.6;margin:-10px 0 20px}.deliverable-list-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#334155}.deliverable-items{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.deliv-item{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.deliv-meta{flex:1;min-width:0}.deliv-meta strong{display:block;font-size:13px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deliv-meta small{color:#64748b;font-size:11px}.icon-success{color:#16a34a}.delete-button:hover{color:#ef4444;background:#fee2e2}.upload-deliv-trigger{margin:16px 0}.pending-upload-stack{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px;background:#eff6ff;border:1px dashed #93c5fd;border-radius:8px;font-size:12px}.file-chip{color:#1e40af;font-weight:500}.empty-sub-tip{font-size:12px;color:#94a3b8;padding:12px 0}.admin-delivery-footer{margin-top:20px}.asset-download-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.asset-download-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px;display:flex;align-items:center;gap:12px}.tone-primary-icon{color:#2563eb;flex-shrink:0}.asset-download-info{flex:1;min-width:0}.asset-download-info strong{display:block;font-size:13px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-download-info small{color:#64748b;font-size:11px}.admin-sidebar-card{padding:24px;margin-bottom:20px}.user-profile-summary{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:#edf3ff;color:var(--blue);display:grid;place-items:center;flex-shrink:0}.user-summary-text strong{display:block;font-size:15px;color:#0f172a}.user-summary-text small{color:#64748b;font-size:12px}.contact-list{display:flex;flex-direction:column;gap:10px;font-size:13px}.contact-item{display:flex;gap:8px;color:#475569}.contact-item strong{color:#0f172a}.contact-item.flex-col{flex-direction:column;gap:4px;margin-top:6px}.contact-item p{margin:0;font-size:12px;color:#334155;line-height:1.5;background:#f8fafc;padding:10px;border-radius:6px}.course-full-desc{font-size:13px;color:#334155;line-height:1.7;margin:0 0 16px;white-space:pre-line}.time-meta-box{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;font-size:11px;color:#64748b;border:1px solid #f1f5f9}.time-meta-box div{display:flex;justify-content:space-between}.time-meta-box span{font-weight:500;color:#1e293b}.instructor-sidebar-list{display:flex;flex-direction:column;gap:14px}.inst-card-detail{display:flex;gap:12px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.inst-card-detail:last-child{border-bottom:0;padding-bottom:0}.inst-photo{width:56px;height:68px;object-fit:cover;border-radius:6px;flex-shrink:0}.inst-info strong{display:block;font-size:13px;color:#0f172a}.inst-info small{color:#64748b;font-size:11px;display:block;margin:2px 0 6px}.inst-info p{margin:0;font-size:11px;color:#475569;line-height:1.5}@media(max-width:960px){.admin-detail-grid{grid-template-columns:1fr}.admin-topbar nav{display:none}}.admin-login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 22% 28%,rgba(36,91,214,.1),transparent 38%),#f5f7fb;padding:24px}.admin-login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:44px 38px;box-shadow:0 20px 60px #28395a14}.admin-login-head{text-align:center;margin-bottom:28px}.admin-login-brand{display:flex;justify-content:center;margin-bottom:18px}.admin-login-badge{display:inline-flex;align-items:center;gap:6px;background:#edf3ff;color:var(--blue);font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px;letter-spacing:.08em;margin-bottom:14px}.admin-login-head h2{margin:0 0 8px;font-size:24px;font-weight:500;color:var(--ink)}.admin-login-head p{margin:0;font-size:13px;color:var(--muted)}.admin-login-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#59657b;margin-bottom:20px}.admin-login-form input{width:100%;border:1px solid #dfe4ec;border-radius:7px;padding:12px 14px 12px 42px;background:#fbfcfe;color:#253149;font-size:14px;outline:none;transition:.2s}.admin-login-form input:focus{border-color:#7599e8;box-shadow:0 0 0 3px #245bd614;background:#fff}.admin-login-form .input-with-icon svg{color:#64748b;top:14px}.admin-login-footer{margin-top:24px;text-align:center;display:flex;flex-direction:column;gap:14px}.admin-tip-box{background:#f7f9fc;border:1px solid #edf0f5;border-radius:8px;padding:8px 12px;font-size:11px;color:#8b96a9;display:inline-flex;align-items:center;justify-content:center;gap:6px}.back-to-client-link{font-size:12px;color:var(--blue);transition:.15s}.back-to-client-link:hover{color:var(--blue-dark);text-decoration:underline}.new-course-layout{grid-template-columns:minmax(340px,480px) minmax(420px,620px);gap:clamp(30px,5vw,60px)}.new-course-aside{padding-top:10px}.aside-subtext{color:#7b889d;font-size:13px;line-height:1.7;margin:16px 0 24px}.template-showcase-box{background:#fff;border:1px solid #dfe5f0;border-radius:14px;padding:20px;box-shadow:0 10px 30px #1e30500d;margin-top:10px}.template-box-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf1f7}.header-left{display:flex;align-items:center;gap:8px;font-size:13px;color:#1a253c}.flame-icon{color:var(--blue)}.sample-count-tag{font-size:11px;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:12px}.template-pills{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:2px}.template-pill{border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:12px;font-weight:500;padding:6px 12px;border-radius:20px;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;white-space:nowrap}.template-pill:hover{border-color:#cbd5e1;background:#f1f5f9}.template-pill.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600;box-shadow:0 2px 8px #2563eb1f}.pill-badge{background:#dbeafe;color:#1e40af;font-size:9px;padding:1px 5px;border-radius:4px}.selected-template-card{background:linear-gradient(180deg,#fbfcfe,#f8fafc);border:1px solid #e2e8f0;border-radius:10px;padding:16px}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.sample-tag{font-size:10px;font-weight:500;color:#2563eb;background:#eef4ff;border:1px solid #dbe6fe;padding:2px 7px;border-radius:4px}.sample-title{margin:0 0 6px;font-size:16px;font-weight:600;color:#0f172a}.sample-desc{margin:0 0 14px;font-size:12px;line-height:1.6;color:#64748b}.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;background:#fff;padding:10px 12px;border-radius:8px;border:1px solid #edf2f7}.spec-item{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#475569}.spec-item svg{color:#3b82f6;margin-top:2px;flex-shrink:0}.spec-item small{display:block;font-size:10px;color:#94a3b8}.spec-item span{display:block;font-weight:500;color:#1e293b;line-height:1.3}.preset-assets-strip{margin-bottom:14px;background:#f1f5f9;border-radius:8px;padding:10px 12px}.strip-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#334155;margin-bottom:8px}.preset-pill-list{display:flex;flex-direction:column;gap:4px}.asset-minitag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#475569;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-minitag svg{color:#64748b;flex-shrink:0}.template-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.action-btn{width:100%;padding:0 10px}.highlight-sample-btn{background:var(--blue);color:#fff;box-shadow:var(--button-shadow)}.highlight-sample-btn:hover:not(:disabled){background:var(--blue-dark);transform:translateY(-1px)}.template-card-footer{text-align:center;padding-top:6px}.detail-link-btn{border:0;background:transparent;color:#2563eb;font-size:11px;font-weight:500;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;transition:all .15s}.detail-link-btn:hover{background:#eff6ff;text-decoration:underline}.title-left{display:flex;flex-direction:column}.quick-sample-pill-btn{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:500;padding:5px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;transition:all .15s}.quick-sample-pill-btn:hover{background:#dbeafe;border-color:#93c5fd}.form-title{display:flex;justify-content:space-between;align-items:flex-end}.filled-toast{display:flex;align-items:center;gap:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:10px 14px;border-radius:8px;font-size:12px;margin-bottom:16px;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:grid;place-items:center;padding:20px;animation:fadeIn .2s ease-out}.modal-dialog.brief-modal{width:min(720px,95vw);max-height:88vh;background:#fff;border-radius:16px;box-shadow:0 25px 60px #0003;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0}.modal-header{padding:20px 24px;border-bottom:1px solid #edf2f7;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.modal-header h3{margin:4px 0 0;font-size:18px;font-weight:600;color:#0f172a}.modal-badge{font-size:10px;color:#1d4ed8;background:#dbeafe;padding:2px 7px;border-radius:4px;font-weight:600}.close-modal-btn{border:0;background:transparent;color:#64748b;padding:6px;border-radius:6px;display:grid;place-items:center}.close-modal-btn:hover{background:#e2e8f0;color:#0f172a}.modal-body.brief-modal-content{padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.brief-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px}.brief-section.focus-card{background:#fffbeb;border-color:#fde68a}.brief-section.focus-card h4{color:#92400e}.brief-section h4{margin:0 0 10px;font-size:14px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.brief-section ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155;line-height:1.6}.brief-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brief-subcard{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.brief-subcard strong{display:block;font-size:12px;color:#0f172a;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #f1f5f9}.inst-subrow,.asset-subrow{margin-bottom:8px}.inst-subrow span,.asset-subrow span{display:block;font-size:12px;font-weight:600;color:#1e293b}.inst-subrow small,.asset-subrow small{display:block;font-size:11px;color:#64748b;margin:2px 0}.inst-subrow p{margin:0;font-size:11px;color:#475569;line-height:1.4}.modal-footer{padding:16px 24px;border-top:1px solid #edf2f7;display:flex;justify-content:flex-end;gap:12px;background:#f8fafc}.instructor-image-field-wrapper{margin:18px 0;display:flex;flex-direction:column;gap:10px}.field-label-row{display:flex;justify-content:space-between;align-items:center}.field-main-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#334155;margin:0!important}.field-sub-label{font-size:11px;color:#94a3b8;font-weight:400}.guide-toggle-btn{border:0;background:transparent;color:#2563eb;font-size:11px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}.guide-toggle-btn:hover{background:#eff6ff;color:#1d4ed8}.instructor-upload-zone{border:1.5px dashed #cbd5e1;border-radius:10px;background:#fff;padding:20px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:all .2s ease;gap:8px}.instructor-upload-zone:hover,.instructor-upload-zone.dragging{border-color:#3b82f6;background:#eff6ff;transform:translateY(-1px)}.upload-zone-icon{width:44px;height:44px;border-radius:50%;background:#eff6ff;color:#2563eb;display:grid;place-items:center;transition:transform .2s ease}.instructor-upload-zone:hover .upload-zone-icon{transform:scale(1.08)}.upload-zone-text strong{display:block;font-size:13px;font-weight:600;color:#1e293b;margin-bottom:3px}.upload-zone-text span{font-size:11px;color:#64748b}.instructor-image-preview-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #93c5fd;border-radius:10px;box-shadow:0 1px 3px #2563eb14}.preview-thumbnail{width:52px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #e2e8f0;background:#f1f5f9;flex-shrink:0}.preview-info{display:flex;flex-direction:column;min-width:0;flex:1}.preview-info .file-name{font-size:13px;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-info .file-size{font-size:11px;color:#16a34a;margin-top:3px;font-weight:500}.preview-actions{display:flex;align-items:center;gap:8px}.preview-actions .change-btn{border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:11px;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.preview-actions .change-btn:hover{background:#f1f5f9;border-color:#94a3b8}.preview-actions .remove-btn{border:0;background:#fee2e2;color:#ef4444;width:28px;height:28px;border-radius:6px;display:grid;place-items:center;cursor:pointer;transition:all .15s ease}.preview-actions .remove-btn:hover{background:#fecaca;color:#dc2626}.sample-guide-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:12px}.sample-guide-header{display:flex;justify-content:space-between;align-items:center}.guide-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1e293b}.guide-icon{color:#2563eb}.guide-tag{font-size:10px;background:#dcfce7;color:#15803d;font-weight:600;padding:2px 7px;border-radius:4px}.sample-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sample-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.sample-card:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 6px 16px #2563eb14}.sample-img-box{position:relative;width:100%;aspect-ratio:4 / 3;background:#000;overflow:hidden}.sample-img-box img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .3s ease}.sample-card:hover .sample-img-box img{transform:scale(1.05)}.sample-pose-badge{position:absolute;top:6px;left:6px;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px}.zoom-hint{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .2s ease}.sample-card:hover .zoom-hint{opacity:1}.sample-card-desc{padding:8px 10px;display:flex;flex-direction:column;gap:3px}.sample-card-desc strong{font-size:12px;color:#0f172a;font-weight:600}.sample-card-desc p{margin:0;font-size:10.5px;color:#64748b;line-height:1.4}.guide-requirements-list{display:flex;flex-direction:column;gap:8px;border-top:1px dashed #e2e8f0;padding-top:10px}.req-item{display:flex;gap:8px;align-items:flex-start}.req-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.green-dot{color:#16a34a;background:#dcfce7}.blue-dot{color:#2563eb;background:#dbeafe}.amber-dot{color:#d97706;background:#fef3c7}.red-dot{color:#dc2626;background:#fee2e2}.req-content{display:flex;flex-direction:column;gap:2px}.req-content strong{font-size:11.5px;color:#1e293b;font-weight:600}.req-content p{margin:0;font-size:11px;color:#475569;line-height:1.45}.sample-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:grid;place-items:center;padding:20px;animation:fadeIn .2s ease-out}.sample-modal-box{width:min(820px,95vw);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 25px 60px #00000040;display:flex;flex-direction:column;overflow:hidden;border:1px solid #cbd5e1}.sample-modal-header{padding:16px 22px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-title-group{display:flex;flex-direction:column;gap:3px}.modal-title-group h3{margin:0;font-size:17px;font-weight:600;color:#0f172a}.modal-sub-tag{font-size:11px;color:#2563eb;font-weight:500}.modal-close-btn{border:0;background:transparent;color:#64748b;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer;transition:all .15s ease}.modal-close-btn:hover{background:#e2e8f0;color:#0f172a}.sample-modal-body{display:grid;grid-template-columns:340px 1fr;padding:20px 24px;gap:24px;overflow-y:auto;align-items:start}@media(max-width:720px){.sample-modal-body{grid-template-columns:1fr}}.sample-modal-view{background:#0f172a;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;height:400px;box-shadow:inset 0 0 20px #0006}.modal-large-img{max-width:100%;max-height:100%;object-fit:contain}.sample-modal-spec{display:flex;flex-direction:column;gap:14px}.sample-modal-spec h4{margin:0;font-size:15px;font-weight:600;color:#0f172a}.spec-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.spec-checklist li{position:relative;padding-left:18px;font-size:12.5px;color:#334155;line-height:1.5}.spec-checklist li:before{content:"•";position:absolute;left:4px;color:#2563eb;font-size:18px;line-height:1}.spec-checklist strong{color:#0f172a}.sample-modal-switch{margin-top:12px;padding:12px 14px;background:#f1f5f9;border-radius:10px;display:flex;flex-direction:column;gap:8px}.switch-label{font-size:11.5px;font-weight:600;color:#475569}.switch-buttons{display:flex;gap:8px}.switch-btn{flex:1;padding:8px 12px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;font-size:12px;font-weight:500;color:#334155;cursor:pointer;transition:all .15s ease}.switch-btn:hover{border-color:#93c5fd;color:#2563eb}.switch-btn.active{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}.sample-modal-footer{padding:14px 22px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.instructor-form-actions{display:flex;gap:10px;margin-top:16px}.instructor-form-actions .cancel-btn{flex:1;height:40px;border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.instructor-form-actions .cancel-btn:hover{background:#f1f5f9;color:#1e293b}.instructor-form-actions .primary-button{flex:2;margin-top:0;height:40px}.modal-dialog.instructor-modal{width:min(680px,95vw);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 25px 60px #00000038;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0}.modal-form-content{display:flex;flex-direction:column;overflow:hidden;flex:1}.instructor-modal-body{padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1}.instructor-modal-body .form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.instructor-modal-body .form-group-row{grid-template-columns:1fr}}.instructor-modal-body .form-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:#334155}.instructor-modal-body .form-label span{display:flex;align-items:center;gap:4px}.instructor-modal-body .form-label.required span:after{content:" *";color:#ef4444}.instructor-modal-body input,.instructor-modal-body textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;background:#f8fafc;font-size:14px;color:#0f172a;transition:all .15s ease;box-sizing:border-box;font-family:inherit}.instructor-modal-body input:focus,.instructor-modal-body textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61f}.instructor-modal-body textarea{resize:vertical;min-height:76px;line-height:1.5}.instructor-modal-body .instructor-image-field-wrapper{margin:4px 0 0}.empty-instructor-box{padding:22px 16px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:10px}.empty-instructor-box p{margin:0;font-size:12px;color:#64748b}.add-instructor-trigger-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;border-radius:6px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;cursor:pointer;transition:all .15s ease}.add-instructor-trigger-btn:hover{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.add-instructor-btn:hover{background:#f1f5f9!important;color:#2563eb;border-color:#cbd5e1!important}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.episodes-workspace-main{display:flex;flex-direction:column;gap:20px}.episodes-header-panel{padding:24px 28px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.panel-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel-intro{color:#64748b;font-size:13px;margin:6px 0 0;line-height:1.5}.episodes-actions-toolbar{display:flex;align-items:center;gap:10px;flex-shrink:0}.episodes-metrics-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;padding:14px 18px;background:#f8fafc;border-radius:10px;border:1px solid #edf2f7}.metric-item{display:flex;flex-direction:column;gap:2px}.metric-num{font-size:20px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.metric-item small{font-size:12px;color:#64748b}.expand-collapse-strip{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed #e2e8f0;font-size:12px;color:#475569}.expand-links{display:flex;align-items:center;gap:6px}.expand-links button{background:transparent;border:0;color:#2563eb;font-size:12px;cursor:pointer;padding:0;font-weight:500}.expand-links button:hover{text-decoration:underline}.episodes-list-container{display:flex;flex-direction:column;gap:14px}.episode-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000008;overflow:hidden;transition:all .2s ease}.episode-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.episode-card.expanded{border-color:#93c5fd;box-shadow:0 4px 16px #2563eb14}.episode-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;transition:background .15s ease}.episode-card.expanded .episode-card-header{background:#f8fbff;border-bottom:1px solid #e2e8f0}.header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ep-toggle-arrow{color:#64748b;display:flex;align-items:center}.ep-number-tag{display:inline-flex;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;color:#1d4ed8;background:#eff6ff;border-radius:6px;border:1px solid #bfdbfe;flex-shrink:0;letter-spacing:.02em}.ep-title{margin:0;font-size:15px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.tag-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.tag-pill-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.tag-pill-dim{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.tag-pill-info{background:#eff6ff;color:#1e40af;border:1px solid #dbeafe}.icon-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:#64748b;cursor:pointer;transition:all .15s ease}.icon-action-btn:hover{background:#f1f5f9;color:#1e293b;border-color:#e2e8f0}.icon-action-btn.delete-btn:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.episode-card-body{padding:18px 20px;background:#fff}.ep-summary-text{margin:0 0 16px;padding:8px 12px;background:#f8fafc;border-radius:6px;font-size:12px;color:#475569;line-height:1.5;border-left:3px solid #3b82f6}.episode-content-heading{display:flex;align-items:center;margin:2px 0 12px}.episode-content-heading>div{display:flex;align-items:baseline;gap:10px}.episode-content-heading strong{color:#1e293b;font-size:14px}.episode-content-heading span{color:#94a3b8;font-size:12px}.ep-body-grid{display:flex;flex-direction:column;gap:12px}.ep-notes-box,.ep-assets-box{display:flex;flex-direction:column;background:#fbfcfe;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.ep-assets-box{padding-bottom:12px}.box-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.box-title-row .title-left{display:flex;flex-direction:row;align-items:center;gap:6px;color:#1e293b;font-size:13px;font-weight:600}.optional-label,.asset-count-label{padding:2px 6px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:500}.asset-count-label{background:#eff6ff;color:#2563eb}.dirty-badge{font-size:11px;padding:2px 6px;background:#fef3c7;color:#b45309;border-radius:4px;font-weight:600}.ep-notes-textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.6;color:#1e293b;background:#fff;resize:vertical;min-height:120px;transition:border-color .15s ease}.ep-notes-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.notes-footer-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.notes-footer-row small{font-size:11px;color:#94a3b8}.save-notes-btn{padding:4px 12px;font-size:12px;gap:4px}.ep-assets-list{display:flex;flex-direction:column;gap:6px;margin-bottom:0;max-height:160px;overflow-y:auto}.ep-asset-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;transition:all .15s ease}.ep-asset-item:hover{border-color:#cbd5e1;background:#f8fafc}.asset-item-icon{color:#2563eb;flex-shrink:0}.ep-asset-info{flex:1;min-width:0;display:flex;flex-direction:column}.ep-asset-info strong{font-size:12px;font-weight:500;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-asset-info span{font-size:10px;color:#94a3b8}.ep-upload-zone{margin-top:8px}.ep-file-label{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#eff6ff;border:1px dashed #93c5fd;border-radius:6px;font-size:12px;font-weight:500;color:#1d4ed8;cursor:pointer;transition:all .15s ease}.ep-file-label:hover{background:#dbeafe;border-color:#60a5fa}.compact-upload-button{flex:0 0 auto;padding:6px 11px;border-style:solid}.ep-pending-files{margin-top:8px;display:flex;flex-direction:column;gap:6px}.pending-chips{display:flex;flex-wrap:wrap;gap:4px}.pending-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#f1f5f9;border-radius:4px;font-size:11px;color:#334155}.pending-chip button{background:transparent;border:0;color:#94a3b8;cursor:pointer;display:flex;padding:0}.pending-chip button:hover{color:#ef4444}.episodes-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:#fff;border:2px dashed #cbd5e1;border-radius:12px;text-align:center}.episodes-empty-card .empty-icon{color:#94a3b8;margin-bottom:12px}.episodes-empty-card h3{margin:0 0 6px;font-size:16px;color:#1e293b}.episodes-empty-card p{margin:0 0 20px;font-size:13px;color:#64748b;max-width:440px}.empty-actions{display:flex;gap:12px}.global-assets-panel{padding:24px 28px;background:#fff;border-radius:14px;border:1px solid #e2e8f0}.submit-summary-info{margin-bottom:10px}.submit-summary-info p{margin:0;font-size:12px;color:#64748b;line-height:1.5}.modal-dialog.episode-modal{width:min(680px,95vw);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 25px 60px #00000038;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0}.modal-tabs-header{display:flex;background:#f1f5f9;padding:6px 8px;gap:6px;border-bottom:1px solid #e2e8f0}.modal-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;color:#64748b;background:transparent;border:0;border-radius:7px;cursor:pointer;transition:all .15s ease}.modal-tab-btn:hover{color:#1e293b;background:#fff9}.modal-tab-btn.active{background:#fff;color:#2563eb;font-weight:600;box-shadow:0 2px 5px #0000000d}.episode-modal-body{padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1}.grid-two-inputs{display:grid;grid-template-columns:120px 1fr;gap:14px}@media(max-width:540px){.grid-two-inputs{grid-template-columns:1fr}}.episode-modal-body .form-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:#334155}.episode-modal-body .form-label span{display:flex;align-items:center;gap:4px}.episode-modal-body .form-label.required span:after{content:" *";color:#ef4444}.episode-modal-body input,.episode-modal-body textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;background:#f8fafc;font-size:14px;color:#0f172a;transition:all .15s ease;box-sizing:border-box;font-family:inherit}.episode-modal-body input:focus,.episode-modal-body textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61f}.episode-modal-body textarea{resize:vertical;min-height:100px;line-height:1.55}.label-with-badge{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.optional-fields-toggle{display:flex;justify-content:flex-start;padding-top:2px}.toggle-optional-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px dashed #cbd5e1;border-radius:8px;padding:8px 14px;font-size:12.5px;color:#64748b;cursor:pointer;transition:all .15s ease;font-weight:500;width:100%;justify-content:center}.toggle-optional-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#334155}.optional-fields-container{display:flex;flex-direction:column;gap:14px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;animation:fadeIn .18s ease-out}.lecture-stats-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;padding:3px 8px;border-radius:6px;font-weight:500}.batch-notice-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af}.batch-notice-banner svg{flex-shrink:0;margin-top:2px;color:#2563eb}.batch-notice-banner strong{display:block;font-size:13px;margin-bottom:2px;color:#1e3a8a}.batch-notice-banner p{margin:0;font-size:12px;color:#3b82f6;line-height:1.45}.quick-count-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px}.count-pill{padding:6px 12px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;transition:all .15s ease}.count-pill:hover{border-color:#94a3b8;background:#f8fafc}.count-pill.active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 2px 6px #2563eb40}.batch-preview-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px}.preview-title{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:8px}.batch-preview-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}.preview-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #edf2f7;padding:6px 10px;border-radius:6px}.preview-ep-tag{font-size:10px;font-weight:700;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;padding:2px 6px;border-radius:4px;flex-shrink:0}.preview-ep-title{font-size:12px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-row-more{font-size:11px;color:#94a3b8;text-align:center;padding:4px 0}.deliverable-category-wrapper{display:flex;flex-direction:column;gap:14px}.episode-deliverable-group{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.episode-deliverable-group .group-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.ep-badge-small{font-size:10px;padding:2px 6px;background:#dbeafe;color:#1e40af;border-radius:4px;font-weight:700}.admin-deliv-group-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;margin-bottom:10px}.admin-deliv-group-card .group-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.deliv-upload-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.target-ep-select-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569}.target-ep-select-label select{padding:6px 10px;border-radius:6px;border:1px solid #cbd5e1;font-size:12px;background:#fff;color:#1e293b}.admin-episodes-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.admin-episode-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.admin-ep-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-ep-header .header-left{display:flex;align-items:center;gap:8px}.ep-badge-pill{font-size:10px;font-weight:700;padding:2px 6px;background:#edf3ff;color:var(--blue);border-radius:4px}.text-pill{font-size:11px;color:#64748b;background:#fff;padding:2px 6px;border:1px solid #e2e8f0;border-radius:4px}.admin-ep-body{padding:14px;border-top:1px solid #e2e8f0;background:#fff}.admin-ep-summary{margin:0 0 10px;font-size:12px;color:#475569}.admin-ep-notes-display{margin-bottom:12px}.notes-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#334155;margin-bottom:6px}.notes-pre-content{margin:0;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:12px;line-height:1.6;color:#1e293b;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.admin-ep-assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.admin-mini-asset-card{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.mini-asset-info{flex:1;min-width:0;display:flex;flex-direction:column}.mini-asset-info strong{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-asset-info small{font-size:10px;color:#94a3b8}.sidebar-episode-outline{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.outline-row{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;background:#f8fafc;border-radius:6px;border:1px solid #edf2f7}.outline-badge{font-size:10px;font-weight:700;padding:2px 5px;background:#eff6ff;color:#1d4ed8;border-radius:4px;flex-shrink:0}.outline-info{display:flex;flex-direction:column;min-width:0}.outline-info strong{font-size:11px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-info small{font-size:10px;color:#94a3b8}.sub-section-title{margin:16px 0 10px;font-size:13px;color:#334155}.ep-subrow{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;margin-bottom:4px}.ep-subrow span{font-size:12px;font-weight:600;color:#1e293b}.ep-subrow small{font-size:11px;color:#64748b}.course-danger-section{margin-top:40px;margin-bottom:24px;padding-top:24px;border-top:1px dashed #e2e8f0}.danger-zone-card{background:#fbfcfd;border:1px solid #f1f5f9;border-radius:10px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}@media(max-width:640px){.danger-zone-card{flex-direction:column;align-items:flex-start}}.danger-zone-title-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.danger-icon{color:#94a3b8}.danger-zone-info h4{margin:0;font-size:13.5px;font-weight:500;color:#475569}.danger-zone-info p{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.danger-button-subtle{background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:var(--button-radius, 6px);min-height:32px;padding:0 12px;font-size:12px;font-weight:400;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap;transition:all .2s ease}.danger-button-subtle:hover:not(:disabled){background:#fef2f2;color:#ef4444;border-color:#fecaca}.danger-button-subtle:active:not(:disabled){background:#fee2e2}.danger-button-subtle:disabled,.danger-button-subtle.disabled{background:transparent!important;border-color:#f1f5f9!important;color:#cbd5e1!important;opacity:.8!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.modal-dialog.delete-course-modal{width:min(480px,95vw);background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000026;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;animation:modalPop .22s cubic-bezier(.16,1,.3,1)}.modal-header-simple-title h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.delete-modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:16px}.danger-alert-card{background:#fff8f8;border:1px solid #fee2e2;border-radius:8px;padding:12px 14px}.danger-alert-card p{margin:0;font-size:13px;color:#991b1b;line-height:1.55}.target-course-name-box{margin:8px 0 10px;padding:8px 12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;-webkit-user-select:all;user-select:all}.target-course-name-box code{color:#0f172a;font-weight:600;font-size:13px;font-family:inherit;word-break:break-all}.delete-confirm-input{width:100%;height:38px;border-radius:6px;border:1px solid #cbd5e1;padding:0 12px;font-size:13.5px;background:#fff;color:#0f172a;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.delete-confirm-input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 3px #ef44441f}.danger-submit-btn{background:#ef4444;color:#fff;border:1px solid #dc2626;border-radius:var(--button-radius, 6px);min-height:36px;padding:0 18px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap;transition:all .2s ease}.danger-submit-btn:hover:not(:disabled){background:#dc2626;border-color:#b91c1c}.danger-submit-btn:disabled{background:#f1f5f9!important;border-color:#e2e8f0!important;color:#94a3b8!important;opacity:.8!important;cursor:not-allowed!important}.success-panel-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:32px}.contact-support-card{margin-top:28px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:22px 24px;text-align:left}.contact-card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #edf2f7}.contact-icon-badge{width:38px;height:38px;border-radius:8px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-header-text h4{margin:0 0 4px;font-size:15px;font-weight:600;color:#0f172a}.contact-header-text p{margin:0;font-size:12px;color:#64748b;line-height:1.5}.contact-card-body{display:flex;gap:22px;align-items:stretch}.contact-qr-container{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;padding:12px;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #00000008;flex-shrink:0}.contact-qr-box{width:140px;height:140px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}.contact-qr-image{width:100%;height:100%;object-fit:contain;display:block}.contact-qr-caption{font-size:11px;font-weight:500;color:#64748b}.contact-card-steps{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.contact-step-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:#fff;border:1px solid #f1f5f9;border-radius:8px}.step-circle{width:22px;height:22px;border-radius:50%;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.step-desc{display:flex;flex-direction:column;gap:2px}.step-desc strong{font-size:13px;font-weight:600;color:#1e293b}.step-desc span{font-size:12px;color:#64748b;line-height:1.4}.modal-dialog.contact-modal{width:min(560px,95vw);background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000026;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;animation:modalPop .22s cubic-bezier(.16,1,.3,1)}.contact-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.contact-modal-intro{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;font-size:13px;color:#475569;line-height:1.6}.contact-modal-intro p{margin:0}.contact-modal-intro strong{color:#0f172a}.contact-modal-qr-section{display:flex;gap:16px;align-items:stretch}.contact-modal-qr-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;padding:12px;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000a;flex-shrink:0}.qr-image-wrapper{width:140px;height:140px;border-radius:6px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}.contact-modal-qr-img{width:100%;height:100%;object-fit:contain;display:block}.qr-badge-text{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:#64748b}.contact-modal-steps{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.contact-step-card{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9}.step-badge-num{width:20px;height:20px;border-radius:50%;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.step-content strong{display:block;font-size:12.5px;font-weight:600;color:#1e293b;margin-bottom:2px}.step-content p{margin:0;font-size:11.5px;color:#64748b;line-height:1.4}.contact-modal-footer-tip{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;background:#eff6ff;border:1px solid #dbeafe;padding:10px 14px;border-radius:8px}.contact-modal-footer-tip svg{color:#3b82f6;flex-shrink:0}@media(max-width:600px){.contact-card-body,.contact-modal-qr-section{flex-direction:column;align-items:center}.contact-card-steps,.contact-modal-steps{width:100%}}
