:root{--tal-green: #007744;--tal-green-dark: #005c35;--tal-green-pale: #e7f3ed;--tal-white: #fff;--tal-black: #000;--ink: #17251e;--muted: #5c6c63;--line: #dce8e1;font-family:Gotham,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#f5f8f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f0b44d;outline-offset:3px}.header{min-height:94px;padding:16px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--tal-green);color:var(--tal-white);border-bottom:3px solid var(--tal-green-dark)}.header h1,.header h2,.header p{margin:0}.header p{font-size:.9rem;opacity:.86;margin-top:5px}.brand{display:flex;align-items:center;gap:11px;font-size:1.15rem;font-weight:750;letter-spacing:-.01em}.header-logo{width:36px;height:36px;object-fit:contain;border-radius:8px;flex:0 0 auto}.header-controls{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:7px}.signed-in-user{display:grid;gap:1px;min-width:96px;color:var(--tal-white);font-size:.8rem;line-height:1.15}.signed-in-user small{opacity:.82;font-size:.72rem}.button{border:1px solid transparent;border-radius:8px;padding:9px 13px;background:var(--tal-green);color:var(--tal-white);font-weight:700;white-space:nowrap}.button:hover:not(:disabled){background:var(--tal-green-dark)}.button.secondary{background:var(--tal-green-pale);color:var(--tal-green-dark);border-color:#cae3d5}.button.secondary:hover:not(:disabled){background:#d3eadc}.button.ghost{background:transparent;color:inherit;border-color:#b8d1c3}.header .button.ghost{border-color:#98c6ac;color:var(--tal-white)}.header .button.selected{background:var(--tal-white);color:var(--tal-green-dark)}.button.link{border:0;background:none;color:var(--tal-green-dark);padding:4px 0;font-size:.82rem;text-decoration:underline}.button.icon{font-size:1.5rem;padding:0 8px}.danger{color:brown!important}.danger-button{background:#aa2d2d;color:var(--tal-white)}.danger-button:hover:not(:disabled){background:#862020}.dashboard-top,.company-section,.attention,.filters,.team-grid,.page-panel,.empty-week,.filter-empty{max-width:1240px;margin-left:auto;margin-right:auto}.dashboard-top{display:flex;justify-content:space-between;align-items:flex-end;padding:32px clamp(18px,4vw,64px) 16px}.dashboard-top h1,.page-panel h1,.empty-week h1,.access-card h1{font-family:"Noto Serif",Georgia,serif;font-weight:600;font-size:clamp(1.55rem,3vw,2.15rem);margin:.2rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800;color:var(--tal-green);margin:0}.muted{color:var(--muted);line-height:1.5}.company-section,.attention{margin-top:15px;background:var(--tal-white);border:1px solid var(--line);border-radius:13px;padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-title h2{margin:.2rem 0 0;font-size:1.3rem}.priority-list{margin-top:13px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.company-priority{border-left:4px solid var(--tal-green);background:#f7fbf8;padding:11px 12px;display:flex;justify-content:space-between;gap:9px}.company-priority p,.personal-priority span{margin:4px 0 0;font-size:.86rem;color:#54706c}.item-actions{display:flex;align-items:start;gap:3px}.item-actions .button{font-size:.75rem;padding:5px 6px}.attention{background:#fbfcf5;border-color:#dce5bd}.attention-count{font-size:1.45rem;font-weight:800;color:#587020}.attention-list{display:grid;gap:4px;margin-top:11px}.attention-list a{display:flex;justify-content:space-between;gap:18px;color:#28403b;background:var(--tal-white);padding:9px 11px;border-radius:7px;text-decoration:none;border:1px solid #e7ead8}.attention-list a:hover{border-color:#91a84b}.attention-list a span:last-child{color:#697b37;font-size:.84rem;font-weight:700}.filters{padding:20px clamp(18px,4vw,64px);display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label,.form-grid label,.reset-dialog label{display:grid;gap:5px;font-weight:700;font-size:.84rem;color:#34524e}.filters select,.form-grid input,.form-grid select,.form-grid textarea,.reset-dialog input{border:1px solid #b8d1c3;border-radius:7px;padding:8px;background:var(--tal-white);color:var(--ink);min-height:38px}.filter-feedback{align-self:center;color:#416560;font-size:.82rem;font-weight:700;display:flex;align-items:center;gap:5px}.filter-empty{margin-bottom:50px;padding:24px clamp(18px,4vw,64px);text-align:center;background:var(--tal-white);border:1px solid var(--line);border-radius:13px;color:var(--muted)}.team-grid{padding:0 clamp(18px,4vw,64px) 50px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-card{background:var(--tal-white);border:1px solid var(--line);border-radius:13px;padding:19px;min-width:0}.member-header{display:flex;align-items:center;gap:11px}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:50%;background:var(--tal-green-pale);color:var(--tal-green-dark);font-weight:800}.member-header h2{margin:0;font-size:1.18rem}.member-header p{margin:3px 0;color:#6a7d79;font-size:.86rem}.status-summary{font-size:.78rem;color:#46645f;background:#f3f7f5;border-radius:6px;padding:7px 8px;margin:13px 0}.subhead{display:flex;justify-content:space-between;align-items:center}.personal-priorities h3,.action-list h3{font-size:.9rem;margin:10px 0}.personal-priority{display:grid;grid-template-columns:1fr auto;gap:4px;border-top:1px solid #edf1ef;padding:8px 0;font-size:.9rem}.personal-priority small{grid-column:1 / -1;color:#5e7772}.small-copy{font-size:.86rem}.action-list{margin-top:16px}.action-row{border-top:1px solid #e8edeb;padding:10px 0}.action-main{display:flex;justify-content:space-between;align-items:start;gap:10px}.action-main strong{font-size:.92rem}.action-main p{font-size:.82rem;color:#647976;margin:4px 0}.action-main small{display:block;color:#687f7a;margin-top:3px;font-size:.75rem}.status{font-size:.72rem;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap;border:0}.status-open{background:#ebeff0;color:#4c6265}.status-in-progress{background:#d9eeee;color:#17645d}.status-in-review{background:#e9e2f5;color:#614e8c}.status-awaiting-information{background:#fae3bd;color:#824b05}.status-closed{background:#e0eee4;color:#326746}.overdue{color:#b33333!important;font-weight:800}.action-row details{margin-top:7px}.action-row summary{font-size:.8rem;color:var(--tal-green-dark);cursor:pointer}.updates{background:#f7faf9;padding:8px;border-radius:7px;margin-top:6px}.update{border-bottom:1px solid #e1ebe8;padding:7px 2px;font-size:.83rem;line-height:1.4}.update:last-of-type{border-bottom:0}.update p{margin:0 0 3px;color:#5b716e;font-size:.75rem}.update textarea,.add-update textarea{width:100%;min-height:55px;border:1px solid #c8d5d1;border-radius:6px;padding:7px}.add-update{display:grid;gap:7px;padding-top:8px}.action-row-controls{display:inline-flex;gap:10px;align-items:center}.access{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,var(--tal-green-dark),var(--tal-green))}.access-card{background:var(--tal-white);border-radius:16px;padding:34px;max-width:420px;width:100%;box-shadow:0 15px 50px #00231538}.access-logo{display:block;width:96px;height:96px;object-fit:contain;margin:-10px 0 7px -14px}.access-card h1{margin:6px 0 8px}.access-card form{display:grid;gap:14px;margin-top:20px}.access-card form .button{width:100%}.access-card label{display:grid;gap:5px;font-weight:700;font-size:.88rem}.access-card input{border:1px solid #aabbb7;border-radius:7px;padding:10px}.fine-print{font-size:.76rem;color:#687d79;margin-top:20px}.google-sign-in{width:100%;margin-top:16px}.error{color:brown}.notice{max-width:1240px;margin:12px auto;padding:11px 14px;border-radius:8px;background:#eef4f3;color:#315d57}.notice.error{background:#fff1f0;color:#9c2929}.empty-week{margin-top:100px;background:var(--tal-white);border-radius:15px;padding:42px;max-width:620px;text-align:center;border:1px solid var(--line)}.empty-week .button{margin-top:13px}.page-panel{padding:34px clamp(18px,4vw,64px)}.history-list,.team-table{margin-top:19px;display:grid;gap:7px}.history-row,.team-row{border:1px solid var(--line);background:var(--tal-white);border-radius:9px;padding:13px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:#193a36}.history-row:hover{border-color:#6c9c95}.team-row{display:grid;grid-template-columns:auto 1fr auto;gap:11px}.team-row p{font-size:.82rem;margin:3px 0;color:#627773}.inactive{opacity:.58}.admin-data-controls{margin-top:32px;padding:20px;background:#fbfcfb;border:1px solid var(--line);border-radius:12px}.admin-data-controls h2{margin:3px 0;font-size:1.15rem}.admin-data-controls .muted{margin:0;font-size:.88rem}.admin-reset-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.development-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px;border-radius:8px;background:#f5faf7;border-left:3px solid var(--tal-green)}.development-tools p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.scrim{position:fixed;inset:0;background:#001f184f;z-index:10;display:grid;place-items:center;padding:16px}.dialog{width:min(670px,100%);max-height:90vh;overflow:auto;background:var(--tal-white);border-radius:13px;padding:20px;box-shadow:0 16px 45px #001b1538}.dialog-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7efec;padding-bottom:12px;margin-bottom:15px}.dialog-title h2{margin:0;font-size:1.25rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .wide{grid-column:1 / -1}.form-grid textarea{resize:vertical;min-height:75px}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.reset-dialog,.remove-dialog{display:grid;gap:15px}.reset-warning{margin:0;padding:12px;background:#fff5f4;border-left:3px solid #aa2d2d;color:#69312d;line-height:1.5}.wizard{display:grid;gap:13px}.wizard h3{margin:0}.steps{font-size:.77rem;color:var(--tal-green-dark);font-weight:800}.wizard-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:6px 0}.wizard-item input[type=text],.wizard-item input:not([type]){min-width:0}.wizard-item input[type=checkbox]{width:17px;height:17px}.wizard-item input:last-child{border:1px solid #bdccc8;border-radius:6px;padding:8px}.wizard-person{border-top:1px solid #e2ece8;padding-top:8px}.wizard-person h3{font-size:1rem}.carry-row{display:flex;gap:10px;align-items:start;border:1px solid #e2e9e6;border-radius:7px;padding:9px;margin:5px 0}.carry-row small{display:block;color:#627873;margin-top:3px}.review{display:flex;gap:8px;flex-wrap:wrap}.review span{display:grid;gap:3px;background:#f1f6f4;border-radius:7px;padding:9px;min-width:140px;color:#54716c;font-size:.78rem}.review strong{font-size:1.35rem;color:var(--tal-green-dark)}@media(max-width:760px){.header{align-items:flex-start;flex-direction:column;padding:16px}.header-controls{justify-content:flex-start}.team-grid{grid-template-columns:1fr}.dashboard-top{align-items:flex-start;flex-direction:column;gap:10px;padding-top:22px}.attention-list a{flex-direction:column;gap:3px}.filters{align-items:stretch}.filters label{flex:1}.filters select{width:100%}.filter-feedback{width:100%;justify-content:flex-start}.company-priority{align-items:start}.team-row{grid-template-columns:auto 1fr}.team-row .item-actions{grid-column:1 / -1;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.dialog{padding:16px}.header .button{padding:7px 9px;font-size:.82rem}.development-tools{align-items:flex-start;flex-direction:column}.access-card{padding:28px 24px}}.availability-panel{max-width:1240px;margin:15px auto 18px;padding:19px clamp(15px,3vw,24px);background:var(--tal-white);border:1px solid var(--line);border-radius:13px}.availability-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.availability-heading h1,.availability-heading h2{margin:3px 0;font-size:1.25rem}.availability-heading p{margin:4px 0}.availability-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.availability-legend{display:flex;flex-wrap:wrap;gap:7px 16px;margin:14px 0;font-size:.78rem;color:#38534b}.availability-legend span{display:inline-flex;gap:6px;align-items:center}.availability-dot{display:inline-block;width:11px;height:11px;border:1px solid #71837a;border-radius:50%}.availability-working{background:#d8eee1;color:#135e39}.availability-notWorking{background:#e8eceb;color:#384b47}.availability-unavailable{background:#f9dfdd;color:#812a2a}.availability-notConfirmed{background:#fff0c9;color:#604700}.availability-working.availability-dot{background:#074}.availability-notWorking.availability-dot{background:#64736f}.availability-unavailable.availability-dot{background:brown}.availability-notConfirmed.availability-dot{background:#ac7900}.availability-roster{display:grid;gap:8px}.availability-person{display:grid;grid-template-columns:132px minmax(0,1fr);gap:9px;align-items:stretch;padding-top:8px;border-top:1px solid #edf1ef}.availability-person-name{align-self:center}.availability-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0}.availability-day{min-width:0;padding:6px;border:1px solid #dfe9e4;border-radius:7px;background:#fff;color:var(--ink);text-align:left;display:grid;gap:5px}.availability-day:hover:not(:disabled){border-color:var(--tal-green);background:#f7fbf8}.availability-day:disabled{cursor:default;opacity:.84}.availability-day.is-today{border:2px solid var(--tal-green);box-shadow:inset 0 0 0 1px #d9ede2}.availability-day-name{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1px 4px;font-size:.7rem;color:#536961}.availability-day-name strong{color:#203e33;font-size:.74rem}.availability-day-name small{flex-basis:100%;font-weight:800;color:var(--tal-green-dark)}.availability-day-slots{display:grid;gap:3px}.availability-badge{display:flex;align-items:baseline;justify-content:space-between;gap:3px;border-radius:4px;padding:2px 4px;font-size:.67rem;line-height:1.2;font-weight:750;overflow-wrap:anywhere}.availability-badge-label{flex-basis:100%;font-size:.58rem;font-weight:600;line-height:1.15}.availability-period{font-size:.58rem;letter-spacing:.02em;opacity:.85}.availability-readonly{margin:9px 0;padding:8px 10px;background:#f5f8f6;border-radius:7px;color:var(--muted);font-size:.83rem}.availability-readonly .button.link{margin-left:7px}.availability-error{margin-top:10px}.current-day-availability{margin:11px 0 0;padding:7px 9px;border-left:3px solid var(--tal-green);border-radius:4px;background:#f4f9f6;color:#395c49;font-size:.8rem;line-height:1.4}.availability-filter{display:grid;gap:5px;min-width:min(260px,100%);font-size:.84rem;font-weight:700;color:#34524e}.availability-filter select,.availability-field select,.availability-field input{border:1px solid #b8d1c3;border-radius:7px;padding:8px;background:var(--tal-white);color:var(--ink);min-height:38px}.upcoming-availability{max-width:1240px}.upcoming-roster{display:grid;gap:17px;margin-top:18px}.upcoming-person{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.upcoming-person h2{margin:0 0 7px;font-size:1.1rem}.upcoming-week{display:grid;grid-template-columns:115px minmax(0,1fr);gap:8px;align-items:center;border-top:1px solid #edf1ef;padding:7px 0}.upcoming-week h3{font-size:.78rem;line-height:1.35;margin:0;color:#486056}.availability-footnote{margin-top:16px;font-size:.83rem}.availability-dialog{width:min(760px,100%)}.availability-editor-tabs{display:flex;gap:5px;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #e7efec}.availability-editor-tabs button{border:1px solid transparent;border-radius:7px;background:transparent;padding:7px 10px;color:#39574b;font-weight:700}.availability-editor-tabs button.selected{background:var(--tal-green-pale);border-color:#cce2d4;color:var(--tal-green-dark)}.availability-field{display:grid;gap:5px;margin:8px 0 12px;color:#34524e;font-size:.84rem;font-weight:700}.availability-form>p{margin:8px 0 12px;font-size:.85rem}.availability-form .form-grid{margin-top:10px}.availability-form small{color:var(--muted);font-weight:400}.availability-warning{margin:10px 0;padding:10px 12px;border-left:3px solid #aa7900;border-radius:5px;background:#fff7dc;color:#5d490e;font-size:.84rem;line-height:1.45}.pattern-days{display:grid;gap:5px;max-height:45vh;overflow:auto;margin:12px 0}.pattern-day{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;align-items:center;padding:6px 0;border-top:1px solid #edf1ef}.pattern-day label{display:grid;grid-template-columns:27px minmax(0,1fr);gap:5px;align-items:center;color:#526960;font-size:.75rem;font-weight:750}.pattern-day select{min-width:0;border:1px solid #b8d1c3;border-radius:6px;padding:6px;background:#fff;color:var(--ink);font-size:.78rem}@media(max-width:760px){.availability-panel{margin:12px 12px 16px;padding:15px 12px}.availability-heading{flex-direction:column}.availability-actions{justify-content:flex-start;width:100%}.availability-actions .button{white-space:normal;text-align:left}.availability-person{grid-template-columns:1fr;gap:5px}.availability-week-days{display:flex;overflow-x:auto;padding:2px 1px 8px;scroll-snap-type:x proximity}.availability-day{flex:0 0 88px;scroll-snap-align:start}.upcoming-week{grid-template-columns:1fr;gap:5px}.upcoming-week h3{font-size:.82rem}.availability-filter{width:100%}.availability-dialog{padding:15px 13px}.pattern-day{grid-template-columns:57px 1fr 1fr;gap:4px}.pattern-day label{grid-template-columns:20px minmax(0,1fr);gap:3px;font-size:.7rem}.pattern-day select{font-size:.7rem;padding:6px 3px}}
