:root{font-family:ui-rounded,"Nunito","Avenir Next",system-ui,sans-serif;color:#17332f;background:#f3f7f5;font-size:16px}
*{box-sizing:border-box}body{margin:0}.app-shell{max-width:1050px;margin:auto;padding:24px}
header,.section-title,.actions,.room-actions,.room-total{display:flex;align-items:center;justify-content:space-between;gap:16px}
h1,h2,p{margin-top:0}h1{margin-bottom:6px}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.12em;color:#16836f;margin-bottom:6px}.subtitle,.privacy,.section-title p{color:#5d716d}
.card{background:white;border:1px solid #dce8e4;border-radius:18px;padding:20px;margin:18px 0;box-shadow:0 7px 24px rgba(25,65,55,.06)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;color:#46615c}
input,select,textarea{width:100%;font:inherit;border:1px solid #c8d9d4;border-radius:11px;padding:11px;background:#fff;color:#17332f}input:focus,select:focus,textarea:focus{outline:3px solid #c8f0e6;border-color:#16836f}
.auto-field{display:flex;flex-direction:column;gap:7px;padding:10px 12px;border:1px dashed #b9d5ce;border-radius:11px;background:#f5fbf9}.auto-field span{font-size:.85rem;font-weight:700;color:#46615c}.auto-field strong{font-size:1rem;color:#17332f}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary div{background:#eef9f5;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:5px}.summary span{font-size:.82rem;color:#5d716d}.summary strong{font-size:1.25rem}
.rooms{display:grid;gap:15px}.room-card{border:1px solid #dce8e4;border-radius:15px;padding:16px}.room-grid{display:grid;grid-template-columns:1.1fr 1.5fr .7fr 1fr 1fr;gap:10px}
.room-total{margin:14px 0;justify-content:flex-start}.room-total strong{font-size:1.3rem;margin-right:auto}.status{font-size:.78rem;padding:6px 10px;border-radius:999px;font-weight:800}.pending{background:#fff2c7;color:#785800}.approved{background:#d9f5e9;color:#12634f}
button,.file-button{border:0;border-radius:11px;padding:11px 15px;font:inherit;font-weight:800;cursor:pointer;text-align:center}.primary{background:#117b68;color:#fff}.secondary{background:#e4f1ed;color:#175c50}.danger{background:#fee6e3;color:#9f2e25}.file-button input{display:none}.privacy{text-align:center;font-size:.8rem;margin:24px}
.history{display:grid;gap:8px}.history-row{display:flex;gap:12px;flex-direction:column;border-bottom:1px solid #e3ece9;padding:10px 0}.history-row span{font-size:.85rem;color:#5d716d}
.review-list{display:grid;gap:10px}.review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce8e4;border-left:5px solid #8ba9a2;border-radius:12px;padding:12px}.review-row>div{display:flex;flex-direction:column;gap:3px}.review-row span{font-size:.84rem;color:#5d716d}.review-row em{font-size:.78rem;font-style:normal;font-weight:800}.review-row.upcoming{border-left-color:#4f8cc9}.review-row.due{border-left-color:#e5a100;background:#fffaf0}.review-row.overdue{border-left-color:#c84b3f;background:#fff6f5}.review-row.due em{color:#865d00}.review-row.overdue em{color:#9f2e25}
.flash{animation:flash .8s}@keyframes flash{50%{background:#c9f4e6}}
@media(max-width:760px){.app-shell{padding:14px}header,.section-title{align-items:flex-start;flex-direction:column}.grid,.summary,.room-grid{grid-template-columns:1fr 1fr}.actions{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:480px){.grid,.summary,.room-grid{grid-template-columns:1fr}.actions{grid-template-columns:1fr}.room-actions{align-items:stretch;flex-direction:column}.room-total{flex-wrap:wrap}}
