@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap");:root{--ink:#18231f;--muted:#708078;--line:#dce4df;--paper:#f6f8f5;--card:#fff;--accent:#b9ef43;--accent-dark:#243c1e;--danger:#ad4238}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:DM Sans,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.eyebrow{margin:0 0 8px;color:#718076;font-size:11px;font-weight:700;letter-spacing:.18em}.auth-shell{display:grid;grid-template-columns:1.15fr .85fr;min-height:100vh}.auth-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:8vw;color:#f5f9f4;background:radial-gradient(circle at 70% 25%,#405b3d 0,transparent 34%),linear-gradient(145deg,#111b17,#24372f)}.brand-mark{position:absolute;top:42px;left:8vw;display:grid;place-items:center;width:46px;height:46px;border:1px solid #6f8377;border-radius:50%;font-weight:700;font-size:13px}.auth-hero .eyebrow,.brand-mark{color:var(--accent)}.auth-hero h1{max-width:680px;margin:6px 0 24px;font-family:Manrope,sans-serif;font-size:clamp(44px,5.6vw,82px);line-height:1.07;letter-spacing:-.05em}.auth-copy,.auth-hero h1{position:relative;z-index:2}.auth-copy{color:#b7c2bb;font-size:16px}.hero-orbit{position:absolute;right:-8vw;bottom:-20vw;width:54vw;aspect-ratio:1;border:1px solid #46604f;border-radius:50%}.hero-orbit span{position:absolute;border:1px solid #3b5145;border-radius:50%;inset:12%}.hero-orbit span:nth-child(2){inset:26%;background:rgba(185,239,67,.05)}.hero-orbit span:nth-child(3){inset:44%;background:var(--accent);box-shadow:0 0 80px rgba(185,239,67,.35)}.auth-panel{display:grid;place-items:center;padding:48px;background:#eef2ed}.auth-card{width:min(420px,100%);padding:44px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 24px 70px rgba(28,45,37,.08)}.auth-card h2{margin:0 0 30px;font-family:Manrope,sans-serif;font-size:29px}.auth-card label,.settings-card>label,.settings-row label{display:grid;grid-gap:8px;gap:8px;margin:16px 0;color:#526158;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid #d4ddd7;border-radius:10px;outline:none;background:#fafcf9;color:var(--ink);padding:13px 14px;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#7ba22f;box-shadow:0 0 0 3px rgba(185,239,67,.16)}.primary-button{width:100%;margin-top:12px;padding:14px 18px;border:0;border-radius:10px;background:var(--accent-dark);color:white;font-weight:700;cursor:pointer;transition:.2s}.primary-button:hover{transform:translateY(-1px);background:#31522a}.primary-button:disabled{opacity:.55;cursor:wait;transform:none}.text-button{width:100%;margin-top:14px;border:0;background:none;color:#66766d;cursor:pointer;font-size:13px}.private-note{margin:16px 0 0;color:#7d8a82;font-size:12px;text-align:center}.form-error,.job-error{color:var(--danger);font-size:13px}.app-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:28px 18px 20px;border-right:1px solid #dbe2dd;background:#edf1ec}.logo{display:flex;align-items:center;gap:11px;padding:0 10px 32px;font-family:Manrope,sans-serif;font-size:16px;font-weight:700;line-height:1.05}.logo>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--accent);font-size:11px}.logo small{display:block;color:#77857d;font-weight:500}.sidebar nav{display:grid;grid-gap:5px;gap:5px}.sidebar nav a,.sidebar nav button{display:flex;align-items:center;gap:11px;position:relative;padding:12px 13px;border:0;border-radius:9px;background:transparent;color:#647269;cursor:pointer;text-align:left;text-decoration:none;font-size:13px}.sidebar nav button.active{background:white;color:var(--ink);box-shadow:0 4px 20px rgba(35,54,44,.06);font-weight:600}.sidebar nav i{font-style:normal;font-size:17px}.sidebar nav b{margin-left:auto;display:grid;place-items:center;min-width:20px;height:20px;border-radius:20px;background:var(--accent);font-size:10px}.sidebar-status{margin:auto 10px 18px;padding:15px;border:1px solid #d8dfda;border-radius:12px;color:#59685f;font-size:12px}.sidebar-status>span{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#e0a642}.sidebar-status small{display:block;margin:5px 0 0 15px;color:#8a968e}.user-card{display:grid;grid-template-columns:35px 1fr 25px;align-items:center;grid-gap:9px;gap:9px;padding:12px 10px 0;border-top:1px solid #d5ddd7;font-size:12px;font-weight:600}.user-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dcebc0}.user-card small{display:block;max-width:110px;overflow:hidden;color:#849088;font-weight:400;text-overflow:ellipsis}.user-card button{border:0;background:none;color:#7e8a83;cursor:pointer}.workspace{min-width:0;padding:42px clamp(28px,5vw,78px) 80px}.workspace>header{display:flex;align-items:center;justify-content:space-between;max-width:1260px;margin:0 auto 34px}.workspace h1{margin:0;font:700 32px/1.1 Manrope,sans-serif;letter-spacing:-.035em}.header-badge{padding:8px 12px;border:1px solid #cbd7cf;border-radius:50px;color:#617168;background:#fbfcfa;font-size:11px}.notice{max-width:1260px;margin:0 auto 20px;padding:12px 16px;border:1px solid #cfdfae;border-radius:10px;background:#f4f9e9;color:#536b28;font-size:13px;cursor:pointer}.notice span{float:right}.creation-grid{display:grid;grid-template-columns:minmax(0,1fr) 286px;grid-gap:30px;gap:30px;max-width:1260px;margin:auto;align-items:start}.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:16px}.section-heading>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--accent);font-size:11px;font-weight:700}.section-heading h2{margin:0 0 2px;font:700 18px Manrope,sans-serif}.section-heading p{margin:0;color:var(--muted);font-size:12px}.settings-title{margin-top:34px}.upload-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.upload-card{display:flex;min-height:174px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px;border:1px dashed #bdc9c1;border-radius:14px;background:rgba(255,255,255,.62);cursor:pointer;transition:.2s;text-align:center}.upload-card:hover{border-color:#7a943f;background:white;transform:translateY(-2px)}.upload-card input{display:none}.upload-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:5px;border-radius:50%;background:#e9efea;color:#536159;font-size:23px;font-weight:300}.upload-card strong{font-size:13px}.upload-card small{color:#859188;font-size:10px}.asset-strip{display:flex;gap:9px;overflow-x:auto;margin-top:13px;padding-bottom:3px}.asset-thumb{position:relative;flex:0 0 82px;height:82px}.asset-thumb>button:first-child{position:relative;width:82px;height:82px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:#ddd;cursor:pointer}.asset-thumb>button:first-child.selected{border-color:#88ae34;box-shadow:0 0 0 2px rgba(185,239,67,.25)}.asset-strip img{width:100%;height:100%;object-fit:cover}.asset-strip em{position:absolute;left:4px;bottom:4px;padding:2px 5px;border-radius:4px;background:rgba(18,31,25,.8);color:white;font-size:8px;font-style:normal}.delete-asset{position:absolute;z-index:2;top:-5px;right:-5px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:2px solid white;border-radius:50%;background:#26352d;color:white;cursor:pointer;font-size:15px;line-height:1;box-shadow:0 3px 10px rgba(20,31,25,.22)}.delete-asset:hover{background:var(--danger)}.settings-card{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 18px;gap:0 18px;padding:25px;border:1px solid var(--line);border-radius:15px;background:white}.settings-card fieldset,.settings-card>label:last-child{grid-column:1/-1}.settings-card fieldset{margin:0 0 10px;padding:0;border:0}.settings-card legend{margin-bottom:8px;color:#526158;font-size:13px;font-weight:600}.segmented{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.segmented input{display:none}.segmented span{display:block;padding:10px;border:1px solid #d6ded8;border-radius:8px;text-align:center;color:#718077;font-size:12px;cursor:pointer}.segmented input:checked+span{border-color:#607f29;background:#eef8da;color:#38501e;font-weight:700}.settings-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}textarea{min-height:80px;resize:vertical}.summary-card{position:-webkit-sticky;position:sticky;top:30px;padding:26px;border-radius:16px;background:#17231e;color:#eef4ef;box-shadow:0 24px 50px rgba(25,40,33,.12)}.summary-card .eyebrow{color:var(--accent)}.summary-card h2{margin:0 0 22px;font:700 20px Manrope,sans-serif}.summary-card ul{display:grid;grid-gap:10px;gap:10px;margin:0 0 22px;padding:0;list-style:none}.summary-card li{color:#839088;font-size:12px}.summary-card li:before{content:"○";margin-right:8px}.summary-card li.done{color:white}.summary-card li.done:before{content:"●";color:var(--accent)}.fidelity-note{padding:15px;border:1px solid #3a4a42;border-radius:10px;background:#202e27}.fidelity-note strong{color:var(--accent);font-size:12px}.fidelity-note p{margin:7px 0 0;color:#aeb9b2;font-size:10px;line-height:1.6}.summary-card .primary-button{background:var(--accent);color:#1a281f}.cost-note{display:block;margin-top:10px;color:#849089;font-size:9px;text-align:center}.empty-state{max-width:1260px;margin:80px auto;text-align:center;color:#76847c}.empty-state span{font-size:44px;color:#adbaaf}.empty-state h2{color:var(--ink)}.history-list{display:grid;grid-gap:18px;gap:18px;max-width:1260px;margin:auto}.job-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:white}.job-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.job-head strong{display:block;font:600 15px Manrope,sans-serif;text-transform:capitalize}.job-head small{display:block;margin-top:4px;color:#89958e;font-size:10px}.status{padding:6px 10px;border-radius:50px;background:#edf0ed;color:#67746c;font-size:10px}.status.completed{background:#edf8db;color:#506c22}.status.failed{background:#fcebe8;color:#9b4038}.status.processing{background:#ebf2ff;color:#3e65a1}.progress{overflow:hidden;height:5px;margin:16px 0 4px;border-radius:10px;background:#e8ede9}.progress i{display:block;height:100%;background:var(--accent);transition:width .4s}.output-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.output-card{position:relative;overflow:hidden;aspect-ratio:2/3;border:2px solid transparent;border-radius:11px;background:#e9eeea}.output-card.approved{border-color:#91b947}.output-card.rejected{opacity:.55;border-color:#ca746a}.output-card img{width:100%;height:100%;object-fit:cover}.output-actions{position:absolute;right:0;bottom:0;left:0;display:flex;padding:7px;background:linear-gradient(transparent,rgba(12,21,16,.88));opacity:0;transition:.2s}.output-card:hover .output-actions{opacity:1}.output-actions button{flex:1 1;padding:8px 3px;border:0;background:transparent;color:white;font-size:9px;cursor:pointer}.download-button{display:inline-block;margin-top:16px;padding:9px 13px;border:1px solid #cfdbd2;border-radius:8px;color:#4d5e54;font-size:11px;text-decoration:none}.admin-shell{min-height:100vh;padding:48px clamp(22px,6vw,90px) 80px}.admin-header{display:flex;justify-content:space-between;align-items:center;max-width:1220px;margin:0 auto 30px}.admin-header h1{margin:0;font:700 34px Manrope,sans-serif}.admin-header p:last-child{margin:8px 0 0;color:var(--muted);font-size:13px}.admin-header a{padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);text-decoration:none;font-size:12px}.admin-grid{display:grid;grid-template-columns:320px 1fr;grid-gap:24px;gap:24px;max-width:1220px;margin:auto;align-items:start}.account-list,.admin-create{padding:26px;border:1px solid var(--line);border-radius:16px;background:white}.admin-create{position:-webkit-sticky;position:sticky;top:30px}.account-list h2,.admin-create h2{margin:0 0 18px;font:700 20px Manrope,sans-serif}.admin-create label{display:grid;grid-gap:7px;gap:7px;margin:14px 0;color:#58675e;font-size:12px;font-weight:600}.account-list-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.account-list-head>span{color:var(--muted);font-size:11px}.account-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;grid-gap:10px 18px;gap:10px 18px;position:relative;padding:20px 0;border-bottom:1px solid #e7ece8}.account-row:last-child{border-bottom:0}.account-identity small,.account-identity strong{display:block}.account-identity small{margin-top:4px;color:var(--muted);font-size:11px}.account-status{align-self:start;padding:5px 9px;border-radius:30px;background:#e9f4d5;color:#4d6823;font-size:10px}.account-status.disabled{background:#f3e7e5;color:#965046}.account-actions{display:flex;grid-column:1/-1;gap:8px}.account-actions input{flex:1 1;padding:9px 11px}.account-actions button{padding:9px 12px;border:1px solid #d3ddd6;border-radius:8px;background:#f8faf8;color:#536158;cursor:pointer;font-size:11px}.account-actions button:disabled{opacity:.45;cursor:not-allowed}.current-account{position:absolute;right:0;top:48px;color:var(--muted);font-size:9px}@media (max-width:1000px){.creation-grid{grid-template-columns:1fr}.summary-card{position:static}.output-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:38vh;padding:80px 30px 45px}.brand-mark{left:30px;top:24px}.auth-panel{padding:22px}.auth-card{padding:28px}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px;display:grid;grid-template-columns:1fr auto}.logo{padding:0}.sidebar nav{display:flex}.sidebar nav a,.sidebar nav button{font-size:0}.sidebar nav i{font-size:20px}.sidebar-status,.user-card div,.user-card>span{display:none}.user-card{border:0;grid-template-columns:25px;padding:0}.workspace{padding:28px 16px 60px}.settings-card,.upload-grid{grid-template-columns:1fr}.settings-card>label{grid-column:1}.output-grid{grid-template-columns:repeat(2,1fr)}.header-badge{display:none}.admin-grid{grid-template-columns:1fr}.admin-create{position:static}.admin-header{align-items:flex-start}.account-actions{flex-wrap:wrap}.account-actions input{flex-basis:100%}}