:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,textarea{font:inherit}a{color:inherit}.app-shell{color:#0f172a;background:radial-gradient(circle at 0 0,#4f46e51f,#0000 32%),linear-gradient(#eef4ff 0%,#f8fbff 38%,#f4f7fb 100%);min-height:100vh;padding:32px}.hero-card,.toolbar,.state-card,.calendar,.modal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #cbd5e1cc;border-radius:24px;box-shadow:0 20px 60px #0f172a14}.hero-card{margin-bottom:24px;padding:28px}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.hero-copy{gap:16px;display:grid}.brand-row{align-items:center;gap:16px;display:flex}.brand-mark{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:18px;place-items:center;width:60px;height:60px;font-weight:800;display:grid;box-shadow:0 16px 32px #4f46e53d}.eyebrow,.modal__eyebrow,.toolbar__eyebrow,.hero-panel__label,.stat-card__label{letter-spacing:.14em;text-transform:uppercase;color:#4f46e5;margin:0;font-size:.78rem;font-weight:700}h1,h2{color:#0f172a;margin:0}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05}h2{font-size:1.35rem}.lede,.toolbar p,.modal__subtitle,.calendar__empty,.state-card p,.hero-panel__hint,.stat-card__meta,.state-card__hint{color:#475569}.lede{max-width:64ch;margin:0;font-size:1.05rem}.hero-tags{flex-wrap:wrap;gap:10px;display:flex}.hero-tag{color:#4338ca;background:#eef2ff;border-radius:999px;padding:.55rem .9rem;font-size:.92rem;font-weight:700}.hero-actions{gap:16px;min-width:min(100%,290px);display:grid}.hero-panel{background:linear-gradient(#4f46e514,#7c3aed05);border:1px solid #a5b4fc80;border-radius:20px;padding:18px}.hero-panel__value{color:#1e1b4b;margin:10px 0 6px;font-size:1.05rem;font-weight:700}.hero-panel__hint{margin:0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.stat-card{background:#fff;border:1px solid #dbe3ee;border-radius:20px;padding:18px 20px}.stat-card__value{color:#0f172a;margin-top:10px;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1;display:block}.stat-card__meta,.state-card__hint{margin:8px 0 0}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.toolbar__actions{flex-wrap:wrap;gap:12px;display:flex}.button,.icon-button,.calendar__day-header,.appointment-chip{font:inherit}.button,.icon-button{cursor:pointer;border:1px solid #0000;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s}.button{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:14px;justify-content:center;align-items:center;padding:.8rem 1rem;font-weight:600;display:inline-flex;box-shadow:0 16px 28px #4f46e52e}.button:hover,.icon-button:hover,.calendar__day-header:hover,.appointment-chip:hover{transform:translateY(-1px)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.button--secondary{color:#0f172a;background:#fff;border-color:#cbd5e1}.button--danger{color:#be123c;background:#fff1f2;border-color:#fecdd3}.state-card{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.state-card--empty{align-items:flex-start}.state-card__title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.calendar{overflow:hidden}.calendar__weekdays,.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar__weekday{text-align:center;color:#4338ca;background:#eef2ff;border-bottom:1px solid #dbe3ee;padding:14px 16px;font-weight:700}.calendar__day{background:#ffffffe0;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;flex-direction:column;gap:12px;min-height:170px;padding:12px;display:flex}.calendar__day:nth-child(7n){border-right:none}.calendar__day--muted{background:#f8fafc}.calendar__day--today{background:linear-gradient(#eef2fff2,#f5f3fff2)}.calendar__day-header{cursor:pointer;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.calendar__day-number{font-weight:700}.calendar__day-action{color:#4f46e5;font-size:.88rem;font-weight:600}.calendar__appointments{flex-direction:column;gap:8px;min-height:0;display:flex}.calendar__empty{margin:0;font-size:.92rem}.appointment-chip{text-align:left;color:#1e1b4b;cursor:pointer;background:linear-gradient(#f4f6ff 0%,#eef2ff 100%);border:1px solid #c7d2fe;border-radius:16px;gap:4px;width:100%;padding:10px 12px;display:grid}.appointment-chip__time{color:#4338ca;font-size:.82rem;font-weight:700}.appointment-chip__title{font-weight:700}.appointment-chip__meta{color:#312e81;font-size:.9rem}.banner{border-radius:12px;padding:.85rem 1rem}.banner--error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.modal-backdrop{background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(100%,680px);padding:24px}.modal__header{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.modal__subtitle{margin-top:8px}.modal__summary{color:#4338ca;flex-wrap:wrap;gap:12px;margin-bottom:18px;font-weight:600;display:flex}.icon-button{background:#fff;border-color:#cbd5e1;border-radius:999px;width:40px;height:40px}.appointment-form{gap:16px;display:grid}.appointment-form label{color:#0f172a;gap:8px;font-weight:600;display:grid}.appointment-form input,.appointment-form textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:.85rem .9rem}.appointment-form textarea{resize:vertical}.appointment-form input:focus,.appointment-form textarea:focus{border-color:#818cf8;outline:2px solid #a5b4fc}.appointment-form small{color:#be123c;font-weight:500}.appointment-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}@media (width<=1080px){.app-header,.stats-grid{grid-template-columns:1fr}.app-header{flex-direction:column}.hero-actions{width:100%}}@media (width<=920px){.app-shell{padding:20px}.toolbar,.state-card{flex-direction:column;align-items:stretch}.calendar{overflow-x:auto}.calendar__weekdays,.calendar__grid{min-width:840px}}@media (width<=640px){.app-shell{padding:14px}.hero-card,.toolbar,.state-card,.modal{border-radius:18px;padding:18px}.brand-row{align-items:flex-start}.brand-mark{width:52px;height:52px}.stats-grid,.appointment-form__row{grid-template-columns:1fr}.modal-backdrop{padding:12px}}
