/* Last Planner shares Obra 360's quiet surfaces and Inter typography. */
.lp,.lp-dialog{--lp-surface:#202c34;--lp-inset:#19242b;--lp-line:#3b4952;--lp-ink:#edf2f5;--lp-muted:#b3bfc8;--lp-accent:#f47721;--lp-warning:#f3bd69;--lp-ok:#8bcbb2;color:var(--lp-ink);font-family:Inter,Arial,sans-serif;line-height:1.5;font-size:14px}
html:not([data-theme="dark"]) .lp,html:not([data-theme="dark"]) .lp-dialog{--lp-surface:#fff;--lp-inset:#f4f7f9;--lp-line:#dce5eb;--lp-ink:#213b50;--lp-muted:#5f7384;--lp-warning:#8e560b;--lp-ok:#22674e}
.lp *,.lp-dialog *{box-sizing:border-box}.lp{min-width:0}.lp h2,.lp h3,.lp-dialog h2,.lp-dialog h3{color:var(--lp-ink);margin:0 0 8px;letter-spacing:-.025em}.lp h2,.lp-dialog h2{font-size:22px}.lp h3{font-size:16px}.lp p,.lp-dialog p{margin:0 0 12px}.lp small,.lp-muted{color:var(--lp-muted)}
.lp-head,.lp-toolbar,.lp-card-head,.lp-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lp-head{margin-bottom:16px}.lp-eyebrow{color:var(--lp-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lp-nav{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--lp-line);margin-bottom:16px;padding-bottom:8px}.lp button,.lp-dialog button{min-height:44px;padding:9px 13px;border:1px solid var(--lp-line);border-radius:7px;background:var(--lp-surface);color:var(--lp-ink);font:600 13px Inter,Arial,sans-serif;cursor:pointer;white-space:normal}.lp button:hover,.lp-dialog button:hover{border-color:var(--lp-accent)}.lp button:disabled,.lp-dialog button:disabled{opacity:.5;cursor:wait}.lp button:focus-visible,.lp-dialog button:focus-visible,.lp input:focus-visible,.lp select:focus-visible,.lp-dialog :is(input,select,textarea):focus-visible{outline:2px solid var(--lp-accent);outline-offset:2px}.lp-nav button{border-color:transparent;background:transparent}.lp-nav button[aria-current="page"]{background:var(--lp-inset);border-color:var(--lp-line);color:var(--lp-accent)}.lp .lp-primary,.lp-dialog .lp-primary{background:var(--lp-accent);color:#20160e;border-color:var(--lp-accent)}
.lp-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.lp-summary article,.lp-card{border:1px solid var(--lp-line);background:var(--lp-surface);border-radius:10px;padding:16px;min-width:0;overflow-wrap:anywhere}.lp-summary strong{display:block;font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums;margin:7px 0}.lp-list{display:grid;gap:12px;margin:12px 0}.lp-card p{color:var(--lp-muted);margin:8px 0}.lp-card-head h3{margin:0;min-width:0}.lp-meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--lp-muted);font-size:12px;margin:8px 0}.lp-badge{display:inline-block;border:1px solid var(--lp-line);padding:3px 8px;border-radius:5px;font-size:11px;color:var(--lp-muted);white-space:normal}.lp-warning{color:var(--lp-warning)!important}.lp-ok{color:var(--lp-ok)!important}.lp-reasons{margin:8px 0;padding-left:20px;color:var(--lp-warning);font-size:12px}.lp-empty{padding:28px 16px;border:1px dashed var(--lp-line);border-radius:9px;color:var(--lp-muted)}.lp-filters{border:1px solid var(--lp-line);border-radius:8px;padding:12px;margin-bottom:16px}.lp-filters summary{cursor:pointer;min-height:32px}.lp-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lp label,.lp-dialog label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--lp-muted);min-width:0}.lp input,.lp select,.lp-dialog input,.lp-dialog select,.lp-dialog textarea{width:100%;max-width:100%;min-height:44px;border:1px solid var(--lp-line);border-radius:6px;background:var(--lp-inset);color:var(--lp-ink);padding:10px;font:400 14px Inter,Arial,sans-serif;color-scheme:dark}.lp-dialog textarea{min-height:88px;resize:vertical}[data-theme="light"] :is(.lp,.lp-dialog) :is(input,select,textarea){color-scheme:light}.lp-toolbar{margin-bottom:12px}.lp-actions{justify-content:flex-start;margin-top:12px}.lp-error{padding:12px;border:1px solid var(--lp-warning);border-radius:7px;color:var(--lp-warning);margin:12px 0;overflow-wrap:anywhere}.lp-notice{padding:12px;background:var(--lp-inset);border-left:3px solid var(--lp-accent);border-radius:4px;margin:12px 0;color:var(--lp-muted)}
.lp-dialog{width:min(700px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface);padding:0;overflow:auto;box-shadow:none}.lp-dialog::backdrop{background:#0009}.lp-dialog form{padding:22px}.lp-dialog header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}.lp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lp-form-grid .lp-wide{grid-column:1/-1}.lp-dialog footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--lp-line)}.lp-check{flex-direction:row!important;align-items:center}.lp-check input{width:20px;min-height:20px;flex-shrink:0}.lp-checks{display:flex;gap:12px;flex-wrap:wrap}.lp-dialog dl{display:grid;grid-template-columns:1fr 2fr;gap:6px;font-size:12px}.lp-dialog dd{margin:0;overflow-wrap:anywhere}.lp-dialog dt{color:var(--lp-muted)}.lp-table-wrap{overflow:auto;max-width:100%}.lp table{width:100%;border-collapse:collapse}.lp th,.lp td{text-align:left;border-bottom:1px solid var(--lp-line);padding:10px;vertical-align:top}.lp th{font-size:12px;color:var(--lp-muted)}
@media(max-width:650px){.lp-summary{grid-template-columns:1fr}.lp-summary article{display:grid;grid-template-columns:1fr auto;align-items:center}.lp-summary strong{grid-column:2;grid-row:1/3;margin:0}.lp-summary small{grid-column:1}.lp-filter-fields,.lp-form-grid{grid-template-columns:1fr}.lp-form-grid .lp-wide{grid-column:auto}.lp-dialog form{padding:16px}.lp-card-head{align-items:flex-start}.lp-head>div,.lp-toolbar>label{width:100%}.lp-actions button{flex:1 1 auto}.lp-nav{gap:2px}.lp-nav button{padding:8px 10px}.lp-dialog footer{position:sticky;bottom:-1px;background:var(--lp-surface);padding-bottom:8px}.lp-summary,.lp-list{gap:10px}}
/* Isolate the workspace from legacy sidebar nav and global main-header rules. */
html body .lp :is(h2,h3){color:var(--lp-ink)!important}.lp-board-section{min-width:0}.lp-board-scroll{max-width:100%;overflow:auto;border:1px solid var(--lp-line);border-radius:12px;margin:12px 0 18px;overscroll-behavior-x:contain}
.lp .lp-board{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;background:var(--lp-surface)}
.lp .lp-board :is(th,td){border:0;border-right:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line);padding:8px;vertical-align:middle;color:var(--lp-ink);font-size:12px;line-height:1.4}
.lp .lp-board thead th{background:var(--lp-inset);color:var(--lp-muted);font-weight:600;text-align:center;white-space:nowrap}
.lp .lp-board small{display:block;font-size:11px;font-weight:400;color:var(--lp-muted);margin-top:3px}
html body .lp .lp-board :is(b,strong){color:var(--lp-ink)!important}html body .lp .lp-board small{color:var(--lp-muted)!important}
.lp .lp-board .lp-board-name{position:sticky;left:0;z-index:2;min-width:220px;width:220px;background:var(--lp-surface);text-align:left;border-right:2px solid var(--lp-line)}
.lp .lp-board thead .lp-board-name{background:var(--lp-inset);z-index:3}
.lp .lp-board-name button{padding:0;min-height:32px;border:0;background:transparent;font-size:12px;font-weight:700;text-align:left;color:var(--lp-ink)}
.lp .lp-board-name button::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--task-color);margin-right:6px}
.lp .lp-board .lp-board-day{min-width:28px;padding:4px 2px}.lp .lp-day-cell{text-align:center;padding:0!important;min-width:28px;height:40px;background:var(--lp-surface)}
.lp .lp-task-bar{display:block;height:14px;background:var(--task-color);margin:4px -1px;border-radius:2px;opacity:.8}.lp .lp-nonwork-bar{opacity:.25}
.lp .lp-board .lp-rest{background:color-mix(in srgb,var(--lp-muted) 8%,var(--lp-surface))}
.lp .lp-task-marker{display:block;background:color-mix(in srgb,var(--task-color) 15%,var(--lp-surface));color:var(--lp-ink);font-weight:700}
.lp .lp-day-cell b{display:block;font-size:11px}.lp .lp-day-cell button{min-height:28px;padding:2px 8px;font-size:12px}
.lp .lp-register{min-width:760px}.lp .lp-register th{text-align:left}.lp .lp-register td{max-width:260px;overflow-wrap:anywhere}.lp .lp-weekly{min-width:950px}
.lp-board-legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--lp-muted);font-size:11px;margin:8px 0}.lp-ppc-bar{display:inline-block;width:80px;height:8px;margin-right:6px;background:linear-gradient(to right,var(--lp-accent) var(--ppc),var(--lp-inset) var(--ppc));border-radius:4px}
.lp-trend{display:block;width:100%;max-height:260px;color:var(--lp-muted);margin:12px 0}.lp-board-section h3{margin-top:12px}
html body .lp :is(input,select,textarea){background:var(--lp-inset)!important;color:var(--lp-ink)!important;border-color:var(--lp-line)!important}html body .lp label{color:var(--lp-muted)!important}
@media(max-width:650px){.lp .lp-board .lp-board-name{min-width:150px;width:150px;max-width:150px}.lp .lp-board-name small{max-width:140px}.lp-board-legend{font-size:10px}.lp .lp-board :is(th,td){padding:6px}.lp .lp-board-name button{font-size:11px}.lp .lp-lookahead thead tr:first-child>th:nth-child(2),.lp .lp-lookahead thead tr:first-child>th:nth-child(3),.lp .lp-lookahead tbody tr>td:nth-child(2),.lp .lp-lookahead tbody tr>td:nth-child(3){display:none}}
/* Legacy theme rules use !important; keep the dialog's palette consistent in both themes. */
html body dialog.lp-dialog{background:var(--lp-surface)!important;color:var(--lp-ink)!important;border:1px solid var(--lp-line)!important;color-scheme:dark;position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;max-height:calc(100dvh - 24px)!important}
html:not([data-theme="dark"]) body dialog.lp-dialog{color-scheme:light}
html body dialog.lp-dialog form{background:var(--lp-surface)!important;color:var(--lp-ink)!important;border:0!important;box-shadow:none!important;padding:24px!important;margin:0!important}
html body dialog.lp-dialog header{position:static!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important}
html body dialog.lp-dialog :is(h2,h3,legend,label){color:var(--lp-ink)!important;font-family:Inter,Arial,sans-serif!important}
html body dialog.lp-dialog h2{font-size:22px!important;line-height:1.25!important}
html body dialog.lp-dialog label{margin:0!important;font-size:13px!important}
html body dialog.lp-dialog :is(input,select,textarea){background:var(--lp-inset)!important;color:var(--lp-ink)!important;border:1px solid var(--lp-line)!important;font-size:16px!important;color-scheme:inherit}
html body dialog.lp-dialog select option{background:var(--lp-surface)!important;color:var(--lp-ink)!important}
html body dialog.lp-dialog :is(input,select,textarea):focus{outline:2px solid var(--lp-accent)!important;outline-offset:2px;background:var(--lp-inset)!important;border-color:var(--lp-accent)!important}
html body dialog.lp-dialog button{background:var(--lp-surface)!important;color:var(--lp-ink)!important;border:1px solid var(--lp-line)!important;box-shadow:none!important}
html body dialog.lp-dialog button:hover{border-color:var(--lp-accent)!important}
html body dialog.lp-dialog button.lp-primary{background:var(--lp-accent)!important;border-color:var(--lp-accent)!important;color:#20160e!important}
html body dialog.lp-dialog .lp-notice{background:var(--lp-inset)!important;color:var(--lp-muted)!important;margin:0 0 20px;line-height:1.55}
html body dialog.lp-dialog fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--lp-line);border-radius:8px}
html body dialog.lp-dialog legend{font-size:13px;font-weight:600;padding:0 6px}
html body dialog.lp-dialog .lp-checks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
html body dialog.lp-dialog .lp-checks label{flex-direction:column!important;justify-content:center;gap:6px;padding:8px 4px;border:1px solid var(--lp-line);border-radius:6px;cursor:pointer;min-height:64px}
html body dialog.lp-dialog .lp-checks label:has(input:checked){background:color-mix(in srgb,var(--lp-accent) 12%,var(--lp-surface));border-color:var(--lp-accent)}
html body dialog.lp-dialog input[type="checkbox"]{width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;margin:0!important;accent-color:var(--lp-accent);flex:0 0 20px}
html body dialog.lp-dialog footer{background:var(--lp-surface)!important}
@media(max-width:650px){html body dialog.lp-dialog form{padding:16px!important}html body dialog.lp-dialog h2{font-size:20px!important}html body dialog.lp-dialog .lp-checks{grid-template-columns:repeat(4,minmax(0,1fr))}}
#last-planner-root .lp-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;flex-wrap:wrap!important;width:100%;height:auto;min-height:0;padding:0 0 8px!important;margin:0 0 16px!important;overflow:visible;background:transparent!important;gap:4px}
#last-planner-root .lp-nav button{width:auto!important;min-height:44px!important;flex:0 1 auto;white-space:normal!important;text-align:center!important;margin:0!important;padding:9px 12px!important;color:var(--lp-muted)!important;border:1px solid transparent!important;background:transparent!important}
#last-planner-root .lp-nav button::before,#last-planner-root .lp-nav button::after{display:none!important;content:none!important}
#last-planner-root .lp-nav button[aria-current="page"]{color:var(--lp-accent)!important;background:var(--lp-inset)!important;border-color:var(--lp-line)!important}
#last-planner-root .lp-nav button:hover{color:var(--lp-ink)!important;background:var(--lp-inset)!important}
#last-planner-root .lp-head{position:static!important;inset:auto!important;width:auto!important;height:auto!important;min-height:0!important;margin:0 0 16px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
@media(max-width:650px){#last-planner-root .lp-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch!important;gap:4px}#last-planner-root .lp-nav button{width:100%!important;padding:9px 8px!important;font-size:12px!important}}
