
:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#090d16;color:#f8faff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.shell{max-width:1060px;margin:auto;padding:24px 16px 60px}.head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #25314a;padding-bottom:21px}.logo{font-size:21px;font-weight:900;letter-spacing:-.7px;line-height:1.02}.logo .blue{color:#5ba0ff}.logo .red{color:#ff4c66}.logo small{display:block;font-size:12px;letter-spacing:4px;margin-top:7px;color:#b6c7df}.muted{color:#a2aec4}.tiny{font-size:12px}.secondary{background:#182237;border:1px solid #33445f;border-radius:11px;color:#f6f9ff;padding:10px 15px}.primary{background:#2474ee;border:0;border-radius:12px;color:white;font-weight:750;padding:14px 18px}.primary:hover{background:#4389fa}.card{background:#151e2d;border:1px solid #2b3a52;border-radius:19px;padding:21px;margin-top:17px}.intro{margin:26px 0 18px}.intro h1{font-size:29px;margin:4px 0 8px;letter-spacing:-.7px}.intro p{margin:0;color:#a2aec4}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.label{color:#adbcd3;font-size:13px}.money{font-size:31px;font-weight:850;letter-spacing:-1px}.money.blue{color:#5ba0ff}.money.red{color:#ff667c}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.grid .card{margin:0}.tabs{display:flex;gap:7px;overflow-x:auto;margin:18px 0}.tabs button{background:#131c2b;border:1px solid #30415c;color:#acbbce;border-radius:11px;padding:12px 16px;white-space:nowrap}.tabs button.active{background:#246cde;color:white;border-color:#246cde}h2{font-size:18px;margin:0 0 16px}h3{font-size:15px}.field{background:#0c1422;color:white;border:1px solid #3b506f;border-radius:10px;padding:11px;max-width:100%}.counter{display:flex;justify-content:center;align-items:center;gap:24px;margin:27px 0}.counter button{width:51px;height:51px;border-radius:13px;background:#203251;border:1px solid #46628c;color:white;font-size:28px}.counter input{width:100px;background:transparent;border:0;color:white;font-size:60px;font-weight:800;text-align:center;outline:0}.counter input::-webkit-inner-spin-button{-webkit-appearance:none}.center{text-align:center}.summary{border-top:1px solid #32425a;padding-top:21px;margin-top:21px}.full{width:100%;margin-top:20px}.lock{padding:12px 14px;border-radius:12px;background:#202a3b;color:#a8b4c9;display:inline-flex;gap:8px;margin:4px 5px 4px 0;font-size:13px}.lock.on{color:#cce1ff;border:1px solid #346dce}.hint{color:#a6b3c8;font-size:13px;line-height:1.6}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:460px}th,td{border-bottom:1px solid #2c3a50;text-align:left;padding:14px 9px;font-size:14px}th{color:#a3afc1;font-weight:500}.status{font-size:12px;font-weight:700;border-radius:50px;padding:6px 10px;color:#bcebd7;background:#193e38}.status.pending{color:#ffd6a0;background:#433221}.action{background:#234b80;border:1px solid #427fd1;color:white;border-radius:9px;padding:8px 10px}.buttondanger{background:#442632;border:1px solid #804050;color:#ffc4cb;border-radius:9px;padding:8px 10px}.service{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #2d394e}.service:last-child{border:0}.switch{width:47px;height:27px;appearance:none;border-radius:30px;background:#48536a;position:relative;cursor:pointer;flex:none}.switch:checked{background:#2776ee}.switch:after{content:'';position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:white;transition:.15s}.switch:checked:after{left:24px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:12px;color:#a9b8cf;padding:9px 0}.day{min-height:64px;border:1px solid #2a3b53;border-radius:10px;padding:8px;background:#111b2a;text-align:left;color:#f2f7ff}.day.off{background:#1e1e2a}.day.event{border-color:#e34a63}.day.today{outline:2px solid #2d80fd}.dot{display:inline-block;background:#f24c65;width:6px;height:6px;border-radius:50%;margin-left:4px}.events{margin-top:17px}.eventline{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #2a374b}.datebadge{font-weight:800;color:#ff7285;min-width:44px}.login{min-height:100vh;display:grid;place-items:center;padding:17px}.login .card{width:min(440px,100%)}.login input{display:block;width:100%;margin:8px 0 18px}.login label{font-size:13px;color:#b6c6d9}.empty{padding:20px;color:#b4bed0;text-align:center}.tag{font-size:12px;color:#b0c1dc}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#1d6850;color:white;padding:13px 18px;border-radius:12px;box-shadow:0 7px 35px #0008;z-index:20}.payment{border:1px solid #35455d;border-radius:13px;padding:15px;margin:10px 0}.payment.paid{border-color:#23674d}.pill{background:#1f2d43;border-radius:40px;padding:7px 10px;font-size:12px;color:#d9e7fb}.calendar-nav{display:flex;align-items:center;gap:10px}.yearmonth{font-weight:800;text-transform:capitalize}.services-inline{margin-top:12px}.services-inline .service{border:1px solid #2f3b50;border-radius:11px;padding:11px;margin-top:8px}.services-inline input[type=number]{width:75px;text-align:center}.date-title{font-size:14px;color:#b6c2d6}.wide2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:720px){.grid,.wide2{grid-template-columns:1fr}.intro h1{font-size:26px}.money{font-size:28px}.card{padding:17px}.day{min-height:46px;padding:6px 4px;font-size:12px}.calendar{gap:3px}.logo{font-size:17px}.logo small{font-size:10px;letter-spacing:2px}.counter input{font-size:52px}}

.error{color:#ff7285}.notice{padding:12px;border:1px solid #345277;border-radius:10px;margin:12px 0;background:#14243c}.smallbtn{font-size:12px;padding:7px 11px}

/* Login: exibição de senha e opção de sessão persistente */
.password-wrap{position:relative;margin:8px 0 15px}.login .password-wrap input{margin:0;padding-right:100px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#8cbcff;padding:9px 11px;font-size:13px;font-weight:700}.password-toggle:focus-visible,.remember-row input:focus-visible{outline:2px solid #5ba0ff;outline-offset:3px}.login .remember-row{display:flex;align-items:center;gap:9px;cursor:pointer;color:#e1eafa;font-size:14px}.login .remember-row input{width:17px;height:17px;display:inline-block;margin:0;accent-color:#2776ee}.login .remember-row + .hint{margin-top:8px}.login .error{color:#ff8193;font-size:13px;line-height:1.5}
