/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.table{display:table}}:root{--ink:#19201c;--muted:#667069;--line:#dde3de;--paper:#f5f7f4;--panel:#fff;--forest:#315944;--forest-dark:#244534;--sage:#dfe9e2;--gold:#ad7b2c;--gold-soft:#f6ead5;--blue:#436c7e;--blue-soft:#e1edf1}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:var(--font-geist),Arial,sans-serif;margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #31594447}.portal{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f7faf7;background:#17251d;flex-direction:column;height:100vh;min-height:100vh;padding:25px 17px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#17251d;background:#d9a453;border-radius:11px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:grid}.brand strong{letter-spacing:-.01em;font-size:15px;display:block}.brand span{color:#aebdb3;margin-top:2px;font-size:11px;display:block}.sidebar nav{gap:6px;margin-top:36px;display:grid}.nav-button{appearance:none;color:#c7d2ca;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 11px;font-size:13px;font-weight:550;display:flex}.nav-button span{text-align:center;width:20px;font-size:18px;font-weight:400}.nav-button:hover{color:#fff;background:#ffffff0f}.nav-button.active{color:#fff;background:#ffffff1c}.sidebar-bottom{color:#afbeb4;margin-top:auto;font-size:11px}.privacy-dot{background:#6fc58c;border-radius:99px;width:7px;height:7px;margin-right:6px;display:inline-block}.user-chip{border-top:1px solid #ffffff1c;align-items:center;gap:9px;margin-top:14px;padding-top:16px;display:flex}.user-chip>span{color:#17251d;background:#e5dccb;border-radius:50%;place-items:center;width:31px;height:31px;font-weight:700;display:grid}.user-chip strong{color:#f3f7f4;font-size:12px;display:block}.user-chip small{font-size:10px}.workspace{width:100%;min-width:0;max-width:1500px;margin:0 auto;padding:36px 42px 54px}.mobile-head{display:none}.notice{color:#3d5545;background:#eaf0eb;border:1px solid #cdd9d0;border-radius:8px;margin-bottom:16px;padding:9px 12px;font-size:12px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:23px;display:flex}.page-heading.compact{align-items:center}.page-heading h1{letter-spacing:-.025em;margin:4px 0 5px;font-family:Georgia,serif;font-size:clamp(29px,4vw,40px);font-weight:500;line-height:1.05}.page-heading p{color:var(--muted);margin:0;font-size:13px}.page-heading .eyebrow{color:var(--forest);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:750}.heading-actions{align-items:center;gap:10px;display:flex}.primary-button,.secondary-button{border:1px solid var(--forest);white-space:nowrap;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:650}.primary-button{background:var(--forest);color:#fff}.primary-button:hover{background:var(--forest-dark)}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{background:var(--panel);color:var(--forest)}.secondary-button:hover{background:var(--sage)}.danger-button{background:var(--panel);color:#8f342b;white-space:nowrap;border:1px solid #a8463a;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:650}.danger-button:hover{background:#fff0ed}.danger-button:disabled{opacity:.55;cursor:wait}.back-button,.text-button{color:var(--forest);background:0 0;border:0;padding:0;font-size:12px;font-weight:650}.back-button{margin-bottom:20px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 17px;box-shadow:0 4px 13px #21302709}.metric>span{color:var(--muted);font-size:11px;font-weight:600;display:block}.metric>strong{margin:5px 0 3px;font-family:Georgia,serif;font-size:24px;font-weight:500;display:block}.metric>small{color:var(--muted);font-size:10px}.metric.warm{background:#fffcf7;border-color:#ead7b8}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 18px #21302709}.calendar-panel{padding:16px}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.month-control{align-items:center;gap:13px;display:flex}.month-control button{border:1px solid var(--line);width:29px;height:29px;color:var(--ink);background:#fff;border-radius:8px;font-size:20px;line-height:1}.month-control strong{text-align:center;min-width:126px;font-family:Georgia,serif;font-size:16px;font-weight:500}.toolbar select,.payment select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px 30px 8px 10px;font-size:11px}.calendar{border:1px solid var(--line);border-radius:10px;overflow:hidden}.weekday-row{border-bottom:1px solid var(--line);background:#f0f3ef;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row span{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:7px 6px;font-size:9px;font-weight:750}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0;min-height:103px;padding:7px}.day:nth-child(7n){border-right:0}.day:nth-last-child(-n+7){border-bottom:0}.day.muted{color:#b7beb9;background:#fafbfa}.day-number{margin-bottom:5px;font-size:10px;font-weight:600;display:block}.event-pill{text-overflow:ellipsis;text-align:left;white-space:nowrap;color:#25362b;border:0;border-left:3px solid;border-radius:4px;width:100%;margin:4px 0;padding:5px 6px;font-size:9px;line-height:1.25;display:block;overflow:hidden}.event-pill strong{opacity:.7;font-size:8px;display:block}.event-pill.ach{background:var(--blue-soft);border-color:var(--blue)}.event-pill.qo{background:var(--sage);border-color:var(--forest)}.event-pill:hover{filter:brightness(.97)}.legend{color:var(--muted);align-items:center;gap:18px;padding-top:12px;font-size:10px;display:flex}.legend i{border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.ach-dot{background:var(--blue)}.qo-dot{background:var(--forest)}.status{background:var(--sage);color:var(--forest);border-radius:99px;padding:7px 11px;font-size:10px;font-weight:750}.status.tentative{background:var(--gold-soft);color:#73521c}.status.completed{color:#385f70;background:#e3edf1}.status.cancelled{color:#7d4037;background:#f3e4e1}.detail-layout{grid-template-columns:minmax(0,1.65fr) minmax(250px,.65fr);align-items:start;gap:15px;display:grid}.detail-main,.detail-aside{gap:14px;display:grid}.section{padding:18px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.section-head h2{margin:0;font-family:Georgia,serif;font-size:17px;font-weight:500}.section-head>span{color:var(--muted);font-size:10px}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.detail span,.notes span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:650;display:block}.detail strong{overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:600;display:block}.notes{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.notes p{color:#475149;margin:5px 0 0;font-size:12px;line-height:1.55}.section-actions{align-items:center;gap:13px;display:flex}.section-actions>span{color:var(--muted);font-size:10px}.empty-state{color:var(--muted);margin:0;font-size:11px}.checklist{display:grid}.checklist label{border-bottom:1px solid var(--line);grid-template-columns:19px 1fr auto;align-items:center;gap:8px;min-height:37px;font-size:11px;display:grid}.checklist label:last-child{border-bottom:0}.checklist input{accent-color:var(--forest)}.checklist b{color:var(--forest);font-size:9px;font-weight:700}.checklist b.pending{color:var(--gold)}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.staff{background:#f6f8f6;border-radius:8px;align-items:center;gap:9px;padding:9px;display:flex}.staff>span{background:var(--sage);width:29px;height:29px;color:var(--forest);border-radius:50%;place-items:center;font-size:9px;font-weight:750;display:grid}.staff strong,.staff small{display:block}.staff strong{font-size:11px}.staff small{color:var(--muted);margin-top:2px;font-size:9px}.payment{padding:18px}.payment>span{color:var(--muted);font-size:10px;display:block}.payment>strong{margin:5px 0 12px;font-family:Georgia,serif;font-size:29px;font-weight:500;display:block}.money-breakdown{border-top:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.money-breakdown>div,.payment-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.money-breakdown span,.payment-summary span{color:var(--muted);font-size:9px}.money-breakdown b{font-size:10px;font-weight:650}.progress{background:#e8ece8;border-radius:99px;height:7px;margin-top:4px;overflow:hidden}.progress i{background:var(--forest);height:100%;display:block}.payment-summary{margin:7px 0 0}.payment-summary .paid-balance{color:var(--forest);font-weight:750}.document-link{color:inherit;border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;padding:10px;text-decoration:none;display:flex}.document-link>span{background:var(--sage);width:28px;height:28px;color:var(--forest);border-radius:7px;place-items:center;display:grid}.document-link strong,.document-link small{display:block}.document-link strong{font-size:10px}.document-link small{color:var(--muted);margin-top:2px;font-size:8px}.attention{background:#fffcf7;border-color:#ead7b8}.attention p{color:#664c25;margin:7px 0;font-size:10px;line-height:1.45}.intake{overflow:hidden}.form-section{border-bottom:1px solid var(--line);padding:22px}.form-section h2{margin:0 0 15px;font-family:Georgia,serif;font-size:18px;font-weight:500}.section-note{color:var(--muted);margin:-7px 0 15px;font-size:10px;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label{gap:6px;display:grid}.form-grid label>span{color:#4d5750;font-size:10px;font-weight:650}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #cfd7d1;border-radius:8px;padding:10px 11px;font-size:12px}.form-grid input:disabled{color:#576159;background:#f0f3ef}.form-grid textarea{resize:vertical}.form-actions{background:#fafbfa;justify-content:flex-end;gap:9px;padding:16px 22px;display:flex}.edit-event{overflow:hidden}.edit-event-head{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 0;display:flex}.edit-event-head h2{margin:3px 0 0;font-family:Georgia,serif;font-size:20px;font-weight:500}.edit-event-head .eyebrow{color:var(--forest);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:9px;font-weight:750}.edit-event>.form-grid{padding:18px 22px 22px}.table-panel{padding:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f3f5f3;padding:9px 10px;font-size:9px}td{border-bottom:1px solid var(--line);color:#3d4740;padding:11px 10px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8faf8}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td strong{color:var(--ink);font-size:11px}td small{color:var(--muted);margin-top:2px;font-size:9px}.mini-status{border-radius:99px;padding:4px 7px;font-size:8px;font-weight:750;display:inline-block}.mini-status.paid{background:var(--sage);color:var(--forest)}.mini-status.due{background:var(--gold-soft);color:#76531c}.signout-button{color:#d8e1db;background:0 0;border:1px solid #ffffff2e;border-radius:8px;width:100%;margin-top:12px;padding:8px;font-size:10px}.signout-button:hover{color:#fff;background:#ffffff12}.auth-shell{background:radial-gradient(circle at 0 0,#e3ece5 0,#0000 42%),linear-gradient(135deg,#f7f8f5,#eef2ed);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,430px);padding:34px;box-shadow:0 24px 70px #1830211f}.auth-brand{margin-bottom:34px}.auth-card h1{margin:5px 0 8px;font:500 38px/1.05 Georgia,serif}.auth-card>p:not(.eyebrow){color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.55}.auth-card .eyebrow{color:var(--forest);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:10px;font-weight:750}.auth-form{gap:14px;display:grid}.auth-form label,.admin-invite>label{gap:6px;display:grid}.auth-form label>span,.admin-invite>label>span{color:#4d5750;font-size:10px;font-weight:650}.auth-form input,.admin-invite input,.admin-invite select{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd7d1;border-radius:8px;padding:11px}.auth-message{background:var(--gold-soft);color:#674918;border-radius:8px;padding:9px 11px;font-size:11px}.auth-link{margin-top:18px}.auth-help{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:17px;display:block}.admin-layout{grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);align-items:start;gap:16px;display:grid}.admin-invite,.staff-list{padding:20px}.admin-invite{gap:14px;display:grid}.form-help{color:var(--muted);margin-top:-4px;font-size:10px;line-height:1.45}.role-guide{background:#f3f6f3;border-radius:9px;padding:12px}.role-guide p{color:var(--muted);margin:5px 0;font-size:10px;line-height:1.45}.role-guide strong{color:var(--ink)}.staff-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 150px auto;align-items:center;gap:12px;padding:12px 0;display:grid}.staff-row:last-child{border-bottom:0}.staff-identity{align-items:center;gap:10px;min-width:0;display:flex}.staff-identity>span{width:34px;height:34px;color:var(--forest);background:var(--sage);border-radius:50%;flex:0 0 34px;place-items:center;font-size:10px;font-weight:750;display:grid}.staff-identity strong,.staff-identity small{text-overflow:ellipsis;display:block;overflow:hidden}.staff-identity strong{font-size:12px}.staff-identity small{color:var(--muted);margin-top:2px;font-size:9px}.staff-row select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px;font-size:11px}@media (width<=1000px){.portal{grid-template-columns:190px minmax(0,1fr)}.workspace{padding:30px 24px 45px}.metrics.four{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day{min-height:88px}}@media (width<=760px){.portal{display:block}.sidebar{display:none}.workspace{padding:18px 14px 40px}.mobile-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px;display:flex}.mobile-head .brand-mark{width:30px;height:30px;font-size:16px}.mobile-head select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px}.page-heading{align-items:flex-start}.page-heading h1{font-size:30px}.metrics,.detail-layout,.admin-layout{grid-template-columns:1fr}.detail-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-aside .attention{grid-column:1/-1}.calendar-panel{padding:10px}.day{min-height:73px;padding:4px}.event-pill{padding:4px;font-size:0}.event-pill strong{font-size:8px}.weekday-row span{padding:6px 2px}.staff-row{grid-template-columns:1fr 135px}.staff-row .secondary-button,.staff-row .primary-button{grid-column:1/-1}}@media (width<=520px){.page-heading{display:grid}.page-heading .primary-button,.page-heading .secondary-button{width:100%}.heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.heading-actions .secondary-button{width:auto}.toolbar{flex-direction:column;align-items:stretch}.toolbar select{width:100%}.month-control{justify-content:space-between}.detail-grid,.staff-grid,.form-grid,.detail-aside,.metrics.four{grid-template-columns:1fr}.form-grid .wide,.detail-aside .attention{grid-column:auto}.day{min-height:60px}.legend{gap:5px;display:grid}.section{padding:15px}.edit-event-head,.edit-event>.form-grid{padding-left:15px;padding-right:15px}}
