*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f6f8;color:#1f2933}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #1f293314;padding:2.5rem 3rem;text-align:center;max-width:400px}.muted{color:#616e7c}.small{font-size:.85rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#1f2933;color:#fff;border:none;border-radius:8px;padding:.7rem 1.4rem;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer}.btn-primary:hover{background:#323f4b}.btn-primary:disabled{opacity:.6;cursor:default}.btn-link{background:none;border:none;color:#1565d8;cursor:pointer;font-size:.95rem;padding:0}.btn-link.danger{color:#c5221f}.alert{background:#fdecea;color:#b3261e;border-radius:8px;padding:.6rem 1rem;margin:.75rem 0;font-size:.95rem}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:.75rem 1.5rem;border-bottom:1px solid #e4e7eb}.brand{font-weight:700;font-size:1.1rem}.topbar-right{display:flex;align-items:center;gap:1rem}.topbar-right a{color:#1565d8;text-decoration:none;font-size:.95rem}.user-chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#3e4c59}.user-chip img{width:28px;height:28px;border-radius:50%}.content{flex:1;max-width:760px;width:100%;margin:0 auto;padding:2rem 1.5rem}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #1f29330f;padding:2rem}.checklist{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.6rem;color:#3e4c59}.inline-form{display:flex;gap:.75rem;margin:1.25rem 0}.inline-form input{flex:1;border:1px solid #cbd2d9;border-radius:8px;padding:.6rem .9rem;font-size:1rem}.inline-form input:focus{outline:2px solid #1565d8;outline-offset:-1px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid #e4e7eb;font-size:.95rem}.table th{color:#616e7c;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.topbar-left{display:flex;align-items:center;gap:1.5rem}.main-nav{display:flex;gap:1.25rem}.main-nav a{color:#3e4c59;text-decoration:none;font-size:.95rem}.main-nav a:hover{color:#1565d8}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-head h2{margin:0}.card h3{margin-top:0}.card+.card,.card+.stat-grid,.stat-grid+.card{margin-top:1.25rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat{background:#fff;border-radius:12px;box-shadow:0 2px 8px #1f29330f;padding:1.25rem 1.5rem}.stat-label{color:#616e7c;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:1.5rem;font-weight:700;margin-top:.25rem}.positive{color:#1e7e34}.negative{color:#c5221f}.month-nav{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.bar-row{margin:.9rem 0}.bar-head{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:.3rem}.bar-track{background:#edf0f3;border-radius:6px;height:10px;overflow:hidden}.bar-fill{background:#1565d8;height:100%;border-radius:6px;min-width:2px}.pill{display:inline-block;border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:600}.pill-green{background:#e6f4ea;color:#1e7e34}.pill-yellow{background:#fef3d9;color:#92600a}.pill-red{background:#fdecea;color:#c5221f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;margin-bottom:1.25rem}.form-grid h3{grid-column:1 / -1;margin:0}.form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;color:#3e4c59;font-weight:600}.form-grid .span-2{grid-column:1 / -1}.form-grid input,.form-grid select{border:1px solid #cbd2d9;border-radius:8px;padding:.55rem .8rem;font-size:1rem;font-weight:400;background:#fff}.form-grid input:focus,.form-grid select:focus{outline:2px solid #1565d8;outline-offset:-1px}.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:1rem}.filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filters input,.filters select{border:1px solid #cbd2d9;border-radius:8px;padding:.5rem .7rem;font-size:.95rem;background:#fff}.right{text-align:right}.nowrap{white-space:nowrap}.limit-input{width:90px;border:1px solid #cbd2d9;border-radius:8px;padding:.35rem .6rem;font-size:.9rem}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.main-nav{gap:.9rem}.topbar{flex-wrap:wrap;padding:.6rem 1rem}.topbar-left{flex-wrap:wrap;gap:.5rem 1rem}.content{padding:1.25rem 1rem}}
