@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--page:#f6f5f1;--paper:#fff;--ink:#24251f;--muted:#84867d;--line:#e9e8e2;--dark:#252820;--accent:#b9ab89;--soft:#eeede7;--radius:19px;--shadow:0 16px 56px rgba(39,41,30,.05)}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:'DM Sans',Arial,sans-serif;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}
.shell{max-width:1570px;margin:auto;min-height:100vh;display:grid;grid-template-columns:minmax(340px,.84fr) minmax(620px,1.16fr)}
.sidebar{position:sticky;top:0;height:100vh;overflow:hidden;color:#fff;padding:42px 52px;display:flex;flex-direction:column;justify-content:space-between;background-image:linear-gradient(180deg,#0005 0%,transparent 35%,#161712b8 100%),url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1500&q=85');background-size:cover;background-position:center}
.brand{font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:700;letter-spacing:.28em;line-height:1;color:#fff}
.brand-sub{display:block;margin-top:12px;font:500 9px 'DM Sans',Arial,sans-serif;letter-spacing:.28em;opacity:.84;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:10px;margin-top:32px}.nav a{padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font-weight:700;font-size:14px}.nav a:hover{background:rgba(255,255,255,.14)}
.sidebar-card{max-width:430px;border-top:1px solid rgba(255,255,255,.35);padding-top:22px;margin-top:40px;color:#fff}.sidebar-card strong{display:block;font:500 clamp(42px,4vw,72px)/1.03 Manrope,Arial,sans-serif;letter-spacing:-.065em;margin:12px 0 18px}.sidebar-card p{font-size:15px;line-height:1.7;color:rgba(243,241,232,.88);max-width:360px;margin:0}.small-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;opacity:.8}
.main{padding:36px clamp(30px,5vw,90px) 40px;background:var(--page)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:42px}.page-title{font:600 clamp(34px,3vw,52px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.06em}.page-sub{margin-top:8px;color:#84867d;font-size:14px}.top-actions{display:flex;gap:12px;align-items:center}.user-chip{padding:11px 16px;background:transparent;border:1px solid #dadbd2;border-radius:100px;color:#6a6e63;font-size:12px;font-weight:700}
.flash{padding:14px 18px;border-radius:16px;margin-bottom:16px;border:1px solid;font-size:14px}.flash.success{background:#edf7ef;border-color:#b9dbbf;color:#265a2f}.flash.error{background:#fbefef;border-color:#eabcbc;color:#7a2020}.flash.info{background:#eff5fb;border-color:#bfd0ea;color:#26425a}
.panel{background:#fbfaf7;border:1px solid #e4e3db;border-radius:28px;padding:24px;box-shadow:var(--shadow)}.panel-title{font:700 20px/1.25 Manrope,Arial,sans-serif;margin:0 0 18px}
.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:20px;border-radius:22px;background:#fff;border:1px solid #e7e5dc}.stat-value{font:700 30px/1 Manrope,Arial,sans-serif;margin-top:8px}.muted{color:#787c71}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 20px;border-radius:14px;background:linear-gradient(90deg,#1d211a,#2f3427);color:#fff;border:none;font-weight:700;font-size:13px;cursor:pointer;letter-spacing:.01em}.button:hover{filter:brightness(1.03)}.button.secondary{background:#ecebe4;color:#252820;border:1px solid #d8d7cf}.button.ghost{background:transparent;color:#46483e;border:1px solid #dadbd2}.button.danger{background:#7b2d2d}.button.block{width:100%}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;padding:15px 16px;border-radius:16px;border:1px solid #d6d7ce;background:#fff;font:inherit;color:#24251f}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(177,158,116,.35);outline-offset:1px;border-color:#b09f76}.field textarea{min-height:110px;resize:vertical}.hint{font-size:13px;color:#7a7d73}
.card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.project-card,.variant-card{background:#fff;border:1px solid #e5e4dc;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(58,43,29,.04)}.project-thumb,.variant-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8ddd0}.project-body,.variant-body{padding:18px}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f3f2ec;border:1px solid #e3e1d7;font-size:11px;font-weight:700;color:#666a60}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#e9dfd2 0,#f5f1eb 45%,#f1ece6 100%)}.login-card{width:min(460px,100%);background:#fff;border-radius:28px;padding:28px;border:1px solid #eadfce;box-shadow:0 15px 50px rgba(60,45,30,.08)}.login-card h1{margin:0 0 10px;font:700 36px/1 Manrope,Arial,sans-serif;letter-spacing:-.04em}.hero-note{padding:14px 18px;border-radius:16px;background:#f7f3ee;border:1px solid #eadfce;color:#6b615b;margin-top:18px;line-height:1.6;font-size:14px}
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px}.image-frame{background:#fff;border:1px solid #e4e3db;border-radius:24px;padding:16px}.image-frame img{width:100%;border-radius:18px;display:block}.variants-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}.empty{padding:28px;border:1px dashed #d6c7b6;border-radius:18px;background:#faf7f3;color:#796f67}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px;border-bottom:1px solid #efe5da;text-align:left;vertical-align:top}.table th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#756b64}
.upload-fancy{padding:14px;border:1.5px dashed #c5c6bb;border-radius:18px;background:#f0f0ea}.upload-fancy input[type=file]{padding:12px;background:#fff;border-radius:12px}.section-lead{margin-bottom:22px}.section-lead .small-label{color:#908568;opacity:1}.section-lead h2{font:600 clamp(28px,2.6vw,46px)/1.14 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:10px 0 14px}.section-lead p{color:#81847b;line-height:1.65;font-size:14px;max-width:620px;margin:0}
@media(max-width:1180px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;min-height:420px}.main{padding:28px 24px 36px}.grid.two,.grid.three,.form-grid,.split{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}}
@media(max-width:720px){.sidebar{padding:28px 24px}.brand{font-size:21px}.main{padding:22px 16px 30px}.page-title{font-size:32px}.panel,.login-card{padding:20px}.button{width:100%}.top-actions{width:100%;flex-direction:column;align-items:stretch}.user-chip{text-align:center}.card-list,.variants-grid{grid-template-columns:1fr}}
/* V2: designer-only additions. Admin uses a separate stylesheet and no hero. */
.designer-nav{display:flex;flex-direction:column;gap:10px;margin-top:38px}.designer-nav a{display:block;padding:13px 17px;border:1px solid #ffffff45;border-radius:12px;color:white;background:#ffffff18;backdrop-filter:blur(8px);font-size:13px;font-weight:700}.designer-nav a:hover{background:#ffffff36}.designer-hero{justify-content:space-between}.designer-topbar{margin-bottom:40px}.admin-entry{border-color:#d4cebf!important;background:#fff!important}.designer-main{min-width:0}.studio-wizard{max-width:870px}.studio-lead{margin-bottom:35px}.studio-lead .small-label{color:#91866a}.studio-lead h2{font:600 clamp(32px,3.2vw,48px)/1.13 Manrope,sans-serif;letter-spacing:-.055em;margin:12px 0}.studio-lead p{max-width:650px;color:#81847b;line-height:1.7;font-size:14px}.studio-step-nav{display:flex;gap:8px;margin-bottom:36px}.studio-step-nav i{height:3px;background:#e0e0d9;flex:1;border-radius:10px}.studio-step-nav i.active{background:#30382d}.studio-step{display:none}.studio-step.active{display:block}.studio-step-caption{display:flex;justify-content:space-between;font-size:12px;color:#7c8377;letter-spacing:.05em;font-weight:700;margin-bottom:19px}.studio-field{display:flex;flex-direction:column;gap:9px;margin:18px 0}.studio-field label,.studio-group-label{font-size:13px;font-weight:700}.studio-field input[type=text]{border:1px solid #d7d8ce;padding:16px;border-radius:12px;font:inherit;background:white;width:100%}.studio-upload{min-height:225px;border:1.5px dashed #c5c6bb;border-radius:17px;background:#eeeeE8;position:relative;display:grid;place-content:center;gap:9px;text-align:center;overflow:hidden;color:#41483a;cursor:pointer}.studio-upload>span{position:relative;z-index:2}.studio-upload strong{font-size:14px}.studio-upload small{font-size:12px;color:#94988d}.studio-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:3;cursor:pointer}.studio-upload img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.studio-upload.has-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#000b);z-index:1}.studio-upload.has-photo>span{color:white;align-self:end;padding-top:130px}.studio-upload.has-photo small{color:white}.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 28px}.studio-choice{border:1px solid #e4e4de;background:#fff;border-radius:12px;padding:15px 8px;text-align:center;font:600 12px 'DM Sans',sans-serif;cursor:pointer;min-height:54px;color:#666b5f}.studio-choice.chosen{border-color:#30382d;color:#30382d;background:#f0f1e9;box-shadow:inset 0 0 0 1px #30382d}.studio-styles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.studio-style-card{display:block;padding:5px;background:white;border:1px solid transparent;border-radius:15px;cursor:pointer;text-align:left;overflow:hidden;box-shadow:0 3px 15px #1b221006}.studio-style-card.chosen{border-color:#30382d;box-shadow:inset 0 0 0 1px #30382d}.studio-style-card img{width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:11px;display:block}.studio-style-card span{display:block;padding:14px 10px;font-size:13px;font-weight:700}.studio-palettes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.studio-palette-card{border:1px solid #e4e4de;border-radius:14px;background:white;padding:12px;cursor:pointer;text-align:left}.studio-palette-card.chosen{border-color:#30382d;box-shadow:inset 0 0 0 1px #30382d}.studio-swatches{display:flex;height:86px;overflow:hidden;border-radius:9px}.studio-swatches i{flex:1}.studio-palette-card strong{display:block;margin:13px 1px 3px;font-size:13px}.studio-palette-card small{color:#999d91;font-size:11px}.studio-moods{display:grid;gap:10px}.studio-mood-card{background:white;border:1px solid #e1e3dc;padding:17px;border-radius:12px;text-align:left;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.studio-mood-card.chosen{border-color:#30382d;background:#f0f1e9;box-shadow:inset 0 0 0 1px #30382d}.studio-review{padding:24px;background:white;border-radius:18px;border:1px solid #e5e5db}.studio-review-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e6e6de;padding:14px 0;font-size:13px}.studio-review-row:last-child{border-bottom:none}.studio-review-row span{color:#838980}.studio-review-row strong{text-align:right}.studio-review-img{width:100%;max-height:380px;object-fit:contain;background:#edede9;border-radius:12px}.studio-actions{display:flex;gap:12px;position:sticky;bottom:0;background:linear-gradient(#f6f5f1de,#f6f5f1 26%);padding:22px 0 9px;margin-top:22px;z-index:5}.studio-actions .button{flex:1}.studio-actions .button.ghost{flex:0 0 90px}.studio-muted{font-size:12px;color:#8b9085;line-height:1.6}.studio-invalid{color:#a24444;margin:8px 0;display:none}.studio-invalid.visible{display:block}
@media(min-width:1181px) and (max-width:1450px){.designer-shell{grid-template-columns:minmax(280px,.66fr) minmax(0,1.34fr)}.designer-main{padding-left:36px;padding-right:36px}.designer-hero{padding:35px}.split{grid-template-columns:1fr}}
@media(max-width:1180px){.designer-hero{min-height:190px;max-height:230px;padding:28px 36px}.designer-hero .sidebar-card{display:none}.designer-nav{display:flex;flex-direction:row;margin-top:20px}.designer-nav a{padding:9px 13px}.designer-topbar{margin-bottom:30px}}
@media(max-width:680px){.designer-hero{height:auto;min-height:155px}.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-step-nav{margin-bottom:23px}.studio-lead{margin-bottom:20px}.studio-styles,.studio-palettes{gap:9px}.studio-style-card img{aspect-ratio:1.25}.studio-upload{min-height:190px}}

/* SPATIA V2: responsive creator and image-download actions */
.variant-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.variant-actions .button{font-size:12px;padding:11px 13px}
.download-button{background:#292e24}
.designer-nav{display:flex;gap:10px;flex-direction:column;margin-top:35px}
.designer-nav a{display:block;width:max-content;max-width:100%;background:rgba(255,255,255,.13);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.23);border-radius:100px;padding:11px 17px;color:white;font-size:13px;font-weight:700}
.designer-nav a:hover{background:rgba(255,255,255,.24)}
.designer-brand .brand{display:inline-block}
.designer-main{min-width:0}
@media(min-width:1181px) and (max-width:1450px){.designer-shell{grid-template-columns:minmax(280px,.37fr) minmax(0,.63fr)}.designer-hero{padding:32px}.designer-main{padding:30px}.designer-topbar{flex-wrap:wrap}}
@media(max-width:1180px){.designer-hero{min-height:200px;padding:26px 28px;background-position:center 42%}.designer-hero .sidebar-card{display:none}.designer-nav{margin-top:20px;flex-direction:row;flex-wrap:wrap}.designer-main{padding:28px 22px}.designer-topbar{flex-direction:row;align-items:flex-start;flex-wrap:wrap}.designer-topbar .top-actions{flex-wrap:wrap}.variant-actions .button{width:auto}}
@media(max-width:720px){.designer-hero{min-height:155px;padding:24px 18px}.designer-main{padding:20px 16px}.designer-topbar{gap:14px}.designer-topbar .top-actions{width:100%;flex-direction:row;align-items:center;gap:8px}.designer-topbar .button{width:auto}.designer-topbar .user-chip{font-size:11px;padding:8px}.variant-actions .button{width:100%}}
