@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#243b37;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f5;font-family:DM Sans,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:#f4f6f5;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #2f5c5747}.calendar-app{background:#f4f6f5;min-height:100vh;padding-bottom:32px}.calendar-header{color:#fff;background:linear-gradient(135deg,#2f5c57,#3e7168);padding:24px 18px 28px;position:relative}.header-kicker{letter-spacing:1px;opacity:.85;margin-bottom:4px;font-size:15px}.calendar-header h1{margin:0;font-size:26px;line-height:1.15}.header-subtitle{opacity:.9;margin-top:4px;font-size:16px}.settings-button{color:#fff;background:#ffffff1f;border:1px solid #fff6;border-radius:20px;place-items:center;width:40px;height:40px;font-size:18px;display:grid;position:absolute;top:18px;right:16px}.calendar-content{width:min(100%,480px);margin:0 auto;padding:16px 16px 0}.calendar-card,.content-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 10px #0000000f}.content-card,.empty-state{margin-top:14px}.month-navigation{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.month-navigation strong{color:#2f5c57;font-size:19px}.nav-button{color:#2f5c57;background:#fbfcfb;border:1px solid #e7ecea;border-radius:12px;width:44px;height:44px;font-size:22px;line-height:1}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{gap:4px;margin-bottom:6px}.weekday-row div{color:#7c8e8a;text-align:center;font-size:13px;font-weight:600}.calendar-grid{gap:5px}.day-button{aspect-ratio:1;color:#243b37;background:#fbfcfb;border:1px solid #e7ecea;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:44px;font-size:17px;font-weight:500;display:flex}.day-button.has-visit{color:#3a2c0a;background:#d9a441;border-color:#d9a441;font-weight:700}.day-button.is-today{border:2px solid #2f5c57}.day-button small{font-size:11px;font-weight:600}.card-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-heading h2,.content-card h2,.empty-state h2{color:#2f5c57;margin:0;font-size:17px}.pill-button{color:#8a6414;white-space:nowrap;background:#fbf4e4;border:1px solid #d9a441;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600}.date-fields{gap:10px;display:flex}.field{flex:1;min-width:0;margin-bottom:14px;display:block}.field>span{color:#5c726e;margin-bottom:5px;font-size:14px;display:block}.field input{color:#243b37;background:#fbfcfb;border:1px solid #dce4e2;border-radius:10px;width:100%;min-width:0;padding:12px;font-size:16px}.totals{color:#243b37;background:#f4f6f5;border-radius:12px;justify-content:space-between;gap:8px;margin-top:14px;padding:14px;font-size:16px;display:flex}.totals strong{color:#2f5c57}.message-card h2{margin-bottom:10px}.message-preview{color:#243b37;white-space:pre-wrap;background:#f4f6f5;border-radius:10px;padding:14px;font-size:16px;line-height:1.6}.empty-state{color:#7a6420;text-align:center;background:#fbf4e4;border:1px solid #ead9a8;border-radius:16px;padding:18px}.empty-icon{margin-bottom:8px;font-size:30px}.empty-state h2{color:#8a6414;margin-bottom:6px}.empty-state p{margin:0;font-size:15px;line-height:1.6}.copy-bar{z-index:10;background:linear-gradient(#f4f6f500,#f4f6f5 40%);padding:14px;position:fixed;bottom:0;left:0;right:0}.copy-button{color:#fff;background:#2f5c57;border:0;border-radius:14px;width:min(100%,448px);margin:0 auto;padding:16px;font-size:18px;font-weight:700;display:block;box-shadow:0 4px 14px #2f5c5759}.copy-button:active,.primary-button:active,.danger-button:active,.ghost-button:active,.nav-button:active,.day-button:active{transform:scale(.98)}.modal-backdrop{z-index:50;background:#1e2d2a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:100%;max-width:380px;max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;box-shadow:0 10px 40px #00000040}.modal h2{color:#2f5c57;text-align:center;margin:0 0 4px;font-size:19px}.modal .field{margin-top:14px}.modal-subtitle{color:#5c726e;text-align:center;margin:0 0 18px;font-size:15px}.hours-stepper{justify-content:center;align-items:center;gap:20px;margin-bottom:22px;display:flex}.hours-stepper button{color:#fff;background:#2f5c57;border:0;border-radius:50%;width:56px;height:56px;font-size:28px;font-weight:700}.hours-stepper strong{color:#243b37;text-align:center;min-width:70px;font-size:34px}.primary-button,.danger-button,.ghost-button{border-radius:12px;width:100%;padding:14px 16px;font-weight:700;display:block}.primary-button{color:#fff;background:#2f5c57;border:0;font-size:18px}.danger-button{color:#b84b4b;background:#fff;border:1px solid #d98080;margin-top:10px;font-size:16px}.ghost-button{color:#5c726e;background:#fff;border:1px solid #dce4e2;margin-top:10px;font-size:16px}@media (width<=370px){.calendar-content,.calendar-card,.content-card{padding-inline:12px}.month-navigation strong{font-size:17px}.day-button{font-size:15px}.totals{padding-inline:10px;font-size:14px}.card-heading{flex-direction:column;align-items:flex-start}.pill-button{align-self:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.calendar-legend{color:#7c8e8a;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:11px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:inline-flex}.calendar-legend i{border-radius:3px;width:9px;height:9px;display:inline-block}.legend-visit{background:#d9a441}.legend-extra{background:#fbf4e4;border:2px solid #d9a441}.extra-expense{background:#fffaf0;border:1px solid #ead9a8;border-radius:14px;margin:0 -4px 18px;padding:14px}.extra-heading{color:#8a6414;justify-content:space-between;align-items:center;gap:8px;display:flex}.extra-heading strong{font-size:15px}.extra-heading span{color:#8a6414;background:#f7e9c2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.extra-expense>p{color:#7a6420;margin:6px 0 12px;font-size:12px;line-height:1.45}.field textarea{resize:vertical;color:#243b37;background:#fbfcfb;border:1px solid #dce4e2;border-radius:10px;width:100%;min-width:0;padding:12px;font-size:16px;line-height:1.4}.day-total{color:#7a6420;border-top:1px solid #ead9a8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 12px;margin-top:4px;padding-top:11px;font-size:13px;display:flex}.day-total strong{color:#8a6414;font-size:14px}.totals{grid-template-columns:1fr 1fr;gap:7px 10px;display:grid}.totals strong{border-top:1px solid #dce4e2;grid-column:1/-1;padding-top:7px}@media (width<=370px){.calendar-legend{font-size:10px}.extra-expense{margin-inline:-2px;padding:12px}}
