:root {
  /* Brand: Config.primary sets --primary on startup; keep this fallback identical. */
  --primary:#697e24;--primary-text:#495a17;--primary-soft:#eef2e2;
  --secondary:#49667b;--background:#f5f6f1;--surface:#ffffff;--text:#20251d;--muted:#596251;--border:#dce1d3;
  /* Semantic colours remain independent of the olive brand. */
  --normal:#216842;--normal-soft:#eaf4ed;--reminder:#8b4e0c;--reminder-soft:#fff1dc;--exception:#a3352a;--exception-soft:#fbece8;--demo:#555e66;--demo-soft:#edf0f2;
  --radius:12px;--radius-small:7px;--space:24px;--space-small:12px;--space-tiny:6px;--space-large:36px;
  --logo-width:84px;--logo-mobile-width:46px;--logo-gap:14px;
  --touch-target:44px;--control-size:16px;--mobile-card-padding:12px;--mobile-gap:10px;--mobile-metric-size:clamp(17px,4.9vw,22px);
  --body-size:14px;--body-leading:1.6;
  --sidebar:238px;--badge-height:30px;--shadow:0 14px 45px #20251d12;--overlay:#20251d66;--font:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
  /* Shared type, weight and spacing settings used by both modules. */
  --type-1:30px;
  --tracking-2:-1px;
  --weight-3:650;
  --type-4:17px;
  --type-5:11px;
  --weight-6:750;
  --tracking-7:1px;
  --type-8:13px;
  --layout-9:48px;
  --weight-10:550;
  --type-11:12px;
  --tracking-12:1.6px;
  --weight-13:700;
  --layout-14:3px;
  --layout-15:9px 11px;
  --layout-16:3px;
  --layout-17:0 var(--space-tiny);
  --type-18:18px;
  --weight-19:500;
  --type-20:10px;
  --layout-21:19px;
  --weight-22:600;
  --layout-23:0 3px;
  --type-24:clamp(18px,1.65vw,29px);
  --layout-25:14px 0 8px;
  --layout-26:0 8px;
  --type-27:14px;
  --layout-28:2px 7px;
  --layout-29:50%;
  --layout-30:5px;
  --layout-31:9px 16px;
  --type-32:29px;
  --type-33:26px;
  --layout-34:44px var(--space) var(--space-small);
  --type-35:25px;
  --type-36:16px;
  --layout-37:16px;
  --type-38:21px;
  --type-39:9px;
  --layout-40:8px 10px;
  --type-41:24px;
}

