/* LifeaaS Control 1.4.0 — R8.8 Forecast, Calendar & Review
 * Extends the canonical Public Shell 0.9.9-R7 and calculator 2.0 stylesheet used by live /tools/buy-or-subscribe.php.
 * It deliberately does not restyle the global shell/header/footer; Control-specific layout extends c2-* primitives.
 */
.lc3-page{
  --lc2-page:#040f1f;
  --lc2-card:#1d1a35;
  --lc2-card-2:#17182d;
  --lc2-field:#121426;
  --lc2-line:#4b446b;
  --lc2-line-soft:rgba(189,169,232,.18);
  --lc2-text:#f6f4ff;
  --lc2-muted:#b8b3ca;
  --lc2-accent:#caa5f2;
  --lc2-cyan:#55c8ff;
  --lc2-danger:#ff91aa;
  color:var(--lc2-text);
  padding-bottom:64px;
}
.lc3-page *{box-sizing:border-box}
.lc3-intro .lc3-local-note{font-size:14px;line-height:1.5;color:var(--lc2-muted);margin-top:8px}
.lc-workspace{margin-top:48px}
.lc-empty{padding:38px 40px}
.lc3-empty-heading{margin-bottom:24px}
.lc3-empty-heading p{max-width:620px}
.lc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.lc-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:14px;border:1px solid var(--lc2-line);font:inherit;font-weight:750;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;white-space:nowrap}
.lc-btn:hover{transform:translateY(-1px)}
.lc-btn--primary{border-color:transparent;background:linear-gradient(100deg,#3aaeff 0%,#7a74ff 52%,#d44fdc 100%);color:white;box-shadow:0 12px 30px rgba(82,90,255,.2)}
.lc-btn--ghost{background:transparent;color:var(--lc2-text);border-color:var(--lc2-line)}
.lc-btn--ghost:hover{background:rgba(255,255,255,.035);border-color:#6b5f91}
.lc-btn--danger{background:transparent;color:var(--lc2-danger);border-color:rgba(255,145,170,.38)}
.lc-btn:focus-visible,.lc-tabs button:focus-visible,.lc-quick button:focus-visible,.lc-link-btn:focus-visible,.lc-icon-btn:focus-visible,.lc-mini-btn:focus-visible{outline:3px solid rgba(85,200,255,.3);outline-offset:3px}
.lc-quick{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.lc-quick button{appearance:none;border:1px solid var(--lc2-line);background:var(--lc2-field);color:var(--lc2-muted);border-radius:999px;padding:9px 14px;font:inherit;font-size:14px;cursor:pointer}
.lc-quick button:hover{color:var(--lc2-text);border-color:#706493}
.lc-tabs-shell{position:sticky;top:10px;z-index:20;margin:0 0 24px;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.lc-tabs-shell::before,.lc-tabs-shell::after{content:"";position:absolute;top:1px;bottom:1px;width:28px;z-index:3;pointer-events:none;opacity:1;transition:opacity .18s ease}
.lc-tabs-shell::before{left:1px;border-radius:17px 0 0 17px;background:linear-gradient(90deg,rgba(29,26,53,.98),rgba(29,26,53,0))}
.lc-tabs-shell::after{right:1px;border-radius:0 17px 17px 0;background:linear-gradient(270deg,rgba(29,26,53,.98),rgba(29,26,53,0))}
.lc-tabs-shell.is-at-start::before,.lc-tabs-shell.is-at-end::after{opacity:0}
.lc-tabs-shell.is-boundary-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px)}
.lc-tabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;margin:0;padding:6px;border:1px solid var(--lc2-line);background:rgba(29,26,53,.82);border-radius:18px;backdrop-filter:blur(12px);scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;scroll-padding-inline:20px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.lc-tabs::-webkit-scrollbar{display:none;width:0;height:0}
.lc-tabs button{appearance:none;flex:0 0 auto;border:0;background:transparent;color:var(--lc2-muted);padding:11px 16px;border-radius:13px;font:inherit;font-weight:700;cursor:pointer;scroll-snap-align:center;min-height:44px}
.lc-tabs button.is-active{color:var(--lc2-text);background:#2a2548;box-shadow:inset 0 0 0 1px rgba(202,165,242,.2)}
.lc-panel{display:none}.lc-panel.is-active{display:block}
.lc-notice{border:1px solid rgba(255,206,109,.34);background:rgba(127,88,22,.18);color:#f6dfb0;padding:15px 17px;border-radius:16px;margin-bottom:18px;font-size:14px;line-height:1.5}
.lc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.lc-kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lc-kpi{padding:22px 24px!important;min-width:0}
.lc-kpi>span{display:block;color:var(--lc2-muted);font-size:13px;margin-bottom:12px}
.lc-kpi strong{display:block;color:var(--lc2-text);font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:-.045em;overflow-wrap:anywhere}
.lc-kpi small{display:block;color:#918ba6;margin-top:9px;font-size:12px;line-height:1.35}
.lc-grid{display:grid;gap:20px;margin-bottom:20px}.lc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-grid--scenario{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.lc-card{padding:28px!important;position:relative;min-width:0}
.lc-card h2,.lc-section-head h2{color:var(--lc2-text);letter-spacing:-.03em}.lc-card h2{font-size:26px;margin:8px 0 12px}.lc-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.lc-label{display:inline-block}.lc-muted{color:var(--lc2-muted);line-height:1.6}.lc-score{font-size:48px;font-weight:850;line-height:1;letter-spacing:-.055em;white-space:nowrap;color:var(--lc2-text)}
.lc-score-progress,.lc-bar-progress{appearance:none;-webkit-appearance:none;border:0;overflow:hidden;background:#111526}.lc-score-progress{display:block;width:100%;height:10px;border-radius:999px;margin:12px 0 16px}.lc-score-progress::-webkit-progress-bar,.lc-bar-progress::-webkit-progress-bar{background:#111526;border-radius:999px}.lc-score-progress::-webkit-progress-value,.lc-bar-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--lc2-cyan),var(--lc2-accent));border-radius:999px}.lc-score-progress::-moz-progress-bar,.lc-bar-progress::-moz-progress-bar{background:linear-gradient(90deg,var(--lc2-cyan),var(--lc2-accent));border-radius:999px}
.lc-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.lc-mini-grid div{background:var(--lc2-field);border:1px solid var(--lc2-line-soft);border-radius:15px;padding:14px}.lc-mini-grid strong{display:block;color:var(--lc2-text);font-size:22px}.lc-mini-grid span{display:block;color:var(--lc2-muted);font-size:11px;line-height:1.4;margin-top:5px}
.lc-link-btn{appearance:none;border:0;padding:0;background:transparent;color:var(--lc2-accent);font:inherit;font-weight:800;cursor:pointer}.lc-link-btn:hover{color:#e0c5ff}
.lc-bars{display:grid;gap:12px}.lc-bar-row{display:grid;grid-template-columns:minmax(95px,.65fr) minmax(120px,1.35fr) auto;gap:12px;align-items:center}.lc-bar-label{font-size:13px;color:var(--lc2-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-bar-progress{width:100%;height:9px;border-radius:999px;display:block}.lc-bar-value{font-size:12px;color:var(--lc2-muted);white-space:nowrap}
.lc-insights{display:grid;gap:9px;margin-top:16px}.lc-insight{padding:12px 14px;border-radius:14px;background:var(--lc2-field);border:1px solid var(--lc2-line-soft);font-size:13px;line-height:1.5;color:var(--lc2-muted)}
.lc-list{display:grid;gap:2px}.lc-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--lc2-line-soft)}.lc-row:last-child{border-bottom:0}.lc-row-main{min-width:0}.lc-row-main strong{display:block;color:var(--lc2-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-row-main span{font-size:12px;color:var(--lc2-muted)}.lc-row-value{text-align:right;white-space:nowrap}.lc-row-value strong{display:block;color:var(--lc2-text)}.lc-row-value small{color:var(--lc2-muted)}
.lc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.lc-section-head h2{font-size:34px;margin:7px 0 0}.lc-section-head p{margin:8px 0 0;max-width:760px}
.lc-items{display:grid;gap:14px}.lc-item-card{padding:22px!important;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}.lc-item-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lc-item-title h3{font-size:20px;margin:0;color:var(--lc2-text)}.lc-pill{font-size:11px;background:#292440;color:#d8c6f1;border:1px solid var(--lc2-line-soft);padding:5px 9px;border-radius:999px}.lc-item-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;font-size:12px;color:var(--lc2-muted)}.lc-item-value{text-align:right}.lc-item-value>strong{font-size:20px;color:var(--lc2-text);display:block}.lc-item-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}.lc-mini-btn{border:1px solid var(--lc2-line-soft);background:var(--lc2-field);color:#d0c9df;padding:7px 10px;border-radius:10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none}.lc-mini-btn:hover{border-color:#62577f;color:white}.lc-mini-btn--danger{color:var(--lc2-danger)}
.lc-data-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.lc-check-list{display:grid;gap:5px}.lc-check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.lc-check-row:hover{background:rgba(255,255,255,.025)}.lc-check-row input[type="checkbox"],.lc-check input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:24px;height:24px;min-width:24px;margin:0;border:1px solid #665d83;border-radius:7px;background-color:#0d1424;background-position:center;background-repeat:no-repeat;background-size:14px 14px;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.lc-check-row input[type="checkbox"]:checked,.lc-check input[type="checkbox"]:checked{border-color:transparent;background-color:#896ee8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.4 12 13 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");box-shadow:0 0 0 3px rgba(137,110,232,.14)}.lc-check-row input[type="checkbox"]:focus-visible,.lc-check input[type="checkbox"]:focus-visible{outline:3px solid rgba(85,200,255,.3);outline-offset:3px}.lc-check-row strong{display:block;color:var(--lc2-text)}.lc-check-row small{display:block;color:var(--lc2-muted);margin-top:3px}.lc-check-row b{color:var(--lc2-text)}
.lc-scenario-summary{position:sticky;top:82px;align-self:start}.lc-scenario-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--lc2-line-soft)}.lc-scenario-save{background:linear-gradient(135deg,rgba(83,193,255,.09),rgba(202,165,242,.1));border:1px solid rgba(167,137,226,.26);border-radius:16px;padding:17px;margin:16px 0}.lc-scenario-save span,.lc-scenario-save small{display:block;color:var(--lc2-muted)}.lc-scenario-save strong{font-size:34px;letter-spacing:-.04em;display:block;margin:5px 0;color:var(--lc2-text)}.lc-horizons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lc-horizons div{background:var(--lc2-field);border:1px solid var(--lc2-line-soft);border-radius:13px;padding:11px}.lc-horizons span{display:block;font-size:11px;color:var(--lc2-muted)}.lc-horizons strong{display:block;margin-top:4px;font-size:13px;color:var(--lc2-text)}
.lc-calendar{display:grid;gap:4px}.lc-calendar-day{padding:12px 0;border-bottom:1px solid var(--lc2-line-soft)}.lc-calendar-day:last-child{border-bottom:0}.lc-calendar-date{font-size:12px;font-weight:800;color:var(--lc2-accent);margin-bottom:7px}.lc-cal-payment{display:flex;justify-content:space-between;gap:20px;padding:6px 0;color:var(--lc2-muted)}.lc-cal-payment strong{color:var(--lc2-text)}
.lc-footer-card{margin-top:20px}.lc-footer-card__copy{max-width:620px}.lc-footer-card__copy p{margin:0 0 14px}.lc-footer-card .lc-btn{min-height:44px}
.lc-dialog{border:1px solid var(--lc2-line);padding:0;border-radius:24px;width:min(780px,calc(100% - 28px));max-height:min(90vh,900px);box-shadow:0 32px 110px rgba(0,0,0,.55);background:var(--lc2-card);color:var(--lc2-text)}.lc-dialog::backdrop{background:rgba(0,5,14,.75);backdrop-filter:blur(4px)}.lc-dialog--small{width:min(480px,calc(100% - 28px))}.lc-form,.lc-confirm-box{padding:26px}.lc-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.lc-dialog-head h2,.lc-confirm-box h2{font-size:30px;letter-spacing:-.035em;margin:6px 0 0;color:var(--lc2-text)}.lc-icon-btn{appearance:none;border:1px solid var(--lc2-line);background:var(--lc2-field);color:var(--lc2-text);width:40px;height:40px;border-radius:50%;font-size:25px;line-height:1;cursor:pointer}
.lc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.lc-field--wide{grid-column:1/-1}.lc-field label,.lc-field>label{font-size:13px;font-weight:650;display:block;margin-bottom:7px;color:#ded9eb}.lc-field input,.lc-field select,.lc-field textarea{width:100%;border:1px solid var(--lc2-line);border-radius:13px;background:var(--lc2-field);padding:12px 14px;font:inherit;color:var(--lc2-text);min-height:50px}.lc-field select{color-scheme:dark}.lc-field textarea{resize:vertical;min-height:96px}.lc-field input::placeholder,.lc-field textarea::placeholder{color:#79758d}.lc-field input:focus,.lc-field select:focus,.lc-field textarea:focus{outline:3px solid rgba(85,200,255,.12);border-color:#7668a0}.lc-error{color:var(--lc2-danger);font-size:11px;min-height:14px;display:block;margin-top:5px}.lc-check{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14px;color:var(--lc2-muted)}.lc-check input[type="checkbox"]{margin-top:1px}.lc-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.lc-fab{display:none}.lc-fab.is-context-hidden{opacity:0!important;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.94)}.lc-toast{position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#231f39;border:1px solid var(--lc2-line);color:#fff;padding:12px 16px;border-radius:13px;font-size:13px;box-shadow:0 16px 50px rgba(0,0,0,.4);transition:.2s ease}.lc-toast.is-show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){
  .lc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-grid--2,.lc-grid--scenario{grid-template-columns:1fr}
  .lc-scenario-summary{position:static}
  .lc-item-card{grid-template-columns:1fr}
  .lc-item-value{text-align:left}.lc-item-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .lc3-page{padding-bottom:84px}
  .lc-workspace{margin-top:34px}
  .lc-empty{padding:26px 22px!important}
  .lc3-empty-heading{display:block}
  .lc-tabs-shell{top:6px}.lc-tabs{border-radius:15px}
  .lc-kpis--3{grid-template-columns:1fr 1fr}.lc-kpis--3 .lc-kpi:last-child{grid-column:1/-1}
  .lc-card{padding:22px!important}
  .lc-section-head{align-items:flex-start}.lc-section-head h2{font-size:28px}
  .lc-score-card .lc-card-head{display:block}.lc-score{margin-top:8px}
  .lc-mini-grid{grid-template-columns:1fr 1fr}.lc-mini-grid>div:last-child{grid-column:1/-1}
  .lc-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;width:52px;height:52px;border-radius:16px!important;border:1px solid #725f8d;background:linear-gradient(135deg,rgba(53,43,83,.98),rgba(45,37,70,.98));color:#fff;font-size:24px;line-height:1;box-shadow:0 12px 32px rgba(53,89,255,.24);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
  .lc-dialog{width:100%;max-width:none;margin:0;max-height:94vh;border-radius:24px 24px 0 0;position:fixed;bottom:0}
  .lc-form{padding:22px 17px 18px}.lc-form-grid{grid-template-columns:1fr}.lc-field--wide{grid-column:auto}.lc-dialog-actions{position:sticky;bottom:-18px;background:var(--lc2-card);padding:13px 0 0}
  .lc-bar-row{grid-template-columns:minmax(80px,.7fr) minmax(100px,1.3fr)}.lc-bar-value{grid-column:2;text-align:right;margin-top:-8px}
  .lc-data-actions{padding-bottom:70px}
}
@media(max-width:480px){
  .lc-actions{display:grid;grid-template-columns:1fr}.lc-actions .lc-btn{width:100%}
  .lc-kpis{grid-template-columns:1fr}.lc-kpis--3{grid-template-columns:1fr}.lc-kpis--3 .lc-kpi:last-child{grid-column:auto}
  .lc-kpi{padding:18px!important}.lc-kpi strong{font-size:30px}
  .lc-card{padding:19px!important}
  .lc-tabs button{padding:10px 12px}.lc-tabs-shell::before,.lc-tabs-shell::after{width:22px}
  .lc-horizons{grid-template-columns:1fr}
  .lc-cal-payment{font-size:13px}
  .lc-quick{justify-content:flex-start}
  .lc-dialog-actions .lc-btn{flex:1}
  .lc-item-meta{gap:8px}
}
@media(max-width:360px){.lc-tabs button{min-height:44px}.lc-card-head{display:block}.lc-score{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.lc3-page *,.lc3-page *::before,.lc3-page *::after{scroll-behavior:auto!important;transition:none!important}}


/* Canonical calculator 2.0 alignment */
.lc3-page{padding-bottom:64px}
.lc3-page .c2-intro{margin-bottom:44px}
.lc3-page .c2-intro h1 em{font-style:normal}
.lc3-page .lc-workspace{margin-top:0}
.lc3-page .c2-panel{min-width:0}
.lc3-page .lc-empty{margin-top:0}
.lc3-page .lc-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:24px}
.lc3-page .lc-section-heading>p{max-width:600px;margin:0;color:var(--lc2-muted);line-height:1.55}
.lc3-page .lc-card,.lc3-page .lc-kpi,.lc3-page .lc-item-card{background:transparent}
.lc3-page .lc-btn.gradient-button{border:0;color:#fff}
.lc3-page .lc-btn.outline-button{background:transparent}
.lc3-page .lc-footer-card{margin-top:24px}
.lc3-page .lc-footer-card .c2-eyebrow{margin:0 0 8px}
body[data-lifeaas-control-shell="0.9.9-R7"] .lc-dialog{color-scheme:dark}
@media(max-width:720px){.lc3-page .lc-section-heading{display:block}.lc3-page .lc-section-heading>p{margin-top:12px}}


/* R8.4 mobile acceptance invariants */
@media(max-width:720px){
  .lc-tabs{touch-action:pan-x}
  .lc-check-row{min-height:64px}
}

/* R8.5 additions, scoped to Control */
.lc85-space{margin-bottom:24px}.lc85-details{margin:18px 0}.lc85-details summary,.lc3-page details summary{cursor:pointer;padding:12px 0;font-weight:700}.lc85-details .lc-form-grid{margin-top:12px}.lc-dialog .lc-field{min-width:0}.lc-dialog .lc-field input{max-width:100%}.lc-dialog .lc-field h3{margin:8px 0}.lc3-page .lc-cal-payment{gap:16px}.lc-row-main,.lc-item-title{overflow-wrap:anywhere}.lc3-page #lc-budget-payments{max-height:360px;overflow:auto}.lc3-page #lc-attention .lc-row{gap:12px}.lc3-page #lc-start-progress{margin:16px 0}.lc3-page [hidden]{display:none!important}#lc-import-dialog .lc-actions{flex-wrap:wrap}#lc-form-error{display:block;white-space:normal}#lc-import-dialog p{overflow-wrap:anywhere}.lc85-details small{line-height:1.5}.lc-dialog .lc85-details{padding-bottom:16px}.lc-dialog .lc85-details summary{color:#d8c5ff}.lc-dialog .lc85-details[open]{border-bottom:1px solid var(--lc2-line)}
@media(max-width:540px){.lc3-page #lc-attention .lc-row{align-items:flex-start;flex-direction:column}.lc3-page .lc-cal-payment{flex-wrap:wrap}.lc3-page .lc-btn{white-space:normal;text-align:center}#lc-import-dialog .lc-btn{width:100%}}

/* R8.6: only Control components; the common shell remains unchanged. */
.lc86-start-actions{margin:8px 0 24px}
.lc86-quick-label{font-size:13px;margin:0 0 10px}
.lc86-start-secondary{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;font-size:13px}
.lc86-start-secondary button{font-size:13px;font-weight:650}
.lc86-start-secondary a{color:var(--lc2-muted);text-decoration:none}
.lc86-start-secondary a:hover{color:var(--lc2-text)}
.lc86-filters{padding:22px!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.lc86-search{grid-column:1/-1}
.lc86-filter-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lc86-filters>p{grid-column:1/-1;margin:0;font-size:13px}
.lc86-next-date{color:var(--lc2-muted);font-size:13px;line-height:1.5;margin:12px 0 0}
.lc86-coverage{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--lc2-line-soft);border-radius:16px;background:rgba(85,200,255,.04);padding:16px 20px;margin-bottom:20px}
.lc86-coverage strong{font-size:14px;color:var(--lc2-text)}
.lc86-coverage p{font-size:13px;margin:5px 0 0}
.lc86-coverage.is-incomplete{background:rgba(127,88,22,.12);border-color:rgba(255,206,109,.3)}
.lc86-coverage>button{flex-shrink:0;min-height:42px}
.lc86-undo{position:sticky;top:8px;z-index:25;display:flex;align-items:center;gap:12px;background:#25203d;border:1px solid var(--lc2-accent);border-radius:16px;padding:16px 18px;margin:0 0 18px;box-shadow:0 10px 30px rgba(0,0,0,.22);font-size:14px}
.lc86-undo>span{flex:1;min-width:0;overflow-wrap:anywhere}
.lc86-undo button{min-height:44px;flex-shrink:0}
.lc86-limits #lc-limits-list{display:grid;gap:14px;margin:18px 0}
.lc86-limit{padding:18px;border:1px solid var(--lc2-line-soft);border-radius:15px;background:var(--lc2-field)}
.lc86-limit--over{border-color:rgba(255,145,170,.45)}
.lc86-limit--over>strong{color:var(--lc2-danger)}
.lc86-limit--incomplete{border-color:rgba(255,206,109,.35)}
.lc86-limit-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.lc86-limit-heading span{color:var(--lc2-muted);font-size:13px;white-space:nowrap}
.lc86-limit p{margin:12px 0;font-size:14px}
.lc86-limit>strong{font-size:14px}
.lc86-limits form{padding:14px 0 4px}
.lc86-start-secondary [hidden],.lc86-undo[hidden],.lc86-coverage[hidden]{display:none!important}
@media(max-width:720px){.lc86-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px!important}.lc86-coverage{align-items:flex-start;flex-direction:column;gap:12px}.lc86-coverage>button{width:100%}.lc86-undo{flex-wrap:wrap}.lc86-undo>span{flex-basis:100%}.lc86-limit .lc-item-actions{justify-content:flex-start}.lc86-start-actions .lc-btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.lc86-undo{scroll-behavior:auto}}

/* R8.7 actions, comparison and CSV. */
.lc87-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lc87-tools button,.lc87-tools a{min-height:44px}
.lc87-comparison{margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#39404d);text-align:left;max-width:440px}
.lc87-comparison p{overflow-wrap:anywhere}
.lc87-hint{font-size:.82rem;line-height:1.5;margin-top:10px}
.lc87-dialog{box-sizing:border-box;margin:auto;width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px}
.lc87-dialog::backdrop{background:rgba(0,0,0,.7)}
.lc87-dialog .lc-dialog-head{gap:16px}
.lc87-dialog .lc-form-grid{margin:16px 0}
.lc87-dialog input,.lc87-dialog select{min-width:0;max-width:100%}
.lc87-preview{max-height:240px;overflow:auto;padding:8px 12px;background:rgba(128,128,128,.08);border-radius:12px}
.lc87-preview p{overflow-wrap:anywhere}
.lc87-dialog .lc-actions{position:sticky;bottom:0;background:var(--lc2-card,#1d1a35);padding:12px 0;flex-wrap:wrap}
@media(max-width:520px){.lc87-dialog{padding:14px}.lc87-dialog .lc-form-grid{grid-template-columns:1fr}.lc87-tools{flex-direction:column}.lc87-tools button,.lc87-tools a{width:100%;text-align:center}.lc87-dialog .lc-actions>*{flex:1 1 100%}.lc87-comparison{max-width:100%}}

.lc-item-actions .lc-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}

.lc87-dialog details{grid-column:1/-1}.lc87-dialog details summary{min-height:44px;padding:12px 0;cursor:pointer}
@media(max-width:720px){.lc87-dialog{left:0;right:0;bottom:12px;top:auto}}

.lc87-dialog button:disabled{opacity:.45;cursor:not-allowed}

.lc3-page .lc-item-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.lc3-page .lc-item-card>div{min-width:0}
@media(max-width:920px){.lc3-page .lc-item-card{grid-template-columns:1fr}}

/* R8.8: compact application layout, shared public shell is unchanged. */
.lc3-page{--lc2-muted:#c6c2d7;--lc2-line:#676080}
.lc3-page .lc-muted{color:var(--lc2-muted);line-height:1.55}
.lc3-page .lc88-overview{margin-bottom:24px}
.lc3-page .lc88-currency-field{width:170px;flex:none;margin:0}
.lc3-page .lc88-payment-kpis{margin:18px 0 10px}
.lc3-page .lc88-payment-kpis .lc-kpi{border-color:#766095;background:#26213d}
.lc3-page .lc88-payment-kpis .lc-kpi strong{font-size:clamp(24px,3vw,34px);color:#fff;overflow-wrap:anywhere}
.lc3-page .lc88-payment-kpis .lc-kpi small{line-height:1.45;color:#d0ccdf}
.lc3-page .lc88-average{margin:12px 0 24px;font-size:14px;color:#d0ccdf}
.lc3-page .lc88-analytics{border:1px solid var(--lc2-line);border-radius:18px;padding:0 20px}
.lc3-page .lc88-analytics>summary{padding:18px 0;font-weight:600}
.lc3-page .lc88-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%}
.lc3-page .lc88-chart{display:block;width:100%;min-width:600px;height:auto;margin:16px 0 0}
.lc3-page .lc88-gridline{stroke:#655f7b;stroke-width:1}
.lc3-page .lc88-axis{fill:#d8d4e7;font-size:12px}
.lc3-page .lc88-bar{fill:#8d70b8}
.lc3-page .lc88-bar.is-selected{fill:#79d2f6}
.lc3-page .lc88-hit{fill:transparent}
.lc3-page .lc88-chart g[role=button]{cursor:pointer;outline:none}
.lc3-page .lc88-chart g[role=button]:focus .lc88-hit{stroke:#fff;stroke-width:2}
.lc3-page .lc88-chart g[role=button]:hover .lc88-bar{fill:#c3a4f4}
.lc3-page .lc88-limit-line{stroke:#ffca87;stroke-dasharray:7 5;stroke-width:2;pointer-events:none}
.lc3-page .lc88-month-detail{margin-top:18px;padding-top:16px;border-top:1px solid var(--lc2-line)}
.lc3-page .lc88-payment{display:flex;gap:16px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--lc2-line-soft);font-size:14px}
.lc3-page .lc88-payment span{overflow-wrap:anywhere;min-width:0}.lc3-page .lc88-payment strong{flex:none}
.lc3-page .lc88-review-progress{color:#cfb7f1;font-weight:600;font-size:14px}
.lc3-page .lc88-review{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--lc2-line-soft)}
.lc3-page .lc88-review>div:first-child{min-width:0;overflow-wrap:anywhere}.lc3-page .lc88-review p{margin:6px 0 0;font-size:14px}
.lc3-page .lc88-review-actions{display:flex;gap:8px;flex-wrap:wrap;flex:none}
.lc3-page .lc86-filters{display:block}.lc3-page .lc86-search{width:100%;margin-bottom:6px}
.lc3-page .lc88-filter-fields,.lc3-page .lc88-ics-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
.lc3-page .lc88-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.lc3-page .lc88-filter-fields .lc86-filter-bottom{grid-column:1/-1}
.lc3-page #lc-filter-summary{margin:6px 0 0}.lc3-page #lc88-filters>summary{min-height:44px;padding:10px 0}
.lc3-page .lc88-data-row{display:flex;justify-content:space-between;align-items:start;gap:16px;margin:16px 0 22px}
.lc3-page .lc88-data-row .lc87-hint{margin:10px 0;max-width:700px}
.lc3-page .lc88-menu{position:relative;flex:none}
.lc3-page .lc88-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;min-height:44px;min-width:44px;border:1px solid #746789;border-radius:10px;background:#302b46;color:#f6f4ff;font-weight:600;padding:8px 14px;cursor:pointer}
.lc3-page .lc88-menu>summary::-webkit-details-marker{display:none}
.lc3-page .lc88-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:35;display:grid;width:240px;max-width:calc(100vw - 48px);gap:6px;padding:10px;background:#211d35;border:1px solid #8b7caa;border-radius:14px;box-shadow:0 12px 30px #0008}
.lc3-page .lc88-menu-list .lc-mini-btn{text-align:left;justify-content:flex-start;white-space:normal;min-height:44px}
.lc3-page .lc88-menu-list .lc-btn--danger{border-top:1px solid #775266}
.lc3-page .lc88-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;overflow:visible;padding:20px!important}
.lc3-page .lc88-card-main{min-width:0}.lc3-page .lc88-item h3{font-size:20px;overflow-wrap:anywhere}
.lc3-page .lc88-tariff{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:12px}.lc3-page .lc88-tariff strong{font-size:22px;color:#f6f4ff}.lc3-page .lc88-tariff span{color:#cbc6dc;font-size:14px}
.lc3-page .lc88-item .lc86-next-date{margin:8px 0 6px;color:#d4d0e4}
.lc3-page .lc88-card-actions{display:flex;align-items:start;gap:8px}
.lc3-page .lc88-card-details{grid-column:1/-1;border-top:1px solid var(--lc2-line-soft);margin-top:6px;padding-top:6px;min-width:0}
.lc3-page .lc88-card-details>summary{font-size:14px;min-height:44px;padding:10px 0;color:#d7c4f0}
.lc3-page .lc88-state-active{background:#18453d;color:#b1f2d8;border-color:#46856f}.lc3-page .lc88-state-trial{background:#47371a;color:#ffe0a7;border-color:#9e844b}
.lc3-page .lc88-state-paused,.lc3-page .lc88-state-cancelled,.lc3-page .lc88-state-ended{background:#343342;color:#dfdce8;border-color:#777180}
.lc3-page .lc88-price-chart{width:100%;max-width:610px;display:block;height:auto}.lc3-page .lc88-price-line{fill:none;stroke:#7dd8f9;stroke-width:3;stroke-linejoin:round}
.lc3-page .lc88-table-wrap{max-width:100%;overflow:auto}
.lc3-page .lc88-table{width:100%;border-collapse:collapse;font-size:14px;background:transparent}
.lc3-page .lc88-table th,.lc3-page .lc88-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #655b7b;color:#e7e2f1;vertical-align:top;overflow-wrap:anywhere}
.lc3-page .lc88-table th{font-weight:600;color:#bde6fa;background:#242039}
.lc3-page .lc88-table td:first-child{min-width:100px}.lc3-page .lc88-table td:last-child{min-width:110px}
.lc3-page .lc88-backup{margin:26px 0 16px}.lc3-page .lc88-backup-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.lc3-page .lc88-backup h2{font-size:20px;margin:0}.lc3-page .lc88-backup summary,.lc3-page .lc88-explanation summary{min-height:44px;padding:10px 0;color:#d3c3e9}
.lc3-page .lc88-backup .lc-notice{background:transparent;border:none;padding:0;color:#ffe0a7;font-size:14px}
.lc3-page .lc-footer-card.lc88-privacy{display:block;padding:12px 20px;background:#151a2b;border:1px solid #635972;box-shadow:none}
.lc3-page .lc88-privacy>summary{min-height:44px;display:list-item;color:#d9d2e5;font-weight:600;padding:10px 0}
.lc3-page .lc-mini-btn{min-height:44px;box-sizing:border-box}
.lc3-page .lc-mini-btn,.lc3-page .lc88-menu>summary{transition:background .15s ease}
.lc3-page #lc-undo-bar{position:fixed;top:auto;bottom:84px;left:50%;transform:translateX(-50%);width:min(720px,calc(100vw - 32px));box-sizing:border-box;z-index:90;margin:0}
.lc3-page .lc-mini-btn:focus-visible,.lc3-page summary:focus-visible{outline:2px solid #9cdfff;outline-offset:3px}
.lc3-page .sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:760px){
 .lc3-page .lc88-payment-kpis{grid-template-columns:1fr}.lc3-page .lc88-payment-kpis .lc-kpi{padding:18px}
 .lc3-page .lc88-review{display:block}.lc3-page .lc88-review-actions{margin-top:12px}.lc3-page .lc88-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lc3-page .lc88-ics-settings{grid-template-columns:1fr}.lc3-page .lc88-item{padding:16px!important;gap:8px}
 .lc3-page .lc88-card-actions{grid-column:1/-1;justify-content:flex-end}.lc3-page .lc88-card-main{grid-column:1/-1}
 .lc3-page .lc88-data-row{align-items:stretch}.lc3-page .lc88-data-row .lc87-hint{font-size:12px}
 .lc3-page .lc88-backup-head{flex-wrap:wrap}.lc3-page .lc88-analytics{padding:0 14px}
 .lc3-page .lc88-overview>.lc-card-head{flex-wrap:wrap}.lc3-page .lc88-currency-field{width:100%}
 .lc3-page .lc3-intro .c2-badge{font-size:12px}.lc3-page .lc3-intro>p:not(.c2-eyebrow){font-size:15px;line-height:1.55}
 .lc3-page .lc88-payment{flex-wrap:wrap;gap:6px}.lc3-page .lc88-table{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.lc3-page .lc-mini-btn,.lc3-page .lc88-menu>summary{transition:none}}

/* R8.9: everyday views, scoped to Control; strict CSP, no inline styles. */
.lc3-page .lc89-viewbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 16px}
.lc3-page .lc89-view-choice{display:flex;align-items:center;gap:10px;flex:none;min-width:0}
.lc3-page .lc89-view-choice label{color:#d0ccdf;font-size:14px}
.lc3-page .lc89-view-choice select{width:auto;min-height:44px;max-width:100%;padding:10px 34px 10px 12px;border:1px solid #766789;border-radius:10px;background:#211c35;color:#f6f4ff;font:inherit}
.lc3-page .lc89-view-note{font-size:12px;color:#bbb5cf;margin:4px 0 0}
.lc3-page .lc89-overview-section{margin:16px 0;border:1px solid var(--lc2-line);border-radius:18px;min-width:0}
.lc3-page .lc89-overview-section>summary{padding:16px 20px;min-height:52px;font-weight:600;color:#e0d1f4;overflow-wrap:anywhere}
.lc3-page .lc89-overview-section>article{margin:0;border:0;border-top:1px solid var(--lc2-line);border-radius:0 0 18px 18px}
.lc3-page .lc89-summary-count{display:block;color:#c6c2d7;font-size:13px;font-weight:400;margin-top:5px}
.lc3-page .lc89-item-view{margin:0 0 12px}
.lc3-page #lc-items-list.is-table{display:block}
.lc3-page .lc89-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--lc2-line);border-radius:14px;background:#0b1425}
.lc3-page .lc89-expense-table{border-collapse:collapse;width:100%;min-width:800px;text-align:left;font-size:14px}
.lc3-page .lc89-expense-table th{color:#e3d8f5;background:#231e35;font-size:13px;padding:14px 16px;white-space:nowrap}
.lc3-page .lc89-expense-table td{padding:14px 16px;vertical-align:top;border-top:1px solid var(--lc2-line-soft)}
.lc3-page .lc89-expense-table td:first-child{width:22%;overflow-wrap:anywhere;min-width:140px}
.lc3-page .lc89-expense-table .lc89-date-cell{min-width:190px}
.lc3-page .lc89-expense-table .lc88-card-actions{min-width:146px}
.lc3-page .lc89-expense-table .lc88-menu-list{position:static;margin-top:8px;width:230px;max-width:none;box-shadow:none}
.lc3-page .lc89-expense-table .lc88-card-actions{flex-wrap:wrap}
.lc3-page .lc89-expense-table .lc88-menu{min-width:44px}
.lc3-page .lc89-table-details td{padding:0 16px 8px;border-top:0}
.lc3-page .lc89-table-details .lc88-card-details{max-width:760px;margin:0}
.lc3-page .lc89-table-details .lc88-price-chart{max-width:610px}
.lc3-page .lc89-table-footer{margin:12px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lc3-page .lc89-table-footer p{margin:0;font-size:14px}
.lc3-page .lc89-calendar .lc-card-head{align-items:start;gap:16px}
.lc3-page .lc89-calendar-toolbar{display:flex;gap:20px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:16px 0}
.lc3-page .lc89-calendar-toolbar>.lc-field{width:170px;margin:0}
.lc3-page .lc89-month-nav{display:flex;align-items:end;gap:8px;flex-wrap:wrap;min-width:0}
.lc3-page .lc89-month-nav .lc-field{width:175px;margin:0}
.lc3-page .lc89-month-nav button{flex:none;min-width:44px}
.lc3-page .lc89-month-summary{color:#e0d1f4;font-weight:600;line-height:1.6}
.lc3-page .lc89-calendar-help{font-size:13px}
.lc3-page .lc89-calendar-grid,.lc3-page .lc89-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.lc3-page .lc89-weekdays{font-size:12px;color:#c6c2d7;text-align:center;padding:8px 0}
.lc3-page .lc89-day{position:relative;display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:6px;min-height:76px;min-width:0;padding:10px;background:#17172d;border:1px solid #5c536f;border-radius:10px;color:#eee8f7;font:inherit;cursor:pointer}
.lc3-page .lc89-day:hover{background:#2d2545;border-color:#ba98ec}
.lc3-page .lc89-day.is-selected{background:#2f2749;border:2px solid #cfb2ff;padding:9px}
.lc3-page .lc89-day.is-today .lc89-day-number{border-bottom:2px solid #8ddeff}
.lc3-page .lc89-day.is-past{background:#121524;color:#b7b3c4}
.lc3-page .lc89-day-number{font-size:15px;font-weight:600;line-height:1.4}
.lc3-page .lc89-day-count{position:absolute;top:8px;right:8px;min-width:18px;max-width:70%;font-size:11px;text-align:center;color:#efe6ff;background:#3a3155;border-radius:10px;padding:1px 4px}
.lc3-page .lc89-day-marks{display:flex;gap:4px;font-size:13px;line-height:1;color:#8ddeff}
.lc3-page .lc89-day-marks .lc89-special{color:#f1bb83}
.lc3-page .lc89-empty-day{min-height:76px}
.lc3-page .lc89-legend{display:flex;gap:8px 16px;flex-wrap:wrap;color:#c6c2d7;font-size:12px;margin:16px 0}
.lc3-page .lc89-legend span:nth-child(1){color:#8ddeff}.lc3-page .lc89-legend span:nth-child(2){color:#f1bb83}
.lc3-page .lc89-day-detail{border-top:1px solid var(--lc2-line);padding-top:18px;margin-top:18px;min-width:0}
.lc3-page .lc89-event{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--lc2-line-soft);min-width:0}
.lc3-page .lc89-event>div{min-width:0;overflow-wrap:anywhere}
.lc3-page .lc89-event p{font-size:13px;margin:5px 0 0}
.lc3-page .lc89-event strong{color:#f0e8ff}
.lc3-page .lc89-event .lc-mini-btn{flex:none;align-self:center}
.lc3-page .lc89-legacy-calendar{margin:18px 0;border:1px solid var(--lc2-line);border-radius:16px;padding:0 18px}
.lc3-page .lc89-legacy-calendar>summary{min-height:52px;padding:16px 0;color:#dcc7f2;font-weight:600}
.lc3-page .lc89-legacy-calendar .lc-card{margin:14px 0}
.lc3-page .lc89-table-scroll:focus-visible,.lc3-page .lc89-day:focus-visible{outline:3px solid #8ddeff;outline-offset:3px}
.lc3-page #lc-dialog{max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);padding:0;overflow:hidden}
.lc3-page #lc-form{display:flex;flex-direction:column;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);padding:0}
.lc3-page .lc89-form-scroll{overflow-y:auto;overscroll-behavior-y:contain;padding:24px 28px 16px;min-height:0}
.lc3-page #lc-form>.lc-dialog-actions{flex:none;position:static;margin:0;padding:16px 28px;background:#151729;border-top:1px solid var(--lc2-line);z-index:2}
.lc3-page .lc89-form-group{border:1px solid var(--lc2-line);border-radius:12px;margin:12px 0;padding:0 14px}
.lc3-page .lc89-form-group>summary{min-height:48px;padding:13px 0;font-weight:600;color:#dcc7f2}
.lc3-page .lc89-form-group .lc-form-grid{padding:12px 0}
.lc3-page #lc-extra-fields{margin:12px 0 0}.lc3-page #lc-extra-fields>summary{min-height:48px;padding:13px 0}
.lc3-page #lc89-form-context{font-size:13px;line-height:1.5;margin:8px 0 16px}
.lc3-page .lc89-trial-wrap{padding:14px;border:1px solid #806b9e;border-radius:12px;background:#211c35}
.lc3-page .lc89-trial-wrap .lc-field{margin:0}
.lc3-page #lc-form-error{margin:12px 0 0}
@media(max-width:720px){
 .lc3-page .lc89-form-scroll{padding:20px 16px 12px}.lc3-page #lc-form>.lc-dialog-actions{padding:12px 16px}
 .lc3-page .lc89-calendar .lc-card-head{flex-wrap:wrap}
 .lc3-page .lc89-calendar-toolbar{display:block}.lc3-page .lc89-calendar-toolbar>.lc-field{width:100%;margin:14px 0 0}
 .lc3-page .lc89-month-nav .lc-field{width:calc(100% - 104px);max-width:210px}
 .lc3-page .lc89-month-nav #lc89-month-today{margin-top:4px}
 .lc3-page .lc89-calendar-grid,.lc3-page .lc89-weekdays{gap:4px}
 .lc3-page .lc89-day{padding:6px 4px;min-height:64px;border-radius:7px}.lc3-page .lc89-day.is-selected{padding:5px 3px}
 .lc3-page .lc89-day-count{right:2px;top:27px;font-size:10px;min-width:14px;padding:1px 3px}
 .lc3-page .lc89-day-number{font-size:14px}.lc3-page .lc89-empty-day{min-height:64px}
 .lc3-page .lc89-day-marks{font-size:11px;gap:3px}
 .lc3-page .lc89-event{gap:8px}.lc3-page .lc89-overview-section>summary{padding:14px 16px}
}
