:root{--font-mono:"Roboto Mono",monospace;--zema-primary:#22c55e;--zema-primary-hover:#16a34a;--zema-mark-bg:#22c55e}*{box-sizing:border-box}html{font-size:18px;line-height:32px;background:rgb(0,0,0);-webkit-font-smoothing:antialiased}#app,body,html{height:100%}body{font-family:system-ui;font-size:18px;line-height:32px;margin:0;color:rgb(1000,1000,1000);@media (max-width:1024px){font-size:15px;line-height:24px}}img{max-width:100%;height:auto;display:block}h1{margin:40px 0;font-size:64px;line-height:70px;font-weight:700;@media (max-width:1024px){margin-left:0;margin-bottom:24px;margin-right:0;margin-top:24px;font-size:42px;line-height:42px}@media (max-width:768px){font-size:38px;line-height:38px}@media (max-width:400px){font-size:32px;line-height:32px}}p{margin:24px 0;@media (max-width:1024px){margin:calc(var(--base) * .75) 0}}a{color:currentColor;&:focus{opacity:.8;outline:none}&:active{opacity:.7;outline:none}}svg{vertical-align:middle}.zema-app-header{display:flex;align-items:center;justify-content:center;padding:16px 24px;border-bottom:1px solid rgb(60,60,60);background:rgb(10,10,10)}.zema-app-header a{text-decoration:none}.zema-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;letter-spacing:-.02em;color:rgb(255,255,255)}.zema-brand--compact{font-size:18px}.zema-brand--compact .zema-tagline{font-weight:500;color:rgb(150,150,150);margin-left:2px}.zema-brand--large{font-size:28px}.zema-brand--large .zema-tagline{font-weight:500;color:rgb(180,180,180)}.zema-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--zema-mark-bg);color:rgb(0,0,0);font-size:18px;font-weight:800}.zema-brand--large .zema-mark{width:48px;height:48px;font-size:26px}.zema-name{font-weight:700}.zema-tagline{font-weight:500}.zema-logo-img{height:auto;width:auto;max-height:40px;object-fit:contain;display:block}.zema-brand--large .zema-logo-img{max-height:56px}.zema-tagline--header{margin-left:8px;font-size:14px;font-weight:500;color:rgb(150,150,150)}.home{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;padding:45px;max-width:1024px;margin:0 auto;overflow:hidden;@media (max-width:400px){padding-left:24px;padding-bottom:24px;padding-right:24px;padding-top:24px}.content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;h1{text-align:center}}.links{display:flex;align-items:center;gap:12px;a{text-decoration:none;padding:.25rem .5rem;border-radius:4px}.admin{color:rgb(0,0,0);background:rgb(1000,1000,1000);border:1px solid rgb(0,0,0)}.docs{color:rgb(1000,1000,1000);background:rgb(0,0,0);border:1px solid rgb(1000,1000,1000)}}.footer{display:flex;align-items:center;gap:8px;@media (max-width:1024px){flex-direction:column;gap:6px}p{margin:0}.codeLink{text-decoration:none;padding:0 .5rem;background:rgb(60,60,60);border-radius:4px}}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px}.auth-card{width:100%;max-width:450px;background:rgb(20,20,20);border:1px solid rgb(60,60,60);border-radius:8px;padding:32px}.auth-card h1{font-size:32px;line-height:38px;margin:0 0 8px;text-align:center}.auth-subtitle{text-align:center;color:rgb(150,150,150);margin:0 0 24px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500}.form-group input{width:100%;padding:12px;background:rgb(10,10,10);border:1px solid rgb(60,60,60);border-radius:4px;color:rgb(1000,1000,1000);font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:rgb(200,200,200)}.form-group input.error{border-color:rgb(800,0,0)}.field-error{display:block;color:rgb(800,0,0);font-size:12px;margin-top:4px}.error-message{background:rgb(40,0,0);border:1px solid rgb(800,0,0);color:rgb(800,0,0);border-radius:4px}.error-message,.success-message{padding:12px;margin-bottom:20px;font-size:14px}.success-message{background:rgb(0,40,0);border:1px solid rgb(0,800,0);color:rgb(0,800,0);border-radius:4px}.submit-button{width:100%;padding:12px;background:rgb(1000,1000,1000);color:rgb(0,0,0);border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:8px}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:rgb(150,150,150)}.auth-footer a{color:rgb(1000,1000,1000);text-decoration:underline}.auth-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid rgb(60,60,60)}.auth-tab{flex:1 1;padding:12px;background:none;color:rgb(150,150,150);cursor:pointer;font-size:16px;border:none;border-bottom:2px solid transparent;transition:all .2s}.auth-tab.active{color:rgb(1000,1000,1000);border-bottom-color:rgb(1000,1000,1000)}.auth-tab:hover{color:rgb(200,200,200)}.dashboard-container{max-width:1200px;margin:0 auto;padding:24px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgb(60,60,60)}.dashboard-header h1{margin:0;font-size:32px}.logout-button{padding:8px 16px;background:rgb(800,0,0);color:rgb(1000,1000,1000);border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:opacity .2s}.logout-button:hover{opacity:.9}.info-section{background:rgb(20,20,20);border:1px solid rgb(60,60,60);border-radius:8px;padding:24px;margin-bottom:24px}.info-section h2{font-size:20px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgb(60,60,60)}.info-item{margin-bottom:12px}.info-item:last-child{margin-bottom:0}.info-label{font-size:12px;color:rgb(150,150,150);margin-bottom:4px}.info-value{font-size:16px;color:rgb(1000,1000,1000)}.children-list{display:grid;grid-gap:16px;gap:16px}.child-card{background:rgb(15,15,15);border:1px solid rgb(60,60,60);border-radius:8px;padding:16px}.child-card h3{margin:0 0 8px;font-size:18px}.create-child-button{padding:12px 24px;background:rgb(0,150,0);color:rgb(1000,1000,1000);border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600;transition:opacity .2s;margin-top:16px}.create-child-button:hover{opacity:.9}.forgot-password-link{text-align:right;margin-bottom:16px}.forgot-password-link a{color:rgb(150,150,150);font-size:14px;text-decoration:none}.forgot-password-link a:hover{color:rgb(1000,1000,1000);text-decoration:underline}.password-actions{display:flex;gap:8px;margin-top:12px}.btn-change-password,.btn-reset-password{padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:opacity .2s;border:none}.btn-change-password{background:rgb(60,100,200);color:rgb(1000,1000,1000)}.btn-reset-password{background:rgb(150,100,0);color:rgb(1000,1000,1000)}.btn-change-password:hover,.btn-reset-password:hover{opacity:.9}.back-link{display:inline-block;margin-bottom:24px;color:rgb(150,150,150);text-decoration:none;font-size:14px}.back-link:hover,.secondary-button{color:rgb(1000,1000,1000)}.secondary-button{width:100%;padding:12px;background:rgb(60,60,60);border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:opacity .2s;margin-top:8px}.secondary-button:hover{opacity:.9}.dashboard-actions{display:flex;gap:12px;margin-top:16px}.dashboard-action-link{padding:10px 20px;background:rgb(60,100,200);color:rgb(1000,1000,1000);border-radius:4px;text-decoration:none;font-size:14px;transition:opacity .2s}.dashboard-action-link:hover{opacity:.9}