.cw-shell{max-width:1220px;margin:30px auto;padding:0 24px 60px;color:var(--ds-text,#30291f)}
.cw-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0}.cw-heading img{width:90px;max-height:100px;object-fit:contain}.cw-heading h1{font-size:clamp(30px,5vw,48px);margin:10px 0}.cw-heading p{line-height:1.6}.cw-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-accent,#b98237)}
.cw-card{padding:26px;margin:20px 0;border:1px solid var(--ds-line,#e7d2b7);border-radius:22px;background:var(--ds-surface,#fffdf9)}
.cw-tabs,.cw-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.cw-tabs{margin:18px 0}.cw-tabs button{padding:12px 18px;border:1px solid var(--ds-line,#ddc9ae);border-radius:12px;background:var(--ds-surface,#fffdf9);color:var(--ds-text,#5b4227);font:inherit;font-weight:700;cursor:pointer}.cw-tabs button[aria-pressed=true]{background:var(--ds-accent,#b98237);color:var(--ds-on-accent,#fff)}
#cwSearch{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:24px}#cwSearch label{flex:1;min-width:220px}.cw-shell label,.cw-dialog label{display:grid;gap:8px;font-weight:600;font-size:14px}.cw-shell input,.cw-shell select,.cw-dialog input,.cw-dialog select,.cw-dialog textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--ds-line,#ddc9ae);border-radius:10px;padding:10px 12px;background:var(--ds-surface,#fff);color:var(--ds-text,#30291f);font:inherit}.cw-dialog textarea{min-height:160px}.cw-dialog label{margin:14px 0}.cw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:18px 0}.cw-item{padding:20px;border:1px solid var(--ds-line,#ddc9ae);border-radius:14px;min-width:0;overflow-wrap:anywhere}.cw-item h3{margin:6px 0 12px}.cw-item p{line-height:1.65;margin:8px 0}.cw-muted{color:var(--ds-muted,#746958);font-size:13px}.cw-case-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.cw-case-heading h2{margin:8px 0}.cw-table-wrap{overflow-x:auto}.cw-table{border-collapse:collapse;width:100%;font-size:14px}.cw-table th,.cw-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ds-line,#ddc9ae);white-space:pre-wrap;overflow-wrap:anywhere}.cw-table td{min-width:140px}.cw-table th{background:var(--ds-surface-2,#f6f0e7)}
.cw-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:26px;border:1px solid var(--ds-line,#ddc9ae);border-radius:20px;background:var(--ds-surface,#fffdf9);color:var(--ds-text,#30291f)}.cw-dialog::backdrop{background:rgba(26,22,17,.55);backdrop-filter:blur(4px)}#cwDialogError{color:var(--ds-danger,#b23c2b)}.cw-note{padding:16px;border-left:3px solid var(--ds-accent,#b98237);background:var(--ds-surface-2,#f6f0e7);line-height:1.65;margin:18px 0}.cw-shell [hidden]{display:none!important}.cw-shell .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}.cw-shell button:disabled{opacity:.55;cursor:wait}
@media(max-width:640px){.cw-shell{padding:0 12px 35px;margin-top:8px}.cw-heading{padding:18px 0}.cw-heading img{width:55px}.cw-card{padding:18px}.cw-tabs{gap:8px}.cw-tabs button{padding:10px 12px;font-size:13px}.cw-actions{gap:10px}.cw-case-heading{align-items:start}.cw-dialog{padding:18px}#cwSearch button{flex:1}}

html body:has(.cw-shell){background:var(--ds-bg,#f5f0e8);color:var(--ds-text,#30291f)}.cw-heading a{color:var(--ds-accent,#a36a2b);text-decoration:none;font-weight:700}.cw-shell #cwPage{color:var(--ds-text,#30291f)}.cw-shell details{margin:20px 0}.cw-shell summary{cursor:pointer;padding:12px 0;font-weight:700;color:var(--ds-text,#30291f)}

/* Use the same application frame as Client Portal. */
.cw-body > .cw-shell{padding:20px 26px 32px;max-width:none;margin:0}
.cw-body .cw-card{margin:0 0 20px}.cw-body #cwStatus:empty{display:none}.cw-body #cwStatus{margin:0 0 16px}
.cw-hero .planner-hero-context{min-width:0}.cw-hero .planner-hero-context strong{overflow-wrap:anywhere;line-height:1.3}
.cw-body .planner-sidebar-nav button{text-align:left}.cw-body .planner-sidebar-footer{margin-top:auto}
@media(max-width:1100px) and (min-width:901px){.cw-hero{gap:18px;padding:30px 26px;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr)}.cw-hero h1{font-size:42px}}
@media(max-width:900px){.cw-body > .cw-shell{padding:18px 12px 32px}.cw-hero .planner-hero-context{padding-top:0}.cw-body .cw-card{padding:18px}.cw-body .cw-case-heading{align-items:flex-start}}
.cw-body > .cw-shell{background:var(--ds-surface,#fffdf9)}

/* Wedding core theme.css changes colors directly; scope matching tokens to this page. */
html[data-theme="dark"] .cw-body{--ds-bg:#171513;--ds-surface:#211d19;--ds-surface-2:#2b251f;--ds-text:#f3ede4;--ds-muted:#bdb3a7;--ds-line:#4b4035;--ds-accent:#b98a4a;--ds-on-accent:#fff;--ds-danger:#ffb4a8}
html[data-theme="dark"] .cw-body .cw-note,html[data-theme="dark"] .cw-body .cw-tabs button,html[data-theme="dark"] .cw-body .cw-muted{color:var(--ds-text)}
html[data-theme="dark"] .cw-body .cw-tabs button[aria-pressed=true]{color:#fff}

dialog.cw-dialog{margin:auto;box-shadow:0 24px 70px rgba(26,22,17,.28)}

#cwSearch .cw-year-filter{flex:0 0 150px;min-width:130px}
@media(max-width:640px){#cwSearch .cw-year-filter{flex:1 1 100%;min-width:0}}
