@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#f7f5f3;--surface:#fff;--surface2:#fbfaf9;--ink:#262123;--muted:#81777a;--line:#e9e2e3;--rose:#2563EB;--rose2:#DBEAFE;--rose3:#EFF6FF;--green:#3f7d67;--amber:#b7833f;--danger:#b34f5b;--sidebar:#172554;--shadow:0 18px 55px rgba(15,23,42,.07)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.serif{font-family:'Playfair Display',Georgia,serif}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:var(--sidebar);color:#fff;display:flex;flex-direction:column;z-index:40}.side-brand{padding:30px 24px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand .mini{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:#BFDBFE}.side-brand .couple{display:block;margin-top:7px;font:600 24px 'Playfair Display',serif}.side-nav{padding:18px 12px;display:grid;gap:4px;overflow:auto}.side-nav a,.side-nav button{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:#d8ced1;background:transparent;border:0;width:100%;cursor:pointer;text-align:left;font-weight:600;font-size:14px}.side-nav a:hover,.side-nav a.active,.side-nav button:hover{background:rgba(255,255,255,.08);color:#fff}.side-nav a.active{box-shadow:inset 3px 0 0 #93C5FD}.side-nav svg{width:18px;height:18px;opacity:.9}.side-spacer{flex:1}.side-bottom{padding:14px 12px 20px;border-top:1px solid rgba(255,255,255,.08)}.admin-main{margin-left:270px;min-height:100vh}.admin-topbar{height:72px;padding:0 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,243,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.topbar-left{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px}.topbar-actions{display:flex;gap:10px;align-items:center}.top-pill{padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:12px;font-weight:700}.admin-content{padding:34px;max-width:1600px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--rose);font-weight:800}.page-head h1{font:600 clamp(30px,4vw,46px) 'Playfair Display',serif;margin:5px 0 6px}.page-head p{margin:0;color:var(--muted);max-width:680px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(.96)}.btn.soft{background:var(--rose2);color:#1E40AF}.btn.white{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#fff0f1;color:var(--danger)}.btn.sm{padding:8px 11px;font-size:12px;border-radius:9px}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 9px 30px rgba(15,23,42,.035)}.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.kpi-icon{width:38px;height:38px;border-radius:12px;background:var(--rose3);display:grid;place-items:center;color:var(--rose)}.kpi small{color:var(--muted);font-weight:600}.kpi strong{display:block;font:600 34px 'Playfair Display',serif}.kpi .sub{font-size:11px;color:var(--muted);margin-top:4px}.grid-2{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2,.panel-head h3{font:600 21px 'Playfair Display',serif;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:3px 0 0}.panel-body{padding:22px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{padding:12px 14px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);background:var(--surface2);white-space:nowrap}.data-table td{padding:14px;border-top:1px solid var(--line);vertical-align:middle}.data-table tr:hover td{background:#fffbfc}.badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--rose2);color:#1E40AF;font-size:11px;font-weight:700}.badge.green{background:#eaf4ef;color:var(--green)}.badge.gray{background:#f0eeee;color:#736b6d}.badge.amber{background:#fbf1e4;color:var(--amber)}.progress{height:7px;background:#f0ebec;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#93C5FD,#60A5FA);border-radius:999px}.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;outline:none;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#60A5FA;box-shadow:0 0 0 3px #DBEAFE}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-row.three{grid-template-columns:repeat(3,1fr)}.notice{padding:12px 14px;border-radius:12px;background:#fff0f2;color:#1E40AF;border:1px solid #f0cbd1;margin-bottom:15px}.empty{padding:42px 24px;text-align:center;color:var(--muted)}.photo-preview{width:100%;height:180px;object-fit:cover;border-radius:14px;border:1px solid var(--line);margin-top:8px}.gallery-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-card{position:relative;border-radius:15px;overflow:hidden;background:#eee;min-height:160px}.gallery-card img{width:100%;height:190px;object-fit:cover;display:block}.gallery-card .caption{position:absolute;inset:auto 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:white;font-size:12px}.gallery-card form{position:absolute;right:8px;top:8px}.icon-btn{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.92);cursor:pointer;color:var(--danger)}.mobile-toggle{display:none}.status-dot{width:8px;height:8px;border-radius:50%;background:#55a477;display:inline-block}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-art{position:relative;min-height:100vh;background:#2c2427;overflow:hidden}.login-art img{width:100%;height:100%;object-fit:cover;opacity:.72;position:absolute;inset:0}.login-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,28,31,.18),rgba(37,28,31,.75))}.login-caption{position:absolute;z-index:2;left:clamp(28px,6vw,80px);right:40px;bottom:70px;color:#fff}.login-caption .mark{font:500 64px 'Playfair Display',serif}.login-caption p{max-width:520px;color:#eee1e4}.login-form-wrap{display:grid;place-items:center;padding:40px;background:linear-gradient(145deg,#fff,#F8FAFC)}.login-box{width:min(430px,100%)}.login-box .brand-dot{width:48px;height:48px;border-radius:16px;background:var(--rose2);color:#9c616c;display:grid;place-items:center;font:600 25px 'Playfair Display',serif;margin-bottom:22px}.login-box h1{font:600 42px 'Playfair Display',serif;margin:0 0 8px}.login-box>.desc{color:var(--muted);margin:0 0 30px}.login-box .btn{width:100%;padding:14px}.login-back{display:block;text-align:center;color:var(--muted);margin-top:18px;font-size:13px}.login-security{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px;margin-top:20px}.admin-fab{position:fixed;right:20px;bottom:20px;z-index:80;padding:11px 15px;border-radius:999px;background:rgba(37,31,34,.92);color:#fff!important;box-shadow:0 12px 30px rgba(37,31,34,.22);font-size:12px;font-weight:700;backdrop-filter:blur(10px)}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr}.gallery-admin{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.admin-main{margin-left:0}.mobile-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px}.admin-topbar{padding:0 18px}.admin-content{padding:22px 16px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-equal,.form-row,.form-row.three{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form-wrap{min-height:100vh;padding:24px}.gallery-admin{grid-template-columns:1fr}}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:15px}.kpi strong{font-size:28px}.admin-topbar .top-pill{display:none}}
.studio-layout{align-items:start}.template-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.template-choice{display:grid;gap:8px;cursor:pointer}.template-choice input{position:absolute;opacity:0;pointer-events:none}.template-choice strong{font-size:13px}.template-choice small{font-size:11px;color:var(--muted);line-height:1.45}.template-thumb{height:150px;border:1px solid var(--line);border-radius:14px;background:#fffaf6;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:.2s;box-shadow:0 8px 20px rgba(48,35,40,.04)}.template-choice input:checked+.template-thumb{outline:3px solid #efced4;border-color:#ce8996}.template-thumb b{font:600 28px 'Playfair Display',serif}.template-thumb i{font-style:normal;text-transform:uppercase;letter-spacing:.18em;font-size:8px;color:#8f7479}.template-thumb em{font-style:normal}.template-thumb.editorial:before,.template-thumb.editorial:after{content:'';position:absolute;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#DBEAFE 0 18%,#93C5FD 19% 28%,transparent 29%),radial-gradient(circle at 68% 65%,#CBD5E1 0 14%,transparent 15%);opacity:.75}.template-thumb.editorial:before{right:-15px;top:-15px}.template-thumb.editorial:after{left:-22px;bottom:-25px}.template-thumb.editorial em{position:absolute;right:10px;bottom:10px;width:42px;height:68px;background:#CBD5E1;border-radius:18px 18px 8px 8px;color:transparent}.template-thumb.signature{background:linear-gradient(110deg,#2b2527 0 53%,#EFF6FF 54%)}.template-thumb.signature em{position:absolute;left:14px;color:#fff;font-size:9px}.template-thumb.signature b{margin-left:45%;color:#1E40AF}.template-thumb.minimal:before{content:'✦';position:absolute;top:20px;color:#60A5FA}.template-thumb.minimal span{font-size:9px;color:#8c7c7f;margin-top:9px;letter-spacing:.15em}.studio-photo{height:300px}.preview-links{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1100px){.template-picker{grid-template-columns:1fr}.template-thumb{height:120px}}

/* Admin refresh: Tailwind-inspired production dashboard styling. */
:root{--bg:#F8FAFC;--surface:#ffffff;--surface2:#EFF6FF;--ink:#1E40AF;--muted:#64748B;--line:#E2E8F0;--rose:#2563EB;--rose2:#DBEAFE;--rose3:#EFF6FF;--green:#059669;--amber:#d97706;--danger:#dc2626;--sidebar:#172554;--shadow:0 20px 50px rgba(15,23,42,.08)}
body{background:linear-gradient(180deg,#F8FAFC,#EFF6FF);color:var(--ink)}.sidebar{background:linear-gradient(180deg,#172554,#1E40AF 56%,#172554);box-shadow:12px 0 40px rgba(15,23,42,.16)}.side-brand{padding:28px 22px}.side-brand .mini{color:#DBEAFE}.side-brand .couple{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.03em}.side-nav a,.side-nav button,.side-bottom a,.side-bottom button{border-radius:16px;color:#EFF6FF}.side-nav a:hover,.side-nav a.active,.side-nav button:hover,.side-bottom a:hover,.side-bottom button:hover{background:rgba(255,255,255,.12);transform:translateX(2px)}.side-nav a.active{box-shadow:inset 4px 0 0 #DBEAFE;background:linear-gradient(90deg,rgba(251,113,133,.22),rgba(255,255,255,.08));color:#fff}
.admin-topbar{height:76px;background:rgba(248,250,252,.82);border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 10px 30px rgba(15,23,42,.04)}.status-dot{background:#4F8F75;box-shadow:0 0 0 4px rgba(16,185,129,.14)}.top-pill{border-radius:14px;border-color:#EFF6FF;background:#fff;color:#172554;box-shadow:0 8px 22px rgba(37,99,235,.06)}.admin-content{padding:38px}.page-head{padding:26px 28px;border:1px solid rgba(226,232,240,.9);border-radius:28px;background:linear-gradient(135deg,#fff,#F8FAFC 58%,#EFF6FF);box-shadow:var(--shadow)}.page-head h1{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.045em}.eyebrow{color:#2563EB}.panel,.kpi{border-radius:24px;border-color:rgba(226,232,240,.95);box-shadow:var(--shadow)}.panel-head{background:linear-gradient(180deg,#fff,#F8FAFC)}.panel-head h2,.panel-head h3{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#DBEAFE,#93C5FD,#4F8F75)}.kpi-icon{border-radius:16px;background:linear-gradient(135deg,#DBEAFE,#e0f2fe);color:#2563EB}.kpi strong{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.04em}.btn{border-radius:14px;background:linear-gradient(135deg,#1E40AF,#172554);box-shadow:0 12px 26px rgba(49,46,129,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(49,46,129,.22)}.btn.soft{background:linear-gradient(135deg,#DBEAFE,#ffedd5);color:#1E40AF}.btn.white{border-color:#EFF6FF;background:#fff;color:#1f2937;box-shadow:0 8px 20px rgba(15,23,42,.05)}.btn.danger{background:#fee2e2;color:#b91c1c;box-shadow:none}.field input,.field select,.field textarea{border-radius:14px;background:#F8FAFC;border-color:#E2E8F0}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#2563EB;box-shadow:0 0 0 4px rgba(129,140,248,.18)}.data-table th{background:#F8FAFC;color:#64748B}.data-table td{border-color:#E2E8F0}.data-table tr:hover td{background:#EFF6FF}.badge{background:#e0f2fe;color:#172554}.badge.gray{background:#EFF6FF;color:#64748B}.notice{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.notice.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.login-page{background:#F8FAFC}.login-form-wrap{background:linear-gradient(135deg,#F8FAFC,#EFF6FF)}.login-box .brand-dot{background:linear-gradient(135deg,#DBEAFE,#e0e7ff);color:#2563EB}.login-box h1{font-family:'DM Sans',system-ui,sans-serif;font-weight:800}.admin-fab{background:linear-gradient(135deg,#1E40AF,#2563EB)}
.sidebar{overflow:hidden}.side-nav{min-height:0}.side-bottom{display:grid;gap:8px}.side-bottom a,.side-bottom button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;font-weight:700;font-size:13px;line-height:1.25;cursor:pointer}.side-bottom form{margin:0}.side-bottom button{font-family:inherit}

/* Romantic Blush final admin skin: professional surfaces with a soft burgundy spine. */
:root{
  --white:#FFFFFF;
  --rose-white:#F8FAFC;
  --soft-blush:#EFF6FF;
  --blush:#DBEAFE;
  --romantic-rose:#93C5FD;
  --deep-rose:#2563EB;
  --soft-burgundy:#172554;
  --ink:#1E40AF;
  --muted:#64748B;
  --line:#E2E8F0;
  --bg:#F8FAFC;
  --surface:#FFFFFF;
  --surface2:#EFF6FF;
  --rose:#2563EB;
  --rose2:#EFF6FF;
  --rose3:#F8FAFC;
  --green:#4F8F75;
  --amber:#B68559;
  --danger:#B85B64;
  --sidebar:#172554;
  --shadow:0 10px 28px rgba(30,64,175,.06);
}
html,body{background:var(--bg);color:var(--ink)}body{background:linear-gradient(180deg,#fff 0%,var(--rose-white) 100%)}
.sidebar{background:linear-gradient(180deg,#172554 0%,#1E40AF 58%,#172554 100%);box-shadow:10px 0 28px rgba(30,64,175,.14)}.side-brand{padding:26px 22px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.side-logo{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin-bottom:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font:700 18px 'Playfair Display',Georgia,serif;color:#fff}.side-brand .mini{color:#DBEAFE}.side-brand .couple{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:0;color:#fff}
.nav-ico{width:31px;min-width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#EFF6FF;font-size:10px;font-weight:800;letter-spacing:.02em}.side-nav a,.side-nav button,.side-bottom a,.side-bottom button{border-radius:12px;color:rgba(255,255,255,.84);gap:11px}.side-nav a:hover,.side-nav a.active,.side-nav button:hover,.side-bottom a:hover,.side-bottom button:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(2px)}.side-nav a.active{background:rgba(219,234,254,.16);box-shadow:inset 4px 0 0 var(--blush);color:#fff}.side-nav a.active .nav-ico{background:var(--blush);color:var(--soft-burgundy)}
.admin-topbar{height:74px;background:rgba(248,250,252,.86);border-bottom:1px solid rgba(226,232,240,.92);box-shadow:0 8px 22px rgba(30,64,175,.035)}.status-dot{background:#4F8F75;box-shadow:0 0 0 4px rgba(79,143,117,.14)}.top-pill{border-radius:12px;border-color:var(--line);background:#fff;color:var(--soft-burgundy);box-shadow:none}
.admin-content{padding:34px}.page-head{border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fff 58%,#fff4f6 100%);box-shadow:var(--shadow)}.page-head h1{font-family:'Playfair Display',Georgia,serif;font-weight:700;letter-spacing:-.02em}.page-head p,.topbar-left{color:var(--muted)}.eyebrow{color:var(--deep-rose)}
.panel,.kpi{border-color:var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.panel-head{background:#fff;border-bottom-color:var(--line)}.panel-head h2,.panel-head h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;letter-spacing:0}.kpi:before{height:3px;background:linear-gradient(90deg,var(--blush),var(--deep-rose))}.kpi-icon{border-radius:14px;background:var(--soft-blush);color:var(--deep-rose)}.kpi strong{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);letter-spacing:-.035em}
.btn{border-radius:12px;background:var(--deep-rose);color:#fff;box-shadow:none;min-height:42px}.btn:hover{background:#1D4ED8;box-shadow:none;filter:none}.btn.soft{background:var(--soft-blush);color:var(--soft-burgundy)}.btn.white{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:none}.btn.danger{background:#FFF0F2;color:var(--danger);box-shadow:none}.btn.sm{min-height:auto;border-radius:10px}
.field label{color:var(--ink)}.field input,.field select,.field textarea{border-radius:12px;background:#fff;border-color:#E2E8F0;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--deep-rose);box-shadow:0 0 0 4px rgba(169,79,100,.14)}
.data-table th{background:var(--rose-white);color:var(--muted)}.data-table td{border-color:var(--line)}.data-table tr:hover td{background:#F8FAFC}.badge{background:var(--soft-blush);color:var(--soft-burgundy)}.badge.green{background:#EAF4EF;color:#32694F}.badge.gray{background:#F1F5F9;color:#675C61}.badge.amber{background:#FFF7ED;color:#946332}.notice{background:#F5FFF8;color:#347354;border-color:#CBEAD6}.notice.error{background:#FFF0F2;color:#9B3444;border-color:#F3C6CF}
.progress{background:#F3EAEC}.progress span{background:linear-gradient(90deg,var(--romantic-rose),var(--deep-rose))}
.gallery-card{border-radius:16px;border:1px solid var(--line);background:var(--rose-white)}.gallery-card .caption{background:linear-gradient(transparent,rgba(48,39,42,.68))}
.login-page{background:#fff}.login-art{background:var(--soft-burgundy)}.login-art img{opacity:.78;filter:saturate(1.04) brightness(1.04)}.login-art:after{background:linear-gradient(90deg,rgba(30,64,175,.72),rgba(30,64,175,.22)),linear-gradient(180deg,rgba(239,246,255,.06),rgba(48,39,42,.5))}.login-caption .eyebrow{color:#EFF6FF}.login-caption .mark{font-family:'Playfair Display',Georgia,serif}.login-caption p{color:#EFF6FF}.login-form-wrap{background:linear-gradient(135deg,#fff,var(--rose-white))}.login-box .brand-dot{background:var(--soft-blush);color:var(--deep-rose);border:1px solid var(--blush);font-size:18px}.login-box h1{font-family:'Playfair Display',Georgia,serif;color:var(--ink)}.login-security{color:var(--muted)}.login-security span{padding:4px 8px;border-radius:999px;background:var(--soft-blush);color:var(--deep-rose);font-weight:800}.login-back{color:var(--deep-rose)}
.template-choice input:checked+.template-thumb{outline:3px solid rgba(37,99,235,.22);border-color:var(--deep-rose)}.template-thumb{border-color:var(--line);background:#fff;box-shadow:0 10px 24px rgba(30,64,175,.06)}.template-thumb.editorial:before,.template-thumb.editorial:after{background:radial-gradient(circle at 40% 40%,#DBEAFE 0 18%,#93C5FD 19% 28%,transparent 29%),radial-gradient(circle at 68% 65%,#E7D7BC 0 14%,transparent 15%)}.template-thumb.signature{background:linear-gradient(110deg,var(--soft-burgundy) 0 53%,var(--rose-white) 54%)}.template-thumb.minimal:before{color:var(--deep-rose)}
.admin-fab{background:var(--deep-rose);box-shadow:0 10px 24px rgba(169,79,100,.18)}
@media(max-width:820px){.sidebar{box-shadow:16px 0 32px rgba(115,55,70,.18)}.admin-content{padding:22px 16px}.mobile-toggle{border-color:var(--line);background:#fff;color:var(--deep-rose)}}

/* Unified blue admin identity. Public wedding styles are kept in wedding.css. */
:root{--admin-primary:#2563EB;--admin-primary-dark:#1E40AF;--admin-primary-light:#DBEAFE;--admin-primary-soft:#EFF6FF;--admin-bg:#F8FAFC;--admin-surface:#FFFFFF;--admin-border:#E2E8F0;--admin-text:#1E293B;--admin-text-muted:#64748B;--bg:var(--admin-bg);--surface:var(--admin-surface);--surface2:var(--admin-primary-soft);--ink:var(--admin-text);--muted:var(--admin-text-muted);--line:var(--admin-border);--rose:var(--admin-primary);--rose2:var(--admin-primary-light);--rose3:var(--admin-primary-soft);--sidebar:#172554;--shadow:0 10px 28px rgba(15,23,42,.06)}
html,body{background:var(--admin-bg);color:var(--admin-text)}body{background:linear-gradient(180deg,#fff 0%,var(--admin-bg) 100%)}
.sidebar{background:linear-gradient(180deg,#172554 0%,#1E3A8A 58%,#1E40AF 100%);box-shadow:10px 0 28px rgba(15,23,42,.14)}.side-brand .mini{color:#BFDBFE}.side-nav a,.side-nav button,.side-bottom a,.side-bottom button{color:#DBEAFE}.side-nav a:hover,.side-nav a.active,.side-nav button:hover,.side-bottom a:hover,.side-bottom button:hover{background:rgba(147,197,253,.16);color:#fff}.side-nav a.active{box-shadow:inset 4px 0 0 #93C5FD;background:rgba(219,234,254,.18)}.nav-ico{background:rgba(219,234,254,.14);color:#DBEAFE}.side-nav a.active .nav-ico{background:#BFDBFE;color:#1E3A8A}
.admin-topbar{background:rgba(255,255,255,.9);border-bottom-color:var(--admin-border);box-shadow:0 8px 22px rgba(15,23,42,.035)}.top-pill{border-color:var(--admin-border);color:var(--admin-primary-dark)}.eyebrow{color:var(--admin-primary)}.page-head{border-color:var(--admin-border);background:linear-gradient(135deg,#fff 0%,#fff 62%,var(--admin-primary-soft) 100%);box-shadow:var(--shadow)}.page-head h1{color:var(--admin-primary-dark)}
.panel,.kpi{border-color:var(--admin-border);background:#fff;box-shadow:var(--shadow)}.panel-head{background:#fff;border-bottom-color:var(--admin-border)}.kpi:before{background:linear-gradient(90deg,#93C5FD,var(--admin-primary))}.kpi-icon{background:var(--admin-primary-soft);color:var(--admin-primary-dark)}
.btn{background:var(--admin-primary);color:#fff;box-shadow:none}.btn:hover{background:var(--admin-primary-dark);box-shadow:0 8px 18px rgba(37,99,235,.18)}.btn.soft{background:var(--admin-primary-soft);color:var(--admin-primary-dark)}.btn.white{border-color:var(--admin-border);background:#fff;color:var(--admin-primary-dark)}.btn.danger{background:#FEF2F2;color:#B91C1C}.field input,.field select,.field textarea{border-color:var(--admin-border);background:#fff;color:var(--admin-text)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--admin-primary);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.data-table th{background:var(--admin-primary-soft);color:var(--admin-primary-dark)}.data-table td{border-color:var(--admin-border)}.data-table tr:hover td{background:#F8FBFF}.badge{background:var(--admin-primary-light);color:var(--admin-primary-dark)}.badge.gray{background:#F1F5F9;color:#475569}.badge.amber{background:#FEF3C7;color:#92400E}.badge.green{background:#ECFDF5;color:#166534}.notice{background:#ECFDF5;color:#166534;border-color:#BBF7D0}.notice.error{background:#FEF2F2;color:#B91C1C;border-color:#FECACA}.progress{background:#E2E8F0}.progress span{background:linear-gradient(90deg,#60A5FA,var(--admin-primary-dark))}
.table-export-dialog,.modal-card{border-color:var(--admin-border);background:#fff}.table-export-dialog h2,.modal-card h2{color:var(--admin-primary-dark)}.table-export-option label{border-color:var(--admin-border);color:var(--admin-text-muted)}.table-export-option input:checked+label{border-color:var(--admin-primary);background:var(--admin-primary-soft);color:var(--admin-primary-dark);box-shadow:0 0 0 2px var(--admin-primary-light)}
.login-page{background:#fff}.login-art{background:#172554}.login-form-wrap{background:linear-gradient(135deg,#fff,var(--admin-primary-soft))}.login-box .brand-dot{background:var(--admin-primary-soft);color:var(--admin-primary-dark);border-color:#BFDBFE}.login-back{color:var(--admin-primary)}.admin-fab{background:var(--admin-primary-dark);box-shadow:0 10px 24px rgba(30,64,175,.18)}
@media(max-width:820px){.sidebar{box-shadow:16px 0 32px rgba(15,23,42,.18)}.mobile-toggle{border-color:var(--admin-border);background:#fff;color:var(--admin-primary-dark)}}
