:root{font-family:BIZ UDPGothic,Yu Gothic UI,Hiragino Sans,sans-serif;color:#182029;background:radial-gradient(circle at top,rgba(255,221,176,.85),transparent 40%),linear-gradient(180deg,#fff8ef,#f1f6fb 55%,#e6eef6);--surface: rgba(255, 255, 255, .78);--surface-strong: rgba(255, 255, 255, .92);--border: rgba(24, 32, 41, .08);--text-subtle: #5b6570;--accent: #c86d3a;--accent-deep: #154a78;--success: #0d7a55;--danger: #9d3141;--shadow: 0 18px 40px rgba(31, 52, 73, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}button,input,select,textarea{font:inherit}button,.text-link{cursor:pointer}a{color:inherit;text-decoration:none}#root{min-height:100vh}.login-screen,.fullscreen-state{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card,.panel-card,.hero-panel,.assignment-card,.actual-card{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;box-shadow:var(--shadow)}.mobile-login-card{width:min(100%,28rem);padding:1.5rem}.eyebrow,.panel-label,.mobile-eyebrow{margin:0 0 .35rem;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--text-subtle)}.login-card h1,.forbidden-state h1,.hero-panel h2,.section-heading h2,.assignment-card h3,.actual-card h3,.mobile-header h1,.login-copy,.mobile-copy,.panel-card p,.hero-panel p,.note-banner,.inline-meta,.detail-grid dt,.detail-grid dd{margin:0}.login-form{display:grid;gap:.85rem;margin-top:1rem}.login-form label,.panel-card label{display:grid;gap:.35rem}input,select,textarea,button{border-radius:16px;border:1px solid rgba(24,32,41,.12);padding:.9rem 1rem;background:#ffffffeb}button{background:#fff}.secondary-button{background:#ffffffe0;color:var(--accent-deep);border:1px solid rgba(21,74,120,.18);font-weight:700}.primary-button{background:linear-gradient(135deg,#c86d3a,#f29e4c);color:#fff;border:none;font-weight:700}.form-error{color:var(--danger)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:4.5rem}.password-toggle{position:absolute;right:.5rem;padding:.3rem .7rem;font-size:.75rem;border-radius:10px;border:1px solid rgba(24,32,41,.18);background:#ffffffd9;color:var(--accent-deep, #154a78);cursor:pointer;font-weight:600;line-height:1}.mobile-shell{width:min(100%,42rem);margin:0 auto;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding:1rem 1rem 1.25rem;gap:1rem}.mobile-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem;border-radius:28px;background:linear-gradient(145deg,#ffffffeb,#f7e9d6b8);border:1px solid var(--border);box-shadow:var(--shadow)}.mobile-header-meta{display:grid;gap:.5rem;justify-items:end;font-size:.85rem;color:var(--text-subtle)}.mobile-header-actions{display:flex;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.header-action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.mobile-header-meta button,.mobile-header-meta .header-action-link{padding:.5rem .8rem;font-size:.85rem;font-weight:600}.refresh-button{padding:.5rem .7rem;font-size:1rem;line-height:1;border-radius:50%;min-width:2.2rem;color:var(--accent-deep, #154a78);border-color:#154a7838}.refresh-button:disabled{opacity:.5;cursor:default}.mobile-status-band{display:grid;gap:.9rem;padding:1rem 1.1rem;border-radius:26px;border:1px solid var(--border);background:radial-gradient(circle at top right,rgba(242,158,76,.2),transparent 28%),linear-gradient(145deg,#fffcf6f2,#edf4fbdb);box-shadow:var(--shadow)}.mobile-status-band-copy{display:grid;gap:.25rem}.mobile-status-band-copy h2{margin:0;font-size:1.1rem}.mobile-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.mobile-status-card{display:grid;gap:.28rem;padding:.8rem .9rem;border-radius:18px;background:#ffffffb8;border:1px solid rgba(24,32,41,.08)}.mobile-status-kicker{font-size:.72rem;color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase}.mobile-status-emphasis{font-size:1rem}.mobile-status-meta{font-size:.76rem;color:var(--text-subtle)}.mobile-main,.page-stack{display:grid;gap:1rem}.hero-panel,.panel-card,.assignment-card,.actual-card{padding:1.1rem}.hero-panel.sunrise{background:linear-gradient(160deg,#ffecd2f2,#ffffffd1)}.hero-panel.tide{background:linear-gradient(160deg,#dbebf8f2,#ffffffd1)}.panel-grid,.form-grid{display:grid;gap:.85rem}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.accent-orange{background:linear-gradient(160deg,#fff0dceb,#ffffffd1)}.accent-blue{background:linear-gradient(160deg,#e2edf9f0,#ffffffd1)}.accent-green{background:linear-gradient(160deg,#dff5ebf0,#ffffffd1)}.accent-sand{background:linear-gradient(160deg,#f7eee1f0,#ffffffd1)}.section-heading,.assignment-header,.month-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.assignment-card,.actual-card{display:grid;gap:.9rem}.expense-form,.button-row{display:grid;gap:.85rem}.button-row{justify-items:start}.inline-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;color:var(--accent-deep);font-size:.9rem}.response-meta{justify-content:space-between}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-grid div{display:grid;gap:.2rem}.detail-grid dt{font-size:.78rem;color:var(--text-subtle)}.detail-grid dd{font-weight:700}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:999px;font-size:.78rem;font-weight:700}.status-tentative{background:#f8e1aee6;color:#7a5215}.status-confirmed,.status-valid{background:#cff0dff2;color:var(--success)}.status-canceled,.status-invalid{background:#f8d6dcf2;color:var(--danger)}.status-pending{background:#f8e1aee6;color:#7a5215}.status-approved,.status-available_all_day{background:#cff0dff2;color:var(--success)}.status-available_after_15{background:#ddebfcf2;color:var(--accent-deep)}.status-unavailable{background:#f8d6dcf2;color:var(--danger)}.status-consult_required{background:#f8e1aee6;color:#7a5215}.status-accepted{background:#cff0dff2;color:var(--success)}.status-declined,.status-rejected{background:#f8d6dcf2;color:var(--danger)}.note-banner{padding:.75rem .9rem;border-radius:16px;background:#1820290d;color:var(--text-subtle)}.action-banner{color:var(--accent-deep);font-weight:700}.mobile-nav{position:sticky;bottom:0;display:flex;overflow-x:auto;gap:.75rem;padding:.75rem;border-radius:24px;background:#ffffffe0;border:1px solid var(--border);box-shadow:var(--shadow)}.mobile-nav-link{display:flex;align-items:center;justify-content:center;gap:.45rem;text-align:center;flex:1 0 4.8rem;padding:.85rem .75rem;border-radius:18px;color:var(--text-subtle);font-weight:700;white-space:nowrap}.mobile-nav-label{overflow:hidden;text-overflow:ellipsis}.mobile-nav-badge{min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#c9503124;color:#a53f24;font-size:.72rem;line-height:1.35rem}.mobile-nav-link.active .mobile-nav-badge{background:#ffffff3d;color:#fff}.mobile-nav-link.active{background:linear-gradient(135deg,#154a78,#2f7ab8);color:#fff}.empty-card{text-align:center;color:var(--text-subtle)}.response-stack{display:grid;gap:.75rem}.response-note-field{display:grid;gap:.35rem;color:var(--text-subtle)}.response-actions{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.calendar-weekdays{margin-bottom:.55rem}.calendar-weekdays span{text-align:center;font-size:.78rem;font-weight:700;color:var(--text-subtle)}.calendar-spacer{min-height:5.9rem}.calendar-day{display:grid;align-content:space-between;gap:.55rem;min-height:5.9rem;padding:.75rem .65rem;text-align:left;border-radius:20px;border:1px solid rgba(24,32,41,.1);background:#ffffffeb}.calendar-day.status-available_all_day{background:linear-gradient(180deg,#e2f7ecf5,#cff0dfe6);border-color:#0d7a552e;color:#0d6d4d}.calendar-day.status-available_after_15{background:linear-gradient(180deg,#ebf3fff5,#ddebfceb);border-color:#154a782e;color:#154a78}.calendar-day.status-unavailable{background:linear-gradient(180deg,#feeceff7,#f8d6dceb);border-color:#9d314133;color:#8d2032}.calendar-day.status-consult_required{background:linear-gradient(180deg,#fdf4d4fa,#f8e1aee6);border-color:#7a52152e;color:#7a5215}.calendar-day.status-blank{background:#ffffffd6;color:#223040}.calendar-day.selected{border-color:#154a7857;box-shadow:inset 0 0 0 2px #154a781f}.calendar-day-top,.calendar-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.calendar-day-body,.calendar-detail-card,.calendar-notes-field{display:grid;gap:.35rem}.calendar-day-number{font-size:1rem}.calendar-day-status{font-size:.78rem;font-weight:700}.calendar-day-weekday,.calendar-day-assignment,.calendar-day-note{font-size:.72rem;opacity:.88}.calendar-day-auto-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.16rem .5rem;border-radius:999px;background:#1820291f;font-size:.66rem;font-weight:700}.auto-candidate-banner{background:#f8e1ae5c;color:#7a5215}.settings-stack,.settings-grid,.settings-preview-list{display:grid;gap:.75rem}.settings-checkbox{display:flex;align-items:center;gap:.65rem;padding:.9rem 1rem;border-radius:18px;background:#ffffffc2;border:1px solid rgba(24,32,41,.08)}.settings-checkbox input{width:auto;margin:0}.settings-toggle-card{justify-content:space-between}.settings-helper-copy,.settings-preview-meta,.weekday-setting-hint{margin:0;font-size:.78rem;color:var(--text-subtle)}.weekday-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.weekday-setting-card{display:grid;gap:.55rem;padding:.95rem 1rem;border-radius:18px;background:#ffffffc2;border:1px solid rgba(24,32,41,.08)}.weekday-setting-name{font-weight:700}.settings-preview-body{display:grid;gap:.18rem}.settings-preview-item,.settings-actions{display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.settings-preset-grid{display:flex;gap:.6rem;flex-wrap:wrap}.preset-button{padding:.55rem 1rem;border-radius:999px;border:2px solid rgba(21,74,120,.22);background:#ffffffd1;color:var(--accent-deep, #154a78);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.preset-button:hover{background:#154a7814;border-color:#154a7873}.preset-button--active{background:var(--accent-deep, #154a78);border-color:var(--accent-deep, #154a78);color:#fff}.text-link{color:var(--accent-deep);font-weight:700}@media(max-width:640px){.mobile-shell{width:100%;padding:.75rem .75rem 1rem}.mobile-header,.section-heading,.assignment-header,.month-toolbar{display:grid}.mobile-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-up,.three-up,.four-up,.detail-grid,.response-meta,.response-actions,.settings-grid,.weekday-settings-grid{grid-template-columns:1fr}.calendar-weekdays,.calendar-grid{gap:.35rem}.calendar-day,.calendar-spacer{min-height:4.85rem}.calendar-day{padding:.55rem .45rem;border-radius:16px}.calendar-day-number{font-size:.92rem}.calendar-day-status,.calendar-day-weekday,.calendar-day-assignment,.calendar-day-note,.calendar-day-auto-badge,.calendar-weekdays span{font-size:.65rem}.calendar-detail-actions{display:grid}.settings-actions,.settings-preview-item{display:grid;justify-content:stretch}.mobile-header-actions{display:flex;flex-wrap:nowrap;gap:.4rem;justify-content:flex-end;align-items:center}}
