.planner{padding-top:24px}.planner h1{font-size:36px;margin:0;letter-spacing:-.025em}.planner-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.planner-intro p{margin:6px 0}.planner button,input,select,textarea,dialog button{font:inherit}button{cursor:pointer;border:1px solid #bdcecb;border-radius:9px;background:white;color:var(--primary);padding:9px 14px;min-height:44px;font:inherit;font-weight:600}button:hover{background:#e1eeeb}button.primary{background:var(--primary);color:white;border-color:var(--primary)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b15b12;outline-offset:3px}.storage-note{font-size:13px!important;max-width:none!important;padding:12px 16px;background:#e8efed;border-radius:10px;margin:24px 0}.calendar-toolbar,.month-controls{display:flex;align-items:center;gap:12px}.calendar-toolbar{justify-content:space-between;flex-wrap:wrap;margin:24px 0 16px}.month-controls h2{margin:0;min-width:185px;text-align:center;font-size:22px}.month-controls button:first-child,.month-controls button:nth-of-type(2){font-size:22px;padding:3px 14px}.search-label{display:block;font-size:13px;font-weight:600;max-width:360px;margin-bottom:20px}input,select,textarea{display:block;width:100%;padding:10px 12px;border:1px solid #a8bab6;border-radius:8px;background:#fff;color:var(--secondary);min-width:0}input[type=search]{margin-top:6px}.planner-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;align-items:start}.planner-grid section{margin:0;max-width:none;min-width:0}.calendar-panel{padding:16px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays span{text-align:center;font-size:12px;padding:10px 0}.day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:74px;padding:8px 2px;border-color:transparent;color:var(--secondary);font-size:15px}.day.outside{color:#667571;background:#f5f8f7}.day.is-today{border-color:var(--primary);font-weight:800}.day.selected{background:var(--primary);color:#fff}.day small{font-size:10px;line-height:1.2;font-weight:500}.agenda{padding:24px}.agenda h2{font-size:21px}.agenda .eyebrow{margin-top:0}.event-card{border-top:1px solid #d5dfdd;padding:16px 0;overflow-wrap:anywhere}.event-card h3{margin:4px 0;font-size:17px}.event-card p{margin:4px 0;font-size:14px;white-space:pre-wrap}.event-card .event-time{font-weight:700;color:var(--primary)}.event-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.event-actions button{font-size:13px;padding:6px 10px}.empty{font-size:14px;margin-bottom:24px}#feedback:empty,#form-error:empty{display:none}#feedback,#form-error{color:#8b251e;background:#fff0ed;padding:10px 14px;border-radius:8px;font-size:14px}#feedback.success{color:var(--primary);background:#e1eeeb}dialog{border:1px solid #bdcecb;border-radius:18px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;color:var(--secondary)}dialog::backdrop{background:#10282899}dialog label{display:block;font-size:14px;font-weight:600;margin:16px 0 5px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-heading h2{margin:0}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}dialog button{font:inherit}#add-selected{margin-top:12px}#event-notes{resize:vertical}@media(max-width:800px){.planner-grid{grid-template-columns:1fr}.day{min-height:64px}.planner-intro{align-items:flex-start}.planner-intro .primary{white-space:nowrap}}@media(max-width:600px){header{padding:20px}.planner{padding:12px 16px 32px}.planner-intro{display:block}.planner-intro .primary{margin-top:16px}.planner h1{font-size:30px}.calendar-toolbar{display:block}.month-controls{gap:6px;margin-bottom:12px}.month-controls h2{min-width:0;flex:1;font-size:19px}.month-controls button{padding:6px 10px}.calendar-panel{padding:10px!important}.calendar-days{gap:2px}.day{min-height:59px;font-size:14px;border-radius:7px}.day small{font-size:9px}.form-columns{grid-template-columns:1fr}.agenda{padding:20px!important}.storage-note{font-size:12px!important}.search-label{max-width:none}}@media print{header .status,.planner-intro>button,.calendar-toolbar button,.search-label,.event-actions,#add-selected,.storage-note,#feedback{display:none}.planner-grid{grid-template-columns:1fr}.day{min-height:50px}.day.selected{background:white;color:#155e63;border:2px solid #155e63}.planner{padding:0}.planner-grid section{break-inside:avoid}}
.account-bar{margin-top:20px}.account-bar span{overflow-wrap:anywhere}.account-bar button{margin:4px 4px 4px 0}#invite-code{overflow-wrap:anywhere}#auth-error{color:#8b251e}[hidden]{display:none!important}
.danger{color:#94291f;border-color:#94291f}#manage-dialog form{border-top:1px solid #d5dfdd;margin-top:24px;padding-top:8px}#manage-dialog form button{margin-top:16px}#member-list{overflow-wrap:anywhere}#manage-feedback{white-space:pre-wrap}
.backup-tools{padding:16px;border:1px solid #bdcecb;border-radius:12px;margin-bottom:24px}.backup-tools summary{cursor:pointer;font-weight:600;color:var(--primary);min-height:32px}.backup-actions{display:flex;flex-wrap:wrap;gap:8px}.backup-tools p{max-width:750px}#import-preview{overflow-wrap:anywhere;max-height:230px;overflow:auto}#import-error{color:#94291f}@media print{.backup-tools{display:none}}
.view-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.view-tools label{display:block;font-size:13px;font-weight:600;min-width:145px;max-width:100%}.view-tools input,.view-tools select{margin-top:5px;max-width:260px}.view-switch{display:flex;gap:6px}.view-switch [aria-pressed=true]{background:var(--primary);color:white}.planner-grid.list-view{grid-template-columns:1fr}.list-view .event-card{padding:18px 0}.list-view .event-card h3{font-size:20px}.list-view .event-date{font-weight:700;color:var(--secondary)}button:disabled{opacity:.55;cursor:default}@media(max-width:600px){.view-tools label{flex:1;min-width:140px}.view-switch{width:100%}.view-switch button{flex:1}.view-tools input,.view-tools select{max-width:100%}}@media print{.view-tools{display:none}}
