:root {
  --background: #100d12; --foreground: #fff; --card: #19151b; --card-foreground: #fff;
  --popover: #211c24; --popover-foreground: #fff; --primary: #c22aa4; --primary-foreground: #fff;
  --secondary: #2a222d; --secondary-foreground: #fff; --muted: #251f28; --muted-foreground: #a59aa7;
  --accent: #d94dbe; --accent-foreground: #fff; --destructive: #e45170; --border: rgb(255 255 255 / 12%);
  --input: rgb(255 255 255 / 17%); --ring: #db63c6; --radius: .9rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--background); color: var(--foreground); font-family: var(--font-geist-sans), Arial, sans-serif; margin: 0; }
button, input, select, textarea { font: inherit; }
button { border: 0; color: inherit; cursor: pointer; }
.hidden { display: none !important; }
.pk-button { background:linear-gradient(135deg,#b51f99,#d03bb4);border-radius:999px;color:#fff;font-weight:700;min-height:3.2rem;padding:0 1.4rem; }
.access-card input { flex:1; min-width:0; }
.access-card { margin-bottom: 4rem; }
.request-card[hidden],.success-card[hidden] { display:none; }
.template-card.filtered,.template-card.overflowed { display:none; }
.studio-table { border-collapse:collapse;margin:2rem auto;max-width:84rem;width:calc(100% - 2rem); }
.studio-table th,.studio-table td { border-bottom:1px solid rgb(255 255 255 / 10%);font-size:.75rem;padding:.9rem;text-align:left;vertical-align:top; }
.studio-table th { color:#ef8ddd; }
.studio-wrap { margin:auto;max-width:88rem;padding:2rem; }
.studio-head { align-items:center;display:flex;justify-content:space-between; }
.studio-head form { margin:0; }
.studio-empty { color:rgb(255 255 255 / 48%);padding:3rem;text-align:center; }
a { color: inherit; }
::selection { background: #c22aa4; color: #fff; }
.portal-shell { min-height: 100vh; overflow: hidden; padding: 0 clamp(1rem, 4vw, 4rem) 3rem; position: relative; }
.ambient { background: radial-gradient(circle at 7% 15%, rgb(194 42 164 / 24%), transparent 30%), radial-gradient(circle at 92% 5%, rgb(121 48 137 / 20%), transparent 28%), linear-gradient(132deg, transparent 48%, rgb(255 255 255 / 2%) 48%, transparent 66%); inset: 0; pointer-events: none; position: fixed; }
.portal-header { align-items: center; border-bottom: 1px solid rgb(255 255 255 / 9%); display: flex; justify-content: space-between; min-height: 5.3rem; position: relative; }
.portal-header > p { color: rgb(255 255 255 / 38%); font-size: .75rem; }
.brand { align-items: center; display: flex; min-height: 3.2rem; text-decoration: none; }
.brand img { display: block; height: auto; max-height: 3.25rem; object-fit: contain; object-position: left center; width: clamp(10.5rem, 18vw, 14rem); }
.intro { align-items: end; display: grid; gap: clamp(2.5rem, 8vw, 8rem); grid-template-columns: 1.2fr .8fr; margin: auto; max-width: 84rem; padding: clamp(4rem, 9vw, 8rem) 0 clamp(3rem, 7vw, 5.5rem); position: relative; }
.eyebrow,.studio-kicker { color: #e273cf; font-size: .68rem; font-weight: 780; letter-spacing: .16em; margin: 0; text-transform: uppercase; }
.intro h1 { font-size: clamp(3.25rem, 7.5vw, 7.4rem); font-weight: 590; letter-spacing: -.075em; line-height: .88; margin: 1.2rem 0 2rem; }
.intro h1 em { color: #da59c3; font-family: Georgia, serif; font-weight: 400; }
.intro > div > p:last-child { color: rgb(255 255 255 / 53%); font-size: clamp(.95rem, 1.4vw, 1.18rem); line-height: 1.75; max-width: 38rem; }
.steps { list-style: none; margin: 0; padding: 0; }
.steps li { border-top: 1px solid rgb(255 255 255 / 10%); display: grid; gap: 1rem; grid-template-columns: 2rem 1fr; padding: 1rem 0; }
.steps li > span { color: #d961c2; font: 700 .65rem var(--font-geist-mono), monospace; }.steps strong,.steps small { display: block; }.steps strong { font-size: .82rem; }.steps small { color: rgb(255 255 255 / 36%); font-size: .68rem; margin-top: .25rem; }
.request-card { background: rgb(25 21 27 / 95%); border: 1px solid rgb(255 255 255 / 11%); border-radius: 2rem; box-shadow: 0 45px 120px rgb(0 0 0 / 35%); margin: auto; max-width: 84rem; overflow: hidden; position: relative; }
.form-section { padding: clamp(2rem, 5vw, 4rem); }.form-section + .form-section { border-top: 1px solid rgb(255 255 255 / 9%); }
.section-title { display: grid; gap: 1.1rem; grid-template-columns: 2.6rem 1fr; margin-bottom: 2rem; }
.section-title > span { align-items: center; border: 1px solid rgb(226 115 207 / 38%); border-radius: 50%; color: #ef8ddd; display: flex; font: 750 .64rem var(--font-geist-mono), monospace; height: 2.6rem; justify-content: center; }
.section-title h2 { font-size: clamp(1.55rem, 3vw, 2.35rem); letter-spacing: -.045em; margin: .4rem 0; }.section-title div > p:last-child:not(.eyebrow) { color: rgb(255 255 255 / 42%); font-size: .76rem; }
.form-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-grid .wide-field { grid-column:1/-1; }
.form-grid label,.notes { display: grid; gap: .55rem; }.form-grid label > span { align-items: center; color: rgb(255 255 255 / 65%); display: flex; font-size: .75rem; font-weight: 650; gap: .45rem; }.form-grid svg { height: .85rem; width: .85rem; }
.form-grid input,.form-grid select,.notes textarea { background: #211c24; border: 1px solid rgb(255 255 255 / 17%); border-radius: .9rem; color: #fff; min-height: 3.45rem; outline: none; padding: .85rem 1rem; width: 100%; }.form-grid input:focus,.form-grid select:focus,.notes textarea:focus { border-color: #d15abb; box-shadow: 0 0 0 3px rgb(194 42 164 / 14%); }.form-grid select option { background: #19151b; }
.template-tools { align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(15rem,1fr) minmax(10rem,.38fr) auto;margin-bottom:1.35rem; }.template-tools > p { color:rgb(255 255 255 / 42%);font-size:.7rem;margin:0 0 1rem;white-space:nowrap; }.template-tools > p strong { color:#ef8ddd;font-size:.9rem; }.template-search { position:relative; }.template-search > svg { color:rgb(255 255 255 / 38%);height:1rem;left:1rem;position:absolute;top:1.2rem;width:1rem;z-index:1; }.template-search input { background:#211c24;border:1px solid rgb(255 255 255 / 17%);border-radius:.9rem;color:#fff;min-height:3.45rem;padding-left:2.7rem;width:100%; }.template-filter { display:grid;gap:.45rem; }.template-filter > span { color:rgb(255 255 255 / 45%);font-size:.62rem;font-weight:700;text-transform:uppercase; }.template-filter select { background:#211c24;border:1px solid rgb(255 255 255 / 17%);border-radius:.9rem;color:#fff;min-height:3.45rem;padding:0 .9rem;width:100%; }.template-filter option { background:#19151b; }
.template-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.template-card { background: #201b23; border: 1px solid rgb(255 255 255 / 13%); border-radius: 1.3rem; color: #fff; cursor: pointer; display: flex; flex-direction: column; overflow: hidden; padding: 0; text-align: left; transition: border-color .2s,transform .2s; }.template-card:hover:not(:disabled) { border-color: rgb(226 115 207 / 58%); transform: translateY(-3px); }.template-card.selected { border-color: #da63c5; box-shadow: 0 0 0 2px rgb(218 99 197 / 15%); }.template-card:disabled { cursor: not-allowed; filter: saturate(.35); opacity: .48; }
.template-preview { align-items:center;aspect-ratio:1.16;background:#f2efe9;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%; }.template-preview img { height:100%;object-fit:cover;transition:transform .3s;width:100%; }.template-card:hover:not(:disabled) .template-preview img { transform:scale(1.025); }
.template-copy { padding: 1.2rem 1.2rem .8rem; }.template-copy small,.template-copy strong,.template-copy em { display:block; }.template-copy small { color:#dc68c6;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }.template-copy strong { font-size:.98rem;margin:.45rem 0; }.template-copy em { color:rgb(255 255 255 / 40%);font-size:.7rem;font-style:normal;line-height:1.55; }
.template-state { align-items:center;border-top:1px solid rgb(255 255 255 / 8%);color:rgb(255 255 255 / 48%);display:flex;font-size:.7rem;font-weight:700;gap:.4rem;margin-top:auto;padding:.85rem 1.2rem; }.template-card.selected .template-state { color:#ed8cdb; }.template-state svg { height:.8rem;width:.8rem; }
.template-notice { background:rgb(255 255 255 / 3%);border:1px solid rgb(255 255 255 / 9%);border-radius:.85rem;color:rgb(255 255 255 / 45%);font-size:.68rem;line-height:1.55;margin:-.6rem 0 1.4rem;padding:.8rem 1rem; }
.template-more { display:flex;justify-content:center;margin-top:1.5rem; }.template-more button { border-color:rgb(255 255 255 / 16%);border-radius:999px;color:#fff; }.template-empty { border:1px dashed rgb(255 255 255 / 16%);border-radius:1rem;color:rgb(255 255 255 / 42%);padding:2rem;text-align:center; }
.layout-builder { align-items:start;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(15rem,.72fr) minmax(19rem,1.28fr); }
.layout-controls { display:grid;gap:1rem; }.layout-controls label { display:grid;gap:.5rem; }.layout-controls label > span { align-items:center;color:rgb(255 255 255 / 62%);display:flex;font-size:.72rem;font-weight:700;gap:.45rem; }.layout-controls svg { height:.85rem;width:.85rem; }.layout-controls select { background:#211c24;border:1px solid rgb(255 255 255 / 17%);border-radius:.9rem;color:#fff;min-height:3.25rem;padding:0 .9rem; }.layout-controls option { background:#19151b; }.layout-controls > p { color:rgb(255 255 255 / 36%);font-size:.68rem;line-height:1.55;margin:.5rem 0 0; }
.layout-stage { align-items:center;background:rgb(255 255 255 / 2.5%);border:1px solid rgb(255 255 255 / 10%);border-radius:1.4rem;display:flex;flex-direction:column;justify-content:center;min-height:34rem;padding:2rem; }.layout-stage > small { color:rgb(255 255 255 / 35%);font-size:.62rem;margin-top:1rem;text-align:center; }
.layout-preview-canvas { --paper:#f6ebe9;--ink:#4a273e;--accent:#c46198;background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--paper),#fff 42%));box-shadow:0 22px 70px rgb(0 0 0 / 35%);color:var(--ink);display:flex;flex-direction:column;gap:4%;height:29rem;justify-content:space-between;max-width:100%;overflow:hidden;padding:5%;position:relative;width:19.33rem; }.layout-preview-canvas::after { border:1px solid color-mix(in srgb,var(--accent),transparent 65%);content:"";inset:2.5%;pointer-events:none;position:absolute; }.layout-preview-canvas.format-4x6-quer { height:19.33rem;width:29rem; }.layout-preview-canvas.format-2x6-streifen { height:29rem;width:9.67rem; }.palette-sand { --paper:#eee1c9;--ink:#51412d;--accent:#a78345; }.palette-mono { --paper:#f2f2ef;--ink:#181818;--accent:#686868; }.palette-sage { --paper:#e0e7d8;--ink:#344334;--accent:#79906d; }
.photo-slots { display:grid;gap:3%;min-height:0;flex:1; }.photo-slots span { align-items:center;background:color-mix(in srgb,var(--ink),transparent 91%);border:1px solid color-mix(in srgb,var(--ink),transparent 72%);display:flex;justify-content:center;overflow:hidden;position:relative; }.photo-slots span::before,.photo-slots span::after { background:color-mix(in srgb,var(--ink),transparent 85%);content:"";height:1px;left:-20%;position:absolute;top:50%;transform:rotate(32deg);width:140%; }.photo-slots span::after { transform:rotate(-32deg); }.photo-slots small { font-size:.5rem;font-weight:750;opacity:.52;text-transform:uppercase;z-index:1; }.photo-slots.count-2,.photo-slots.count-4 { grid-template-columns:repeat(2,1fr); }.photo-slots.count-3 { grid-template-columns:repeat(2,1fr); }.photo-slots.count-3 span:first-child { grid-column:1/-1; }.layout-caption { align-items:center;display:flex;flex-direction:column;gap:.25rem;text-align:center; }.layout-caption strong { font-size:1.4rem;letter-spacing:-.05em;line-height:1.05; }.layout-caption span { color:var(--accent);font-size:.55rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase; }.font-romantic .layout-caption strong { font-family:Georgia,serif;font-style:italic;font-weight:400; }.font-modern .layout-caption strong { font-family:Arial,sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }.font-editorial .layout-caption strong { font-family:Georgia,serif;font-weight:500; }.format-2x6-streifen .photo-slots.count-2,.format-2x6-streifen .photo-slots.count-3,.format-2x6-streifen .photo-slots.count-4 { grid-template-columns:1fr; }.format-2x6-streifen .photo-slots.count-3 span:first-child { grid-column:auto; }.format-2x6-streifen .layout-caption strong { font-size:.82rem; }
.access-card { background:#19151b;border:1px solid rgb(255 255 255 / 11%);border-radius:2rem;box-shadow:0 45px 120px rgb(0 0 0 / 35%);margin:0 auto;max-width:40rem;padding:clamp(2rem,6vw,4.5rem);position:relative;text-align:center; }.access-icon { align-items:center;background:linear-gradient(135deg,#ac2194,#dc55c4);border-radius:50%;display:flex;height:3.6rem;justify-content:center;margin:0 auto 1.6rem;width:3.6rem; }.access-card h2 { font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.055em;margin:.9rem 0; }.access-card > p:not(.eyebrow,.form-error) { color:rgb(255 255 255 / 48%);font-size:.78rem;line-height:1.65;margin:0 auto 1.5rem;max-width:31rem; }.access-card form { display:flex;gap:.7rem;margin:auto;max-width:29rem; }.access-card input { background:#211c24;border:1px solid rgb(255 255 255 / 17%);border-radius:999px;color:#fff;min-height:3.2rem;padding:0 1.2rem;text-transform:uppercase; }.access-card button { background:linear-gradient(135deg,#b51f99,#d03bb4);border-radius:999px;min-height:3.2rem;white-space:nowrap; }
.final-section { background: rgb(255 255 255 / 1.5%); }.notes textarea { min-height:7rem;resize:vertical; }.consent-row { align-items:flex-start;background:rgb(255 255 255 / 3%);border:1px solid rgb(255 255 255 / 10%);border-radius:1rem;cursor:pointer;display:flex;gap:.9rem;margin-top:1.2rem;padding:1rem; }.consent-row > button { margin-top:.1rem; }.consent-row strong,.consent-row small { display:block; }.consent-row strong { font-size:.76rem; }.consent-row small { color:rgb(255 255 255 / 38%);font-size:.68rem;line-height:1.5;margin-top:.25rem; }
.form-error,.studio-message { background:rgb(228 81 112 / 10%);border:1px solid rgb(228 81 112 / 35%);border-radius:.8rem;color:#ffc1ce;font-size:.74rem;margin:1rem 0 0;padding:.8rem 1rem; }.submit-row { align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-top:1.5rem; }.submit-row p { color:rgb(255 255 255 / 35%);font-size:.7rem; }.submit-row button,.success-card button { background:linear-gradient(135deg,#b51f99,#d03bb4);border-radius:999px;box-shadow:0 12px 30px rgb(181 31 153 / 24%);font-weight:700;min-height:3.2rem;padding:0 1.4rem; }
.success-card { background:#19151b;border:1px solid rgb(255 255 255 / 11%);border-radius:2rem;margin:4rem auto;max-width:46rem;padding:clamp(2rem,7vw,5rem);position:relative;text-align:center; }.success-icon { align-items:center;background:linear-gradient(135deg,#ac2194,#dc55c4);border-radius:50%;display:flex;height:4rem;justify-content:center;margin:0 auto 2rem;width:4rem; }.success-card h2 { font-size:clamp(2rem,5vw,3.7rem);letter-spacing:-.06em;margin:1rem 0; }.success-card > p:not(.eyebrow) { color:rgb(255 255 255 / 50%);line-height:1.7; }.reference { background:rgb(255 255 255 / 4%);border:1px solid rgb(255 255 255 / 10%);border-radius:1rem;margin:2rem 0;padding:1rem; }.reference small,.reference strong { display:block; }.reference small { color:rgb(255 255 255 / 35%);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase; }.reference strong { color:#eb7bd6;font:700 1.2rem var(--font-geist-mono),monospace;margin-top:.4rem; }
.portal-shell > footer { color:rgb(255 255 255 / 30%);display:flex;font-size:.66rem;justify-content:space-between;margin:auto;max-width:84rem;padding:2rem .25rem 0; }.portal-shell > footer a { color:rgb(255 255 255 / 55%); }

.studio-login { align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;text-align:center; }.studio-login h1 { font-size:clamp(2rem,6vw,4rem);letter-spacing:-.06em;max-width:12ch; }.studio-login > p:not(.eyebrow) { color:rgb(255 255 255 / 48%); }.studio-login a { margin-top:1rem; }.studio-primary { background:#c22aa4;border-radius:999px;color:#fff;padding:.9rem 1.2rem;text-decoration:none; }
.studio-login form { display:grid;gap:.65rem;margin-top:1.25rem;max-width:24rem;width:100%; }.studio-login form label { color:rgb(255 255 255 / 55%);font-size:.72rem;text-align:left; }.studio-login form input { background:#211c24;border:1px solid rgb(255 255 255 / 17%);border-radius:999px;color:#fff;min-height:3.2rem;outline:none;padding:0 1.2rem;width:100%; }.studio-login form input:focus { border-color:#d15abb;box-shadow:0 0 0 3px rgb(194 42 164 / 14%); }.studio-login form button { border:0;cursor:pointer;font-weight:700; }
.studio-shell { background:#f5f5f7;color:#1d1d1f;display:grid;grid-template-columns:19rem minmax(0,1fr);min-height:100vh; }.studio-sidebar { background:#fff;border-right:1px solid #d9d9df;display:flex;flex-direction:column;padding:2rem; }.studio-brand { align-items:flex-start;display:flex;gap:.85rem; }.studio-brand > span { align-items:center;background:linear-gradient(135deg,#941c80,#d34bb8);border-radius:.8rem;box-shadow:0 8px 24px rgb(157 35 137 / 18%);color:#fff;display:flex;font-size:.8rem;font-weight:850;height:2.7rem;justify-content:center;letter-spacing:-.04em;width:2.7rem; }.studio-sidebar h1 { color:#1d1d1f;font-size:1.6rem;letter-spacing:-.05em;margin:.35rem 0 0; }.studio-sidebar p:not(.studio-kicker),.studio-sidebar > small { color:#86868b;font-size:.7rem; }.studio-sidebar nav { border-top:1px solid #e8e8ed;display:grid;gap:.35rem;margin:3rem 0 auto;padding-top:1rem; }.studio-sidebar nav a { align-items:center;border-radius:.75rem;color:#606066;display:flex;font-size:.76rem;justify-content:space-between;padding:.8rem;text-decoration:none; }.studio-sidebar nav a:hover { background:#f2f2f6;color:#1d1d1f; }.studio-sidebar nav a.active { background:#f8edf6;box-shadow:inset 3px 0 0 #9d2389;color:#1d1d1f; }.studio-sidebar nav span { background:#eeeef2;border-radius:999px;color:#9d2389;padding:.15rem .45rem; }.studio-sidebar nav svg { height:.8rem;width:.8rem; }
.studio-content { padding:clamp(1.5rem,4vw,4rem); }.studio-content > header { align-items:end;border-bottom:1px solid #d9d9df;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:2rem; }.studio-content > header h2 { color:#1d1d1f;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.06em;margin:.55rem 0; }.studio-content > header p:not(.studio-kicker) { color:#606066;font-size:.78rem; }.studio-content > header button { align-items:center;background:#fff;border:1px solid #d2d2d7;border-radius:999px;color:#1d1d1f;display:flex;font-size:.7rem;gap:.4rem;padding:.75rem 1rem; }.studio-content > header svg { height:.8rem;width:.8rem; }
.studio-summary { display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;background:#d9d9df;border:1px solid #d9d9df;border-radius:1rem; }.studio-summary article { align-items:center;background:#fff;display:flex;gap:1rem;padding:1.2rem; }.studio-summary article > svg { color:#9d2389; }.studio-summary small,.studio-summary strong { display:block; }.studio-summary small { color:#606066;font-size:.64rem; }.studio-summary strong { color:#1d1d1f;font-size:1.5rem;margin-top:.2rem; }
.request-list { display:grid;gap:1.2rem;margin-top:1.5rem; }.request-item { background:#fff;border:1px solid #d9d9df;border-radius:1.2rem;box-shadow:0 8px 28px rgb(26 26 30 / 5%);overflow:hidden;padding:1.4rem; }.request-top { display:flex;justify-content:space-between; }.request-top > div > small { color:#86868b;font:600 .62rem var(--font-geist-mono),monospace;margin-left:.7rem; }.request-top h3 { color:#1d1d1f;font-size:1.45rem;letter-spacing:-.04em;margin:.8rem 0 .2rem; }.request-top p,.request-top time { color:#606066;font-size:.7rem; }.status { border-radius:999px;display:inline-block;font-size:.58rem;font-weight:750;padding:.35rem .55rem;text-transform:uppercase; }.status.submitted { background:#fff8df;color:#8b6500; }.status.automation_requested,.status.approved { background:#edf5fd;color:#27658f; }.status.created { background:#eef9f3;color:#18794e; }.status.automation_failed { background:#fff2f2;color:#b4232e; }
.request-item dl { display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1.4rem 0; }.request-item dl > div { border-top:1px solid #e8e8ed;padding-top:.8rem; }.request-item dt { align-items:center;color:#86868b;display:flex;font-size:.6rem;gap:.35rem;text-transform:uppercase; }.request-item dt svg { height:.7rem;width:.7rem; }.request-item dd { color:#1d1d1f;font-size:.73rem;line-height:1.55;margin:.35rem 0 0;overflow-wrap:anywhere; }.request-note { background:#fafafd;border-radius:.8rem;padding:.8rem 1rem; }.request-note strong { color:#9d2389;font-size:.68rem; }.request-note p { color:#606066;font-size:.7rem;line-height:1.6;margin:.25rem 0 0; }.request-item > footer { align-items:center;border-top:1px solid #e8e8ed;display:flex;gap:1.5rem;justify-content:space-between;margin-top:1.2rem;padding-top:1rem; }.request-item > footer small { color:#86868b;font-size:.65rem; }.request-item > footer button { background:#9d2389;border:0;border-radius:999px;box-shadow:0 6px 16px rgb(157 35 137 / 18%);color:#fff;font-size:.7rem;font-weight:700;min-height:2.7rem;padding:0 1rem; }.request-item > footer button:disabled { filter:saturate(.4);opacity:.55; }.studio-empty { background:#fff;border:1px dashed #d2d2d7;border-radius:1rem;color:#86868b;padding:4rem;text-align:center; }.studio-empty svg { color:#9d2389; }.studio-empty h3 { color:#1d1d1f; }

@media (max-width: 1100px) { .template-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 900px) { .intro { grid-template-columns:1fr; }.template-grid { grid-template-columns:1fr 1fr; }.template-tools { grid-template-columns:1fr 1fr; }.template-tools > p { grid-column:1/-1;margin:0; }.layout-builder { grid-template-columns:1fr; }.studio-shell { grid-template-columns:1fr; }.studio-sidebar { display:none; }.request-item dl { grid-template-columns:1fr 1fr; } }
@media (max-width: 620px) { .portal-header > p { display:none; }.form-grid,.template-grid,.template-tools,.studio-summary { grid-template-columns:1fr; }.form-grid .wide-field { grid-column:auto; }.template-tools > p { grid-column:auto; }.layout-stage { min-height:25rem;padding:1rem; }.layout-preview-canvas { height:22.5rem;width:15rem; }.layout-preview-canvas.format-4x6-quer { height:15rem;width:22.5rem; }.layout-preview-canvas.format-2x6-streifen { height:22.5rem;width:7.5rem; }.access-card form { flex-direction:column; }.submit-row,.request-item > footer,.studio-content > header { align-items:stretch;flex-direction:column; }.portal-shell > footer { flex-direction:column;gap:.7rem; }.request-item dl { grid-template-columns:1fr; } }

/* Factory Studio workspace */
.status.reviewing { background:#f4efff;color:#6d49a7; }
.studio-alert { border:1px solid;border-radius:.85rem;font-size:.72rem;margin:0 0 1.25rem;padding:.9rem 1rem; }
.studio-alert.success { background:#eef9f3;border-color:#b9dfcb;color:#18794e; }
.studio-alert.error { background:#fff2f2;border-color:#f0c2c7;color:#b4232e; }
.request-details { border-top:1px solid #e8e8ed;margin-top:1.2rem;padding-top:1rem; }
.request-details summary { color:#7d1b6e;cursor:pointer;font-size:.72rem;font-weight:750;list-style-position:inside; }
.request-details[open] summary { margin-bottom:1rem; }
.studio-edit-form { background:#fafafd;border:1px solid #e8e8ed;border-radius:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1.2rem; }
.studio-edit-form label { display:grid;gap:.4rem; }
.studio-edit-form label > span,.status-form label { color:#606066;font-size:.62rem;font-weight:700; }
.studio-edit-form input,.studio-edit-form select,.studio-edit-form textarea,.status-form select { background:#fff;border:1px solid #d2d2d7;border-radius:.65rem;color:#1d1d1f;min-height:2.7rem;outline:none;padding:.65rem .75rem;width:100%; }
.studio-edit-form textarea { resize:vertical; }
.studio-edit-form input:focus,.studio-edit-form select:focus,.studio-edit-form textarea:focus,.status-form select:focus { border-color:#9d2389;box-shadow:0 0 0 3px rgb(157 35 137 / 10%); }
.studio-edit-form .wide { grid-column:1/-1; }
.form-actions { align-items:center;display:flex;gap:1rem;justify-content:space-between; }
.form-actions span,.studio-edit-form label > small { color:#756872;font-size:.72rem;line-height:1.5; }
.form-actions button,.status-form button { background:#9d2389;border-radius:999px;color:#fff;font-size:.68rem;font-weight:750;min-height:2.6rem;padding:0 1rem; }
.status-form { align-items:end;display:flex;gap:.7rem; }
.status-form label { display:grid;gap:.35rem; }
.status-form select { min-width:12rem; }
.automation-note { color:#86868b;display:block;font-size:.62rem;line-height:1.5;margin-top:.65rem;text-align:right; }
.code-generator { background:#fff;border:1px solid #d9d9df;border-radius:1.2rem;box-shadow:0 8px 28px rgb(26 26 30 / 5%);display:grid;gap:1.4rem;margin-top:1.5rem;padding:1.4rem; }
.generator-copy h3 { color:#1d1d1f;font-size:1.35rem;letter-spacing:-.04em;margin:.45rem 0; }.generator-copy > p:last-child { color:#606066;font-size:.7rem;line-height:1.55;margin:0; }
.generator-form { align-items:end;display:grid;gap:.85rem;grid-template-columns:1fr 1fr 1fr .8fr auto; }.generator-form label { display:grid;gap:.35rem; }.generator-form label span { color:#606066;font-size:.6rem;font-weight:700; }.generator-form input { background:#fafafd;border:1px solid #d2d2d7;border-radius:.65rem;color:#1d1d1f;min-height:2.7rem;outline:none;padding:.65rem .75rem;width:100%; }.generator-form input:focus { border-color:#9d2389;box-shadow:0 0 0 3px rgb(157 35 137 / 10%); }.generator-form button { background:#9d2389;border-radius:999px;color:#fff;font-size:.68rem;font-weight:750;min-height:2.7rem;padding:0 1rem;white-space:nowrap; }
.generated-code { background:linear-gradient(135deg,#f8edf6,#f4efff);border:1px solid #e6c9df;border-radius:1rem;padding:1.2rem;text-align:center; }.generated-code small,.generated-code strong { display:block; }.generated-code small { color:#7d1b6e;font-size:.58rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase; }.generated-code strong { color:#1d1d1f;font:800 clamp(1.4rem,3vw,2.2rem) monospace;letter-spacing:.08em;margin:.55rem 0; }.generated-code p { color:#606066;font-size:.68rem;margin:0; }
.invitation-history { border-top:1px solid #e8e8ed;padding-top:1rem; }.invitation-history summary { color:#7d1b6e;cursor:pointer;font-size:.68rem;font-weight:750; }.invitation-history > div { display:grid;gap:.45rem;margin-top:.8rem; }.invitation-history article { align-items:center;background:#fafafd;border-radius:.7rem;display:grid;gap:.6rem;grid-template-columns:1fr 1.5fr auto;padding:.7rem .85rem; }.invitation-history article strong { color:#1d1d1f;font-size:.7rem; }.invitation-history article small { color:#606066;font-size:.62rem; }
@media (max-width: 620px) { .studio-edit-form { grid-template-columns:1fr; }.studio-edit-form .wide { grid-column:auto; }.status-form { align-items:stretch;flex-direction:column; }.status-form select { min-width:0; }.automation-note { text-align:left; } }
@media (max-width: 1050px) { .generator-form { grid-template-columns:1fr 1fr; }.generator-form button { grid-column:1/-1; } }
@media (max-width: 620px) { .generator-form,.invitation-history article { grid-template-columns:1fr; }.generator-form button { grid-column:auto; }.invitation-history article .status { justify-self:start; } }

/* Factory Studio – editorial Party-Komplizen refresh */
.studio-shell {
  background:
    radial-gradient(circle at 82% 0%, rgb(194 42 164 / 16%), transparent 27rem),
    radial-gradient(circle at 18% 82%, rgb(121 48 137 / 9%), transparent 32rem),
    #100d12;
  color:#fff;
  font-size:1rem;
  grid-template-columns:20rem minmax(0,1fr);
  position:relative;
}
.studio-shell::before { background:linear-gradient(120deg,transparent 45%,rgb(255 255 255 / 1.5%) 45%,transparent 68%);content:"";inset:0;pointer-events:none;position:fixed; }
.studio-sidebar { background:rgb(20 16 22 / 92%);border-right:1px solid rgb(255 255 255 / 9%);padding:2.4rem 2rem;position:relative;z-index:1; }
.studio-brand { align-items:center;color:#fff;gap:1rem;text-decoration:none; }
.studio-brand img { height:auto;max-height:2.8rem;object-fit:contain;object-position:left center;width:8.4rem; }
.studio-sidebar h1 { color:#fff;font-size:1.65rem;font-weight:620;letter-spacing:-.055em;margin:.35rem 0 0; }
.studio-sidebar .studio-kicker { color:#e273cf;font-size:.72rem; }
.studio-sidebar nav { border-color:rgb(255 255 255 / 9%);gap:.55rem;margin:3.5rem 0 auto;padding-top:1.25rem; }
.studio-sidebar nav a { border:1px solid transparent;border-radius:1rem;color:rgb(255 255 255 / 58%);font-size:.95rem;font-weight:650;padding:1rem 1.05rem; }
.studio-sidebar nav a:hover { background:rgb(255 255 255 / 5%);color:#fff; }
.studio-sidebar nav a.active { background:linear-gradient(135deg,rgb(194 42 164 / 18%),rgb(217 77 190 / 7%));border-color:rgb(224 104 201 / 24%);box-shadow:inset 3px 0 0 #d94dbe;color:#fff; }
.studio-sidebar nav span { background:rgb(255 255 255 / 8%);color:#ef8ddd;font-size:.78rem;min-width:1.8rem;padding:.25rem .55rem;text-align:center; }
.studio-system { align-items:center;color:rgb(255 255 255 / 48%);display:flex;font-size:.78rem;gap:.55rem;line-height:1.45;margin-top:2rem; }
.studio-system i { background:#e45170;border-radius:50%;box-shadow:0 0 0 4px rgb(228 81 112 / 10%);height:.5rem;width:.5rem; }
.studio-system.online i { background:#55c88a;box-shadow:0 0 0 4px rgb(85 200 138 / 10%); }
.studio-content { margin:0 auto;max-width:105rem;padding:clamp(2rem,4.5vw,5.5rem);position:relative;width:100%;z-index:1; }
.studio-content > header { align-items:flex-start;border-color:rgb(255 255 255 / 10%);margin-bottom:2.5rem;padding-bottom:2.5rem; }
.studio-content > header h2 { color:#fff;font-size:clamp(3rem,5.6vw,5.7rem);font-weight:590;letter-spacing:-.075em;line-height:.92;margin:.8rem 0 1.35rem; }
.studio-content > header h2 em { color:#e273cf;font-family:Georgia,serif;font-weight:400; }
.studio-content > header p:not(.studio-kicker) { color:rgb(255 255 255 / 53%);font-size:1.05rem;line-height:1.75;margin:0;max-width:47rem; }
.studio-content > header button { background:rgb(255 255 255 / 5%);border-color:rgb(255 255 255 / 13%);color:#fff;font-size:.9rem;font-weight:650;min-height:3rem;padding:0 1.2rem; }
.studio-alert { border-radius:1rem;font-size:.95rem;padding:1rem 1.15rem; }
.code-generator { background:linear-gradient(145deg,rgb(32 26 35 / 97%),rgb(23 18 25 / 98%));border-color:rgb(255 255 255 / 11%);border-radius:1.5rem;box-shadow:0 28px 70px rgb(0 0 0 / 24%);gap:1.8rem;margin-top:0;padding:clamp(1.5rem,3vw,2.25rem); }
.generator-copy { border-left:3px solid #d94dbe;padding-left:1.15rem; }
.generator-copy h3 { color:#fff;font-size:clamp(1.65rem,2.4vw,2.3rem);font-weight:620;margin:.55rem 0 .7rem; }
.generator-copy > p:last-child { color:rgb(255 255 255 / 53%);font-size:.98rem;line-height:1.7;max-width:54rem; }
.generator-form { gap:1rem;grid-template-columns:1fr 1.15fr 1fr .8fr auto; }
.generator-form label span,.studio-edit-form label > span { color:rgb(255 255 255 / 62%);font-size:.8rem;letter-spacing:.01em; }
.generator-form input,.studio-edit-form input,.studio-edit-form select,.studio-edit-form textarea { background:rgb(255 255 255 / 5%);border-color:rgb(255 255 255 / 14%);border-radius:.85rem;color:#fff;font-size:.95rem;min-height:3.2rem;padding:.8rem .95rem; }
.generator-form input::placeholder,.studio-edit-form input::placeholder,.studio-edit-form textarea::placeholder { color:rgb(255 255 255 / 28%); }
.generator-form input:focus,.studio-edit-form input:focus,.studio-edit-form select:focus,.studio-edit-form textarea:focus { border-color:#d95fc2;box-shadow:0 0 0 4px rgb(194 42 164 / 12%); }
.generator-form button,.form-actions button { background:linear-gradient(135deg,#b51f99,#d94dbe);box-shadow:0 10px 26px rgb(181 31 153 / 22%);font-size:.9rem;min-height:3.2rem;padding:0 1.25rem; }
.generated-code { background:linear-gradient(135deg,rgb(194 42 164 / 18%),rgb(111 60 140 / 16%));border-color:rgb(226 115 207 / 28%);border-radius:1.2rem;padding:1.5rem; }
.generated-code small { color:#f29be1;font-size:.72rem; }.generated-code strong { color:#fff;font-size:clamp(1.7rem,3vw,2.6rem); }.generated-code p { color:rgb(255 255 255 / 57%);font-size:.9rem; }
.invitation-history { border-color:rgb(255 255 255 / 9%); }.invitation-history summary { color:#ee8cdb;font-size:.9rem; }
.invitation-history > div { gap:.65rem;margin-top:1rem; }.invitation-history article { background:rgb(255 255 255 / 4%);border:1px solid rgb(255 255 255 / 8%);border-radius:.9rem;padding:.9rem 1rem; }
.invitation-history article strong { color:#fff;font-size:.92rem; }.invitation-history article small { color:rgb(255 255 255 / 48%);font-size:.8rem; }
.request-list { gap:1.5rem;margin-top:2rem; }
.request-item { background:linear-gradient(145deg,rgb(29 24 32 / 98%),rgb(22 18 24 / 98%));border-color:rgb(255 255 255 / 10%);border-radius:1.5rem;box-shadow:0 24px 60px rgb(0 0 0 / 20%);padding:clamp(1.5rem,3vw,2.2rem); }
.request-top { align-items:flex-start;gap:2rem; }.request-meta { align-items:center;display:flex;flex-wrap:wrap;gap:.75rem; }
.request-top > div > small { color:rgb(255 255 255 / 38%);font-size:.76rem;margin-left:0; }
.request-top h3 { color:#fff;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:610;margin:1rem 0 .4rem; }
.request-top p,.request-top time { color:rgb(255 255 255 / 52%);font-size:.94rem;line-height:1.6; }
.status { font-size:.68rem;letter-spacing:.04em;padding:.45rem .7rem; }
.status.submitted { background:rgb(255 200 70 / 12%);color:#ffd87a; }.status.reviewing { background:rgb(160 115 255 / 13%);color:#c9adff; }.status.automation_requested,.status.approved { background:rgb(80 163 226 / 13%);color:#8dcbf8; }.status.created { background:rgb(60 188 120 / 13%);color:#78dda7; }.status.automation_failed { background:rgb(228 81 112 / 13%);color:#ff91aa; }
.request-item dl { gap:1.25rem;margin:1.8rem 0; }.request-item dl > div { border-color:rgb(255 255 255 / 9%);padding-top:1rem; }
.request-item dt { color:rgb(255 255 255 / 42%);font-size:.72rem;font-weight:750;letter-spacing:.07em; }.request-item dd { color:rgb(255 255 255 / 88%);font-size:.96rem;line-height:1.7;margin-top:.55rem; }.request-item dd a { color:#ee8cdb; }
.request-note { background:rgb(255 255 255 / 4%);border:1px solid rgb(255 255 255 / 8%);border-radius:1rem;padding:1rem 1.15rem; }.request-note strong { color:#ef8ddd;font-size:.82rem; }.request-note p { color:rgb(255 255 255 / 57%);font-size:.92rem;line-height:1.7; }
.request-details { border-color:rgb(255 255 255 / 9%);margin-top:1.5rem;padding-top:1.2rem; }.request-details summary { color:#ee8cdb;font-size:.95rem; }.request-details[open] summary { margin-bottom:1.2rem; }
.studio-edit-form { background:rgb(255 255 255 / 3%);border-color:rgb(255 255 255 / 9%);border-radius:1.1rem;gap:1.1rem;padding:1.35rem; }
.studio-edit-form textarea { min-height:8rem; }.form-actions { padding-top:.25rem; }
.studio-empty { background:rgb(255 255 255 / 3%);border-color:rgb(255 255 255 / 13%);color:rgb(255 255 255 / 46%); }.studio-empty h3 { color:#fff;font-size:1.5rem; }
.studio-login h1 { font-size:clamp(2.7rem,6vw,5rem); }.studio-login > p:not(.eyebrow) { font-size:1rem;line-height:1.7; }.studio-login form label { font-size:.88rem; }.studio-login form input { font-size:1rem;min-height:3.5rem; }.studio-primary { font-size:1rem;min-height:3.5rem; }

@media (max-width: 1180px) { .generator-form { grid-template-columns:1fr 1fr; }.generator-form button { grid-column:1/-1; }.studio-shell { grid-template-columns:17rem minmax(0,1fr); }.studio-brand { align-items:flex-start;flex-direction:column; } }
@media (max-width: 900px) { .studio-shell { grid-template-columns:1fr; }.studio-sidebar { display:flex;padding:1.25rem; }.studio-sidebar nav { grid-template-columns:1fr 1fr;margin:1.4rem 0 0;padding-top:1rem; }.studio-sidebar > small { display:none; }.studio-brand { align-items:center;flex-direction:row; }.studio-content { padding:2rem 1.25rem 3rem; } }
@media (max-width: 620px) { .studio-sidebar nav { grid-template-columns:1fr; }.studio-content > header h2 { font-size:3.1rem; }.generator-form,.invitation-history article,.studio-edit-form { grid-template-columns:1fr; }.generator-form button,.studio-edit-form .wide { grid-column:auto; }.request-top { gap:1rem; }.request-top time { display:none; }.request-item dl { grid-template-columns:1fr; } }
@media (max-width: 620px) { .form-actions { align-items:stretch;flex-direction:column; }.form-actions button { width:100%; } }

/* Factory Studio – light high-contrast refinement */
.studio-shell {
  background:
    radial-gradient(circle at 88% 0%,rgb(194 42 164 / 8%),transparent 28rem),
    linear-gradient(180deg,#fbf9fb 0%,#f5f1f5 100%);
  color:#211820;
}
.studio-shell::before { background:linear-gradient(125deg,transparent 56%,rgb(194 42 164 / 2.5%) 56%,transparent 74%); }
.studio-sidebar { background:rgb(255 255 255 / 96%);border-color:#e3dbe2;box-shadow:8px 0 30px rgb(50 29 46 / 3%); }
.studio-sidebar h1 { color:#211820; }.studio-sidebar .studio-kicker { color:#a91f91; }
.studio-sidebar nav { border-color:#ece5eb; }
.studio-sidebar nav a { color:#554650; }
.studio-sidebar nav a:hover { background:#f7f2f6;color:#211820; }
.studio-sidebar nav a.active { background:linear-gradient(135deg,#faedf7,#f6f0f8);border-color:#e8cce2;box-shadow:inset 4px 0 0 #be2ca2;color:#211820; }
.studio-sidebar nav span { background:#f0e7ef;color:#93197e; }
.studio-system { color:#6d6069; }.studio-system.online i { background:#168a50;box-shadow:0 0 0 4px rgb(22 138 80 / 10%); }
.studio-content > header { border-color:#ddd3db; }
.studio-content > header h2 { color:#211820;font-size:clamp(2.8rem,5vw,5rem); }
.studio-content > header h2 em { color:#b9239c; }
.studio-content > header p:not(.studio-kicker) { color:#62545e; }
.studio-content > header button { background:#fff;border-color:#d8cdd5;color:#211820;box-shadow:0 4px 14px rgb(50 29 46 / 5%); }
.studio-content > header button:hover { border-color:#b9239c;color:#941a7e; }
.code-generator,.request-item { background:#fff;border-color:#ded4dc;box-shadow:0 18px 50px rgb(50 29 46 / 7%); }
.generator-copy { border-color:#c42aa6; }.generator-copy h3,.request-top h3 { color:#211820; }
.generator-copy > p:last-child { color:#62545e; }
.generator-form label span,.studio-edit-form label > span { color:#554650; }
.generator-form input,.studio-edit-form input,.studio-edit-form select,.studio-edit-form textarea { background:#fff;border-color:#cfc3cc;color:#211820; }
.generator-form input::placeholder,.studio-edit-form input::placeholder,.studio-edit-form textarea::placeholder { color:#968993; }
.generator-form input:focus,.studio-edit-form input:focus,.studio-edit-form select:focus,.studio-edit-form textarea:focus { background:#fff;border-color:#b9239c;box-shadow:0 0 0 4px rgb(185 35 156 / 10%); }
.studio-edit-form select option { background:#fff;color:#211820; }
.generator-form button,.form-actions button { background:linear-gradient(135deg,#aa1f90,#cf3cb2);box-shadow:0 10px 24px rgb(170 31 144 / 19%); }
.generated-code { background:linear-gradient(135deg,#fbeef8,#f3edf8);border-color:#e3c5dd; }.generated-code small { color:#8f197a; }.generated-code strong { color:#211820; }.generated-code p { color:#62545e; }
.invitation-history { border-color:#e4dce2; }.invitation-history summary { color:#941a7e; }
.invitation-history article { background:#faf7fa;border-color:#e6dde4; }.invitation-history article strong { color:#211820; }.invitation-history article small { color:#6b5e67; }
.request-top > div > small { color:#7d7079; }.request-top p,.request-top time { color:#62545e; }
.request-item dl > div { border-color:#e7dfe5; }.request-item dt { color:#756872; }.request-item dd { color:#2a2028; }.request-item dd a { color:#941a7e;font-weight:650; }
.request-note { background:#faf7fa;border-color:#e6dde4; }.request-note strong { color:#941a7e; }.request-note p { color:#62545e; }
.request-details { border-color:#e6dde4; }.request-details summary { color:#941a7e; }
.studio-edit-form { background:#faf8fa;border-color:#e3dae1; }
.status.submitted { background:#fff4ce;color:#725000; }.status.reviewing { background:#eee7ff;color:#5d3c98; }.status.automation_requested,.status.approved { background:#e3f2fd;color:#175b87; }.status.created { background:#e5f7ed;color:#0f6b3f; }.status.automation_failed { background:#ffe7ec;color:#9b1831; }
.studio-alert.success { background:#e9f8ef;border-color:#acd9be;color:#0f6b3f; }.studio-alert.error { background:#fff0f2;border-color:#ebb8c2;color:#9b1831; }
.studio-empty { background:#fff;border-color:#d8cdd5;color:#6d6069; }.studio-empty h3 { color:#211820; }
.studio-login { background:linear-gradient(145deg,#fff,#f6f0f5);color:#211820; }
.studio-login h1 { color:#211820; }.studio-login > p:not(.eyebrow) { color:#62545e; }.studio-login form label { color:#554650; }.studio-login form input { background:#fff;border-color:#cfc3cc;color:#211820;box-shadow:0 8px 24px rgb(50 29 46 / 5%); }.studio-login a { color:#941a7e;font-weight:650; }
.delete-request { border-top:1px solid #e6dde4;margin-top:1.25rem;padding-top:1rem; }
.delete-request summary { color:#8f2440;cursor:pointer;font-size:.88rem;font-weight:720;list-style-position:inside;width:max-content; }
.delete-request[open] summary { margin-bottom:.9rem; }
.delete-confirmation { align-items:center;background:#fff5f7;border:1px solid #efc7d1;border-radius:1rem;display:flex;gap:1.25rem;justify-content:space-between;padding:1rem 1.1rem; }
.delete-confirmation strong { color:#73152c;font-size:.95rem; }.delete-confirmation p { color:#71515b;font-size:.82rem;line-height:1.55;margin:.25rem 0 0;max-width:48rem; }
.delete-confirmation form { flex:0 0 auto;margin:0; }.delete-confirmation button { background:#a92746;border:1px solid #8f1d39;border-radius:999px;color:#fff;font-size:.82rem;font-weight:760;min-height:2.8rem;padding:0 1.05rem;white-space:nowrap; }.delete-confirmation button:hover { background:#8f1d39; }
@media (max-width: 620px) { .delete-confirmation { align-items:stretch;flex-direction:column; }.delete-confirmation button { width:100%; } }
