[data-nl-theme]{--nl-teal:#315152;--nl-bg:#16302a;--nl-surface:#1e3b39;--nl-surface-raised:#244544;--nl-ink:#eef4f2;--nl-ink-dim:#a9c2be;--nl-ink-faint:#7d9b97;--nl-stroke:#2f5150;--nl-stroke-soft:#27443f;--nl-state-blocked:#16302a;--nl-state-blocked-ink:#7d9b97;--nl-hatch:#2d4842;--nl-state-full:#315152;--nl-state-full-ink:#cfe0dc;--nl-state-open:#4d8b83;--nl-state-open-ink:#f2fbf8;--nl-state-selected:linear-gradient(150deg, #4fb3a0 0%, #2f7f7d 100%);--nl-state-selected-ink:#fff;--nl-status-requested:#c9a227;--nl-status-confirmed:#4d8b83;--nl-status-declined:#a8564f;--nl-danger:#8a1f16;--nl-danger-soft:#fdeceb;--nl-radius-tile:10px;--nl-radius-card:12px;--nl-radius-control:8px;--nl-radius-chip:6px;--nl-tile-gap:6px;--nl-hit-min:44px;--nl-font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nl-font-num:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}[data-nl-theme=light]{--nl-bg:#eef4f2;--nl-surface:#fff;--nl-surface-raised:#f6faf9;--nl-ink:#16302a;--nl-ink-dim:#4a6b66;--nl-ink-faint:#7d9b97;--nl-stroke:#cfe0dc;--nl-stroke-soft:#e2eeeb;--nl-state-blocked:#d5e3df;--nl-state-blocked-ink:#5c7b76;--nl-hatch:#c2d3cf;--nl-state-full:#b6cfca;--nl-state-full-ink:#23443f;--nl-state-open:#5aa79c;--nl-state-open-ink:#fff}[data-nl-theme=comb-and-craft]{--nl-teal:#4a5a33;--nl-bg:#1f2616;--nl-surface:#2a3320;--nl-surface-raised:#333e27;--nl-ink:#f2f0e3;--nl-ink-dim:#c2c3a6;--nl-ink-faint:#93977a;--nl-stroke:#43512f;--nl-stroke-soft:#364225;--nl-state-blocked:#1f2616;--nl-state-blocked-ink:#93977a;--nl-hatch:#424832;--nl-state-full:#4a5a33;--nl-state-full-ink:#dcdcc6;--nl-state-open:#7f9455;--nl-state-open-ink:#1b2113;--nl-state-selected:linear-gradient(150deg, #9db568 0%, #5c6f3c 100%);--nl-state-selected-ink:#fff;--nl-status-requested:#c9a227;--nl-status-confirmed:#7f9455;--nl-status-declined:#a8564f;--nl-danger:#8a3020;--nl-danger-soft:#f7e7e0}[data-nl-theme=comb-and-craft] .nl-calendar{--nl-bg:#f4f0e0;--nl-surface:#fbf8ee;--nl-surface-raised:#efe9d5;--nl-ink:#262c18;--nl-ink-dim:#5c6347;--nl-ink-faint:#8a8f72;--nl-stroke:#d9d2b8;--nl-stroke-soft:#e7e1cb;--nl-state-blocked:#e4dec7;--nl-state-blocked-ink:#6d7358;--nl-hatch:#b6b192;--nl-state-full:#cbd2ad;--nl-state-full-ink:#262c18;--nl-state-open:#5c6f3c;--nl-state-open-ink:#fbf8ee;--nl-state-selected:linear-gradient(150deg, #7f9455 0%, #4e5d31 100%);--nl-state-selected-ink:#fff;background:var(--nl-bg);border-radius:var(--nl-radius-card);padding:8px}.nl-calendar{--fc-border-color:var(--nl-stroke);--fc-page-bg-color:var(--nl-surface);--fc-neutral-bg-color:var(--nl-surface-raised);--fc-neutral-text-color:var(--nl-ink-dim);--fc-today-bg-color:color-mix(in srgb, var(--nl-state-selected) 18%, transparent);--fc-event-bg-color:var(--nl-state-full);--fc-event-border-color:var(--nl-stroke);--fc-event-text-color:var(--nl-state-full-ink);--fc-button-bg-color:var(--nl-surface-raised);--fc-button-border-color:var(--nl-stroke);--fc-button-text-color:var(--nl-ink);--fc-button-active-bg-color:var(--nl-state-selected);--fc-button-active-border-color:var(--nl-state-selected);--fc-button-hover-bg-color:var(--nl-stroke);--fc-button-hover-border-color:var(--nl-stroke);--fc-non-business-color:var(--nl-state-blocked);--fc-highlight-color:color-mix(in srgb, var(--nl-state-open) 25%, transparent);color:var(--nl-ink);font-family:var(--nl-font,ui-sans-serif, system-ui, sans-serif)}.nl-calendar .fc-event,.nl-calendar .fc-daygrid-event,.nl-calendar .fc-timegrid-event,.nl-calendar .fc-list-event{border-radius:var(--nl-radius-chip,6px);border-left-style:solid;border-left-width:3px;padding:1px 4px;font-size:.78rem}.nl-calendar .fc-button{border-radius:var(--nl-radius-control,8px);min-height:var(--nl-hit-min,44px);text-transform:none;box-shadow:none;padding:0 14px;font-weight:500}.nl-calendar .fc-button:focus-visible{outline:2px solid var(--nl-state-open);outline-offset:2px;box-shadow:none}.nl-calendar .fc-button-group>.fc-button:first-child,.nl-calendar .fc-button-group>.fc-button:last-child{border-radius:var(--nl-radius-control,8px)}.nl-calendar .fc-daygrid-day-frame,.nl-calendar .fc-timegrid-col-frame{border-radius:var(--nl-radius-tile,6px)}.nl-calendar .nl-item--requested{border-left-color:var(--nl-status-requested)}.nl-calendar .nl-item--confirmed{border-left-color:var(--nl-status-confirmed)}.nl-calendar .nl-item--blocked{border-left-color:var(--nl-state-blocked-ink);background:var(--nl-state-blocked);background-image:repeating-linear-gradient(45deg, transparent, transparent 4px, var(--nl-hatch) 4px, var(--nl-hatch) 8px)}.nl-calendar .nl-item--own{border-left-style:dashed}.nl-calendar .nl-item--readonly{cursor:default}.nl-calendar .fc-toolbar-title{color:var(--nl-ink);font-size:1.15rem;font-weight:600}.nl-calendar .fc-col-header-cell-cushion,.nl-calendar .fc-daygrid-day-number,.nl-calendar .fc-timegrid-axis-cushion,.nl-calendar .fc-timegrid-slot-label-cushion{color:var(--nl-ink-dim);font-variant-numeric:tabular-nums;text-decoration:none}.nl-calendar .fc-day-today .fc-daygrid-day-number{color:var(--nl-ink);font-weight:700}.nl-calendar .fc-day-other .fc-daygrid-day-frame{opacity:.45}.nl-calendar .fc-scrollgrid,.nl-calendar .fc-scrollgrid td,.nl-calendar .fc-scrollgrid th{border-color:var(--nl-stroke-soft)}.nl-calendar__header{grid-template-columns:1fr auto 1fr;grid-template-areas:"views nav actions";align-items:center;gap:10px;margin-bottom:12px;display:grid}.nl-calendar__views{flex-wrap:wrap;grid-area:views;justify-self:start;gap:4px;display:flex}.nl-calendar__nav{grid-area:nav;justify-self:center;align-items:center;gap:6px;display:flex}.nl-calendar__actions{grid-area:actions;justify-self:end;gap:6px;display:flex}.nl-calendar__btn{min-height:var(--nl-hit-min,44px);border-radius:var(--nl-radius-control,8px);border:1px solid var(--nl-stroke);background:var(--nl-surface-raised);color:var(--nl-ink);font:inherit;cursor:pointer;padding:0 14px;font-weight:500}.nl-calendar__btn:hover{background:var(--nl-stroke)}.nl-calendar__btn.is-on{background:var(--nl-state-selected);border-color:var(--nl-state-selected);color:var(--nl-state-selected-ink)}.nl-calendar__btn:focus-visible,.nl-calendar__title:focus-visible{outline:2px solid var(--nl-state-open);outline-offset:2px}.nl-calendar__arrow{min-width:var(--nl-hit-min,44px);padding:0;font-size:1.3rem;line-height:1}.nl-calendar__title{min-height:var(--nl-hit-min,44px);color:var(--nl-ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0 8px;font-size:1.15rem;font-weight:600}.nl-calendar__add{letter-spacing:.04em;background:var(--nl-state-open);border-color:var(--nl-state-open);color:var(--nl-state-open-ink);font-weight:700}.nl-calendar__add:hover{background:var(--nl-state-open);filter:brightness(1.08)}@media (width<=720px){.nl-calendar__header{grid-template-columns:1fr auto;grid-template-areas:"views actions""nav nav"}.nl-calendar__today{display:none}.nl-calendar__btn{padding:0 10px;font-size:.85rem}.nl-calendar__arrow{font-size:1.3rem}.nl-calendar__title{font-size:1rem}}@media (prefers-reduced-motion:reduce){.nl-calendar *{transition:none!important;animation:none!important}}.nl-calendar .nl-item{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0;display:flex}.nl-calendar .nl-item__time{font-family:var(--nl-font-num,ui-monospace, monospace);font-variant-numeric:tabular-nums;opacity:.85}.nl-calendar .nl-item__title{font-weight:600}.nl-calendar .nl-item__subtitle{opacity:.75;font-size:.92em}.nl-calendar__failures{border:1px solid var(--nl-status-declined);border-radius:var(--nl-radius-control,8px);color:var(--nl-status-declined);background:var(--nl-surface-raised);margin:0 0 10px;padding:8px 12px;font-size:.88rem}.nl-calendar .nl-item--repeating{border-left-style:double;border-left-width:4px}.nl-calendar .nl-item__repeat{opacity:.7;flex:none;font-size:.9em}.nl-calendar .nl-item--moved{border-left-style:dashed;border-left-width:4px}.nl-entry__backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.nl-entry{background:var(--nl-surface);width:100%;max-width:520px;max-height:calc(100dvh - 32px);color:var(--nl-ink);border:1px solid var(--nl-stroke);border-radius:var(--nl-radius-card);flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto;box-shadow:0 12px 40px #0006}.nl-entry__head{align-items:flex-start;gap:12px;display:flex}.nl-entry__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--nl-ink-faint);font-size:.7rem}.nl-entry__title{margin:2px 0 0;font-size:1.05rem;font-weight:600}.nl-entry__close{min-height:var(--nl-hit-min);min-width:var(--nl-hit-min);border:1px solid var(--nl-stroke);background:var(--nl-surface-raised);color:var(--nl-ink);border-radius:var(--nl-radius-control);font:inherit;cursor:pointer;margin-left:auto}.nl-entry__step{flex-direction:column;gap:8px;display:flex}.nl-entry__legend{color:var(--nl-ink-dim);margin:0;font-size:.85rem;font-weight:600}.nl-entry__optional{color:var(--nl-ink-faint);font-weight:400}.nl-entry__row{flex-wrap:wrap;gap:8px;display:flex}.nl-entry__row>.nl-entry__label{flex:140px}.nl-entry__row>.nl-entry__label--time{flex:100px}.nl-entry__label{color:var(--nl-ink-dim);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.nl-entry__field{min-height:var(--nl-hit-min);border-radius:var(--nl-radius-control);border:1px solid var(--nl-stroke);background:var(--nl-surface-raised);color:var(--nl-ink);font:inherit;box-sizing:border-box;width:100%;padding:0 12px}.nl-entry__notes{resize:vertical;min-height:80px;padding:10px 12px}.nl-entry__check{min-height:var(--nl-hit-min);color:var(--nl-ink);cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.nl-entry__check input{width:20px;height:20px}.nl-entry__foot{flex-wrap:wrap;gap:8px;display:flex}.nl-entry__primary{min-height:var(--nl-hit-min);border-radius:var(--nl-radius-control);border:1px solid var(--nl-stroke);background:var(--nl-state-open);color:var(--nl-state-open-ink);font-family:inherit;font-weight:600;font-size:inherit;cursor:pointer;padding:0 18px}.nl-entry__primary:disabled{opacity:.5;cursor:not-allowed}.nl-entry__secondary{min-height:var(--nl-hit-min);border-radius:var(--nl-radius-control);border:1px solid var(--nl-stroke);background:var(--nl-surface-raised);color:var(--nl-ink);font:inherit;cursor:pointer;padding:0 16px}.nl-entry__hint{color:var(--nl-status-declined);margin:0;font-size:.82rem}.nl-entry__error{color:var(--nl-status-declined);margin:0;font-size:.9rem}@media (width<=720px){.nl-entry__backdrop{align-items:flex-end;padding:0}.nl-entry{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:none;max-height:92dvh}}.nl-home{color:var(--nl-ink);font-family:var(--nl-font);flex-direction:column;gap:20px;display:flex}.nl-home__hero{background:var(--nl-surface);border:1px solid var(--nl-stroke);border-radius:var(--nl-radius-card);flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;display:flex}.nl-home__logo{border-radius:var(--nl-radius-control);background:var(--nl-surface-raised);border:1px solid var(--nl-stroke);flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex;overflow:hidden}.nl-home__logo img,.nl-home__logo svg{object-fit:contain;width:100%;height:100%}.nl-home__heroText{flex:12ch;min-width:12ch}.nl-home__title{overflow-wrap:break-word;margin:0;font-size:1.35rem;font-weight:700}.nl-home__subtitle{color:var(--nl-ink-dim);margin:2px 0 0;font-size:.85rem}.nl-home__action{min-height:var(--nl-hit-min);border-radius:var(--nl-radius-control);border:1px solid var(--nl-stroke);background:var(--nl-state-open);color:var(--nl-state-open-ink);font:inherit;cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.nl-home__action:focus-visible,.nl-home__tile:focus-visible{outline:2px solid var(--nl-state-open);outline-offset:2px}.nl-home__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.nl-home__cell{display:flex}.nl-home__tile{text-align:left;border-radius:var(--nl-radius-tile);border:1px solid var(--nl-stroke);background:var(--nl-surface);min-height:104px;color:var(--nl-ink);font:inherit;cursor:pointer;flex-direction:column;flex:1;gap:4px;padding:14px;text-decoration:none;display:flex}.nl-home__tile:hover{background:var(--nl-surface-raised)}.nl-home__icon{font-size:1.5rem;line-height:1}.nl-home__label{font-weight:600}.nl-home__hint{color:var(--nl-ink-dim);font-size:.78rem}.nl-home__tile--soon{cursor:default;background:var(--nl-state-blocked);color:var(--nl-state-blocked-ink);border-style:dashed}.nl-home__tile--soon:hover{background:var(--nl-state-blocked)}.nl-home__soon{letter-spacing:.04em;text-transform:uppercase;margin-top:auto;font-size:.72rem;font-weight:600}.nl-home__footer{color:var(--nl-ink-dim);flex-wrap:wrap;gap:16px;font-size:.85rem;display:flex}@media (prefers-reduced-motion:reduce){.nl-home *{transition:none!important;animation:none!important}}.nl-home__badge{border-radius:var(--nl-radius-chip);background:var(--nl-state-open);min-width:22px;color:var(--nl-state-open-ink);font-variant-numeric:tabular-nums;justify-content:center;align-self:flex-start;align-items:center;margin-top:auto;padding:1px 7px;font-size:.78rem;font-weight:700;display:inline-flex}.nl-home__badgeText{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nl-home__tile--open{border-color:var(--nl-state-open);background:var(--nl-surface-raised);box-shadow:inset 3px 0 0 var(--nl-state-open)}.nl-home__grid--strip{scroll-snap-type:x proximity;overscroll-behavior-x:contain;grid-template-columns:none;grid-auto-columns:minmax(128px,max-content);grid-auto-flow:column;padding:2px;overflow-x:auto}.nl-home__grid--strip .nl-home__cell{scroll-snap-align:start}.nl-home__grid--strip .nl-home__tile{min-height:0;padding:10px 12px}.nl-home__grid--strip .nl-home__hint{display:none}
