:root{--color-bg: #17181C;--color-surface: #202227;--color-surface-soft: #26282E;--color-surface-elevated: #26282E;--border-subtle: rgba(255, 255, 255, .08);--color-border: rgba(255, 255, 255, .08);--color-gold: #D8B785;--color-gold-hover: #C9A876;--color-on-gold: #2A2118;--color-primary: #D8B785;--color-primary-dark: #C9A876;--color-blue: #D8B785;--color-purple: #C9A876;--color-text: #F2EEE7;--color-muted: #9A968D;--color-text-secondary: #9A968D;--color-text-tertiary: #6E6B64;--color-success: #6FBF8E;--color-warning: #E0B85C;--color-danger: #D98477;--badge-neutral-bg: rgba(255, 255, 255, .07);--badge-neutral-text: #9A968D;--badge-info-bg: rgba(216, 183, 133, .14);--badge-info-text: #D8B785;--badge-success-bg: rgba(111, 191, 142, .14);--badge-success-text: #6FBF8E;--badge-warning-bg: rgba(224, 184, 92, .14);--badge-warning-text: #E0B85C;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 14px 34px rgba(0, 0, 0, .5);--radius-sm: 10px;--radius-md: 14px;--space-page: 18px;color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}.terms-page,.public-sign-page{--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-soft: #f3f4f6;--color-surface-elevated: #f3f4f6;--border-subtle: rgba(0, 0, 0, .09);--color-border: #e5e7eb;--color-gold: #A07830;--color-gold-hover: #8A6525;--color-on-gold: #ffffff;--color-primary: #A07830;--color-primary-dark: #8A6525;--color-blue: #A07830;--color-purple: #8A6525;--color-text: #111827;--color-muted: #6b7280;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-success: #166534;--color-warning: #92400e;--color-danger: #b42318;--badge-neutral-bg: #f3f4f6;--badge-neutral-text: #374151;--badge-info-bg: rgba(160, 120, 48, .12);--badge-info-text: #A07830;--badge-success-bg: #dcfce7;--badge-success-text: #166534;--badge-warning-bg: #fef3c7;--badge-warning-text: #92400e;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .06);--shadow-md: 0 14px 34px rgba(15, 23, 42, .08);background:var(--color-bg);color:var(--color-text)}*{box-sizing:border-box}html{background:var(--color-bg)}body{min-width:320px;margin:0;background:linear-gradient(180deg,rgba(216,183,133,.04),transparent 320px),var(--color-bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{letter-spacing:0}::placeholder{color:var(--color-text-tertiary);opacity:1}.app-page{display:grid;gap:18px}.app-page>.page-title{margin-bottom:-8px}.page-title{margin:0;color:var(--color-text);font-size:1.55rem;line-height:1.1;letter-spacing:0}.page-header{display:grid;gap:12px}.page-subtitle{margin:-4px 0 0;color:var(--color-muted);line-height:1.45}.page-actions{display:grid;gap:10px}.muted{color:var(--color-muted);line-height:1.45}.mobile-shell{min-height:100vh;padding-bottom:104px}.mobile-content{width:min(100%,940px);margin:0 auto;padding:18px 14px 112px}.mobile-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,940px);margin:0 auto;padding:12px 14px;background:#202227eb;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-gold),var(--color-gold-hover));color:var(--color-on-gold);font-weight:900;box-shadow:0 10px 22px #d8b78533}.session-summary{display:grid;gap:2px;min-width:0}.session-summary strong,.session-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-summary strong{font-size:.98rem}.session-summary span{color:var(--color-muted);font-size:.8rem}.logout-button{min-height:40px;padding:0 14px;border:1px solid color-mix(in srgb,var(--color-gold) 35%,transparent);border-radius:var(--radius-sm);background:transparent;color:var(--color-gold);font-weight:800;cursor:pointer}.bottom-nav{position:fixed;right:0;bottom:0;left:0;display:flex;gap:8px;width:min(100%,940px);margin:0 auto;padding:10px 10px 14px;overflow-x:auto;background:#202227f5;border-top:1px solid var(--border-subtle);box-shadow:0 -12px 28px #0006;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav-link{display:grid;min-width:92px;min-height:48px;place-items:center;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.84rem;font-weight:850;white-space:nowrap}.bottom-nav-link.active{border-color:color-mix(in srgb,var(--color-gold) 25%,transparent);background:color-mix(in srgb,var(--color-gold) 10%,transparent);color:var(--color-gold)}.login-page,.terms-page,.public-sign-page{min-height:100vh;width:min(100%,600px);margin:0 auto;padding:28px 14px}.login-page{display:grid;align-items:center}.login-panel,.terms-panel{display:grid;gap:18px}.login-brand{display:grid;gap:10px;text-align:left}.login-brand h1,.login-panel h1{margin:0;color:var(--color-text);font-size:2.5rem;line-height:1;letter-spacing:0}.login-brand p,.login-panel>p{max-width:34rem;margin:0;color:var(--color-muted)}.login-form,.terms-form{display:grid;gap:14px}.terms-meta{display:grid;gap:4px;color:var(--color-muted);font-size:.82rem;font-weight:800}.legal-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.legal-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft)}.legal-grid strong{color:var(--color-text);font-size:.94rem;line-height:1.35}.terms-document{display:grid;max-height:330px;gap:10px;overflow:auto;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text);line-height:1.55}.terms-document h2,.terms-document h3,.terms-document p{margin:0}.terms-document h2{color:var(--color-text);font-size:1.1rem}.terms-document h3{color:var(--color-primary-dark);font-size:.96rem}.card{display:grid;gap:14px;min-width:0;padding:16px;background:var(--color-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card p{margin:0}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-grid .card{position:relative;overflow:hidden}.metric-grid .card:before{position:absolute;top:0;right:0;left:0;height:3px;content:"";background:linear-gradient(90deg,var(--color-gold),var(--color-gold-hover))}.metric-card{display:grid;gap:6px;min-height:96px}.metric-card strong{color:var(--color-text);font-size:1.2rem;line-height:1.1}.metric-card span{color:var(--color-muted);font-size:.84rem;font-weight:800}.metric-label{color:var(--color-muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.metric-value{color:var(--color-text);font-size:1.7rem;font-weight:900;line-height:1}.button{min-height:48px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-gold);color:var(--color-on-gold);font-weight:850;cursor:pointer;box-shadow:0 10px 20px #d8b78529;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button-secondary{background:transparent;color:var(--color-gold);border-color:color-mix(in srgb,var(--color-gold) 35%,transparent);box-shadow:none}.button-ghost{background:transparent;color:var(--color-gold);border-color:color-mix(in srgb,var(--color-gold) 22%,transparent);box-shadow:none}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #d8b78533}.button:disabled{border-color:var(--border-subtle);background:var(--color-surface-elevated);color:var(--color-text-tertiary);cursor:not-allowed;box-shadow:none}.button-full{width:100%}.field{display:grid;gap:7px;color:var(--color-text);font-size:.88rem;font-weight:800}.field input,.field select,.field textarea{min-height:48px;width:100%;padding:0 13px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #d8b7852e}.field textarea{min-height:108px;padding-top:12px;line-height:1.45;resize:vertical}.status-badge{width:fit-content;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:900;white-space:nowrap}.status-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.status-info{background:var(--badge-info-bg);color:var(--badge-info-text)}.status-success{background:var(--badge-success-bg);color:var(--badge-success-text)}.status-warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.signature-box{display:grid;min-height:180px;place-items:center;border:2px dashed color-mix(in srgb,var(--color-gold) 30%,transparent);border-radius:var(--radius-md);color:var(--color-gold);font-weight:800;background:color-mix(in srgb,var(--color-gold) 6%,transparent)}.contract-body{display:grid;gap:12px;color:var(--color-text);font-size:.94rem;line-height:1.58}.contract-body h2,.contract-body h3,.contract-body p,.contract-body ul{margin:0}.contract-body h2,.contract-body h3{color:var(--color-text)}.contract-body ul{padding-left:18px}.contract-accordion{display:grid;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated)}.contract-accordion summary{color:var(--color-primary-dark);font-weight:900;cursor:pointer}.contract-accordion summary::marker{color:var(--color-primary)}.contract-accordion[open] summary{margin-bottom:4px}.contract-accordion .contract-body{max-height:280px;overflow:auto;padding-right:4px}.checkbox-field{display:flex;align-items:flex-start;gap:10px;color:var(--color-text);font-size:.9rem;font-weight:800}.checkbox-field input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.form-error,.form-success{margin:0;padding:10px 12px;border-radius:var(--radius-sm);font-weight:800}.form-error{background:#d984771f;color:var(--color-danger)}.form-success{background:#6fbf8e1f;color:var(--color-success)}.user-summary{display:grid;gap:6px}.user-summary span{color:var(--color-muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin:0;font-size:1.05rem}.section-heading span{color:var(--color-muted);font-size:.78rem;font-weight:850}.action-list{display:grid;gap:9px}.mvp-banner{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-gold) 7%,transparent);color:var(--color-text-secondary);font-size:.9rem;font-weight:800;line-height:1.45}.report-tabs{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.package-tabs{display:grid;gap:8px;grid-template-columns:1fr}.report-tab{min-height:46px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer}.report-tab-active{background:var(--color-gold);color:var(--color-on-gold);border-color:transparent;box-shadow:0 8px 18px #d8b7852e}.report-summary-grid{display:grid;gap:10px}.report-summary-card{display:grid;gap:6px;min-height:92px}.report-summary-card strong{color:var(--color-text);font-size:1.16rem;line-height:1.1}.report-summary-card span{color:var(--color-muted);font-size:.84rem;font-weight:800}.report-section-list{display:grid;gap:10px}.report-item{display:grid;gap:6px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated)}.report-item strong{color:var(--color-text)}.report-item span{color:var(--color-muted);font-size:.86rem}.report-percent{color:var(--color-primary-dark);font-weight:900}.package-hero{display:grid;gap:14px}.package-hero-actions{display:grid;gap:10px}.package-summary-box{display:grid;gap:8px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text)}.package-summary-box strong{color:var(--color-text)}.package-pill-row{display:flex;flex-wrap:wrap;gap:8px}.package-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--color-gold) 12%,transparent);color:var(--color-gold);font-size:.8rem;font-weight:850}.package-balance-summary{display:flex;flex-wrap:wrap;gap:10px;color:var(--color-muted);font-size:.84rem;font-weight:800}.package-balance{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft)}.package-balance-head,.package-service-line{display:grid;gap:4px}.package-balance-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.package-balance-head strong{color:var(--color-text)}.package-meter{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.package-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-gold),var(--color-gold-hover))}.package-service-preview{display:grid;gap:8px}.package-service-line{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated)}.package-service-line strong{color:var(--color-text)}.package-service-line span{color:var(--color-muted);font-size:.84rem}.charge-action-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.contract-action-grid{display:grid;gap:8px}@media(max-width:719px){.charge-action-grid{grid-template-columns:1fr}}.agenda-toolbar{display:grid;gap:12px}.agenda-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.agenda-summary .card{min-height:96px}.agenda-card-header{display:grid;gap:8px}.agenda-card-grid{display:grid;gap:6px;color:var(--color-muted);font-size:.86rem}.agenda-card-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-package-callout{display:grid;gap:8px;padding:12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-gold) 8%,transparent);color:var(--color-gold)}.agenda-package-callout strong{color:var(--color-text)}.empty-state{display:grid;gap:8px;padding:18px;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.tenant-form{display:grid;gap:13px}.tenant-list{display:grid;gap:12px}.tenant-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tenant-title,.tenant-meta,.tenant-details{display:grid;gap:6px;min-width:0}.tenant-title strong,.tenant-title span,.tenant-meta span,.tenant-details span,.tenant-details textarea{overflow-wrap:anywhere}.tenant-title strong{color:var(--color-text);font-size:1rem}.tenant-title span,.tenant-meta,.tenant-details{color:var(--color-muted);font-size:.86rem}.tenant-meta{padding:10px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.tenant-details{padding-top:8px;border-top:1px solid var(--color-border)}.tenant-details strong{color:var(--color-text)}.tenant-details textarea{min-height:108px;width:100%;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);line-height:1.45;resize:vertical}.route-loading{display:grid;min-height:100vh;place-items:center;padding:24px;color:var(--color-muted);font-weight:800}@media(min-width:720px){.mobile-content{padding:24px 20px 118px}.app-page{gap:22px}.card{padding:18px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-section-list{gap:12px}.package-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.package-hero{grid-template-columns:minmax(0,1fr) 260px;align-items:start}}.cal-toolbar{display:flex;flex-direction:column;gap:10px}.cal-view-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--color-bg);border-radius:var(--radius-sm);padding:4px}.cal-tab{padding:8px 4px;border:none;border-radius:8px;background:transparent;color:var(--color-muted);font-size:.875rem;font-weight:500;cursor:pointer;min-height:44px;transition:background .15s,color .15s}.cal-tab-active{background:var(--color-gold);color:var(--color-on-gold)}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav-btn{width:44px;height:44px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cal-period-label{flex:1;font-weight:600;font-size:.9rem;color:var(--color-text);text-align:center}.cal-today-btn{height:44px;padding:0 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-muted);font-size:.875rem;cursor:pointer}.cal-day-wrapper{overflow-y:auto;max-height:70vh}.cal-timeline{display:flex;position:relative}.cal-time-col{width:48px;flex-shrink:0;display:flex;flex-direction:column}.cal-time-label{display:flex;align-items:flex-start;padding-top:4px;font-size:.7rem;color:var(--color-text-tertiary);justify-content:flex-end;padding-right:6px;box-sizing:border-box}.cal-slot-col{flex:1;position:relative}.cal-slot-line{position:absolute;left:0;right:0;pointer-events:none}.cal-slot-hour{border-top:1px solid var(--border-subtle)}.cal-slot-half{border-top:1px dashed color-mix(in srgb,var(--border-subtle) 50%,transparent)}.cal-now-line{position:absolute;left:0;right:0;height:2px;background:var(--color-danger);z-index:10;pointer-events:none}.cal-now-line:before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-danger)}.cal-apt{position:absolute;left:4px;right:4px;border-radius:6px;padding:3px 6px;overflow:hidden;cursor:pointer;z-index:5;display:flex;flex-direction:column;gap:1px;transition:opacity .1s}.cal-apt:active{opacity:.75}.cal-apt-info{background:color-mix(in srgb,var(--color-gold) 20%,transparent);border-left:3px solid var(--color-gold)}.cal-apt-success{background:color-mix(in srgb,var(--color-success) 20%,transparent);border-left:3px solid var(--color-success)}.cal-apt-warning{background:color-mix(in srgb,var(--color-muted) 15%,transparent);border-left:3px solid var(--color-muted);opacity:.7}.cal-apt-expanded{outline:2px solid var(--color-gold);z-index:6}.cal-apt-time{font-size:.7rem;color:var(--color-gold);font-weight:700;line-height:1.2}.cal-apt-name{font-size:.75rem;color:var(--color-text);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-apt-svc{font-size:.68rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-week-col{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:var(--radius-sm);cursor:pointer;min-height:80px;border:1px solid transparent;transition:background .15s}.cal-week-col:active{background:var(--color-surface-elevated)}.cal-week-today{border-color:var(--color-gold);background:color-mix(in srgb,var(--color-gold) 8%,transparent)}.cal-week-day-header{display:flex;flex-direction:column;align-items:center;gap:2px}.cal-week-day-name{font-size:.65rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.02em}.cal-week-day-num{font-size:1rem;font-weight:600;color:var(--color-text);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-week-day-num-today{background:var(--color-gold);color:var(--color-on-gold)}.cal-week-apts{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.cal-week-dot{width:100%;height:4px;border-radius:2px}.cal-week-more{font-size:.65rem;color:var(--color-muted)}.cal-week-empty{font-size:.65rem;color:var(--color-text-tertiary)}.cal-month-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-month-dow{text-align:center;font-size:.7rem;color:var(--color-muted);padding:4px 0;font-weight:600;text-transform:uppercase}.cal-month-body{display:flex;flex-direction:column;gap:2px}.cal-month-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-month-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:8px;cursor:pointer;min-height:44px;transition:background .1s}.cal-month-cell:active{background:var(--color-surface-elevated)}.cal-month-out{opacity:.3}.cal-month-today{background:color-mix(in srgb,var(--color-gold) 12%,transparent)}.cal-month-day-num{font-size:.85rem;font-weight:600;color:var(--color-text);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-month-today .cal-month-day-num{background:var(--color-gold);color:var(--color-on-gold)}.cal-month-count{font-size:.65rem;color:var(--color-gold);font-weight:700}.bh-days{display:flex;flex-direction:column;gap:10px;margin-top:4px}.bh-day-row{padding:14px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:10px}.bh-day-header{display:flex;align-items:center;justify-content:space-between;min-height:44px}.bh-day-name{font-weight:600;font-size:.95rem;color:var(--color-text)}.bh-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--color-muted);font-size:.875rem;min-height:44px;padding:0 4px}.bh-toggle-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-gold);cursor:pointer;flex-shrink:0}.bh-day-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bh-breaks{display:flex;flex-direction:column;gap:10px}.bh-break-row{padding:12px;background:var(--color-surface-elevated);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-subtle)}