*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font:var(--body-size)/var(--body-leading) var(--font)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--type-1);letter-spacing:var(--tracking-2);font-weight:var(--weight-3)}h2{font-size:var(--type-4);font-weight:var(--weight-3)}h3{font-size:var(--type-4);margin-top:var(--space)}h4{margin-top:var(--space-small)}small{display:block}button{color:inherit}a{color:inherit;text-decoration:none}.workshop{position:fixed;left:0;top:0;z-index:1000;width:var(--sidebar);height:var(--badge-height);display:flex;align-items:center;justify-content:center;background:var(--reminder-soft);color:var(--reminder);font-size:var(--type-5);font-weight:var(--weight-6);letter-spacing:var(--tracking-7);border-bottom:1px solid var(--border)}
.sidebar{position:fixed;left:0;top:var(--badge-height);bottom:0;width:var(--sidebar);background:var(--surface);padding:var(--space-large) var(--space);border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:var(--space-small);font-size:var(--type-8);line-height:1.4;letter-spacing:var(--tracking-7)}.sidebar nav{margin-top:var(--layout-9);display:grid;gap:var(--space-small)}.nav-link{padding:var(--space-small);border-radius:var(--radius-small);font-weight:var(--weight-10)}.nav-link.selected{background:var(--primary-soft);color:var(--primary-text)}.sidebar-note{margin-top:auto;color:var(--demo);font-size:var(--type-11)}main{margin-left:var(--sidebar);padding:var(--space-large);max-width:1800px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space);margin-bottom:var(--space)}.eyebrow{font-size:var(--type-5);letter-spacing:var(--tracking-12);text-transform:uppercase;color:var(--primary-text);font-weight:var(--weight-13)}.muted{color:var(--muted);font-size:var(--type-11)}.tools{display:flex;gap:var(--space-small);align-items:flex-end}.language{display:flex;padding:var(--layout-14);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-small);align-self:flex-end}.lang{border:0;background:transparent;padding:var(--space-tiny) var(--space-small);border-radius:var(--radius-small);color:var(--muted)}.lang.active{background:var(--primary);color:var(--surface)}select,input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-small);padding:var(--layout-15);color:var(--text);min-width:0}.period-label{display:grid;gap:var(--layout-16);font-size:var(--type-5);color:var(--muted)}.notice{padding:var(--space-small) var(--space);border:1px solid var(--border);border-radius:var(--radius-small);color:var(--demo);background:var(--demo-soft);font-size:var(--type-11)}.content{display:grid;gap:var(--space)}.summary{padding:var(--layout-17)}.summary p{font-size:var(--type-18);margin-top:var(--space-tiny);font-weight:var(--weight-19)}.summary-sources,.chart-sources{display:flex;gap:var(--space-small);flex-wrap:wrap}.source{display:block;font-size:var(--type-20);line-height:1.5;color:var(--demo);font-weight:var(--weight-19)}.summary-sources{margin-top:var(--space-tiny)}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-small)}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--layout-21);min-width:0}.metric-card:first-child{border-top:3px solid var(--primary)}.metric-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-tiny);font-size:var(--type-11);font-weight:var(--weight-22)}.info{border:0;background:transparent;color:var(--muted);font-size:var(--type-4);padding:var(--layout-23)}.metric-value{font-size:var(--type-24);font-weight:var(--weight-3);letter-spacing:var(--tracking-2);background:transparent;border:0;display:block;text-align:left;padding:var(--layout-25);width:100%;font-variant-numeric:tabular-nums}.comparison{font-size:var(--type-20);color:var(--muted);margin-bottom:var(--space-small)}.metric-card small{font-size:var(--type-20);margin-bottom:var(--space-tiny)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);min-width:0}.section-head{display:flex;align-items:center;gap:var(--space-small);margin-bottom:var(--space-tiny)}.count{border-radius:var(--radius-small);background:var(--reminder-soft);color:var(--reminder);padding:var(--layout-26);font-size:var(--type-11);font-weight:var(--weight-13)}.alert-list{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--space-small);column-gap:var(--space)}.alert-row{display:flex;align-items:center;gap:var(--space-small);background:transparent;border:0;border-bottom:1px solid var(--border);padding:var(--space-small) 0;text-align:left;min-width:0}.alert-row>div{flex:1;min-width:0}.alert-row strong{font-size:var(--type-11)}.alert-row .source{max-width:95px}.alert-icon{display:flex;align-items:center;justify-content:center;background:var(--exception-soft);color:var(--exception);border-radius:var(--radius-small);font-size:var(--type-27);font-weight:var(--weight-13);min-width:28px;height:28px}.badge{display:inline-block;border-radius:var(--radius-small);padding:var(--layout-28);font-size:var(--type-20);white-space:normal;background:var(--normal-soft);color:var(--normal)}.badge.demo{background:var(--demo-soft);color:var(--demo)}.status-todo,.status-pending,.status-scheduled{background:var(--reminder-soft);color:var(--reminder)}.status-rejected,.status-voided{background:var(--exception-soft);color:var(--exception)}.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-small)}.area h2{margin-bottom:var(--space-tiny)}.area-stat{display:flex;align-items:center;justify-content:space-between;gap:var(--space-small);width:100%;padding:var(--space-small) 0;border:0;border-bottom:1px solid var(--border);background:transparent;font-size:var(--type-11);text-align:left}.area-stat:last-child{border-bottom:0}.area-stat strong{font-variant-numeric:tabular-nums;font-weight:var(--weight-3)}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space)}.chart h2{margin-bottom:var(--space-tiny)}.chart-sources{margin-top:var(--space-tiny);margin-bottom:var(--space-small)}.chart svg{width:100%;height:auto;display:block;overflow:visible}.axis{font-size:var(--type-5);fill:var(--muted)}.gridline{stroke:var(--border);stroke-dasharray:3 5}.series0{fill:var(--primary);stroke:var(--primary)}.series1{fill:var(--secondary);stroke:var(--secondary)}.trend{fill:none;stroke-width:2.5}.mark{cursor:pointer;stroke-width:2}.mark:hover{opacity:.65}.legend{display:flex;gap:var(--space);flex-wrap:wrap;font-size:var(--type-20);color:var(--muted)}.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--layout-29);background:var(--primary);margin-right:var(--layout-30)}.legend .legend1:before{background:var(--secondary)}.hbar{display:grid;grid-template-columns:80px 1fr 32px;align-items:center;gap:var(--space-small);border:0;background:transparent;padding:var(--space-small) 0;width:100%;text-align:left;font-size:var(--type-11)}.track{background:var(--background);height:18px;border-radius:var(--radius-small);overflow:hidden}.fill{display:block;height:100%;background:var(--primary);border-radius:var(--radius-small);min-width:2px}.empty{padding:var(--space-large);text-align:center;color:var(--muted)}footer{margin-top:var(--space-large);padding-top:var(--space);border-top:1px solid var(--border);font-size:var(--type-5);color:var(--muted)}.settings-panel{max-width:850px}.actions{display:flex;gap:var(--space-small);margin-top:var(--space);flex-wrap:wrap}.button{border:1px solid var(--primary);background:var(--primary);color:var(--surface);border-radius:var(--radius-small);padding:var(--layout-31)}.button.quiet{background:var(--surface);color:var(--text);border-color:var(--border)}.button.danger{background:var(--exception-soft);border-color:var(--exception-soft);color:var(--exception)}button:hover,.nav-link:hover{filter:brightness(.96)}.shade{position:fixed;inset:0;background:var(--overlay);z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space)}.dialog{background:var(--surface);border-radius:var(--radius);width:min(550px,100%);max-height:calc(100dvh - 80px);overflow-y:auto;padding:var(--space);box-shadow:var(--shadow);overscroll-behavior:contain}.dialog p{margin-top:var(--space-small)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-small);margin-bottom:var(--space-small)}.dialog-head h2{overflow-wrap:anywhere}.drawer{position:absolute;right:0;top:var(--badge-height);bottom:0;max-height:none;width:min(730px,100%);border-radius:var(--radius) 0 0 var(--radius)}.modal-open{overflow:hidden}.list-controls{display:flex;gap:var(--space-tiny);margin-top:var(--space)}.list-controls input{flex:1;width:35%}.list-controls select{max-width:30%}.record-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-small);width:100%;padding:var(--space-small) 0;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left}.record-side{display:flex;gap:var(--space-tiny);align-items:center;flex-wrap:wrap;justify-content:flex-end}.record-row strong{font-size:var(--type-11)}.fields{display:grid;grid-template-columns:130px 1fr;gap:var(--space-small);font-size:var(--type-11)}.fields dt{color:var(--muted)}.fields dd{margin:0;overflow-wrap:anywhere}.history-item{padding:var(--space-small) 0;border-bottom:1px solid var(--border)}.history-item p{font-size:var(--type-11)}.form-field{display:grid;gap:var(--space-tiny);margin:var(--space-small) 0}.error{color:var(--exception)}#toast{position:fixed;bottom:var(--space);left:50%;transform:translateX(-50%);max-width:90vw;background:var(--text);color:var(--surface);padding:var(--space-small) var(--space);border-radius:var(--radius-small);z-index:1200;display:none}#toast.visible{display:block}
@media(min-width:1700px){.metric-value{font-size:var(--type-32)}}
@media(max-width:1250px){main{padding:var(--space)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.area-grid{grid-template-columns:1fr 1fr}.alert-list{grid-template-columns:1fr}.metric-value{font-size:var(--type-33)}.topbar{flex-wrap:wrap}}
@media(max-width:800px){.sidebar{position:relative;top:0;width:100%;padding:var(--layout-34);border-right:0;border-bottom:1px solid var(--border)}.workshop{width:100%;justify-content:flex-start;padding-left:var(--space)}.sidebar nav{display:flex;margin-top:var(--space-small)}.sidebar-note{display:none}.brand{font-size:var(--type-11)}main{margin-left:0}.chart-grid{grid-template-columns:1fr}.topbar{gap:var(--space-small)}.tools{justify-content:space-between;width:100%}h1{font-size:var(--type-33)}.metrics{grid-template-columns:1fr 1fr}.metric-card:last-child{grid-column:1/-1}.metric-value{font-size:var(--type-35)}.summary p{font-size:var(--type-36)}}
@media(max-width:450px){main{padding:var(--space-small)}.content{gap:var(--space-small)}.metric-card,.panel{padding:var(--layout-37)}.area-grid{grid-template-columns:1fr}.metric-value{font-size:var(--type-38)}.alert-row .source{max-width:70px;font-size:var(--type-39)}.alert-row .badge{display:none}.drawer{padding:var(--space-small)}.list-controls{flex-wrap:wrap}.list-controls input{width:100%;flex-basis:100%}.list-controls select{max-width:50%;flex:1}.fields{grid-template-columns:95px 1fr}.dialog{padding:var(--space-small)}.chart svg .axis{font-size:var(--type-11)}}

/* Marketing OS shares the application tokens and reusable components. */
textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-small);padding:var(--space-small);resize:vertical;width:100%}textarea:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}.module-tabs{display:flex;gap:var(--space-tiny);flex-wrap:wrap;padding:var(--space-tiny);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.module-tab{padding:var(--space-small) 16px;border-radius:var(--radius-small);font-weight:var(--weight-22);font-size:var(--type-11)}.module-tab.selected{background:var(--primary);color:var(--surface)}.module-tab:hover{background:var(--primary-soft);color:var(--primary-text)}.section-head>.button{margin-left:auto}.list-controls{flex-wrap:wrap}.list-controls>select{max-width:100%;flex:1}.list-controls>input{flex:2;min-width:130px}.calendar-controls{display:flex;gap:var(--space-small);align-items:end;flex-wrap:wrap;margin-bottom:var(--space-small)}.calendar-scroll{overflow-x:auto;margin-top:var(--space);border:1px solid var(--border);border-radius:var(--radius-small)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:630px}.calendar-weekday{padding:var(--space-small);text-align:center;background:var(--primary-soft);color:var(--primary);font-weight:var(--weight-3);font-size:var(--type-11)}.calendar-day{min-height:115px;border-right:1px solid var(--border);border-top:1px solid var(--border);padding:var(--space-tiny);min-width:0}.calendar-day.blank{background:var(--background)}.day-number{color:var(--muted);font-size:var(--type-5);display:block;margin-bottom:var(--space-tiny)}.calendar-content{display:grid;gap:var(--layout-16);width:100%;text-align:left;background:var(--demo-soft);border:0;border-left:3px solid var(--demo);border-radius:var(--radius-small);padding:var(--space-tiny);margin-bottom:var(--space-tiny);font-size:var(--type-5);overflow-wrap:anywhere}.calendar-content .badge{justify-self:start;font-size:var(--type-39)}.status-left,.status-returned,.status-cancelled{background:var(--exception-soft);color:var(--exception)}.status-in_review,.status-draft{background:var(--reminder-soft);color:var(--reminder)}.dialog .button{margin-right:var(--space-tiny)}.dialog textarea{min-height:90px}.fields dd{white-space:pre-wrap}.record-row strong{overflow-wrap:anywhere}.record-row>div{min-width:0}
@media(max-width:800px){.sidebar nav{flex-wrap:wrap}.module-tab{flex:1;text-align:center;white-space:normal;overflow-wrap:anywhere}.calendar-controls .button{padding:var(--layout-40);font-size:var(--type-11)}.record-side{max-width:45%}.calendar-scroll{margin-top:var(--space-small)}}

.staff-contact{color:var(--text);font-size:var(--type-11);margin-top:var(--space-tiny);overflow-wrap:anywhere}

.operator-bar{display:flex;gap:var(--space-small);align-items:center;flex-wrap:wrap}.operator-bar .form-field{margin:0}.operator-bar p{flex-basis:100%}.workflow-summary{padding:var(--space-small);margin-top:var(--space-small);background:var(--primary-soft);border-radius:var(--radius-small)}.workflow-actions{margin-top:var(--space-small)}.status-producing{background:var(--demo-soft);color:var(--demo)}.status-approved{background:var(--primary-soft);color:var(--normal)}.campaign-spend-line{color:var(--muted);font-size:var(--type-5)}.campaign-spend-line.over-budget{color:var(--exception)}

.marketing-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.exception-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space)}.exception-grid>div{min-width:0}.exception-grid .list-controls input{flex-basis:100%;width:100%}.exception-grid h3{margin-top:var(--space-small)}.plot-scroll{overflow-x:auto;width:100%;overscroll-behavior-x:contain}.plot-scroll svg{max-width:none}.marketing-metrics .metric-value{font-size:var(--type-32)}@media(max-width:1200px){.exception-grid{grid-template-columns:1fr}}@media(max-width:650px){.marketing-metrics{grid-template-columns:1fr 1fr}.marketing-metrics .metric-card:last-child{grid-column:auto}.marketing-metrics .metric-value{font-size:var(--type-41)}}

