:root{font-family:Avenir Next,SF Pro Display,Segoe UI,sans-serif;color:#f5f7fb;background:radial-gradient(circle at top left,rgba(255,160,122,.32),transparent 28%),radial-gradient(circle at top right,rgba(72,166,255,.28),transparent 30%),linear-gradient(180deg,#07111f,#0f1d31 45%,#eef3f9 45%,#eef3f9);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.7}#app{min-height:100vh}.shell{width:min(100%,880px);margin:0 auto;padding:24px 16px 112px;display:grid;gap:16px}.hero-card,.panel{border-radius:28px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 22px 60px #07111f2e}.hero-card{padding:24px;background:linear-gradient(145deg,#07111feb,#132740db);display:grid;gap:20px}.hero-copy h1,.section-heading h2{margin:0}.hero-copy p,.panel p{margin:8px 0 0}.auth-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero-stats div,.checkin-card,.progress-card,.attendance-item,.stack-item{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:22px}.hero-stats div{padding:16px}.hero-stats strong,.progress-meta strong,.checkin-card strong,.attendance-item strong,.stack-item strong,.placeholder-card strong{display:block;font-size:1.1rem}.metric-label,.attendance-grid span,.attendance-top span,.stack-item p,.stack-item small,.gps-note,.progress-meta span,.attendance-meta,.panel-message{color:#f5f7fbb8;font-size:.92rem}.eyebrow{display:inline-block;margin-bottom:8px;color:#ffb287;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.panel{padding:20px;background:#ffffffc2;color:#102036}.panel .eyebrow{color:#dd6d3b}.panel .metric-label,.panel .attendance-grid span,.panel .attendance-top span,.panel .stack-item p,.panel .stack-item small,.panel .gps-note,.panel .progress-meta span,.panel .attendance-meta,.panel .panel-message{color:#102036ad}.compact{padding-bottom:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.range-switch{padding:4px;background:#10203614;border-radius:999px}.range-switch button{border:0;border-radius:999px;padding:9px 16px;color:#41536d;background:transparent}.range-switch button.active{background:#102036;color:#f5f7fb}.progress-card{padding:16px}.progress-track{height:12px;overflow:hidden;border-radius:999px;background:#1020361f}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8d5c,#ffcf67)}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.checkin-card{padding:18px;display:grid;gap:16px}.primary-button{width:100%;border:0;border-radius:18px;padding:16px;font-weight:700;color:#f5f7fb;background:linear-gradient(135deg,#0f6fff,#35c6a8);box-shadow:0 12px 28px #0f6fff47}.secondary-button{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:16px;font-weight:700;color:#f5f7fb;background:#ffffff14}.ghost-button{width:100%;border:1px solid rgba(16,32,54,.12);border-radius:18px;padding:16px;font-weight:700;color:#102036;background:#1020360a}.auth-note,.auth-error,.config-copy,.config-list{margin:0}.auth-note,.config-copy,.config-list{color:#f5f7fbcc}.auth-error{color:#ffd1c0;font-size:.92rem}.config-card{padding:18px;border-radius:22px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);display:grid;gap:10px}.config-list{padding-left:18px}.attendance-meta{margin-top:12px}.panel-error{color:#a13d2d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;padding:24px 16px;display:grid;place-items:center;background:#07111f75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40}.modal-card{width:min(100%,520px);padding:24px;border-radius:28px;background:#ffffffeb;color:#102036;box-shadow:0 22px 60px #07111f47}.mark-options{display:grid;gap:10px;margin-top:8px}.mark-option{border:1px solid rgba(16,32,54,.12);border-radius:18px;padding:14px 16px;text-align:left;color:#102036;background:#1020360a}.mark-option.active{color:#f5f7fb;background:linear-gradient(135deg,#0f6fff,#35c6a8);box-shadow:0 12px 28px #0f6fff38}.modal-actions{margin-top:20px;display:grid;gap:12px}.gps-note{margin-bottom:0}.attendance-list,.stack-list{display:grid;gap:12px}.attendance-item,.stack-item{padding:16px}.attendance-top,.stack-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack-item-rich{align-items:flex-start}.stack-copy small{display:block;margin-top:6px}.attendance-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.status-pill{flex-shrink:0;padding:8px 12px;border-radius:999px;font-size:.8rem;font-weight:700}.status-live{color:#0d5a48;background:#3dd3a12e}.status-ok{color:#22604c;background:#2eb3722e}.status-warn{color:#8e5a00;background:#ffc44938}.muted{background:#ffffff8f}.status-muted{color:#5f6379;background:#767c992e}.placeholder-card{padding:22px;border-radius:22px;background:linear-gradient(145deg,#ff8d5c1f,#0f6fff14),#ffffff0f;border:1px solid rgba(16,32,54,.08)}.bottom-nav{position:fixed;left:50%;bottom:16px;transform:translate(-50%);width:min(calc(100% - 24px),560px);padding:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-radius:26px;background:#07111fe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 60px #07111f57;z-index:20}.nav-item{border:0;border-radius:20px;padding:12px 8px;display:grid;gap:6px;justify-items:center;color:#f5f7fbb8;background:transparent;transition:background-color .18s ease,color .18s ease,transform .18s ease}.nav-item.active{color:#fff;background:linear-gradient(135deg,#0f6fff4d,#35c6a847);transform:translateY(-2px)}.nav-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:1rem;background:#ffffff14}@media(min-width:760px){.shell{padding:32px 24px 120px}.hero-card{grid-template-columns:1.4fr .9fr;align-items:end}.checkin-card{grid-template-columns:1fr auto;align-items:center}.primary-button,.secondary-button{width:auto;min-width:220px}.ghost-button{width:auto;min-width:160px}.modal-actions{grid-template-columns:1fr 1.2fr}.bottom-nav{bottom:24px}}
