:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,Helvetica Neue,Arial,sans-serif;background:#f6f2eb;color:#1f1b16;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff4df,#f6f2eb 40%,#efe7db)}#app{max-width:1200px;margin:0 auto;padding:32px 20px 80px}.page{display:grid;gap:24px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:18px;background:#fff;box-shadow:0 18px 40px #3b2a1714}.header-actions{display:flex;align-items:center;gap:16px}.total{display:grid;gap:4px;padding:8px 12px;border-radius:12px;background:#fff6ea;border:1px solid #ead8c8;text-align:right;font-size:12px;color:#6f5f50}.total strong{font-size:16px;color:#2c2016}h1{margin:0;font-size:32px;letter-spacing:-.02em}.subtitle{margin:6px 0 0;color:#6f5f50;font-size:14px;letter-spacing:.02em;text-transform:uppercase}.subtitle-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}.subtitle-row .subtitle{margin:0}.month-select{border-radius:999px;padding:6px 12px;background:#fffaf2;border:1px solid #e3d2c2;font-size:12px;text-transform:none}.panel{background:#fff;border-radius:20px;padding:22px;box-shadow:0 16px 30px #3b2a1714}.panel h2{margin:0 0 16px;font-size:20px}.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}label{display:grid;gap:6px;font-size:13px;color:#4b3d31}input,select,button{font:inherit;border-radius:12px;border:1px solid #d7c6b8;padding:10px 12px;background:#fffaf2}textarea{font:inherit;border-radius:12px;border:1px solid #d7c6b8;padding:10px 12px;background:#fffaf2;resize:vertical}input:focus,select:focus{outline:2px solid #f4b36a;border-color:#f4b36a}.textarea:focus{outline:2px solid #f4b36a;border-color:#f4b36a}.file-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.file-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#fff6ea;border:1px solid #ead8c8;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.actions{align-self:end}button{cursor:pointer;background:#f4b36a;border-color:#eaa656;color:#271b0f;font-weight:600}button.ghost{background:#f8efe4;color:#3d2f22;border-color:#e3d2c2}button.small{padding:8px 10px;font-size:12px}button:hover{filter:brightness(.98)}.full{grid-column:1 / -1}.error{margin:12px 0 0;color:#a33623;background:#fde7e3;border:1px solid #f7c1b7;padding:10px 12px;border-radius:12px}.table-wrap{overflow:auto;border-radius:14px;border:1px solid #ead8c8}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #f0e3d7;font-size:14px}th{background:#fff6ea;color:#533f2d;font-weight:600;position:sticky;top:0;z-index:1}tr:nth-child(2n) td{background:#fffbf6}.field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.modal-backdrop{position:fixed;inset:0;background:#1a120a73;display:grid;place-items:center;padding:20px}.modal-backdrop.layer-base{z-index:10}.modal-backdrop.layer-top{z-index:20}.modal{width:min(520px,100%);background:#fffdf9;border-radius:20px;padding:20px;box-shadow:0 24px 50px #19110940;display:grid;gap:16px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h3{margin:0;font-size:20px}.modal-form{display:grid;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.login-page{min-height:70vh;display:grid;place-items:center}.login-card{width:min(420px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 20px 40px #3b2a171f;display:grid;gap:12px}.login-card h1{margin:0}.login-form{display:grid;gap:14px}.login-form button{width:100%}@media(max-width:900px){.form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.header{flex-direction:column;align-items:flex-start}.field-row,.form{grid-template-columns:1fr}}
