*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#2d3748;min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app{max-width:500px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:#f0f2f5}header{background:#4a7c9e;color:#fff;padding:16px 16px 14px;position:sticky;top:0;z-index:10}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}header h1{font-size:1.3rem;font-weight:700;letter-spacing:.01em}.header-date{font-size:.8rem;opacity:.85}.shift-row{display:flex;gap:6px}.shift-btn{flex:1;padding:8px 4px;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:8px;font-size:.85rem;font-family:inherit;cursor:pointer;font-weight:500}.shift-btn.active{background:#fff;color:#4a7c9e;border-color:#fff;font-weight:700}main{flex:1;padding:14px 14px 32px;display:flex;flex-direction:column;gap:12px}.card{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.card-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#718096;margin-bottom:8px}input[type=text],select,textarea{width:100%;padding:11px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;color:#2d3748;background:#fafbfc;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=text]:focus,select:focus,textarea:focus{border-color:#4a7c9e;background:#fff;box-shadow:0 0 0 3px #4a7c9e1f}textarea{resize:none;font-family:inherit;line-height:1.5}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23718096' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-btn{padding:14px 8px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.95rem;font-weight:500;font-family:inherit;color:#4a5568;cursor:pointer;text-align:center;line-height:1.3}.type-btn .type-icon{display:block;font-size:1.4rem;margin-bottom:4px}.type-btn.active{border-color:#4a7c9e;background:#ebf4ff;color:#2b6cb0;font-weight:700}.qty-row{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0}.qty-btn{width:52px;height:52px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;font-size:1.6rem;cursor:pointer;color:#4a7c9e;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1}.qty-btn:active{background:#ebf4ff}.qty-value{font-size:2.2rem;font-weight:700;color:#2d3748;min-width:60px;text-align:center}.qty-unit{font-size:.8rem;color:#718096;text-align:center;margin-top:4px}.alert{padding:12px 16px;border-radius:8px;font-size:.9rem}.alert-error{background:#fff5f5;border:1px solid #fed7d7;color:#c53030}.alert-success{background:#f0fff4;border:1px solid #9ae6b4;color:#276749;font-weight:600;text-align:center;font-size:1rem}.save-btn{width:100%;padding:16px;background:#4a7c9e;color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.02em;box-shadow:0 2px 6px #4a7c9e4d}.save-btn:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed}.save-btn:active:not(:disabled){background:#3a6a8a;transform:scale(.99)}.export-card{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000f}.export-card .card-label{margin-bottom:10px}.export-row{display:flex;gap:8px;align-items:center}.export-date{flex:1}.export-btn{padding:11px 16px;background:#f7fafc;border:1.5px solid #cbd5e0;border-radius:8px;font-size:.9rem;font-weight:600;font-family:inherit;color:#4a5568;cursor:pointer;white-space:nowrap}.export-btn:hover{background:#ebf4ff;border-color:#4a7c9e;color:#4a7c9e}.add-resident-btn{width:100%;margin-top:8px;padding:10px;background:transparent;border:1.5px dashed #cbd5e0;border-radius:8px;font-size:.9rem;font-weight:600;font-family:inherit;color:#4a7c9e;cursor:pointer}.add-resident-btn:active{background:#ebf4ff}.add-resident-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}.add-resident-actions{display:flex;gap:8px}.add-resident-actions .save-btn{flex:1;padding:12px;font-size:1rem}.btn-cancel{padding:12px 16px;background:#f7fafc;border:1.5px solid #cbd5e0;border-radius:12px;font-size:1rem;font-family:inherit;color:#4a5568;cursor:pointer;font-weight:600}.loading-text{text-align:center;color:#718096;font-size:.9rem;padding:20px}.staff-shift-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.shift-inline{display:flex;flex-direction:column;gap:4px}.shift-inline .card-label{margin-bottom:4px}.shift-inline-btns{display:flex;gap:4px}.shift-inline-btn{padding:8px 10px;border:1.5px solid #e2e8f0;background:#fff;border-radius:7px;font-size:.8rem;font-family:inherit;cursor:pointer;color:#4a5568;white-space:nowrap}.shift-inline-btn.active{border-color:#4a7c9e;background:#ebf4ff;color:#2b6cb0;font-weight:700}
