@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1d3033;--muted:#7c888b;--line:#e5ebea;--bg:#f7f9f8;--teal:#176c61;--teal-light:#e7f2ed;--purple:#7166a0;--orange:#ba8250}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:14px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #8fc5b9;outline-offset:3px}input,select,textarea{border:1px solid #dce4e1;border-radius:8px;padding:10px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b3d6cc}button{border:0;background:none;color:inherit}.primary{background:var(--teal);color:#fff;border:1px solid var(--teal);padding:11px 18px;border-radius:8px;font-weight:600;text-decoration:none}.primary:hover{background:#10574e}.secondary{border:1px solid var(--line);border-radius:8px;padding:9px 17px;background:white;font-weight:500}.icon-button{font-size:23px;min-width:34px;min-height:34px;border-radius:7px}.icon-button:hover{background:var(--bg)}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:0 0 8px}.shell{display:flex;min-height:100vh}.sidebar{width:256px;flex:none;border-right:1px solid var(--line);background:#fafbf9;padding:32px 23px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);text-decoration:none;font:800 24px Manrope,sans-serif;letter-spacing:2px}.brand-mark{background:var(--teal);color:white;border-radius:12px;width:40px;height:42px;display:inline-grid;place-items:center;font:700 24px Manrope,sans-serif}.brand-sub{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted);margin-top:2px}.create{margin:34px 0 26px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px}.mini-calendar{margin-bottom:28px}.mini-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:12px;margin-bottom:12px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:3px;font-size:11px}.mini-grid>span{color:#99a39f;padding:5px 0}.mini-grid button{border-radius:50%;padding:7px 0;font-size:11px}.mini-grid button.selected{background:var(--teal);color:white}.mini-grid button.today:not(.selected){box-shadow:inset 0 0 0 1px #81af9a}.mini-grid button.outside{color:#b8c1bd}.sidebar-section{display:flex;flex-direction:column;gap:9px}.sidebar-section label{font-size:9px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-top:12px}.sidebar-section select{font-size:12px;width:100%;background:transparent}.workspace-note{margin-top:auto;padding-top:30px;color:#60756c;font-size:11px}.workspace-note p{font-size:10px;color:var(--muted);line-height:1.5}.workspace-note small{font-size:10px;color:#9aa5a0;display:block}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#69a685;margin-right:5px}.account{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;display:flex;align-items:center;gap:8px}.avatar{background:#e1ebe4;border-radius:50%;display:grid;place-items:center;width:29px;height:29px;font-size:10px;font-weight:700}.account strong{font-size:11px;display:block}.account small{font-size:9px;color:var(--muted)}.account .icon-button{font-size:17px}.main{min-width:0;flex:1;padding:37px 34px 20px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}h1{font:700 30px Manrope,sans-serif;letter-spacing:-1px;margin:0}.topbar .muted{font-size:12px;margin:8px 0 0}.top-actions{display:flex;align-items:center;gap:17px}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;padding:0 11px;gap:8px}.search span{font-size:24px;color:var(--muted)}.search input{border:0;width:170px;font-size:12px;padding:11px 0}.private-tag{font-size:10px;white-space:nowrap;color:#74857b;border:1px solid #e1e9e2;padding:7px 9px;border-radius:6px}.toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:19px 0}.navigation{display:flex;align-items:center;gap:6px}.navigation .muted{font-size:11px;margin-left:10px}.view-switch{display:flex;padding:3px;border-radius:9px;background:#f0f3f1;border:1px solid #e9edea;gap:3px}.view-switch button{font-size:12px;padding:8px 18px;border-radius:6px;color:#7b8880}.view-switch button.active{background:white;color:var(--ink);box-shadow:0 1px 4px #18372b12}.calendar-grid{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-height:590px}.day-column{border-right:1px solid var(--line);min-width:0}.day-column:last-child{border-right:0}.day-heading{padding:17px 8px 15px;text-align:center;border-bottom:1px solid var(--line);background:#fcfdfb}.day-heading .weekday{font-size:9px;letter-spacing:1.2px;color:#8e9b94;text-transform:uppercase}.day-number{margin:8px auto 0;font:600 23px Manrope,sans-serif;width:36px;height:36px;display:grid;place-items:center}.is-today .day-number{background:var(--teal);border-radius:50%;color:#fff}.is-today{background:#fbfdfb}.day-tasks{padding:10px 7px;min-height:490px}.task-card{display:block;text-align:left;width:100%;background:var(--event-bg,#e7eef4);border:1px solid var(--event-border,#cedbe5);border-left:3px solid var(--event-accent,#7592a3);border-radius:7px;padding:10px 9px;margin-bottom:8px;overflow:hidden;transition:transform .15s}.task-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px #243a2b0c}.task-time{font-size:9px;color:#52636c;display:block;margin-bottom:6px}.task-name{font-size:11px;line-height:1.5;font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-person{display:block;margin-top:9px;font-size:9px;color:#52636c;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.empty-day{font-size:10px;color:#bcc6bf;text-align:center;padding-top:27px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.month-label{padding:14px;text-align:center;font-size:10px;letter-spacing:1px;color:#84928a;background:#fafbf9;border-bottom:1px solid var(--line)}.month-cell{min-height:135px;padding:8px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:#fafbf9;color:#a9b4ae}.month-date{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:11px;margin-bottom:4px}.month-cell.is-today .month-date{background:var(--teal);color:white}.month-event{display:block;width:100%;text-align:left;font-size:10px;background:var(--event-bg,#e7eef4);color:var(--event-ink,#456476);border-radius:4px;padding:5px 6px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more{font-size:10px;color:#6d8374;padding:6px 2px}.day-view{max-width:1000px;margin:auto;border:1px solid var(--line);border-radius:12px;overflow:hidden}.day-view .day-tasks{padding:18px 24px;min-height:450px}.day-view .task-card{padding:16px 18px;display:grid;grid-template-columns:110px 1fr 160px;gap:15px;align-items:center}.day-view .task-name{font-size:13px}.day-view .task-time,.day-view .task-person{margin:0;font-size:11px}.calendar-footer{display:flex;align-items:center;gap:17px;padding-top:17px;font-size:10px;color:#859289}.footer-right{margin-left:auto;font-size:9px}#message{color:#7e5142;font-size:12px;min-height:0}#message:not(:empty){padding:10px 0}.error{color:#ab4a42;font-size:12px;line-height:1.5}.loading{opacity:.55;pointer-events:none}dialog{width:min(620px,calc(100vw - 30px));padding:0;border:1px solid #dce5df;border-radius:16px;box-shadow:0 30px 100px #142d2630;max-height:92vh}dialog::backdrop{background:#152d274d;backdrop-filter:blur(3px)}.dialog-header,.dialog-footer{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--line)}h2{font:700 21px Manrope,sans-serif;margin:0}.form-content{padding:20px 25px;display:flex;flex-direction:column;gap:15px}.form-content label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#6f8176}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-content .check{flex-direction:row;align-items:center;gap:9px}.dialog-footer{border-bottom:0;border-top:1px solid var(--line);background:#fafbf9;gap:10px}.dialog-footer>div{display:flex;gap:9px}.danger{color:#b66e64;font-size:11px}.login-page{min-height:100vh;display:grid;place-items:center;background:#f2f5ef;background-image:radial-gradient(ellipse at 80% 20%,#dfece0 0,transparent 60%)}.login-card{max-width:460px;margin:30px;padding:50px;background:#ffffffd9;border:1px solid #e1e8dc;border-radius:20px;box-shadow:0 20px 100px #284c2710}.login-card .eyebrow{margin:25px 0 15px}.login-card h1{font-size:40px;line-height:1.25}.login-card p.muted{line-height:1.7;margin:20px 0 30px}.login-button{display:flex;justify-content:space-between;align-items:center}.login-card small{display:block;text-align:center;margin-top:25px;font-size:10px;color:#92a08e}@media(min-width:1700px){.main{padding:45px 50px}.week-grid{min-height:700px}.task-name{font-size:12px}}@media(max-width:1100px){.sidebar{width:215px;padding:26px 16px}.main{padding:26px 20px}.private-tag{display:none}.task-card{padding:8px 6px}.task-name{font-size:10px}.search input{width:120px}}@media(max-width:780px){.sidebar{width:165px;padding:20px 10px}.mini-calendar{display:none}.brand{font-size:20px}.workspace-note{font-size:10px}.account{flex-wrap:wrap}.account small{display:none}.main{padding:20px 12px}.topbar{display:block;margin-bottom:18px}.top-actions{margin-top:16px}.search{width:100%}.search input{width:100%}h1{font-size:25px}.toolbar{gap:8px;flex-wrap:wrap}.navigation .muted{display:none}.week-grid{min-width:700px}#calendar{overflow:auto}.month-grid{min-width:650px}.footer-right{display:none}.calendar-footer{font-size:9px;gap:10px}.day-view .task-card{display:block}.day-view .task-time{margin-bottom:7px}.day-view .task-person{margin-top:8px}.form-content,.dialog-header,.dialog-footer{padding:18px}.view-switch button{padding:7px 12px}}@media(max-width:480px){.sidebar{width:115px;padding:18px 8px}.brand{gap:5px;font-size:14px;letter-spacing:1px}.brand-mark{width:28px;height:32px;font-size:18px;border-radius:7px}.brand-sub{font-size:6px}.create{padding:10px 4px;font-size:11px;gap:1px}.sidebar-section select{font-size:10px;padding:8px 4px}.workspace-note p,.workspace-note small,.account strong{display:none}.sidebar-section label{font-size:7px;letter-spacing:1px}.topbar .eyebrow{font-size:8px}.main{padding:18px 10px}.topbar h1{font-size:22px}.navigation{gap:0}.navigation .secondary{padding:8px 12px}.form-row{gap:9px}.calendar-footer{flex-wrap:wrap}}

