:root{--bg: #F0EDE6;--card: #fff;--card-alt: #FAFAF8;--card-subtle: #F5F4F0;--text: #111827;--text-sec: #374151;--text-muted: #6B7280;--text-label: #9CA3AF;--border: #D8D5CE;--border-light: #E5E3DC;--input-bg: #fff;--input-border: #D1D5DB;--scrollbar-track: #E5E3DC;--scrollbar-thumb: #9CA3AF;--info-bg: #FFFBF0;--info-border: #F0D070;--info-text: #5C5440;--accent-green-bg: #ECFDF5;--accent-green-border: #D1FAE5;--accent-green-strong: #BBF7D0;--accent-blue-bg: #EFF6FF;--accent-blue-border: #BFDBFE;--accent-orange-bg: #FFF7ED;--accent-red-bg: #FEF2F2;--accent-red-border: #FECACA;--toggle-off: #D1D5DB;--green-text: #065F46}[data-theme=dark]{--bg: #111827;--card: #1f2937;--card-alt: #1a2332;--card-subtle: #162032;--text: #e5e7eb;--text-sec: #d1d5db;--text-muted: #9ca3af;--text-label: #6b7280;--border: #374151;--border-light: #2d3748;--input-bg: #1f2937;--input-border: #4b5563;--scrollbar-track: #1f2937;--scrollbar-thumb: #4b5563;--info-bg: #1a1a00;--info-border: #5c4d00;--info-text: #d4c77a;--accent-green-bg: #052e16;--accent-green-border: #14532d;--accent-green-strong: #166534;--accent-blue-bg: #0c1929;--accent-blue-border: #1e3a5f;--accent-orange-bg: #1a1000;--accent-red-bg: #1a0505;--accent-red-border: #7f1d1d;--toggle-off: #4b5563;--green-text: #6ee7b7}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;scroll-behavior:smooth}body{font-family:Georgia,Times New Roman,serif;background:var(--bg);color:var(--text);min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;background:var(--input-bg);color:var(--text)}input[type=range]{background:transparent}.card{background:var(--card);border-radius:10px;border:2px solid var(--border-light);padding:14px;margin-bottom:12px}.section-label{font-size:12px;letter-spacing:3px;color:var(--text-label);font-family:monospace;margin-bottom:8px;text-transform:uppercase}.pill{display:inline-block;padding:7px 14px;border-radius:24px;cursor:pointer;font-size:15px;border:2px solid var(--border);background:var(--card);color:var(--text-sec);transition:all .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.pill.active{font-weight:700}.pill.lg{padding:10px 18px;font-size:17px}.mono{font-family:Courier New,monospace}.header{background:var(--card);border-bottom:2px solid var(--border);padding:12px 20px;position:sticky;top:0;z-index:100}.tab-bar{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tab-btn{padding:8px 16px;border-radius:8px 8px 0 0;font-size:14px;font-weight:500;color:var(--text-muted);border:2px solid transparent;border-bottom:none;background:transparent;white-space:nowrap;transition:all .15s}.tab-btn:hover{color:var(--text-sec);background:var(--card-subtle)}.tab-btn.active{color:#2563eb;font-weight:700;background:var(--card);border-color:var(--border)}.main-content{padding:20px;max-width:1200px;margin:0 auto}.day-card{background:var(--card);border-radius:10px;border:2px solid var(--border-light);padding:16px;margin-bottom:12px;transition:border-color .15s}.day-card:hover{border-color:var(--border)}.slot-btn{padding:6px 12px;border-radius:8px;border:2px dashed var(--border);color:var(--text-label);font-size:13px;cursor:pointer;background:transparent;transition:all .15s;width:100%;text-align:left}.slot-btn:hover{border-color:#3b82f6;color:#3b82f6;background:var(--accent-blue-bg)}.activity-pill{padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;width:100%;text-align:left;border:2px solid;transition:all .15s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-content{background:var(--card);border-radius:12px;border:2px solid var(--border);max-width:600px;width:100%;max-height:80vh;overflow-y:auto;padding:24px}.pin-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.pin-card{background:var(--card);border-radius:16px;border:2px solid var(--border);padding:40px;max-width:360px;width:100%;text-align:center}.pin-display{display:flex;gap:12px;justify-content:center;margin:24px 0}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);transition:all .15s}.pin-dot.filled{background:#2563eb;border-color:#2563eb}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:240px;margin:0 auto}.numpad-btn{width:64px;height:64px;border-radius:50%;font-size:24px;font-weight:700;color:var(--text);background:var(--card-alt);border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;transition:all .1s;margin:0 auto}.numpad-btn:active{background:#2563eb;color:#fff;border-color:#2563eb}.phone-grid-table{width:100%;border-collapse:collapse;font-size:13px}.phone-grid-table th,.phone-grid-table td{padding:8px 4px;text-align:center;border-bottom:1px solid var(--card-subtle)}.phone-grid-table th{border-bottom:2px solid var(--border);color:var(--text);font-size:12px}.phone-svc-pill{padding:3px 8px;border-radius:12px;cursor:pointer;font-size:10px;border:1.5px solid var(--border);background:transparent;color:var(--text-label);transition:all .1s;-webkit-user-select:none;user-select:none;min-width:42px;display:inline-block}.card{transition:max-height .2s ease,opacity .2s ease}.expand-collapse{transition:max-height .2s ease,opacity .2s ease;overflow:hidden}.tap-feedback:active{transform:scale(.95);transition:transform .1s}.cost-sidebar{width:380px;min-width:380px;padding:20px;border-left:2px solid var(--border);background:var(--card);position:sticky;top:120px;align-self:flex-start;max-height:calc(100vh - 140px);overflow-y:auto}.countdown-badge{font-size:14px;font-weight:700;padding:4px 14px;border-radius:20px;border:2px solid;font-family:Courier New,monospace;letter-spacing:1px;white-space:nowrap}.urgency-banner{background:#dc2626;color:#fff;font-size:13px;font-weight:700;padding:8px 16px;border-radius:8px;margin-top:8px;text-align:center;width:100%}.progress-ring{transition:stroke-dashoffset .8s ease-in-out}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--card);border-top:1px solid var(--border);z-index:150;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom,0);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:4px 8px;color:var(--text-muted);font-family:Georgia,serif;position:relative;border:none;background:none;cursor:pointer;transition:color .15s}.bottom-nav-item.active{color:#2563eb}.more-drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:160}.more-drawer{display:none;position:fixed;bottom:56px;left:0;right:0;background:var(--card);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:16px 20px;z-index:170;max-height:60vh;overflow-y:auto;animation:slideUp .2s ease}.more-drawer-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;border:none;background:none;cursor:pointer;font-size:15px;font-family:Georgia,serif;color:var(--text-sec);border-radius:8px;transition:background .15s}.more-drawer-item:hover,.more-drawer-item.active{background:var(--card-alt);color:#2563eb}.mobile-cost-pill{display:none;position:fixed;bottom:62px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:700;font-family:Courier New,monospace;z-index:140;cursor:pointer;box-shadow:0 2px 8px #0003}.cost-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200}.cost-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-radius:16px 16px 0 0;padding:16px 20px 24px;z-index:210;max-height:80vh;overflow-y:auto;animation:slideUp .25s ease}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--card-alt) 0px,var(--card-subtle) 40px,var(--card-alt) 80px);background-size:200px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}.skeleton-card{background:var(--card);border-radius:10px;border:2px solid var(--border-light);padding:14px;margin-bottom:12px}.skeleton-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--card-subtle)}.skeleton-text{border-radius:4px}@keyframes toastSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:300;pointer-events:none}.toast{padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;font-family:Georgia,serif;color:#fff;box-shadow:0 4px 12px #00000026;animation:toastSlideUp .3s ease;white-space:nowrap;pointer-events:auto}.toast-success{background:#059669}.toast-info{background:#2563eb}.toast-warning{background:#d97706}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 520px){.budget-cards-grid{grid-template-columns:repeat(2,1fr)!important}.analytics-two-col{grid-template-columns:1fr!important}}@media (max-width: 768px){.main-content{padding:12px 12px 72px}.header{padding:8px 12px}.day-card{padding:12px}.modal-content{padding:16px}html{font-size:15px}.tab-bar{display:none!important}.bottom-nav{display:flex}.mobile-cost-pill{display:block}.cost-sidebar{display:none!important}.more-drawer-overlay,.more-drawer{display:block}.toast-container{bottom:130px}}@media (min-width: 769px){.bottom-nav,.mobile-cost-pill,.more-drawer-overlay,.more-drawer{display:none!important}}@media print{.header{position:static!important}body{background:#fff!important;color:#111827!important}button{display:none!important}.card,.day-card{break-inside:avoid}.bottom-nav{display:none!important}}
