:root{font-family:Arial,"Segoe UI",sans-serif;color:#10234f;background:#eef5fc;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}.hidden{display:none!important}:focus-visible{outline:3px solid #f5a623;outline-offset:3px}.button{border:0;border-radius:12px;padding:14px 20px;min-height:50px;font-weight:700;transition:background .15s,transform .15s}.button:active,.arrow-button:active{transform:scale(.98)}.primary{background:#2175e8;color:#fff;box-shadow:0 4px 12px #2175e82b}.primary:hover{background:#1262d1}.secondary{color:#1454ac;background:#e8f2ff}.secondary:hover{background:#d6e9ff}.quiet{background:transparent;color:#173d80}.quiet:hover{background:#e8f2ff}.full{width:100%}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 90%,#315e93 0,transparent 32%),radial-gradient(circle at 92% 10%,#173d79 0,transparent 35%),linear-gradient(135deg,#06172b,#091f3d 55%,#03101f)}.login-card{width:min(100%,430px);padding:38px 32px;background:#fffffffa;border-radius:24px;box-shadow:0 24px 65px #0007;text-align:center}.brand-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#2478e9;color:#fff;font-size:31px;font-weight:700;box-shadow:0 4px 10px #1667d352}.login-card .brand-icon{margin:auto;width:62px;height:62px;font-size:42px}.login-card h1{font-size:2rem;margin:14px 0 0}.login-card p{margin:2px 0 30px;color:#4a5e7e}.field-stack,.dialog-form{display:grid;gap:16px;text-align:left}label{font-weight:700;color:#142853;display:grid;gap:7px}input{width:100%;min-height:48px;border:1px solid #c7d6e8;background:#fff;border-radius:10px;padding:10px 14px;color:#10234f}input::placeholder{color:#8394ad}input:focus{border-color:#2175e8;outline:3px solid #2175e82b}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:96px}.password-toggle{position:absolute;right:6px;top:5px;border:0;background:#e8f2ff;color:#1756aa;border-radius:8px;padding:8px;font-size:.85rem}.app-screen{min-height:100vh;padding:24px}.app-shell{max-width:1140px;margin:auto;background:#fff;border-radius:24px;min-height:calc(100vh - 48px);box-shadow:0 18px 55px #4364891a;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:25px}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:1.35rem;line-height:1.15}.brand small{display:block;color:#536585}.month-bar{display:flex;align-items:center;justify-content:center;gap:20px;background:#edf6ff;border-radius:18px;padding:16px;margin-bottom:20px}.month-bar h1{font-size:1.6rem;line-height:1.2;margin:0;text-align:center;min-width:230px}.arrow-button{width:52px;height:52px;border:0;border-radius:12px;background:#fff;color:#176cdb;font-size:2rem;line-height:1}.arrow-button:hover{background:#dcecff}.summary-actions{display:grid;grid-template-columns:1fr 205px;gap:18px;align-items:stretch;margin-bottom:22px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-card{min-height:110px;border:1px solid #eaf0f6;border-radius:16px;background:linear-gradient(120deg,#fff,#f7fbff);display:flex;align-items:center;gap:12px;padding:16px}.summary-card>div{min-width:0}.summary-card span:not(.summary-icon){display:block;font-size:.9rem;color:#4b5f7d}.summary-card strong{display:block;font-size:1.6rem;white-space:nowrap}.total-card strong{color:#006a47}.summary-icon{flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e2f1ff;color:#1370dd;font-size:1.7rem;font-weight:700}.summary-icon.money{background:#e2f8ee;color:#008058}.action-stack{display:grid;gap:10px}.action-stack .button{width:100%}.list-panel{border:1px solid #e5edf5;border-radius:18px;padding:20px;background:#fff}.list-panel h2,.settings-card h2{font-size:1.25rem;margin:0 0 14px}.purchase-list{display:grid;gap:8px}.purchase-item{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fbfdff;border:1px solid #e5eef8;border-radius:13px;padding:12px 16px;min-height:72px}.purchase-item-main{display:flex;gap:13px;align-items:center;min-width:0}.purchase-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e2f1ff;color:#1874df;font-size:1.4rem}.purchase-text{min-width:0}.purchase-text strong{display:block;font-size:1.06rem;overflow-wrap:anywhere}.purchase-text small{display:block;color:#506384;font-size:.93rem}.purchase-amount{font-weight:800;font-size:1.15rem;white-space:nowrap}.empty-state{text-align:center;color:#617391;padding:34px 12px}.section-heading{display:flex;align-items:center;gap:18px;margin:0 0 22px}.section-heading h1{margin:0;font-size:1.7rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{border:1px solid #e2ebf5;border-radius:17px;padding:22px;background:#fff}.settings-card p{margin:10px 0}.settings-card .button{margin-top:12px}.admin-actions{display:grid;gap:7px}.admin-actions .button{text-align:left;margin:0}.admin-content{margin-top:16px}.admin-content h2{margin:0 0 15px}.admin-list{display:grid;gap:10px}.admin-row{border:1px solid #dfe9f5;border-radius:12px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-row strong{display:block}.admin-row small{color:#526582}.row-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.row-actions button{border:0;border-radius:9px;background:#e8f2ff;color:#1454ac;padding:9px 12px;font-weight:700}.row-actions .danger{color:#a5232c;background:#fff0f0}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:18px}.admin-form .button{align-self:end}.dialog{border:0;border-radius:20px;padding:0;width:min(calc(100% - 24px),470px);box-shadow:0 25px 70px #081b39a8;color:#10234f}.dialog::backdrop{background:#071a35a3}.dialog-form{padding:25px}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:1.45rem;margin:0}.close-button{width:38px;height:38px;border:0;border-radius:9px;background:#edf3f9;color:#394e6b;font-size:1.6rem}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.dialog-actions .button{min-width:120px}.toast{position:fixed;z-index:5;bottom:24px;left:50%;transform:translateX(-50%);background:#0c634a;color:#fff;padding:13px 19px;border-radius:12px;box-shadow:0 8px 20px #0004;max-width:calc(100% - 24px);font-weight:700}.toast.error{background:#a72c3b}@media(max-width:850px){.summary-actions{grid-template-columns:1fr}.action-stack{display:flex}.action-stack .button{flex:1}.summary-grid{grid-template-columns:repeat(3,1fr)}.summary-card{flex-direction:column;align-items:flex-start}.settings-grid{grid-template-columns:1fr}}@media(max-width:600px){.app-screen{padding:0}.app-shell{min-height:100vh;border-radius:0;padding:18px 15px}.topbar{padding-bottom:18px}.topbar .quiet{font-size:.85rem;padding:10px}.brand small{font-size:.75rem}.brand strong{font-size:1.15rem}.brand-icon{width:42px;height:42px;font-size:27px}.month-bar{gap:8px;padding:12px 8px}.month-bar h1{min-width:0;flex:1;font-size:1.2rem}.arrow-button{width:44px;height:46px}.summary-grid{grid-template-columns:1fr 1fr}.summary-card{min-height:96px;padding:12px;flex-direction:row}.summary-card:first-child{grid-column:1/-1}.summary-card strong{font-size:1.28rem}.summary-icon{width:38px;height:38px;font-size:1.35rem}.action-stack{display:grid}.list-panel{padding:14px}.purchase-item{padding:10px;gap:8px}.purchase-amount{font-size:1rem}.purchase-icon{width:36px;height:36px;font-size:1.15rem}.purchase-text strong{font-size:1rem}.section-heading{gap:10px}.section-heading h1{font-size:1.3rem}.admin-row{display:block}.row-actions{justify-content:flex-start;margin-top:10px}.admin-form{grid-template-columns:1fr}.dialog-actions .button{min-width:0;flex:1}}@media(prefers-reduced-motion:reduce){.button{transition:none}}
.brand-icon{object-fit:contain}.admin-form select{width:100%;min-height:48px;border:1px solid #c7d6e8;background:#fff;border-radius:10px;padding:10px 14px;color:#10234f}@media(max-width:600px){.brand small{font-size:.85rem}}
