@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#102a43;font-synthesis:none;background:linear-gradient(160deg,#0c2340 0%,#164a63 45%,#2f9184 100%) fixed;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0}.auth-shell{background:linear-gradient(160deg,#0c2340 0%,#164a63 45%,#2f9184 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dce5df;border-radius:28px;width:min(100%,430px);padding:42px;animation:.55s cubic-bezier(.2,.8,.3,1) both cardRiseIn;box-shadow:0 20px 70px #102a4314}.brand-mark{color:#fff;background:#ef6f5e;border-radius:16px;place-items:center;width:52px;height:52px;font-family:Space Grotesk;font-size:18px;font-weight:700;display:grid;transform:rotate(-5deg)}.eyebrow{letter-spacing:2px;color:#ef6f5e;margin:22px 0 10px;font-size:11px;font-weight:700}.auth-card h1,.topbar h1,.hero h2{color:#102a43;margin:0;font-family:Space Grotesk}.auth-card h1{font-size:32px}.muted{color:#627d98;margin:12px 0 30px;line-height:1.6}label{color:#334e68;margin:18px 0;font-size:13px;font-weight:600;display:block}input,select{color:#102a43;width:100%;font:inherit;background:#fff;border:1px solid #bcccdc;border-radius:14px;outline:none;margin-top:8px;padding:14px 15px;transition:border-color .2s,box-shadow .2s;display:block}input:focus,select:focus{border-color:#ef6f5e;box-shadow:0 0 0 4px #ef6f5e2e}.primary{color:#fff;background:#102a43;border-radius:16px;width:100%;margin-top:14px;padding:15px 18px;font-weight:700;transition:transform .18s,box-shadow .18s}.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #10284350}.primary:active:not(:disabled){transform:translateY(0)}.primary span{float:right;font-size:20px;line-height:14px}.text-button{color:#ef6f5e;background:0 0;margin:20px auto 0;font-weight:700;display:block}.error{color:#c0392b;background:#fff0ed;padding:10px;font-size:13px}.demo-note{text-align:center;color:#829ab1;margin:35px 0 0;font-size:11px}.app-shell{max-width:1050px;min-height:100vh;margin:auto;padding:42px 34px 150px}.topbar{justify-content:space-between;align-items:center;display:flex}.topbar .eyebrow{color:#829ab1;margin:0 0 8px}.topbar h1{font-size:28px}.avatar{color:#fff;background:#ef6f5e;border-radius:50%;width:42px;height:42px;font-weight:700}.offline-banner{color:#27734d;background:#e6f4ee;margin:28px 0 20px;padding:10px 14px;font-size:12px}.hero{color:#fff;background:#102a43;padding:34px;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #ffffff35;width:180px;height:180px;position:absolute;top:-65px;right:-35px;transform:rotate(25deg)}.hero .eyebrow{color:#f5c36b;margin:0 0 14px}.hero h2{color:#fff;font-size:34px}.hero p:last-child{color:#c9d6e2;max-width:460px;line-height:1.5}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;display:grid}.feature-card{min-height:210px;padding:24px;transition:transform .2s}.feature-card:hover{transform:translateY(-3px)}.coral-card{color:#fff;background:#ef6f5e}.navy-card{color:#fff;background:#1f4e5f}.pale-card{color:#102a43;background:#f5c36b}.card-label{letter-spacing:1.5px;font-size:11px;font-weight:700}.card-label span{float:right}.feature-card h3{margin:40px 0 8px;font-family:Space Grotesk;font-size:27px}.feature-card p{margin:0 0 28px}.feature-card strong{font-size:13px}.light-link{color:#d8ebe4}.dark-link{color:#102a43}.bottom-nav{background:#fff;border:1px solid #dce5df;gap:4px;padding:8px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #102a4320}.bottom-nav button{color:#829ab1;background:0 0;padding:8px 15px;font-size:17px}.bottom-nav button span{margin-top:4px;font-size:10px;display:block}.modal{background:#102a4388;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:min(100%,400px);padding:32px;position:relative}.pay-modal label{margin:16px 0}.modal-content h2{margin:4px 0;font-family:Space Grotesk;font-size:32px}.close{color:#829ab1;background:0 0;font-size:25px;position:absolute;top:14px;right:16px}.day-tabs{gap:8px;margin:35px 0 18px;display:flex}.day-tabs button{color:#627d98;background:#e6ece8;padding:12px 20px}.day-tabs .selected{color:#fff;background:#ef6f5e}.schedule{gap:10px;display:grid}.schedule-item{border-left:5px solid;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.schedule-item p{color:#486581;margin:6px 0 0;font-size:13px}.schedule-meta{text-align:right;color:#486581;font-size:12px;line-height:1.7}.coral{background:#fff7f5;border-color:#ef6f5e}.teal{background:#f1fbf8;border-color:#2a9d8f}.gold{background:#fffaf0;border-color:#f5c36b}.offline-cta{max-width:250px;margin-top:24px}@media (width<=680px){.app-shell{padding:28px 18px 150px}.dashboard-grid{grid-template-columns:1fr}.feature-card{min-height:170px}.feature-card h3{margin-top:25px}.hero{padding:26px}.hero h2{font-size:29px}.bottom-nav{justify-content:space-around;width:calc(100% - 24px)}.bottom-nav button{padding:8px 10px}.auth-card{padding:30px 24px}.day-tabs{overflow:auto}.day-tabs button{flex:none}}.splash{color:#fff;text-align:center;background:linear-gradient(160deg,#0c2340 0%,#164a63 45%,#2f9184 100%);place-content:center;justify-items:center;min-height:100vh;display:grid}.splash .brand-mark{background:#ef6f5e;margin-bottom:4px}.splash .eyebrow{color:#f5c36b}.splash h1{margin:0;font-family:Space Grotesk;font-size:clamp(34px,6vw,58px);line-height:1.05}.loader{background:#ffffff40;width:52px;height:3px;margin-top:42px;overflow:hidden}.loader:after{content:"";background:#ef6f5e;width:22px;height:100%;animation:1.2s infinite load;display:block}@keyframes load{0%{transform:translate(-22px)}to{transform:translate(52px)}}.profile-preview,.permission-list{border:1px solid #dce5df;margin:22px 0;padding:4px}.profile-preview span,.profile-preview strong{border-bottom:1px solid #edf1ee;padding:14px 16px;display:block}.profile-preview span:last-child{border:0}.profile-preview strong{font-family:Space Grotesk;font-size:20px}.permission-list>div{border-bottom:1px solid #edf1ee;align-items:center;gap:12px;padding:16px;display:flex}.permission-list>div:last-child{border:0}.permission-icon{color:#ef6f5e;font-size:22px}.permission-list strong,.permission-list small{display:block}.permission-list small{color:#829ab1;margin-top:3px}.permission-list input{accent-color:#ef6f5e;width:20px;margin:0 0 0 auto}.detail-page,.attendance-page{max-width:650px}.back-button{color:#ef6f5e;background:0 0;padding:0;font-weight:700}.detail-page h1,.attendance-page h1{margin:0;font-family:Space Grotesk;font-size:42px}.detail-title{color:#627d98;font-size:18px}.detail-list{border-block:1px solid #dce5df;grid-template-columns:repeat(3,1fr);margin:30px 0;display:grid}.detail-list div{border-right:1px solid #dce5df;padding:20px 12px}.detail-list div:last-child{border:0}.detail-list small{color:#829ab1;letter-spacing:1px;margin-bottom:8px;font-size:10px;display:block}.detail-list strong{font-size:14px}.secondary{color:#102a43;background:#e6ece8;width:100%;margin-top:12px;padding:14px 18px;font-weight:700}.ai-prompt{color:#627d98;justify-content:space-between;padding:20px 0;display:flex}.ai-prompt span{color:#ef6f5e;font-weight:700}.qr-placeholder{background:repeating-linear-gradient(45deg,#102a43 0 5px,#fff 5px 10px);border:16px solid #fff;outline:1px solid #dce5df;place-content:center;justify-items:center;width:220px;height:220px;margin:30px auto;display:grid}.qr-placeholder span{color:#102a43;background:#fff;padding:14px;font-size:54px}.qr-placeholder small{color:#ef6f5e;background:#fff;padding:5px;font-weight:700}.attendance-status{border-block:1px solid #dce5df;justify-content:space-between;align-items:center;margin-bottom:14px;padding:18px 0;display:flex}.attendance-status span{color:#ef6f5e;font-size:13px}@media (width<=680px){.detail-list{grid-template-columns:1fr}.detail-list div{border-bottom:1px solid #dce5df;border-right:0}.detail-page h1,.attendance-page h1{font-size:34px}}.qr-placeholder img{background:#fff;padding:14px;display:block}.otp-boxes{gap:10px;margin:18px 0;display:flex}.otp-boxes input{text-align:center;width:100%;padding:14px 0;font-family:Space Grotesk;font-size:22px}.toggle-row{gap:8px;margin:35px 0 0;display:flex}.chip{color:#627d98;background:#e6ece8;padding:10px 18px;font-size:13px;font-weight:600}.chip.active{color:#fff;background:#102a43}.role-tabs{gap:8px;margin:26px 0 0;display:flex}.role-tabs button{color:#627d98;background:#e6ece8;border-radius:14px;flex:1;padding:10px 0;font-size:13px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s}.role-tabs .selected{color:#fff;background:#ef6f5e;box-shadow:0 0 0 4px #ef6f5e2e}.role-tabs button.bounce{animation:.4s tabBounce}.role-tabs-wrap{flex-wrap:wrap;margin-top:14px}.role-tabs-wrap button{flex:none;padding:8px 14px}.portal-choice{gap:14px;margin:26px 0 6px;display:grid}.portal-card{text-align:left;background:#f7f8f6;border:1px solid #dce5df;border-radius:18px;align-items:center;gap:16px;width:100%;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.portal-card:hover{border-color:#ef6f5e;transform:translateY(-2px);box-shadow:0 10px 24px #10284314}.portal-icon{flex-shrink:0;font-size:28px}.portal-card strong{color:#102a43;font-size:16px;display:block}.portal-card small{color:#627d98;margin-top:3px;font-size:12px;display:block}.portal-arrow{color:#ef6f5e;margin-left:auto;font-size:18px;font-weight:700}.platform-corner-link{z-index:10;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border:1px solid #fff3;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;position:fixed;top:18px;right:18px}.platform-corner-link:hover{background:#fff3}@media (width<=420px){.platform-corner-link{padding:8px 12px;font-size:11px;top:14px;right:14px}}.week-grid-scroll{-webkit-overflow-scrolling:touch;margin-top:18px;overflow-x:auto}.week-grid{background:#fff;border:1px solid #dce5df;border-radius:12px;grid-template-columns:56px repeat(7,minmax(104px,1fr));min-width:800px;display:grid;overflow:hidden;box-shadow:0 12px 30px #10284324}.wg-corner{background:#f7f8f6;border-bottom:1px solid #dce5df}.wg-day-head{letter-spacing:.04em;color:#486581;background:#f7f8f6;border-bottom:1px solid #dce5df;border-left:1px solid #ececec;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.wg-hour-label{color:#829ab1;text-align:right;border-top:1px solid #ececec;padding-right:8px;font-size:11px}.wg-cell{border-top:1px solid #f2f2f0;border-left:1px solid #ececec}.wg-cell-hour{border-top:1px solid #e2e2de}.wg-block{text-align:left;cursor:pointer;color:#1a2b3c;border-left:4px solid;border-radius:8px;flex-direction:column;gap:1px;margin:2px;padding:4px 6px;font-size:10.5px;line-height:1.3;display:flex;position:relative;overflow:hidden}.wg-block strong{font-size:11.5px}.wg-block.coral{background:#fff1ee;border-color:#ef6f5e}.wg-block.teal{background:#eafbf6;border-color:#2a9d8f}.wg-block.gold{background:#fff8e8;border-color:#f5c36b}.wg-block.wg-conflict{background:#fdecd2;border-color:#c9820f}.wg-warning{font-size:11px;position:absolute;top:3px;right:4px}.app-shell .week-grid,.app-shell .wg-corner,.app-shell .wg-day-head,.app-shell .wg-hour-label{color:#1a2b3c}.stat-tiles{gap:10px;margin:20px 0 4px;display:flex}.stat-tile{text-align:center;background:#ffffff1a;border:1px solid #fff3;border-radius:14px;flex:1;padding:14px 10px}.stat-tile strong{color:#fff;font-family:Space Grotesk;font-size:22px;display:block}.stat-tile span{color:#cfe3e6;text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.role-group{margin-top:26px}.role-group-label{letter-spacing:.04em;text-transform:uppercase;color:#ffd28a;justify-content:space-between;margin:0 4px 10px;font-size:12px;font-weight:700;display:flex}.role-group-label span{color:#cfe3e6;font-weight:600}.profile-hero{text-align:center;margin-top:20px}.profile-avatar{color:#fff;background:#ef6f5e;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 14px;font-family:Space Grotesk;font-size:24px;font-weight:700;display:grid}.profile-hero h2{color:#fff;margin:0;font-family:Space Grotesk;font-size:24px}.profile-hero p{color:#cfe3e6;margin:4px 0 0}.profile-row{border-bottom:1px solid #ffffff26;padding:16px 20px}.profile-row:last-child{border:0}.profile-row small{color:#a9c4cc;letter-spacing:.04em;margin-bottom:6px;font-size:10px;display:block}.profile-row strong{color:#fff;font-size:15px}.app-shell .sign-out-button{color:#ffb199;background:#ef6f5e22;border:1px solid #ef6f5e55;width:100%;margin-top:26px}.app-shell .sign-out-button:hover{background:#ef6f5e38}.input-wrap{margin-top:8px;position:relative}.input-wrap input{margin-top:0;padding-right:44px}.eye-toggle{color:#ef6f5e;background:0 0;border-radius:10px;place-items:center;padding:8px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.eye-toggle:hover{background:#ef6f5e14}@keyframes cardRiseIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes tabBounce{0%{transform:scale(1)}35%{transform:scale(1.1)}60%{transform:scale(.96)}to{transform:scale(1)}}.bottom-nav button.disabled{opacity:.35;cursor:not-allowed}.offline-top-banner{z-index:20;color:#102a43;text-align:center;background:#f5c36b;padding:8px;font-size:12px;font-weight:700;position:sticky;top:0}.feature-card,.schedule-item{cursor:pointer}.app-shell .topbar h1,.app-shell h1{color:#fff}.app-shell .topbar .eyebrow,.app-shell .eyebrow{color:#ffd28a}.app-shell .muted,.app-shell .detail-title,.app-shell .ai-prompt{color:#cfe3e6}.app-shell .back-button{color:#ffb199}.app-shell .detail-list{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border-color:#ffffff3d;border-radius:16px}.app-shell .detail-list div{border-color:#ffffff26}.app-shell .detail-list small{color:#bcdce0}.app-shell .detail-list strong{color:#fff}.app-shell .attendance-status{border-color:#ffffff3d}.app-shell .attendance-status strong{color:#fff}.app-shell .toggle-row .chip{color:#e7f3f5;background:#ffffff1f}.app-shell .toggle-row .chip.active{color:#fff;background:#ef6f5e}.app-shell .day-tabs button{color:#e7f3f5;background:#ffffff1f}.app-shell .day-tabs .selected{color:#fff;background:#ef6f5e}.app-shell .secondary{color:#fff;background:#ffffff24}.app-shell label{color:#cfe3e6}.app-shell input[type=color]{cursor:pointer;height:48px;padding:4px}.bottom-nav{background:#0c2340e6;border-color:#ffffff26}.bottom-nav button{color:#9fc7cf}.bottom-nav .active{color:#ffb199}