.connected-marketing{border:2px solid var(--primary);background:var(--primary-soft)}.connected-marketing .area-stat{padding:var(--space-small) 0}.source-switch-note{margin-top:var(--space-small);padding:var(--space-small);background:var(--surface);border-left:3px solid var(--primary);font-size:var(--type-11);color:var(--primary-text)}.month-gaps{display:flex;flex-wrap:wrap;gap:var(--space-small);margin-top:var(--space-small)}

/* Shared presentation only: no workflow or record changes. */
.brand{font-size:var(--type-27);letter-spacing:var(--tracking-7);color:var(--text);min-width:0;overflow-wrap:anywhere}
.button,.lang,.module-tab{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;text-align:center;font-weight:var(--weight-22)}
.section-head,.dialog-head{flex-wrap:wrap}.section-head h2,.dialog-head h2{min-width:0;overflow-wrap:anywhere}.topbar>div,.tools,.form-field{min-width:0}
h1,h2,h3,h4{overflow-wrap:anywhere}.metric-head{align-items:flex-start}.metric-head>span{min-width:0;overflow-wrap:anywhere}.metric-value{font-weight:var(--weight-6);color:var(--text);overflow-wrap:anywhere}
input,select,textarea{max-width:100%;min-height:42px}input,textarea{line-height:1.5}
.badge{max-width:100%;overflow-wrap:anywhere}.record-side{min-width:0}.record-row:hover,.area-stat:hover{background:var(--primary-soft)}
.status-active,.status-doing,.status-producing,.status-approved,.status-confirmed,.status-published,.status-completed,.status-employed{background:var(--normal-soft);color:var(--normal)}
.status-planned,.status-todo,.status-draft,.status-submitted,.status-pending,.status-in_review,.status-scheduled{background:var(--reminder-soft);color:var(--reminder)}
.status-returned,.status-rejected,.status-voided,.status-left,.status-cancelled{background:var(--exception-soft);color:var(--exception)}
.badge.demo{background:var(--demo-soft);color:var(--demo)}
@media(max-width:650px){.tools{flex-wrap:wrap}.operator-bar>.form-field{flex:1 1 180px}.dialog-head>.button{flex-shrink:0}.actions>.button{flex:0 1 auto}}

