:root {
  --indigo:#4338CA; --plum:#5B3A70; --navy:#24324A; --cream:#FAF8F4;
  --beige:#F5EFE7; --sand:#DDD0C0; --white:#FFFFFF; --honey:#E8B84B;
  --sage:#9CAF88; --blush:#E9C7C2; --lavender:#C9C2F2; --sky:#C9E7F2;
  --danger:#D96A6A; --text:#24324A; --muted:#6B7280; --radius:24px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--text)}
a{color:inherit;text-decoration:none}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,var(--cream),var(--beige))}.auth-card{width:min(460px,100%);background:var(--white);border:1px solid var(--sand);border-radius:32px;padding:36px;box-shadow:0 20px 50px rgba(36,50,74,.08)}
.logo{font-weight:800;font-size:28px;color:var(--indigo);letter-spacing:-.03em}.subtitle{color:var(--muted);margin-top:6px}.field{margin:18px 0}.field label{display:block;font-weight:700;margin-bottom:8px}.field input,.field select{width:100%;height:48px;border-radius:16px;border:1px solid var(--sand);padding:0 14px;background:#fff;font-size:15px}.btn{height:48px;border:0;border-radius:16px;padding:0 20px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--indigo);color:#fff;box-shadow:0 10px 18px rgba(67,56,202,.18)}.btn-secondary{background:#fff;border:1px solid var(--indigo);color:var(--indigo)}.btn-danger{background:#fff0f0;color:var(--danger);border:1px solid #f0c2c2}.alert{padding:14px 16px;border-radius:16px;margin:14px 0}.alert-error{background:#fff0f0;color:#9b2c2c}.alert-success{background:#eef8ef;color:#2f6b35}.app{display:flex;min-height:100vh}.sidebar{width:270px;background:var(--navy);color:#fff;padding:24px;position:fixed;top:0;bottom:0}.sidebar .logo{color:#fff}.nav{margin-top:32px;display:grid;gap:8px}.nav a{padding:13px 14px;border-radius:16px;color:#f8f6f1;display:flex;gap:10px;align-items:center}.nav a.active,.nav a:hover{background:var(--indigo)}.main{margin-left:270px;width:calc(100% - 270px)}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(250,248,244,.8);backdrop-filter:blur(10px);border-bottom:1px solid rgba(221,208,192,.6)}.content{padding:32px}.page-title{font-size:34px;font-weight:900;letter-spacing:-.04em;margin:0}.page-subtitle{color:var(--muted);margin:6px 0 0}.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--white);border:1px solid rgba(221,208,192,.8);border-radius:var(--radius);padding:24px;box-shadow:0 14px 32px rgba(36,50,74,.06)}.stat{font-size:34px;font-weight:900;margin:12px 0 0}.badge{display:inline-flex;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;background:var(--beige)}.quick-actions{display:flex;gap:12px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--beige)}.table th{color:var(--muted);font-size:13px}.settings-form{max-width:760px}.empty{padding:44px;text-align:center}.cute-icon{font-size:42px;margin-bottom:12px}.profile-pill{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--lavender);display:grid;place-items:center;font-weight:900;color:var(--indigo)}
@media(max-width:900px){.sidebar{position:relative;width:100%;bottom:auto}.app{display:block}.main{margin-left:0;width:100%}.grid-4,.grid-2{grid-template-columns:1fr}.topbar{padding:0 18px}.content{padding:20px}}
/* Phase 2 */
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters input,.filters select{height:44px;border-radius:14px;border:1px solid var(--sand);padding:0 12px;background:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.asset-card{overflow:hidden;padding:0}.asset-preview{height:170px;background:linear-gradient(135deg,var(--beige),#fff);display:grid;place-items:center;border-bottom:1px solid var(--beige)}.asset-preview img{max-width:100%;max-height:170px;object-fit:contain}.asset-body{padding:18px}.meta{color:var(--muted);font-size:13px}.tag-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tag{font-size:11px;padding:5px 9px;border-radius:999px;background:var(--beige);color:var(--navy);font-weight:700}.detail-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:20px}.preview-large{background:#fff;border:1px solid var(--sand);border-radius:24px;padding:20px;min-height:360px;display:grid;place-items:center}.preview-large img{max-width:100%;max-height:520px;object-fit:contain}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field textarea{width:100%;min-height:110px;border-radius:16px;border:1px solid var(--sand);padding:14px;background:#fff;font-size:15px}.field input[type=file]{padding:12px;height:auto}.actions-row{display:flex;gap:10px;flex-wrap:wrap}.divider{height:1px;background:var(--beige);margin:20px 0}@media(max-width:900px){.detail-layout,.form-grid{grid-template-columns:1fr}}


/* Phase 3 */
.swatch-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.swatch{width:42px;height:42px;border-radius:14px;border:1px solid var(--sand);box-shadow:var(--shadow)}.mini-preview{min-height:120px;border-radius:24px;background:linear-gradient(135deg,#FAF8F4,#F5EFE7);border:1px solid var(--sand);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:14px}.section-list{display:grid;gap:12px}.section-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid var(--sand);border-radius:18px;background:#fff}.color-dot{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid var(--sand);vertical-align:middle;margin-right:6px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:900px){.form-grid-3{grid-template-columns:1fr}}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 12px;border-bottom:1px solid var(--sand);text-align:left}th{color:var(--navy);font-size:13px}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill{background:var(--beige);border:1px solid var(--sand);border-radius:999px;padding:8px 12px;color:var(--navy);font-size:14px}.checkbox-list{max-height:360px;overflow:auto;display:grid;gap:10px;padding:8px;background:var(--cream);border-radius:18px}.checkbox-list label{display:block;background:white;border:1px solid var(--sand);border-radius:14px;padding:10px}.book-cover{min-height:420px;border-radius:32px;background:linear-gradient(135deg,#FAF8F4,#F5EFE7 48%,#C9C2F2);border:1px solid var(--sand);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;box-shadow:0 18px 45px rgba(36,50,74,.12)}.book-cover h1{font-size:44px;color:var(--indigo);margin:0 0 12px}.book-cover p{font-size:20px;color:var(--navy)}.book-cover span{margin-top:24px;background:white;border-radius:999px;padding:10px 18px;color:var(--plum)}.preview-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.page-card{background:white;border:1px solid var(--sand);border-radius:24px;min-height:260px;padding:20px}.page-num{font-size:12px;color:var(--plum);font-weight:700;text-transform:uppercase;letter-spacing:.06em}@media(max-width:900px){.two-col{grid-template-columns:1fr}.book-cover h1{font-size:32px}}

/* Phase 5 helpers */
.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}
.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #F5EFE7;text-align:left;font-size:14px}
.data-table th{color:#24324A;background:#FAF8F4;font-weight:700}
.data-table a{color:#4338CA;font-weight:700;text-decoration:none}
.full{grid-column:1 / -1}
