:root{--clay-950:#21170f;--clay-900:#352619;--clay-800:#4c3725;--clay-700:#6b4f36;--clay-600:#846f52;--clay-500:#a1825d;--clay-200:#eadfce;--clay-100:#f6efe4;--cream:#fffaf1;--paper:#fffcf6ed;--ink:#2b2219;--muted:#7d6f61;--line:#5b412824;--gold:#d8a94f;--gold-light:#f0c86d;--green:#3f9a6b;--red:#cf5448;--red-deep:#b84238;--blue:#3d7e9f;--sand:#efe4d2;--sand-hover:#e8dac4;--hover-cream:#fff5df;--slate-800:#2d3748;--slate-600:#4a5568;--slate-500:#718096;--white:#fff;--error-text:#8f2e25;--error-bg:#cf54481a;--error-border:#cf544847;--surface-82:#fffcf6d1;--surface-86:#fffcf6db;--surface-92:#fffcf6eb;--surface-96:#fffcf6f5;--surface-tint:#f6efe4ad;--surface-main:#fffaf157;--pill-bg:#4c372517;--border-white-72:#ffffffb8;--border-white-82:#ffffffd1;--border-white-65:#ffffffa6;--border-hover:#846f5247;--checkbox-border:#5b412861;--focus-ring:#b8862f;--focus-border:#d8a94fc7;--focus-glow:0 0 0 4px #d8a94f3d;--chip-border:#ffffff42;--chip-day-off:linear-gradient(135deg, #d03838 0%, #c53030 100%);--chip-pending:#fdb913;--chip-pending-crowded:#9333ea;--chip-pending-text:#24190f;--chip-available-bg:#e6fffa;--chip-available-text:#234e52;--chip-available-border:#31979557;--chip-available-pending-bg:#fef3c7;--chip-available-pending-text:#78350f;--chip-available-pending-border:#d977066b;--chip-sheen:linear-gradient(135deg, #fff3, transparent 42%);--closed-day:linear-gradient(135deg, #7a9a76 0%, #5e7f5a 100%);--gradient-clay:linear-gradient(135deg, var(--clay-800), var(--clay-600));--gradient-clay-hover:linear-gradient(135deg, var(--clay-900), var(--clay-700));--gradient-gold:linear-gradient(135deg, var(--gold), var(--gold-light));--gradient-danger:linear-gradient(135deg, var(--red-deep), var(--red));--gradient-header:linear-gradient(135deg, #21170ff0, #4c3725eb), radial-gradient(circle at 22% 20%, #d8a94f85, transparent 22rem);--gradient-header-glow:radial-gradient(ellipse at center, #fffaf138, transparent 68%);--gradient-sidebar:linear-gradient(180deg, #fffaf1c7, #f6efe4db);--gradient-date-header:linear-gradient(180deg, #fffaf1fa, #f6efe4ad);--overlay-modal:#21170f5c;--overlay-loading:#21170f94;--spinner-track:#846f522e;--shadow-soft:0 18px 50px #3a271521;--shadow-card:0 10px 26px #3a27151a;--shadow-item:0 8px 18px #3a27150f;--shadow-button:0 12px 24px #4c372533;--shadow-gold:0 14px 28px #00000038;--shadow-gold-hover:0 18px 34px #00000042;--shadow-chip:0 10px 20px #21170f2e;--shadow-modal:0 30px 80px #21170f42;--shadow-inset:inset 0 1px 0 #ffffffc7;--radius-xl:28px;--radius-modal:24px;--radius-lg:20px;--radius-md:14px;--radius-sm:12px;--radius-pill:999px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-18:18px;--space-20:20px;--space-22:22px;--space-26:26px;--space-32:32px;--space-38:38px;--space-40:40px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--transition-lift:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;--lift:translateY(-2px);--z-sticky:1;--z-modal:1000;--z-toast:1100}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;padding:var(--space-26);font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#d8a94f42,#0000 34rem),radial-gradient(circle at 92% 18%,#846f523d,#0000 28rem),linear-gradient(135deg,#fff9ed 0%,#f4eadb 42%,#eadfce 100%)}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff52 1px,#0000 1px),linear-gradient(90deg,#ffffff3d 1px,#0000 1px);background-size:38px 38px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 70%);mask-image:linear-gradient(#0000008c,#0000 70%)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}img,svg{max-width:100%;display:block}ul,ol{list-style:none}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.app-frame{background:var(--paper);border:1px solid var(--border-white-72);border-radius:var(--radius-xl);max-width:1400px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin:0 auto;position:relative;overflow:clip}.app-loading{min-height:calc(100dvh - 2 * var(--space-26));place-items:center;display:grid}@media (width<=768px){html{overflow-x:hidden}body{padding:var(--space-8) max(var(--space-8), env(safe-area-inset-right)) var(--space-8) max(var(--space-8), env(safe-area-inset-left))}.app-frame{border-radius:22px}.app-loading{min-height:calc(100dvh - 2 * var(--space-8))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.spinner{align-items:center;gap:var(--space-16);flex-direction:column;display:inline-flex}.spinner-ring{border-style:solid;border-color:var(--spinner-track);border-top-color:var(--gold);border-radius:50%;animation:1s linear infinite spinner-spin;display:block}.spinner-sm .spinner-ring{border-width:2.5px;width:18px;height:18px}.spinner-md .spinner-ring{border-width:4px;width:32px;height:32px}.spinner-lg .spinner-ring{border-width:5px;width:50px;height:50px}.spinner-label{color:var(--clay-900);letter-spacing:-.03em;font-size:16px}@keyframes spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner-ring{animation-duration:2.4s}}.app-header{padding:var(--space-38) var(--space-32) var(--space-32);color:var(--white);text-align:center;background:var(--gradient-header);position:relative;overflow:clip}.app-header:before{content:"";background:var(--gradient-header-glow);pointer-events:none;height:170px;position:absolute;inset:auto -8% -80%}.app-header-title,.app-header-actions{position:relative}.app-header-title{margin-bottom:var(--space-10);letter-spacing:-.04em;text-shadow:0 8px 28px #00000047;font-size:clamp(28px,4vw,48px);font-weight:700;line-height:1}.app-header-actions{justify-content:center;gap:var(--space-8);padding-top:var(--space-20);flex-wrap:wrap;display:flex}.app-header-account{top:var(--space-14);right:var(--space-18);z-index:var(--z-sticky);align-items:center;gap:var(--space-10);max-width:min(45%,360px);display:flex;position:absolute}.app-header-user{color:#fffaf1d6;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.app-header-signout{min-height:34px;padding:var(--space-6) var(--space-14);color:var(--cream);border-radius:var(--radius-pill);transition:var(--transition-lift);background:#fffaf11a;border:1px solid #fffaf152;flex:none;font-size:13px;font-weight:600}.app-header-signout:hover:not(:disabled){transform:var(--lift);background:#fffaf133;border-color:#fffaf180}.app-header-signout:disabled{opacity:.6}@media (width<=768px){.app-header{padding:var(--space-14) var(--space-18) 24px}.app-header-account{max-width:none;margin:0 -6px var(--space-12) 0;justify-content:flex-end;position:relative;top:auto;right:auto}.app-header-signout{min-height:40px}.app-header-title{margin-top:var(--space-14)}.app-header-account+.app-header-title{margin-top:0}}@media (width<=480px){.app-header-actions{flex-direction:column;align-items:stretch}}.btn{justify-content:center;align-items:center;gap:var(--space-6);border-radius:var(--radius-pill);text-align:center;white-space:nowrap;transition:var(--transition-lift);border:1px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-md{min-height:40px;padding:var(--space-10) var(--space-16);font-size:13px}.btn-sm{min-height:32px;padding:var(--space-6) var(--space-12);font-size:12px}.btn:hover:not(:disabled){transform:var(--lift)}.btn:active:not(:disabled){transform:none}.btn:disabled{opacity:.55;box-shadow:none}.btn-primary{background:var(--gradient-clay);color:var(--cream);box-shadow:var(--shadow-button)}.btn-secondary{background:var(--sand);color:var(--clay-900)}.btn-secondary:hover:not(:disabled){background:var(--sand-hover)}.btn-gold{background:var(--gradient-gold);color:var(--clay-950);box-shadow:var(--shadow-gold);letter-spacing:-.01em;border-color:#ffffff59}.btn-gold.btn-md{padding:var(--space-12) var(--space-22);font-size:14px}.btn-gold:hover:not(:disabled){box-shadow:var(--shadow-gold-hover)}.btn-danger{background:var(--gradient-danger);color:var(--cream);box-shadow:0 12px 24px #b8423838}.btn-ghost{color:var(--clay-800);border-color:var(--line);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--border-hover);background:#4c372512}.auth-main{padding:clamp(28px, 6vw, 64px) var(--space-18) clamp(36px, 7vw, 80px);background:var(--surface-main);place-items:start center;display:grid}.auth-card{gap:var(--space-18);background:var(--surface-96);border:1px solid var(--border-white-82);border-radius:var(--radius-modal);width:100%;max-width:400px;box-shadow:var(--shadow-card);flex-direction:column;padding:28px 28px 24px;display:flex}.auth-title{color:var(--clay-900);letter-spacing:-.03em;font-size:24px;font-weight:700;line-height:1.2}.auth-field{gap:var(--space-6);flex-direction:column;display:flex}.auth-label{color:var(--clay-800);letter-spacing:-.01em;font-size:14px;font-weight:800}.auth-input{width:100%;min-height:48px;padding:var(--space-10) var(--space-12);color:var(--ink);background:var(--surface-92);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);font-size:16px;line-height:1.2;transition:border-color .18s,box-shadow .18s}.auth-input:focus{border-color:var(--focus-ring);box-shadow:var(--focus-glow);outline:none}.auth-input[aria-invalid=true]{border-color:var(--red)}.auth-input[aria-invalid=true]:focus{border-color:var(--red);box-shadow:0 0 0 4px #cf544829}.auth-password{position:relative}.auth-input-password{padding-right:76px}.auth-reveal{top:50%;right:var(--space-6);min-width:60px;min-height:36px;padding:0 var(--space-12);color:var(--clay-800);border-radius:var(--radius-pill);background:0 0;border:none;font-size:13px;font-weight:700;position:absolute;transform:translateY(-50%)}.auth-reveal:hover{background:var(--sand)}.auth-error{padding:var(--space-10) var(--space-12);color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);font-size:14px;font-weight:600;line-height:1.4}.auth-submit{width:100%;min-height:48px;font-size:15px}.auth-actions{gap:var(--space-10);flex-direction:column;display:flex}.auth-title:focus{outline:none}.auth-submit-spinner .spinner-ring{border-color:#fffaf147;border-top-color:var(--gold-light)}.auth-help,.auth-message{color:var(--muted);text-align:center;font-size:14px;line-height:1.5}.auth-message{color:var(--ink);text-align:left;font-size:16px}@media (width<=480px){.auth-main{padding:var(--space-18) var(--space-10) var(--space-26)}.auth-card{padding:var(--space-22) var(--space-18) var(--space-20)}}.day-card{padding:var(--space-10) 11px;color:var(--white);border:1px solid var(--chip-border);border-radius:var(--radius-md);box-shadow:var(--shadow-chip);position:relative;overflow:hidden}.day-card:before{content:"";background:var(--chip-sheen);pointer-events:none;position:absolute;inset:0}.day-card-name,.day-card-label,.day-card-cancel{position:relative}.day-card-name{margin-bottom:var(--space-4);letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:12px;font-weight:600}.day-card-label{letter-spacing:.06em;text-transform:uppercase;font-size:10px}.day-card-shift-light{color:var(--chip-pending-text)}.day-card-off{background:var(--chip-day-off)}.day-card-pending{background:var(--chip-pending);color:var(--chip-pending-text)}.day-card-pending-busy{background:var(--chip-pending-crowded);color:var(--white)}.day-card-availability{background:var(--chip-available-bg);color:var(--chip-available-text);border-color:var(--chip-available-border)}.day-card-availability-pending{background:var(--chip-available-pending-bg);color:var(--chip-available-pending-text);border-color:var(--chip-available-pending-border)}.day-card-cancel{max-width:100%;min-height:24px;margin-top:var(--space-6);padding:var(--space-4) var(--space-8);color:var(--white);border-radius:var(--radius-pill);transition:var(--transition-lift);background:#fffaf142;border:1px solid #fffaf180;justify-content:center;align-items:center;font-size:10px;font-weight:600;line-height:1.2;display:inline-flex}.day-card-cancel:hover:not([aria-disabled=true]){transform:var(--lift);background:#fffaf166}.day-card-cancel[aria-disabled=true]{opacity:.7}.day-card-cancel:focus-visible{outline-offset:1px}.day-card-pending .day-card-cancel:focus-visible,.day-card-availability .day-card-cancel:focus-visible{outline-color:var(--chip-pending-text)}.day-card-pending-busy .day-card-cancel:focus-visible{outline-color:var(--cream)}.day-card-pending .day-card-cancel,.day-card-availability .day-card-cancel{color:inherit;background:#fffaf180;border-color:#23190f66}.day-card-pending .day-card-cancel:hover:not([aria-disabled=true]),.day-card-availability .day-card-cancel:hover:not([aria-disabled=true]){background:#fffaf1cc}.day-card-pending-busy .day-card-cancel{color:var(--white);background:#fffaf133;border-color:#fffaf18c}.day-card-pending-busy .day-card-cancel:hover:not([aria-disabled=true]){background:#fffaf157}@media (width>=769px) and (width<=1100px){.day-card{padding:var(--space-8);border-radius:var(--radius-sm)}.day-card-cancel{padding:var(--space-4) var(--space-6)}}@media (width<=768px){.day-card{padding:13px var(--space-14);border-radius:var(--radius-sm)}.day-card-name{font-size:14px;line-height:1.25}.day-card-label{font-size:11px;line-height:1.35}.day-card-cancel{min-height:32px;padding:var(--space-6) var(--space-12);font-size:11px}}.calendar-weekdays,.calendar-days{gap:var(--space-12);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{margin-bottom:var(--space-12)}.calendar-weekday{padding:var(--space-10);color:var(--clay-800);letter-spacing:.12em;text-align:center;text-transform:uppercase;background:var(--pill-bg);border:1px solid var(--line);border-radius:var(--radius-md);font-size:11px;font-weight:700;overflow:hidden}.calendar-day{background:var(--surface-86);border-radius:var(--radius-lg);min-width:0;min-height:178px;box-shadow:var(--shadow-card);border:1px solid #ffffffbd;flex-direction:column;display:flex;overflow:hidden}.calendar-day-today{border-color:var(--gold);box-shadow:0 0 0 2px #d8a94f80, var(--shadow-card)}.calendar-day-header{justify-content:space-between;align-items:center;gap:var(--space-6);min-width:0;padding:var(--space-8);color:var(--clay-900);letter-spacing:-.01em;background:var(--gradient-date-header);border-bottom:1px solid var(--line);font-size:16px;font-weight:800;line-height:1.2;display:flex}.calendar-day-header:focus-visible{outline-offset:-3px}.calendar-day-date{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-day-today .calendar-day-date{padding:2px var(--space-6) 2px 5px;border-radius:var(--radius-pill);background:#d8a94f3d;margin:-2px -4px;box-shadow:inset 0 0 0 1px #d8a94fa6}.calendar-today-tag{color:var(--clay-900);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);background:#d8a94f42;border:1px solid #d8a94f9e;flex:none;padding:2px 7px;font-size:10px;font-weight:700}.calendar-day-body{min-height:128px;padding:var(--space-8);flex-direction:column;flex:1;display:flex}.calendar-cards,.calendar-skeleton{gap:var(--space-8);flex-direction:column;display:flex}.calendar-skeleton span{background:var(--pill-bg);border-radius:var(--radius-md);height:44px;animation:1.2s ease-in-out infinite alternate calendar-skeleton-pulse}.calendar-skeleton span+span{width:70%}@keyframes calendar-skeleton-pulse{to{opacity:.45}}@media (prefers-reduced-motion:reduce){.calendar-skeleton span{animation:none}}.calendar-closed{min-height:160px;padding:var(--space-18) var(--space-10);color:var(--white);letter-spacing:.12em;text-align:center;background:var(--closed-day);border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;font-size:20px;font-weight:800;line-height:1.45;display:flex}.calendar-closed-letters{flex-direction:column;align-items:center;display:flex}@media (width>=769px) and (width<=1100px){.calendar-weekdays,.calendar-days{gap:var(--space-8)}.calendar-weekdays{margin-bottom:var(--space-8)}.calendar-weekday{padding:var(--space-8) var(--space-4);letter-spacing:.06em}.calendar-day-header{padding:var(--space-8) var(--space-6);font-size:15px}.calendar-day-body{padding:var(--space-6)}.calendar-closed{letter-spacing:0}}@media (width<=768px){.calendar-days{grid-template-columns:minmax(0,1fr)}.calendar-day{border-radius:16px;min-height:auto}.calendar-day-header{padding:var(--space-12) var(--space-14);font-size:14px;line-height:1.25}.calendar-day-today .calendar-day-date{box-shadow:none;background:0 0;margin:0;padding:0}.calendar-day-body{min-height:72px;padding:var(--space-12)}.calendar-empty{padding:var(--space-10) 2px;color:var(--muted);font-size:13px;font-style:italic}}@media (width<=480px){.calendar-closed{min-height:120px}}.period-nav{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-22);padding:var(--space-16);background:var(--surface-82);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #ffffffbf;display:flex}.period-nav-arrow{width:48px;height:48px;color:var(--cream);background:var(--gradient-clay);box-shadow:var(--shadow-button);transition:var(--transition-lift);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.period-nav-arrow:hover{background:var(--gradient-clay-hover);transform:var(--lift)}.period-nav-arrow:active{transform:none}.period-nav-arrow:focus-visible{outline-offset:3px}.period-nav-info{align-items:center;gap:var(--space-8);flex-direction:column;flex:1;min-width:0;display:flex}.period-nav-title{color:var(--clay-900);letter-spacing:-.03em;text-align:center;font-size:clamp(17px,2vw,23px);font-weight:800;line-height:1.2}.period-nav-range,.period-nav-days{display:block}.period-nav-fields{justify-content:center;align-items:center;gap:var(--space-10);grid-template-columns:auto minmax(190px,220px) auto minmax(190px,220px);width:100%;display:grid}.period-nav-label{color:var(--muted);font-size:14px;font-weight:700}.period-nav-input{width:100%;min-width:0;min-height:48px;padding:var(--space-10) var(--space-12);color:var(--ink);background:var(--surface-92);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);font-size:16px;line-height:1.2;transition:border-color .18s,box-shadow .18s}.period-nav-input:focus{border-color:var(--focus-border);box-shadow:var(--focus-glow);outline:none}.period-nav-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.period-nav-note{color:var(--clay-700);font-size:13px;font-weight:600}.period-nav-note:empty{display:none}@media (width>=1025px) and (width<=1080px){.period-nav-fields{grid-template-columns:auto minmax(0,220px)}.period-nav-label{text-align:right}}@media (width<=768px){.period-nav{align-items:start;gap:var(--space-12);padding:var(--space-14);grid-template-columns:44px minmax(0,1fr) 44px;grid-template-areas:"prev title next""fields fields fields""note note note";display:grid}.period-nav-info{display:contents}.period-nav-prev{grid-area:prev}.period-nav-next{grid-area:next}.period-nav-arrow{width:44px;height:44px;margin-top:3px}.period-nav-title{grid-area:title;align-self:center}.period-nav-fields{gap:var(--space-8);grid-area:fields;grid-template-columns:minmax(0,1fr)}.period-nav-label{text-align:left}.period-nav-note{text-align:center;grid-area:note}}@media (width<=480px){.period-nav{margin-bottom:var(--space-14);border-radius:16px;grid-template-columns:42px minmax(0,1fr) 42px}}.modal-overlay{z-index:var(--z-modal);padding:var(--space-16);background:var(--overlay-modal);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;animation:.18s ease-out modal-fade;display:flex;position:fixed;inset:0}.modal{background:var(--surface-96);border:1px solid var(--border-white-82);border-radius:var(--radius-modal);width:100%;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-modal);outline:none;flex-direction:column;animation:.2s ease-out modal-rise;display:flex}.modal-sm{max-width:440px}.modal-md{max-width:500px}.modal-header{align-items:flex-start;gap:var(--space-12);padding:25px 25px var(--space-16);display:flex}.modal-title{min-width:0;color:var(--clay-900);letter-spacing:-.03em;flex:1;font-size:24px;font-weight:700;line-height:1.2}.modal-close{width:40px;height:40px;color:var(--clay-900);background:var(--sand);border-radius:var(--radius-pill);transition:var(--transition-lift);border:none;flex:none;justify-content:center;align-items:center;margin:-6px -8px 0 0;display:inline-flex}.modal-close:hover{background:var(--sand-hover)}.modal-body{min-height:0;padding:var(--space-4) 25px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;overflow-y:auto}.modal-footer{gap:var(--space-10);padding:var(--space-20) 25px 25px;display:flex}.modal-footer>*{flex:1 1 0;min-width:0}@media (width<=768px){.modal-overlay{padding:max(12px, env(safe-area-inset-top)) 0 0;align-items:flex-end}.modal,.modal-sm,.modal-md{border-radius:var(--radius-modal) var(--radius-modal) 0 0;border-bottom:none;max-width:none;max-height:100%;animation:.24s cubic-bezier(.2,.8,.2,1) modal-sheet}.modal-md{height:100%}.modal-header{padding:var(--space-18) var(--space-18) var(--space-12)}.modal-title{font-size:22px}.modal-close{width:44px;height:44px;margin:-8px -6px 0 0}.modal-body{padding:var(--space-4) var(--space-18)}.modal-footer{gap:var(--space-8);padding:var(--space-14) var(--space-18) max(var(--space-18), env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-direction:column}.modal-footer>*{flex:none;min-height:44px}}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes modal-sheet{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal,.modal-sm,.modal-md{animation:none}}.date-picker-nav{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-12);display:flex}.date-picker-nav-button{width:44px;height:44px;color:var(--clay-900);background:var(--sand);border-radius:var(--radius-pill);transition:var(--transition-lift);border:none;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-picker-nav-button:hover:not([aria-disabled=true]){background:var(--sand-hover);transform:var(--lift)}.date-picker-nav-button[aria-disabled=true]{cursor:not-allowed;opacity:.4}.date-picker-month{color:var(--slate-800);text-align:center;flex:1;font-size:16px;font-weight:800}.date-picker-grid{gap:var(--space-4);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-picker-weekday{padding:var(--space-8) 0;color:var(--muted);justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.date-picker-day{aspect-ratio:5/4;min-width:0;min-height:40px;color:var(--clay-900);font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffb8;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative}.date-picker-day:hover:not(:disabled):not(.is-selected){background:var(--hover-cream);border-color:#d8a94f9e}.date-picker-day.is-selected{color:var(--cream);background:var(--gradient-clay);border-color:#0000;box-shadow:0 6px 14px #4c372538}.date-picker-day.is-selected:hover:not(:disabled){background:var(--gradient-clay-hover)}.date-picker-day:disabled{cursor:not-allowed;color:var(--muted);box-shadow:none;opacity:.55;background:0 0;border-color:#5b412814}.date-picker-day.is-closed:disabled{color:#4f6b4c;background:#8fae8b33;border-color:#6f906b38}.date-picker-day.is-requested:after{content:"";background:var(--clay-600);border-radius:50%;width:5px;height:5px;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.date-picker-day.is-selected:not(:disabled).is-requested:after{background:var(--cream)}.date-picker-day.is-today{border:2px solid var(--gold)}.date-picker-day.is-today.is-selected{box-shadow:0 0 0 2px var(--gold), 0 6px 14px #4c372538}.date-picker-day:focus-visible{z-index:1;outline:3px solid var(--focus-ring);outline-offset:2px}@media (width<=768px){.date-picker-day{aspect-ratio:1;font-size:15px}}@media (width<=360px){.date-picker-grid{gap:3px}.date-picker-day{border-radius:10px;min-height:36px}}.request-dialog-form{gap:var(--space-14);flex-direction:column;display:flex}.request-dialog-requester{color:var(--muted);font-size:14px;line-height:1.4}.request-dialog-requester strong{color:var(--clay-900);font-weight:700}.request-dialog-field{gap:var(--space-6);flex-direction:column;display:flex}.request-dialog-label{color:var(--clay-800);letter-spacing:-.01em;font-size:16px;font-weight:800}.request-dialog-select{width:100%;min-height:44px;padding:var(--space-10) 40px var(--space-10) var(--space-12);color:var(--ink);background-color:var(--surface-92);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23352619' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;font-size:16px;line-height:1.2;transition:border-color .18s,box-shadow .18s}.request-dialog-select:focus-visible{border-color:var(--focus-ring);box-shadow:var(--focus-glow);outline:none}.request-dialog-loading,.request-dialog-load-error{justify-content:center;align-items:center;gap:var(--space-12);min-height:240px;padding:var(--space-16);text-align:center;flex-direction:column;display:flex}.request-dialog-load-error p{color:var(--error-text);font-size:14px;font-weight:600;line-height:1.4}.request-dialog-selected{gap:var(--space-10);background:var(--surface-82);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;min-height:60px;padding:15px;display:flex}.request-dialog-selected:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.request-dialog-empty{color:var(--slate-500);font-size:13px}.request-dialog-chips{gap:var(--space-8);flex-wrap:wrap;display:flex}.request-dialog-chip{align-items:center;gap:var(--space-4);min-height:32px;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-12);color:var(--cream);white-space:nowrap;background:var(--gradient-clay);border-radius:var(--radius-pill);font-size:13px;font-weight:600;display:inline-flex}.request-dialog-chip.is-conflict{background:var(--gradient-danger)}.request-dialog-chip-remove{width:26px;height:26px;color:var(--white);border-radius:var(--radius-pill);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;line-height:1;transition:background .15s;display:inline-flex}.request-dialog-chip-remove:hover{background:#fffaf133}.request-dialog-chip-remove:focus-visible{outline:2px solid var(--cream);outline-offset:0;box-shadow:0 0 0 4px var(--focus-ring)}.request-dialog-note,.request-dialog-notice{padding:var(--space-10) var(--space-12);border-radius:var(--radius-sm);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.request-dialog-note,.request-dialog-notice-info{color:var(--clay-900);background:#d8a94f24;border:1px solid #d8a94f6b}.request-dialog-notice-error{color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);font-weight:600}.request-dialog-messages>div:not(:empty)+div:not(:empty){margin-top:var(--space-10)}.request-dialog-spinner .spinner-ring{border-color:#fffaf147;border-top-color:var(--gold-light)}.request-dialog .btn[aria-disabled=true]{cursor:progress;opacity:.8}@media (width<=768px){.request-dialog-form{gap:var(--space-14)}.request-dialog-chip{min-height:36px;font-size:14px}.request-dialog-chip-remove{width:30px;height:30px}}.checkbox{cursor:pointer;align-items:center;min-width:0;display:flex}.checkbox-card{min-height:44px;padding:var(--space-12) var(--space-14);background:var(--surface-82);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:var(--transition-lift)}.checkbox-card:hover{background:var(--cream);border-color:var(--border-hover)}.checkbox-input{appearance:none;width:18px;height:18px;margin:0 var(--space-10) 0 0;background:var(--surface-96);border:2px solid var(--checkbox-border);cursor:pointer;border-radius:3px;flex:0 0 18px;place-content:center;display:grid}.checkbox-input:before{content:"";background:var(--clay-700);border-radius:2px;width:10px;height:10px;transition:transform .12s ease-in-out;transform:scale(0)}.checkbox-input:checked:before{transform:scale(1)}.checkbox-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.checkbox-input:disabled,.checkbox-input:disabled+.checkbox-label{cursor:not-allowed;opacity:.55}.checkbox-label{flex:1;min-width:0;font-size:13px;font-weight:600}.sidebar{min-width:0;padding:var(--space-22);background:var(--gradient-sidebar);border-right:1px solid var(--line)}.sidebar-section+.sidebar-section{margin-top:var(--space-18)}.sidebar-drawer-heading{font-size:14px}.sidebar-drawer-toggle{align-items:center;gap:var(--space-8);width:100%;min-height:48px;padding:var(--space-14) var(--space-16);color:var(--white);text-align:left;background:var(--gradient-clay);border:1px solid var(--border-white-65);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:var(--transition-lift), border-radius .2s ease;font-size:14px;font-weight:700;display:flex}.sidebar-drawer-toggle:hover{background:var(--gradient-clay-hover)}.sidebar-drawer-toggle[aria-expanded=true]{border-radius:var(--radius-md) var(--radius-md) 0 0}.sidebar-drawer-title{flex:1;min-width:0}.sidebar-drawer-count{padding:2px var(--space-8);color:var(--cream);border-radius:var(--radius-pill);background:#fffaf12e;flex:none;font-size:12px;font-weight:600}.sidebar-drawer-chevron{color:#fffaf1d9;flex:none;font-size:13px;transition:transform .3s}.sidebar-drawer-toggle[aria-expanded=true] .sidebar-drawer-chevron{transform:rotate(180deg)}.sidebar-drawer{visibility:hidden;border-radius:0 0 var(--radius-md) var(--radius-md);grid-template-rows:0fr;transition:grid-template-rows .3s ease-out,box-shadow .3s ease-out,visibility 0s linear .3s;display:grid}.sidebar-drawer[data-open=true]{visibility:visible;box-shadow:var(--shadow-card);grid-template-rows:1fr;transition:grid-template-rows .5s ease-in,box-shadow .5s ease-in,visibility}.sidebar-drawer-inner{min-height:0;overflow:hidden}.sidebar-drawer-content{padding:var(--space-14);background:var(--surface-92);border:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none}.sidebar-filter-actions{gap:var(--space-8);margin-bottom:var(--space-12);display:flex}.sidebar-filter-actions .sidebar-filter-action{min-width:0;min-height:34px;padding:var(--space-8) var(--space-12);flex:1}.sidebar-filter-list{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.sidebar-filter-list .sidebar-filter-item{box-shadow:var(--shadow-item);border-color:#0000}.sidebar-filter-list .sidebar-filter-item:hover{border-color:var(--border-hover)}.sidebar-filter-label{align-items:center;gap:var(--space-8);min-width:0;display:flex}.sidebar-swatch{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #21170f2e}.sidebar-filter-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-filter-loading{padding:var(--space-10);justify-content:center;display:flex}.sidebar-filter-empty{padding:30px var(--space-20);text-align:center;font-size:13px;font-style:italic}@media (width<=1024px){.sidebar{border-right:none;border-bottom:1px solid var(--line)}}@media (width<=768px){.sidebar{padding:var(--space-14)}.sidebar-filter-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sidebar-filter-actions .sidebar-filter-action{min-height:40px}}@media (width<=480px){.sidebar-filter-list{grid-template-columns:minmax(0,1fr)}}.schedule-main{background:var(--surface-main);grid-template-columns:280px minmax(0,1fr);display:grid}.schedule-area{min-width:0;padding:clamp(18px,3vw,34px)}.schedule-header-note{color:#fffaf1d6;text-wrap:balance;max-width:40rem;font-size:14px;font-weight:600;line-height:1.4}.schedule-calendar{position:relative}.schedule-calendar-busy .calendar{opacity:.55;transition:opacity .2s}.schedule-refreshing{top:var(--space-8);z-index:var(--z-sticky);padding:var(--space-8);background:var(--surface-96);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);display:flex;position:absolute;left:50%;transform:translate(-50%)}.schedule-outdated{justify-content:space-between;align-items:center;gap:var(--space-8) var(--space-12);margin-bottom:var(--space-12);padding:var(--space-8) var(--space-8) var(--space-8) var(--space-14);color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);flex-wrap:wrap;font-size:14px;font-weight:600;line-height:1.4;display:flex}.schedule-status{justify-content:center;align-items:center;gap:var(--space-16);min-height:320px;padding:30px var(--space-20);text-align:center;flex-direction:column;display:flex}.schedule-error{font-size:14px;font-style:italic}@media (width<=1024px){.schedule-main{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.schedule-area{padding:var(--space-12)}}@media (width<=480px){.schedule-area{padding:var(--space-10) var(--space-8) var(--space-14)}}.confirm-message{color:var(--slate-600);white-space:pre-line;overflow-wrap:anywhere;font-size:16px;line-height:1.5}.toast-region{right:var(--space-22);bottom:var(--space-22);z-index:var(--z-toast);align-items:flex-end;gap:var(--space-10);pointer-events:none;flex-direction:column;width:min(400px,100vw - 32px);display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-12);width:100%;padding:var(--space-14) var(--space-10) var(--space-14) var(--space-16);background:var(--surface-96);border:1px solid var(--border-white-82);border-left:4px solid var(--toast-accent,var(--clay-600));pointer-events:auto;border-radius:16px;animation:.2s ease-out toast-in;display:flex;box-shadow:0 18px 44px #21170f38}.toast-success{--toast-accent:var(--green)}.toast-error{--toast-accent:var(--red)}.toast-info{--toast-accent:var(--clay-600)}.toast-icon{width:22px;height:22px;color:var(--cream);background:var(--toast-accent,var(--clay-600));border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;margin-top:1px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.toast-message{min-width:0;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;flex:1;padding-top:2px;font-size:14px;line-height:1.45}.toast-dismiss{width:32px;height:32px;color:var(--clay-800);border-radius:var(--radius-pill);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-5px 0;display:inline-flex}.toast-dismiss:hover{background:var(--sand)}@media (width<=768px){.toast-region{top:max(var(--space-12), env(safe-area-inset-top));right:var(--space-12);bottom:auto;left:var(--space-12);align-items:stretch;width:auto}.toast-dismiss{width:40px;height:40px;margin:-9px -2px -9px 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