/* Familiar FileMaker appointment families; muted red and green. */
.task-card.task,.month-event.task,.type-filter.task{--event-bg:#dfeaf3;--event-border:#c5d6e4;--event-accent:#7592a3;--event-ink:#456476}
.task-card.meeting,.month-event.meeting,.type-filter.meeting{--event-bg:#f3d9d9;--event-border:#dcaeae;--event-accent:#b96363;--event-ink:#854646}
.task-card.shift,.month-event.shift,.type-filter.shift{--event-bg:#dbead7;--event-border:#bbd1b4;--event-accent:#7c9870;--event-ink:#47633f}
.task-card.pto,.month-event.pto{--event-bg:#fbf0ca;--event-border:#e6d7a1;--event-accent:#c6a746;--event-ink:#7d682a}
.task-card.out,.month-event.out,.type-filter.out{--event-bg:#f3e8c8;--event-border:#dece99;--event-accent:#b09b54;--event-ink:#79682f}
.task-card.other,.month-event.other{--event-bg:#f0f2f4;--event-border:#dde2e6;--event-accent:#98a4ad;--event-ink:#62717b}

.filter-group{border:0;padding:0;margin:16px 0 0;min-width:0;display:flex;flex-direction:column;gap:6px}.filter-group legend{font-size:9px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:10px}.sidebar-section .filter-option{display:flex;flex-direction:row;align-items:center;gap:9px;letter-spacing:0;font-size:12px;font-weight:500;margin:0;padding:6px 2px;border-radius:4px;background:transparent;color:#34464e;cursor:pointer;line-height:1.3}.filter-option input{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:16px;height:16px;flex:none;margin:0;padding:0;border:1.5px solid var(--event-accent,#737b83);border-radius:2px;background:#fff;cursor:pointer}.task-card,.month-event{position:relative}.completed-mark{position:absolute;right:6px;bottom:3px;color:#438651;font-size:26px;font-weight:800;line-height:1;pointer-events:none;z-index:1}.month-event .completed-mark{right:3px;bottom:2px;font-size:15px}.sidebar{overflow-y:auto}.workspace-note{flex-shrink:0}@media(max-width:780px){.sidebar-section .filter-option{font-size:10px;gap:6px;padding:8px 6px}}@media(max-width:480px){.sidebar-section .filter-option{font-size:9px;padding:7px 3px;gap:4px}.filter-option input{width:12px;height:12px}.filter-group legend{font-size:7px;letter-spacing:1px}}

/* Neutral filter labels; only the event-type checkbox square carries its color. */
.filter-option input:checked{background:var(--event-accent,#737b83)}.filter-option input:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.filter-option input:focus-visible{outline:2px solid #b5bec4;outline-offset:2px}.status-open,.status-completed{--event-accent:#737b83}.task-card:not(.done) .task-name{color:#253941}.task-card.done,.month-event.done{background:#f7f8f8;color:#9aa3a9;border-color:#e7ebed}.task-card.done{border-left-color:color-mix(in srgb,var(--event-accent,#98a4ad) 40%,white)}.task-card.done .task-name,.task-card.done .task-time,.task-card.done .task-person{color:#98a2a8}.task-card.done .completed-mark,.month-event.done .completed-mark{color:#438651}

.task-timing{display:block;min-width:0}.task-repeat{display:block;margin-top:5px;font-size:9px;line-height:1.45;color:#667783}.task-card.done .task-repeat{color:#98a2a8}.day-view .task-timing{grid-column:1}.day-view .task-name{grid-column:2}.day-view .task-person{grid-column:3}.month-event{min-height:23px}.calendar-tooltip{position:fixed;z-index:1000;width:340px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:hidden;border:1px solid #dce3e6;border-radius:10px;background:#fff;box-shadow:0 10px 36px #16313b26;padding:16px;color:#344851;font-size:12px;line-height:1.5;pointer-events:none}.calendar-tooltip[hidden]{display:none}.tooltip-category{font-size:10px;font-weight:600;color:#74828a;margin-bottom:7px}.tooltip-title{display:block;font-size:14px;line-height:1.45;overflow-wrap:anywhere;margin-bottom:11px}.calendar-tooltip dl{display:grid;grid-template-columns:75px 1fr;gap:5px 9px;margin:0}.calendar-tooltip dt{color:#8a969c;font-size:10px}.calendar-tooltip dd{margin:0;font-size:11px;overflow-wrap:anywhere}.tooltip-description{border-top:1px solid #e8edef;margin-top:11px;padding-top:10px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden;font-size:11px}.tooltip-links{border-top:1px solid #e8edef;margin-top:10px;padding-top:8px;font-size:10px;color:#7a8990}
