:root{--color-primary:#1acdd3;--color-primary-hover:#199296;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--shadow:0 10px 25px #00000014;--transition:all .25s ease;--container:720px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{background:var(--bg);height:100%;color:var(--text);transition:var(--transition)}#app{text-align:center;flex-direction:column;display:flex}body{font-family:Inter,Arial,sans-serif;font-weight:400}img{max-width:100%;display:block}a{color:var(--color-primary);text-decoration:underline}ul{list-style:none}button,input,textarea{font-family:inherit}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.page{min-height:100vh;padding:1.5rem 0 5rem}.stack{align-content:start;gap:1rem;display:grid}.header-center{text-align:center;margin-bottom:1rem}.content{padding-top:80px;padding-bottom:calc(64px + env(safe-area-inset-bottom));flex:1}.button-row{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.top-bar{background:var(--bg);z-index:100;justify-content:center;align-items:center;height:100px;display:flex;position:fixed;top:0;left:0;right:0}.app-logo{height:125px;position:absolute;left:50%;transform:translate(-50%)}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);height:auto;padding:1.25rem}button,.btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 1rem;font-size:.95rem;font-weight:700}button:hover,.btn:hover{background:var(--color-primary-hover)}button.danger,.btn.danger{background:#e53935}button.danger:hover{background:#a32826}input,select,textarea{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);padding:.9rem 1rem}.list{gap:.75rem;display:grid}.list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);height:auto;padding:1rem}.muted{color:var(--text-soft)}.tab{color:var(--text-soft);transition:var(--transition);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:.7rem;text-decoration:none;display:flex}.tab.active{color:var(--color-primary)}.tab .icon{width:22px;height:22px}select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:.9rem 1rem;font-size:.8rem}.checkbox-row{justify-content:center;align-items:center;gap:.6rem;width:100%;margin:.75rem 0 1rem;display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;margin:0}.dark{--bg:#1e1e1e;--surface:#2a2a2a;--surface-2:#242424;--text:#f5f5f5;--text-soft:#bdbdbd;--border:#3a3a3a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.light{--bg:#fff;--surface:#f7f7f7;--surface-2:#fff;--text:#3b3836;--text-soft:#6b7280;--border:#e5e7eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.attendance-row[data-v-1bec735a]{gap:.75rem;display:grid}.user-name[data-v-1bec735a]{font-weight:600}.active[data-v-1bec735a]{outline:5px solid var(--color-primary)}.ghost[data-v-1bec735a]{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.collapsible-header[data-v-1bec735a]{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:1fr auto;align-items:center;display:grid}.title[data-v-1bec735a]{justify-self:center}.chevron[data-v-1bec735a]{justify-self:end;transition:transform .2s}.chevron.open[data-v-1bec735a]{transform:rotate(180deg)}.password-wrapper[data-v-2c728fa1]{align-items:center;display:flex;position:relative}.password-input[data-v-2c728fa1]{width:100%;padding-right:40px}.toggle-password[data-v-2c728fa1]{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:10px}.toggle-password[data-v-2c728fa1]:hover{color:#000}.error[data-v-2c728fa1]{color:#dc143c;font-style:italic}
