:root{
  --primary:#6d28d9;
  --primary-dark:#4c1d95;
  --spirit:#4f5bd5;
  --accent:#7a1638;
  --danger:#d7263d;
  --ink:#171018;
  --muted:#716477;
  --bg:#f7f3fa;
  --card:#ffffff;
  --line:#ddcfe6;
  --soft:#eee7f7;
  --studio-line:rgba(79,91,213,.10);
  --studio-ink:#171018;
  --studio-paper:#fdfbfe;
  --studio-shadow:8px 8px 0 rgba(109,40,217,.10);
}

body{color:var(--ink)}
.sidebar{background:#171018;border-color:rgba(122,22,56,.75);box-shadow:12px 14px 0 rgba(122,22,56,.12)}
.brand-mark{color:#171018;box-shadow:5px 5px 0 rgba(79,91,213,.35)}
.nav-link.active{color:#37125f;background:#f4eff9;box-shadow:5px 5px 0 rgba(79,91,213,.23)}
.nav-link.active::after{background:var(--danger);border-color:var(--danger)}
.sidebar-foot .avatar{color:#4c1d95;background:#f5f0fb}
.topbar{background:rgba(247,243,250,.9);border-color:rgba(122,22,56,.16)}
.btn-primary{background:var(--primary);border-color:var(--primary);box-shadow:4px 4px 0 rgba(79,91,213,.22)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:6px 6px 0 rgba(122,22,56,.20)}
.icon-btn.primary{background:var(--primary);border-color:var(--primary)}
.icon-btn:hover{color:var(--primary);border-color:#bda9d8;background:#faf7fc}
.eyebrow,.text-link{color:var(--primary-dark)}
.welcome{border-color:rgba(122,22,56,.28);background-image:linear-gradient(rgba(79,91,213,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(79,91,213,.10) 1px,transparent 1px)}
.welcome::before{color:rgba(109,40,217,.10)}
.welcome::after{color:var(--accent)}
.welcome .pill{color:var(--primary-dark);background:#f0e9f8;border-color:rgba(109,40,217,.26)}
.welcome .btn{background:var(--accent);box-shadow:4px 4px 0 rgba(23,16,24,.16)}
.welcome .btn:hover{background:#5e102b}
.stat-card{border-color:rgba(79,91,213,.18)}
.stat-card::before{color:rgba(122,22,56,.14)}
.stat-icon,.empty-icon,.panel-icon{background:#eee8f8;color:var(--primary)}
.stat-card:nth-child(2) .stat-icon{background:#e9ebff;color:var(--spirit)}
.stat-card:nth-child(3) .stat-icon{background:#f8e9ef;color:var(--accent)}
.stat-card:nth-child(4) .stat-icon{background:#fce8ec;color:var(--danger)}
.section-head{border-color:rgba(122,22,56,.20)}
.table-card,.panel{border-color:rgba(79,91,213,.20)}
.table-card thead th,thead th{background:#eee8f5;color:#4c1d95}
tbody tr:hover{background:#faf7fd}
.status.published{color:#343ca4;background:#e8eaff}
.status.draft{color:#7a1638;background:#f8e6ed}
.status.archived{color:#f8e6ed;background:#171018}
.btn-archive{color:#7a1638;border-color:rgba(122,22,56,.32);background:#fff8fb}
.btn-archive:hover{color:#fff;border-color:#7a1638;background:#7a1638}
.status.inactive{color:#4b424d;background:#eee9ef}
.steps .active{color:var(--primary-dark)}
.steps .active b{background:var(--primary)}
.steps i{background:repeating-linear-gradient(90deg,var(--spirit) 0 4px,transparent 4px 8px)}
input,select{border-color:#d8cce1;color:var(--ink)}
input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(109,40,217,.15)}
.password-field button{color:var(--primary-dark);border-color:#d8cce1;background:#faf7fc}
.tag-list span{border-color:#ded2e7}
.schedule-wrap{border-color:rgba(79,91,213,.3)}
.schedule-table thead th{background:#171018}
.schedule-table thead th:first-child{background:#7a1638}
.schedule-table tbody th{background:#eee8f5}
.cell:hover{background:#faf7fd}
.cell:hover .add{background:#eee8f5;color:var(--primary)}
.avatar{background:#eee8f8;color:var(--primary-dark)}
.login-page{background-color:var(--bg)}
.login-card{border-color:rgba(122,22,56,.32);box-shadow:14px 14px 0 rgba(79,91,213,.13)}
.login-intro{background:#171018}
.login-intro .eyebrow{color:#c9cfff}
.login-intro>p:not(.eyebrow){color:#ddd4e1}
.week-art span{background:rgba(255,255,255,.13)}
.week-art .b1,.week-art .b4{background:rgba(109,40,217,.75)}
.week-art .b2{background:rgba(215,38,61,.72)}
.alert{color:#343ca4;background:#e9ebff;border-color:#c8ccff;box-shadow:4px 4px 0 rgba(79,91,213,.10)}
.alert.error{color:#8f1025;background:#fdebed;border-color:#f4bbc5}
.text-danger{color:var(--danger)}
dialog::backdrop{background:rgba(23,16,24,.58)}
*:focus-visible{outline-color:rgba(79,91,213,.65)}


.inline-action{display:inline-flex;margin:0}.btn-danger-outline{color:var(--danger);border-color:rgba(215,38,61,.32);background:#fff8f9}.btn-danger-outline:hover{color:#fff;border-color:var(--danger);background:var(--danger)}