.brand{flex-direction:column;align-items:flex-start;gap:var(--logo-gap)}.company-logo{display:block;width:var(--logo-width);max-width:100%;height:auto;object-fit:contain;background:var(--surface)}@media(max-width:800px){.brand{flex-direction:row;align-items:center}.company-logo{width:var(--logo-mobile-width);flex-shrink:0}}

/* PROMPT 08: shared responsive controls. All records/metrics keep their existing APIs. */
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-small);min-width:0}.brand-row .brand{flex:1}.mobile-menu-toggle,.compact-chart,.mobile-day-date,.mobile-calendar-hint{display:none}
button,.button,.lang,.nav-link,.module-tab{min-height:var(--touch-target)}.button,.lang,.info{min-width:var(--touch-target)}input,select,textarea{min-height:var(--touch-target)}.info{flex-shrink:0}.nav-link,.module-tab{align-items:center;justify-content:center}.form-field{width:100%}.dialog form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-tiny)}
main,.content,.metrics,.area-grid,.chart-grid,.record-list,.list-body,.panel,.summary,.topbar,.brand{min-width:0;max-width:100%}.chart,.plot-scroll,.calendar-scroll{min-width:0;max-width:100%}.record-list,.list-body{width:100%}.dialog{max-width:calc(100vw - var(--space));overscroll-behavior:contain}.drawer{max-width:100vw}.fields dd{min-width:0}.hbar{grid-template-columns:minmax(0,100px) minmax(0,1fr) minmax(25px,auto)}.hbar>span:first-child{overflow-wrap:anywhere}
@media(max-width:800px){.metrics,.marketing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics>.metric-card:last-child{grid-column:auto}.chart-grid{grid-template-columns:minmax(0,1fr)}.sidebar .primary-nav{gap:var(--space-tiny)}.primary-nav .nav-link{display:flex}}
@media(max-width:600px){
  .sidebar{padding:calc(var(--badge-height) + var(--space-small)) var(--space-small) var(--space-small)}.brand-row{align-items:center}.brand-row .brand{flex-direction:row}.brand strong{font-size:var(--control-size)}.company-logo{width:var(--logo-mobile-width)}.mobile-menu-toggle{display:inline-flex;flex:0 0 auto}.sidebar .primary-nav{display:none;margin-top:var(--space-small)}.sidebar.menu-open .primary-nav{display:grid;grid-template-columns:minmax(0,1fr)}.primary-nav .nav-link{justify-content:flex-start;width:100%}
  main{padding:var(--space-small);width:100%;margin-left:0}.topbar{display:grid;grid-template-columns:minmax(0,1fr)}.tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-small)}.period-label{flex:1;min-width:0}.period-label select{width:100%}.language{flex-shrink:0}.metrics,.marketing-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mobile-gap)}.metric-card{padding:var(--mobile-card-padding)}.metrics .metric-card:last-child{grid-column:auto}.metrics .metric-value{font-size:var(--mobile-metric-size);min-height:var(--touch-target);letter-spacing:0}.metric-head{gap:0}.metric-head>span{font-size:var(--type-11)}.metric-head .info{min-width:var(--touch-target)}.area-grid{grid-template-columns:minmax(0,1fr)}
  .module-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.module-tab{display:flex;min-width:0;padding:var(--space-tiny)}.operator-bar{display:grid;grid-template-columns:minmax(0,1fr)}.operator-bar>.form-field{width:100%;min-width:0}.operator-bar>.button{width:100%}input,select,textarea{font-size:var(--control-size);width:100%;min-width:0}
  .list-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.list-controls>input{grid-column:1/-1;width:100%;min-width:0}.list-controls>select{max-width:100%;width:100%;min-width:0}.record-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--mobile-gap);border:1px solid var(--border);border-radius:var(--radius-small);padding:var(--mobile-card-padding);margin:var(--mobile-gap) 0;background:var(--surface)}.record-side{max-width:none;justify-content:flex-start}.record-row strong{font-size:var(--body-size)}.area-stat{align-items:flex-start}.area-stat>span{min-width:0;overflow-wrap:anywhere}.area-stat>strong{overflow-wrap:anywhere;text-align:right}.alert-row{display:grid;grid-template-columns:28px minmax(0,1fr)}.alert-row .source{grid-column:2;max-width:none;font-size:var(--type-11)}.alert-row .badge{display:inline-block;grid-column:2;justify-self:start}
  .shade{padding:var(--space-small);align-items:center}.dialog{width:100%;max-width:100%;max-height:calc(100dvh - var(--badge-height) - var(--space));padding:var(--space-small)}.drawer{top:var(--badge-height);left:0;right:0;bottom:0;width:100%;max-height:calc(100dvh - var(--badge-height));border-radius:0}.dialog-head{position:sticky;top:0;background:var(--surface);z-index:2;display:flex;align-items:flex-start;flex-wrap:nowrap;padding-bottom:var(--space-small)}.dialog-head h2{flex:1;min-width:0}.dialog-head .button{flex:0 0 auto;margin-right:0}.fields{grid-template-columns:minmax(0,1fr);gap:var(--space-tiny)}.fields dd{margin-bottom:var(--space-small)}.actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.actions>.button{width:100%;margin-right:0}.dialog form>.button{width:100%;margin-right:0}
  .chart .plot-scroll,.chart .chart-scroll-hint{display:none}.compact-chart{display:grid;gap:var(--space-small);width:100%;min-width:0}.compact-chart-group{display:grid;gap:var(--space-tiny);border-bottom:1px solid var(--border);padding:var(--space-small) 0;min-width:0}.compact-chart-group>strong{font-size:var(--body-size);overflow-wrap:anywhere}.compact-chart-point{display:grid;gap:var(--space-tiny);width:100%;min-width:0;text-align:left;border:0;background:transparent;padding:var(--space-tiny) 0;min-height:var(--touch-target)}.compact-chart-label{display:flex;gap:var(--space-small);justify-content:space-between;flex-wrap:wrap;font-size:var(--type-11)}.compact-chart-label>span,.compact-chart-label>strong{min-width:0;overflow-wrap:anywhere}.compact-chart-point .track{height:8px}.compact-series-0{background:var(--primary)}.compact-series-1{background:var(--secondary)}.legend{gap:var(--space-small)}
  .calendar-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.calendar-controls .period-label{grid-column:1/-1;grid-row:1}.calendar-controls>.button:last-child{grid-column:1/-1}.calendar-grid{min-width:0;grid-template-columns:minmax(0,1fr)}.calendar-weekday,.calendar-day.blank,.calendar-day{display:none}.calendar-day.has-content{display:block;min-height:0;border-right:0;padding:var(--space-small)}.calendar-day .day-number{display:none}.mobile-day-date{display:block;margin-bottom:var(--space-small)}.mobile-calendar-hint{display:block}.calendar-content{font-size:var(--body-size);padding:var(--space-small);min-height:var(--touch-target)}.calendar-scroll{overflow-x:visible}.calendar-content .badge{font-size:var(--type-11)}
}

@media(max-width:600px){.legend,.chart-sources .source{font-size:var(--type-11)}.metric-card small,.metric-card .source{font-size:var(--type-5)}#toast{overflow-wrap:anywhere}}

/* Work & deadlines uses the existing shared card/form/dialog system. */
.status-workTodo{background:var(--reminder-soft);color:var(--reminder)}.status-workDoing,.status-workDone{background:var(--normal-soft);color:var(--normal)}.status-workCancelled{background:var(--demo-soft);color:var(--demo)}.status-workOverdue{background:var(--exception-soft);color:var(--exception)}.work-filters{display:flex;flex-wrap:wrap;gap:var(--space-small);margin-bottom:var(--space-small)}.work-filters .form-field{flex:1;min-width:140px}.work-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:800px){.work-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.work-filters{display:grid;grid-template-columns:minmax(0,1fr)}.work-filters .form-field{min-width:0}}
