:root{--brand-yellow:#ffc700;--brand-ink:#202020;--brand-cream:#faf8f1;--brand-ink-muted:#4a4a4a;--border:#2020201f;--danger:#b42318;--success:#027a48;--font-mono:"DM Mono", ui-monospace, monospace;--font-body:"Inter", system-ui, sans-serif;--radius:12px;--shadow:0 8px 30px #20202014}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--brand-ink);background:var(--brand-cream);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4,.section-title,.page-title,.auth-title,.remo-logo,.modal-title{font-family:var(--font-mono);letter-spacing:-.02em;font-weight:500}button,input,select,textarea{font-family:inherit}a{color:var(--brand-ink)}.remo-logo{color:var(--brand-ink);background:var(--brand-yellow);border-radius:8px;justify-content:center;align-items:center;width:fit-content;padding:.35em .65em;font-weight:500;display:inline-flex}.muted{color:var(--brand-ink-muted)}.muted.small,.small{font-size:.875rem}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink-muted);margin:0 0 .25rem;font-size:.75rem}.page-title{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.section-title{align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1.05rem;display:flex}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.9375rem;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand-yellow);color:var(--brand-ink);box-shadow:0 2px #20202026}.btn-primary:hover{filter:brightness(1.03)}.btn-secondary{background:var(--brand-ink);color:var(--brand-cream)}.btn-ghost{color:var(--brand-ink);background:0 0}.btn-ghost:hover{background:#2020200f}.btn-block{width:100%}.btn-lg{padding:.85rem 1.25rem;font-size:1rem}.btn-sm{padding:.4rem .75rem;font-size:.8125rem}.icon-only{padding:.5rem}.icon-btn{cursor:pointer;color:var(--brand-ink);background:0 0;border:none;border-radius:8px;padding:.35rem}.icon-btn:hover{background:#20202014}.icon-btn.danger{color:var(--danger)}.text-danger{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:.875rem;font-weight:600}.text-danger:disabled{opacity:.5;cursor:default}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-label{font-size:.8125rem;font-weight:600}.form-label .muted{font-weight:500}.form-input{border:1px solid var(--border);color:var(--brand-ink);background:#fff;border-radius:10px;padding:.65rem .75rem}.form-input:focus{outline:2px solid var(--brand-yellow);outline-offset:1px}.stack-form{flex-direction:column;gap:1rem;display:flex}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-row.two-col>.form-group{flex:140px}.form-row.three-col>.form-group{flex:180px}.checkbox-label{align-items:center;gap:.5rem;margin-top:1.75rem;font-weight:500;display:flex}.radio-fieldset{border:none;margin:0;padding:0}.radio-fieldset .form-label{margin-bottom:.5rem}.radio-group{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}@media (width<=380px){.radio-group{grid-template-columns:1fr}}.radio-option{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.65rem;padding:.65rem .75rem;font-weight:500;transition:border-color .12s,background .12s;display:flex}.radio-option:hover{border-color:#ffc70099}.radio-option.selected{border-color:var(--brand-yellow);background:#ffc7001f}.radio-option input{accent-color:var(--brand-ink);width:1rem;height:1rem;margin:0}.otp-input{letter-spacing:.25em;text-align:center;font-size:1.25rem}.error-banner{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:.65rem .85rem;font-size:.875rem}.success-banner{color:var(--success);background:#ecfdf3;border:1px solid #abefc6;border-radius:10px;padding:.65rem .85rem;font-size:.875rem}.demo-banner{border:1px dashed var(--brand-yellow);background:#fff;border-radius:10px;margin-bottom:.5rem;padding:.75rem;font-size:.875rem}.landing-page{max-width:960px;min-height:100vh;margin:0 auto;padding:2rem 1.25rem 3rem}.landing-header{margin-bottom:2.5rem}.landing-tagline{max-width:32rem;margin:1rem 0 0;font-size:1.125rem}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.portal-card{border:1px solid var(--border);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:.75rem;padding:1.5rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.portal-card:hover{border-color:var(--brand-yellow);transform:translateY(-2px)}.portal-card h2{font-family:var(--font-mono);margin:0;font-size:1.35rem}.portal-card p{color:var(--brand-ink-muted);flex:1;margin:0}.portal-cta{color:var(--brand-ink);font-weight:600}.portal-card-office{background:var(--brand-ink);color:var(--brand-cream);border-color:var(--brand-ink)}.portal-card-office p,.portal-card-office .portal-cta{color:var(--brand-cream)}.portal-card-office svg{color:var(--brand-yellow)}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);border:1px solid var(--border);background:#fff;padding:2rem 1.75rem}.auth-title{margin:1rem 0 .35rem;font-size:1.5rem}.auth-subtitle{color:var(--brand-ink-muted);margin:0 0 1.25rem}.signin-steps{flex-direction:column;gap:.65rem;margin:0 0 1rem;padding-left:1.25rem;display:flex}.signin-steps li{line-height:1.4}.user-shell{max-width:560px;margin:0 auto;padding:1.25rem 1rem 3rem}.user-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.status-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:600}.chip-ok{color:var(--success);background:#ecfdf3;border-color:#abefc6}.chip-warn{color:#b54708;background:#fffaeb;border-color:#fedf89}.chip-neutral{background:#f4f4f5}.action-card,.panel,.eod-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:1rem;padding:1.25rem;box-shadow:0 2px 12px #2020200a}.muted-panel{background:#fff9}.action-row{gap:.75rem;margin-bottom:1rem;display:flex}.flex-1{flex:1}.mark-done{flex-direction:column;gap:.5rem;display:flex}.link-maps{align-items:center;gap:.35rem;font-size:.875rem;font-weight:600;display:inline-flex}.holiday-list{margin:0;padding:0;list-style:none}.holiday-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.9375rem;display:flex}.holiday-list li:last-child{border-bottom:none}.modal-backdrop{z-index:100;background:#20202073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--brand-cream);border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow);overflow:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{margin:0;font-size:1.1rem}.modal-body{padding:1.25rem}.office-shell{min-height:100vh;display:flex}.office-sidebar{background:var(--brand-ink);width:240px;min-height:100vh;color:var(--brand-cream);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.5rem;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.office-sidebar .remo-logo{background:var(--brand-yellow);color:var(--brand-ink)}.office-sidebar-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin:0;font-size:.75rem}.office-nav{flex-direction:column;flex:1;gap:.25rem;margin-top:1rem;display:flex}.nav-link{color:var(--brand-cream);border-radius:8px;align-items:center;gap:.65rem;padding:.65rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:#ffffff14}.nav-link.active{background:var(--brand-yellow);color:var(--brand-ink)}.office-sidebar-foot{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:1rem}.office-sidebar-foot .muted{color:#faf8f1b3}.office-sidebar-foot .btn-ghost{color:var(--brand-cream);justify-content:flex-start;width:100%;margin-top:.5rem;padding-left:.5rem}.office-sidebar-foot .btn-ghost:hover{color:var(--brand-yellow);background:#ffffff1a}.office-main{flex:1;min-width:0;padding:1.5rem 1.75rem 2.5rem}.office-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:1rem}.stat-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:500;display:block}.stat-label{color:var(--brand-ink-muted);font-size:.8125rem}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filters-bar .form-group.flex-2{flex:2 200px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem 1rem}.data-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:#faf8f1cc;font-size:.75rem;font-weight:500}.table-actions{flex-wrap:wrap;gap:.35rem;display:flex}.pad{padding:1rem}.status-pill{background:#f4f4f5;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-present{color:var(--success);background:#ecfdf3}.status-absent{color:var(--danger);background:#fef3f2}.status-holiday{color:#175cd3;background:#eff8ff}.toggle-pill{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.toggle-pill.on{background:var(--brand-yellow);border-color:var(--brand-yellow)}.update-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.update-item{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.update-item-head{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.update-meta{align-items:center;gap:.5rem;display:flex}.update-body{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding:0 1rem 1rem;display:flex}.update-body h4{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin:.75rem 0 .25rem;font-size:.75rem}.update-body p{white-space:pre-wrap;margin:0}.app-loading,.office-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.user-nav{gap:.5rem;margin-bottom:1.25rem;display:flex}.user-nav-link{color:var(--brand-ink-muted);border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.user-nav-link.active{background:var(--brand-yellow);color:var(--brand-ink);border-color:var(--brand-yellow)}.profile-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.profile-tab{border:1px solid var(--border);color:var(--brand-ink-muted);cursor:pointer;background:#fff;border-radius:999px;padding:.5rem .9rem;font-size:.875rem;font-weight:600}.profile-tab.active{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink)}.onboarding-page{max-width:520px;margin:0 auto;padding:2rem 1rem 3rem}.onboarding-steps{gap:.5rem;margin:1.5rem 0;display:flex}.onboarding-step{text-align:center;color:var(--brand-ink-muted);flex-direction:column;flex:1;align-items:center;gap:.35rem;font-size:.7rem;display:flex}.onboarding-step .step-num{width:28px;height:28px;font-family:var(--font-mono);border:2px solid var(--border);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:500;display:flex}.onboarding-step.current .step-num,.onboarding-step.done .step-num{border-color:var(--brand-yellow);background:var(--brand-yellow);color:var(--brand-ink)}.onboarding-form{margin-top:.5rem}.file-input{padding:.45rem}.profile-detail-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.detail-list{margin:0}.detail-list>div{margin-bottom:.75rem}.detail-list dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--brand-ink-muted);margin-bottom:.15rem;font-size:.7rem}.detail-list dd{margin:0;font-weight:500}.back-link{align-items:center;gap:.35rem;margin-bottom:1rem;font-weight:600;text-decoration:none;display:inline-flex}.table-link{font-size:.875rem;font-weight:600}.inline-link{align-items:center;gap:.25rem;margin-left:.5rem;display:inline-flex}.eod-upcoming{background:linear-gradient(135deg,#fff 0%,#ffc7001f 100%);border-color:#ffc70073}.eod-upcoming-lead{margin:0 0 .75rem;font-size:.9375rem}.eod-countdown{color:var(--brand-ink);margin:0;font-size:.9375rem}.eod-countdown-value{font-family:var(--font-mono);color:var(--brand-ink);font-size:1.05rem;font-weight:500}.eod-test-actions{border-top:1px dashed var(--border);flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.eod-preview-banner{margin-bottom:.75rem}.link-btn{font:inherit;cursor:pointer;color:var(--brand-ink);background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.eod-cta{background:linear-gradient(135deg,#fff 0%,#ffc70026 100%)}.eod-summary-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.eod-summary-head .section-title{margin:0}.holiday-mode{border:0;gap:1.25rem;margin:0;padding:0;display:flex}.holiday-mode .form-label{width:100%;margin-bottom:.15rem}.deleted-users{margin-top:0}.deleted-users .muted{margin:.25rem 0 1rem}.record-log{margin-top:1.5rem}.mood-row{flex-wrap:wrap;gap:.5rem;display:flex}.mood-choice{border:1px solid var(--border);min-width:4.4rem;color:var(--brand-ink);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem .4rem .45rem;display:flex}.mood-choice:hover{border-color:var(--brand-ink)}.mood-choice.selected{background:var(--brand-yellow);border-color:var(--brand-yellow)}.mood-emoji{font-size:1.35rem;line-height:1}.mood-label{font-size:.75rem;font-weight:600}.mood-saved{align-items:center;gap:.35rem;margin:.75rem 0 0;font-weight:600;display:inline-flex}.eod-summary-body{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.eod-summary-body h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--brand-ink-muted);margin:0 0 .25rem;font-size:.72rem}.eod-summary-body p{white-space:pre-wrap;margin:0}.eod-locked-chip{align-items:center;gap:.25rem;display:inline-flex}.daily-updates-table-wrap{overflow-x:auto}.daily-updates-table{min-width:960px}.daily-updates-table .cell-nowrap{white-space:nowrap;vertical-align:top}.daily-updates-table .cell-person{vertical-align:top;min-width:140px}.daily-updates-table .cell-text{vertical-align:top;white-space:pre-wrap;min-width:180px;max-width:280px;font-size:.875rem;line-height:1.45}@media (width<=768px){.office-shell{flex-direction:column}.office-sidebar{flex-flow:wrap;align-items:center;width:100%}.office-nav{flex-flow:wrap;width:100%}.office-sidebar-foot{width:100%}}
