:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f9fafb;--surface:#fff;--surface-strong:#fff;--surface-muted:#f3f4f6;--ink:#111827;--ink-muted:#4b5563;--ink-soft:#6b7280;--line:#11182714;--line-strong:#1118271f;--accent:#1f4194;--accent-soft:#1f41941f;--warning:#b97716;--warning-soft:#b977161f;--danger:#b04234;--danger-soft:#b042341f;--success:#2d6844;--success-soft:#2d68441f;--shadow:0 1px 2px #1018280d, 0 12px 32px #0f172a14;--radius:.5rem;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 20% 0,#e2e7f2b3,#0000 42%),radial-gradient(circle at 80% 10%,#e8d5d759,#0000 38%),linear-gradient(#fefefe 0%,#f9fafb 100%);margin:0}h1,h2,h3{letter-spacing:-.02em;margin:0;font-family:Inter,system-ui,sans-serif;font-weight:700}p{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:14px;padding:.9rem 1rem;transition:border-color .16s,box-shadow .16s,transform .16s}input[type=checkbox]{width:auto;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}input:focus,textarea:focus,select:focus{border-color:#1f419473;outline:none;box-shadow:0 0 0 4px #1f41941f}textarea{resize:vertical}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:.72rem}.muted-copy{color:var(--ink-muted)}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.82rem 1.15rem;font-weight:600;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button--primary{background:var(--accent);color:#f9fafb;box-shadow:0 10px 26px #1f419438}.button--secondary{background:var(--surface-strong);border-color:var(--line);color:var(--ink)}.button--ghost{border-color:var(--line);color:var(--ink-muted);background:0 0}.button--ghost-on-dark{color:#ffffffd1;background:0 0;border-color:#ffffff59}.button--ghost-on-dark:hover{color:#fff;background:#ffffff1a;border-color:#ffffff8c}.button--block{width:100%}.env-badge{color:#1f4194;text-transform:uppercase;letter-spacing:.08em;background:#1f41941a;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge{border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.status-badge--neutral{color:var(--ink-muted);background:#5e655e1a}.status-badge--accent{background:var(--accent-soft);color:var(--accent)}.status-badge--warning{background:var(--warning-soft);color:var(--warning)}.status-badge--danger{background:var(--danger-soft);color:var(--danger)}.status-badge--success{background:var(--success-soft);color:var(--success)}.public-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-panel,.state-card{width:min(100%,34rem);box-shadow:var(--shadow);background:#f6f1e9eb;border:1px solid #1f241f1a;border-radius:28px;gap:1.25rem;padding:2rem;display:grid}.auth-panel{position:relative}.auth-panel--restricted{width:min(100%,42rem)}.auth-panel__intro{gap:.65rem;display:grid}.auth-panel__intro h1{font-size:clamp(2rem,3vw,3rem)}.auth-panel__intro p{color:var(--ink-muted)}.auth-form{gap:1rem;display:grid}.auth-meta{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:.5rem;display:grid}.auth-meta dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;font-size:.78rem}.auth-meta dd{word-break:break-word;margin:0;font-weight:600}.auth-link{color:var(--accent);font-weight:600}.form-error{color:var(--danger);font-size:.92rem}.field{gap:.45rem;display:grid}.field span{color:var(--ink-muted);font-size:.88rem;font-weight:600}.field small{color:var(--danger);font-size:.82rem}.field--compact span{font-size:.78rem}.field--full{grid-column:1/-1}.loading-spinner{border:3px solid #1f5b4f26;border-top-color:var(--accent);border-radius:999px;width:2.25rem;height:2.25rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-card--error{border-color:#b0423440}.app-frame{grid-template-columns:18rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#edf3ef;background:linear-gradient(#193430f7 0%,#10231ff7 100%),linear-gradient(145deg,#eecdb11f,#0000 40%);border-right:1px solid #ffffff14;grid-template-rows:auto 1fr auto;gap:1.8rem;height:100vh;padding:1.6rem;display:grid;position:sticky;top:0;overflow-y:auto}.sidebar__brand{gap:.65rem;display:grid}.sidebar__brand h1{font-size:1.9rem}.sidebar__brand p:not(.eyebrow){color:#edf3efb8}.sidebar__nav{gap:.45rem;display:grid}.sidebar__nav-link{color:#edf3efbd;border-radius:18px;align-items:center;padding:.9rem 1rem;transition:background .16s,color .16s,transform .16s;display:flex}.sidebar__nav-link:hover,.sidebar__nav-link--active{color:#fff7ef;background:#fff8ee1f;transform:translate(2px)}.sidebar__nav-count{color:#fff8eec2;margin-left:auto;font-size:.82rem;font-weight:700}.sidebar__footer{border-top:1px solid #ffffff14;gap:.85rem;padding-top:1rem;display:grid}.sidebar__meta-label{color:#edf3efa3;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem;font-size:.78rem}.app-main{min-width:0;padding:1.4rem}.topbar{grid-template-columns:auto minmax(16rem,28rem) auto;align-items:center;gap:1rem;margin-bottom:1.4rem;display:grid}.topbar h2{font-size:2rem}.topbar__search{align-items:center;gap:.75rem;display:flex}.topbar__search input{min-width:0}.topbar__actions{justify-content:flex-end;gap:.75rem;display:flex}.workspace{display:grid}.page{gap:1.2rem;display:grid}.notice-banner{background:#fff8ece6;border:1px solid #b977163d;border-radius:20px;gap:.35rem;margin-bottom:1rem;padding:1rem 1.2rem;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{font-size:clamp(2rem,3vw,2.75rem)}.page-header p:not(.eyebrow){color:var(--ink-muted);max-width:48rem}.page-header__actions{align-items:center;gap:.75rem;display:flex}.page-header--inline{align-items:end}.panel{box-shadow:var(--shadow);background:#f6f1e9e0;border:1px solid #1f241f17;border-radius:28px;gap:1rem;padding:1.4rem;display:grid}.panel--hero{color:#f7f2ea;background:linear-gradient(135deg,#143630f5 0%,#255345eb 56%,#7c472ccc 100%);min-height:15rem}.panel--hero .eyebrow,.panel--hero p{color:#f7f2ead1}.panel--hero-side{background:linear-gradient(#fbf4ebf0 0%,#f1e8daf0 100%)}.panel--form{gap:1.4rem}.panel--nested{box-shadow:none;background:0 0;border:0;padding:0}.panel__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.panel__header h2{font-size:1.45rem}.panel__link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:700}.hero-grid{grid-template-columns:minmax(0,2.1fr) minmax(18rem,1fr);gap:1rem;display:grid}.hero-copy{gap:.75rem;display:grid}.hero-copy h1{font-size:clamp(2.4rem,4vw,4rem)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:auto;display:flex}.hero-side__metrics{gap:1rem;display:grid}.hero-side__metrics div{gap:.15rem;display:grid}.hero-side__metrics strong{font-size:1.85rem}.hero-side__metrics span{color:var(--ink-muted)}.kpi-grid,.summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;display:grid}.kpi-card,.summary-card{background:#fffaf4eb;border:1px solid #1f241f14;border-radius:22px;gap:.35rem;padding:1rem;display:grid;box-shadow:0 10px 28px #2c241714}.kpi-card span,.summary-card span{color:var(--ink-muted);font-size:.86rem}.kpi-card strong,.summary-card strong{font-size:1.7rem}.overview-grid{grid-template-columns:minmax(0,2fr) minmax(19rem,1fr);gap:1rem;display:grid}.overview-grid__main,.overview-grid__side{gap:1rem;display:grid}.stack-list,.timeline,.property-board,.message-feed,.chip-row{gap:.75rem;display:grid}.list-row{background:#fffaf4b8;border:1px solid #0000;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.list-row:hover,.list-row--active{background:#fffaf4f0;border-color:#1f5b4f2e;transform:translateY(-1px)}.list-row strong{margin-bottom:.2rem;display:block}.list-row p{color:var(--ink-muted)}.list-row__meta{color:var(--ink-soft);justify-items:end;gap:.45rem;font-size:.84rem;display:grid}.list-row--button{text-align:left;background:#fffaf4b8;border:1px solid #0000;width:100%}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:42rem}.data-table th{text-align:left;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;padding:0 0 .8rem;font-size:.78rem}.data-table td{border-top:1px solid var(--line);vertical-align:top;padding:.95rem 0}.data-table td strong,.data-table td span{display:block}.data-table td span{color:var(--ink-muted)}.data-table--interactive tbody tr{cursor:pointer;transition:background .16s}.data-table--interactive tbody tr:hover,.data-table--interactive tbody tr.is-selected{background:#1f5b4f0f}.timeline__item{grid-template-columns:1rem minmax(0,1fr);gap:.85rem;padding:.2rem 0;display:grid}.timeline__dot{background:linear-gradient(180deg, var(--accent), #7c472c);border-radius:999px;width:.7rem;height:.7rem;margin-top:.35rem}.timeline__item p,.timeline__item span{color:var(--ink-muted)}.timeline__button{text-align:left;background:0 0;border:0;width:100%;padding:.2rem 0}.property-card{border:1px solid var(--line);background:#fffaf4e6;border-radius:24px;gap:1rem;padding:1rem;display:grid}.property-card__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.property-card__header p{color:var(--ink-muted)}.property-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.property-card__stats div{border-top:1px solid var(--line);padding-top:.75rem}.property-card__stats dt{color:var(--ink-soft);font-size:.78rem}.property-card__stats dd{margin:.18rem 0 0;font-weight:700}.toolbar,.detail-grid,.form-grid,.status-row{gap:1rem;display:grid}.toolbar{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.segmented-control{border:1px solid var(--line);background:#fffaf4d1;border-radius:999px;align-items:center;padding:.25rem;display:inline-flex}.segmented-control__button{color:var(--ink-muted);background:0 0;border:0;border-radius:999px;padding:.65rem .9rem}.segmented-control__button--active{background:var(--accent);color:#f7f2ea}.jobs-layout,.detail-layout,.messages-layout{gap:1rem;display:grid}.jobs-layout{grid-template-columns:minmax(0,1.7fr) minmax(20rem,1fr)}.detail-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.messages-layout{grid-template-columns:minmax(19rem,24rem) minmax(0,1fr)}.messages-layout__thread,.jobs-layout__detail{align-content:start}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid div{border-top:1px solid var(--line);gap:.2rem;padding-top:.85rem;display:grid}.detail-grid span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.detail-grid strong{font-size:1rem}.detail-copy{color:var(--ink-muted);line-height:1.65}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.message-feed{max-height:34rem;padding-right:.2rem;overflow:auto}.message-bubble{border:1px solid var(--line);background:#fffaf4d1;border-radius:22px;gap:.6rem;padding:1rem;display:grid}.message-bubble header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.message-bubble header span,.message-bubble a,.message-bubble span{color:var(--ink-soft);font-size:.82rem}.message-composer{gap:1rem;display:grid}.chip-row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.summary-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.chip{color:var(--accent);background:#1f5b4f14;border-radius:999px;justify-content:center;align-items:center;padding:.7rem .95rem;font-weight:700;display:inline-flex}.status-row{grid-template-columns:auto auto;justify-content:space-between;align-items:center;padding-top:.25rem}.form-actions--auth{justify-content:flex-start}.badge{border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.78rem;font-weight:600;line-height:1.4;display:inline-flex}.badge--neutral{color:var(--ink-muted);background:#5e655e1a}.badge--accent{background:var(--accent-soft);color:var(--accent)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--success{background:var(--success-soft);color:var(--success)}.work-orders-layout{grid-template-columns:22rem minmax(0,1fr);gap:1rem;min-height:0;display:grid}.work-orders-list{flex-direction:column;gap:.5rem;max-height:calc(100vh - 6rem);padding-bottom:1rem;display:flex;overflow-y:auto}.work-orders-list__header{background:var(--bg);z-index:1;gap:.5rem;padding-bottom:.5rem;display:grid;position:sticky;top:0}.work-orders-detail{min-width:0;overflow-y:auto}.empty-state{text-align:center;color:var(--ink-muted);gap:.5rem;padding:2.5rem 1rem;display:grid}.form-notice{color:var(--success);font-size:.92rem}.panel--success{background:#2d68440a;border-color:#2d68444d}.search-input{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--ink);padding:.55rem .85rem;font-size:.9rem}.search-input:focus{outline:2px solid var(--accent);outline-offset:1px}.screen-content{gap:1.25rem;padding-bottom:2rem;display:grid}.screen-header{gap:.3rem;display:grid}.screen-header h1{font-size:clamp(1.75rem,3vw,2.5rem)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:.25rem;padding:1.1rem 1.25rem;display:grid}.stat-card--warning{background:#fff8ece6;border-color:#b9771659}.stat-card__value{font-size:1.6rem;font-weight:700}.stat-card__label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.quick-actions{flex-wrap:wrap;gap:.5rem;display:flex}.back-btn{display:none}@media (width<=1200px){.app-frame{grid-template-columns:15rem minmax(0,1fr)}.kpi-grid,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid,.jobs-layout,.messages-layout,.detail-layout,.hero-grid{grid-template-columns:1fr}.work-orders-layout{grid-template-columns:18rem minmax(0,1fr)}}@media (width<=900px){.app-frame{grid-template-columns:1fr}.sidebar{grid-template-rows:auto;height:auto}.sidebar__nav{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{grid-template-columns:1fr}.topbar__actions,.hero-actions,.form-actions{justify-content:flex-start}.toolbar,.form-grid,.detail-grid,.auth-meta{grid-template-columns:1fr}.kpi-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-orders-layout{grid-template-columns:1fr}.work-orders-list{max-height:none}.work-orders-layout--has-detail .work-orders-list{display:none}.back-btn{margin-bottom:.75rem;display:inline-flex}}@media (width<=640px){.public-shell,.app-main,.sidebar{padding:1rem}.sidebar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{flex-direction:column}.kpi-grid,.summary-grid{grid-template-columns:1fr}}.sidebar{color:var(--ink);border-right-color:var(--line-strong);background:linear-gradient(#f9fafb 0%,#f3f4f6 100%)}.sidebar__brand-row{align-items:center;gap:.65rem;display:flex}.sidebar__logo-mark{background:conic-gradient(from 200deg,#1f4194,#c53030,#1f4194);border-radius:999px;width:2rem;height:2rem;box-shadow:0 1px 2px #10182814}.sidebar__wordmark{letter-spacing:-.02em;color:#0a1328;font-size:1.1rem;font-weight:700}.sidebar__sections{flex-direction:column;gap:1.5rem;display:flex}.sidebar__section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .45rem;font-size:.72rem;font-weight:600}.sidebar__nav-link{color:var(--ink-muted)}.sidebar__nav-link:hover,.sidebar__nav-link--active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #1018280d}.sidebar__nav-count{color:var(--ink-soft)}.sidebar__footer{border-top-color:var(--line)}.sidebar__meta-label{color:var(--ink-soft)}.sidebar__user{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem .75rem;display:grid;box-shadow:0 1px 2px #1018280d}.sidebar__user-avatar{color:#fff;background:linear-gradient(135deg,#1f4194,#3b5bdb);border-radius:8px;place-items:center;width:2.75rem;height:2.75rem;font-weight:700;display:grid}.sidebar__user-meta{min-width:0}.sidebar__user-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.92rem;font-weight:600;overflow:hidden}.sidebar__user-role{letter-spacing:.06em;color:var(--ink-soft);margin:.1rem 0 0;font-size:.62rem;font-weight:600}.sidebar__user-signout{color:var(--ink-soft);background:0 0;border:0;border-radius:8px;padding:.25rem;font-size:1.1rem;line-height:1}.sidebar__user-signout:hover{background:var(--surface-muted);color:var(--ink)}.topbar{grid-template-columns:minmax(0,14rem) minmax(12rem,1fr) auto;align-items:center}.topbar__crumbs{align-items:center;gap:.35rem;font-size:.88rem;display:flex}.topbar__crumb-muted{color:var(--ink-soft)}.topbar__crumb-sep{color:var(--ink-soft);font-size:.75rem}.topbar__crumb-strong{color:var(--ink);font-weight:600}.topbar__search{border:1px solid var(--line);background:#ffffffa6;border-radius:12px;align-items:center;gap:.5rem;padding:.45rem .85rem;display:flex;box-shadow:0 1px 2px #1018280d}.topbar__search input{box-shadow:none;background:0 0;border:0;padding:.35rem 0}.topbar__search-icon{border:2px solid var(--ink-soft);opacity:.55;border-radius:999px;flex-shrink:0;width:1rem;height:1rem;position:relative}.topbar__search-icon:after{content:"";background:var(--ink-soft);transform-origin:0;border-radius:2px;width:.38rem;height:2px;position:absolute;bottom:-.32rem;right:-.32rem;transform:rotate(45deg)}.topbar__actions{align-items:center}.button--toolbar{border-radius:10px;padding:.55rem .95rem;font-size:.88rem}.button--toolbar-primary{background:var(--accent);color:#f9fafb;border:1px solid #0000;border-radius:10px;padding:.55rem .95rem;font-size:.88rem;font-weight:600;box-shadow:0 8px 20px #1f419433}.overview-page-header h1{font-size:clamp(1.65rem,2.4vw,2.1rem)}.sign-in-page{background:var(--bg);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.sign-in-page__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.25rem clamp(1.25rem,4vw,3rem);display:flex}.sign-in-page__brand{align-items:center;gap:.65rem;display:flex}.sign-in-page__logo{background:conic-gradient(from 200deg,#1f4194,#c53030,#1f4194);border-radius:999px;width:2.35rem;height:2.35rem;box-shadow:0 1px 2px #10182814}.sign-in-page__wordmark{color:#0a1328;font-size:1.15rem;font-weight:700}.sign-in-page__header-actions{align-items:center;gap:1rem;display:flex}.sign-in-page__link-muted{color:var(--ink-muted);font-size:.86rem;font-weight:600}.sign-in-page__body{flex:1;grid-template-columns:minmax(0,1fr) minmax(18rem,38%);display:grid}.sign-in-page__form-column{flex-direction:column;gap:1.75rem;max-width:28rem;padding:clamp(2rem,5vw,4rem) clamp(1.5rem,5vw,6rem);display:flex}.sign-in-page__intro h1{margin-bottom:.35rem;font-size:1.5rem}.sign-in-page__intro p{color:var(--ink-muted);font-size:.92rem}.sign-in-page__form{flex-direction:column;gap:1rem;display:flex}.sign-in-page__field{flex-direction:column;gap:.35rem;display:flex}.sign-in-page__label{color:var(--ink-muted);font-size:.75rem;font-weight:600}.sign-in-page__label abbr{color:#dc2626;text-decoration:none}.sign-in-page__error{color:#b91c1c;margin:0;font-size:.88rem}.sign-in-page__form-actions{flex-direction:column;gap:.65rem;margin-top:.25rem;display:flex}.button--sign-in{border-radius:12px;width:100%;padding:.75rem 1rem;font-size:1rem}.button--sign-in-qa{border-radius:12px;width:100%;padding:.65rem 1rem;font-size:.92rem}.sign-in-page__footer{color:var(--ink-soft);margin-top:auto;font-size:.75rem}.sign-in-page__hero{border-left:1px solid var(--line);background:linear-gradient(120deg,#1f419426,#0000),url(https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=1200&q=80) 50%/cover no-repeat;border-top-left-radius:16px;min-height:22rem;position:relative}.sign-in-page__hero-overlay{background:linear-gradient(#ffffff0d,#11182740);border-top-left-radius:16px;position:absolute;inset:0}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.calendar-day-card{border:1px solid var(--line);background:#ffffffeb;border-radius:18px;padding:1rem}.calendar-day-header strong{font-size:1.05rem;display:block}.calendar-day-header span{color:var(--ink-muted);font-size:.82rem}.calendar-event-card{border-top:1px solid var(--line);gap:.15rem;padding:.65rem 0;display:grid}.calendar-event-card:first-of-type{border-top:0;padding-top:0}.calendar-event-card small{color:var(--ink-soft);font-size:.75rem}.loading-spinner{border-color:#1f419426;border-top-color:var(--accent)}@media (width<=960px){.sign-in-page__body{grid-template-columns:1fr}.sign-in-page__hero{display:none}.sign-in-page__form-column{max-width:none}}.onboarding-steps{align-items:center;gap:.4rem;display:flex}.onboarding-step{background:var(--line);border-radius:999px;width:.5rem;height:.5rem;transition:background .15s,width .15s}.onboarding-step--active{background:var(--ink);width:1.25rem}.onboarding-step--done{background:var(--ink-muted)}.welcome-roles{flex-direction:column;gap:.75rem;display:flex}.welcome-role-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.25rem;transition:border-color .1s,background .1s;display:flex}.welcome-role-btn:hover{border-color:var(--ink-muted);background:var(--bg)}.welcome-role-btn strong{color:var(--ink);font-size:.95rem}.welcome-role-btn span{color:var(--ink-muted);font-size:.8rem}.otp-input{letter-spacing:.5rem;text-align:center;font-variant-numeric:tabular-nums;font-size:1.5rem}.discover-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.discover-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.topbar__notif-bell{font-size:1rem;line-height:1;position:relative}.notif-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);z-index:200;width:320px;max-width:calc(100vw - 2rem);max-height:min(28rem,70vh);position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.notif-panel__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.list-row--unread{background:color-mix(in srgb, var(--accent) 6%, transparent)}.ai-chat-fab{background:var(--ink);width:3rem;height:3rem;color:var(--surface);cursor:pointer;z-index:150;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;transition:transform .15s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #0003}.ai-chat-fab:hover{transform:scale(1.08)}.ai-chat-drawer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);z-index:149;flex-direction:column;width:340px;max-height:480px;display:flex;position:fixed;bottom:5rem;right:1.5rem;overflow:hidden;box-shadow:0 8px 32px #00000026}.ai-chat-drawer__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;display:flex}.ai-chat-drawer__messages{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.ai-chat-drawer__msg{border-radius:var(--radius);max-width:85%;padding:.5rem .75rem;font-size:.85rem;line-height:1.5}.ai-chat-drawer__msg--user{background:var(--ink);color:var(--surface);align-self:flex-end}.ai-chat-drawer__msg--assistant{background:var(--bg);border:1px solid var(--line);align-self:flex-start}.ai-chat-drawer__input{border-top:1px solid var(--line);gap:.5rem;padding:.75rem;display:flex}.ai-chat-drawer__input input{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);flex:1;padding:.4rem .6rem;font-size:.85rem}@media (width<=480px){.ai-chat-drawer{width:calc(100vw - 2rem);right:1rem}}
