:root{--bg:#f5f8fa;--surface:#fff;--surface-muted:#eef4f7;--text:#172832;--muted:#667884;--line:#d8e4ea;--accent:#087eaf;--accent-strong:#056b97;--accent-soft:#e2f3fa;--amber:#9a6500;--amber-soft:#fff1cc;--red:#b73535;--red-soft:#ffe4e4;--success:#087eaf;--success-soft:#e2f3fa;--shadow:0 16px 40px #1728321c;--radius:8px}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100%;color:var(--text);background:linear-gradient(180deg, #087eaf14, #f5f8fa00 280px), var(--bg);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 112px}.topbar,.control-bar,.summary-strip{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar{padding:6px 0 18px}.topbar h1,.login-panel h1,.modal-header h2{margin:0;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.1}.eyebrow{color:var(--accent-strong);text-transform:uppercase;margin:0 0 6px;font-size:.74rem;font-weight:800}.topbar-actions{align-items:center;gap:8px;display:flex}.signed-user{max-width:160px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.icon-button{border:1px solid var(--line);border-radius:var(--radius);width:40px;height:40px;color:var(--text);background:var(--surface);place-items:center;display:inline-grid}.icon-button:hover,.icon-button:focus-visible{border-color:var(--accent);color:var(--accent-strong);outline:none}.summary-strip{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc2;margin-bottom:18px;padding:12px}.summary-strip div{align-items:baseline;gap:7px;min-width:0;display:flex}.summary-strip strong{font-size:1.3rem}.summary-strip span{color:var(--muted);font-size:.88rem}.control-bar{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 0 18px;padding:12px 0;position:sticky;top:0}.segmented-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-width:430px;padding:4px;display:grid}.segmented-control button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:.9rem;font-weight:700}.segmented-control button.active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 8px #17283214}.search-field,.field-with-icon,.textarea-shell{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:8px;display:flex}.search-field{width:min(520px,100%);min-height:46px;color:var(--muted);padding:0 12px}.search-field input,.field-with-icon input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.notice,.error-banner,.empty-state{border-radius:var(--radius);padding:14px 16px}.notice{color:var(--accent-strong);background:var(--accent-soft);border:1px solid #b7ddea;margin-bottom:14px}.error-banner,.form-error{color:var(--red);background:var(--red-soft)}.error-banner{border:1px solid #f4bcbc;margin-bottom:14px}.appointments-list{gap:10px;display:grid}.appointment-card{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);grid-template-columns:172px minmax(0,1fr) 48px;align-items:start;gap:16px;padding:14px;display:grid;position:relative;box-shadow:0 5px 18px #1728320d}.appointment-card.status-concluido{border-left-color:var(--accent-strong)}.appointment-card.status-cancelado{border-left-color:#8a99a3}.date-block{border-radius:var(--radius);min-height:68px;color:var(--accent-strong);background:var(--accent-soft);align-items:center;gap:10px;padding:10px;display:flex}.date-block strong{font-size:.98rem;line-height:1.25}.appointment-main{min-width:0}.appointment-title-row,.appointment-lines,.meta-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.appointment-title-row{justify-content:space-between;margin-bottom:8px}.appointment-title-row h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.06rem}.status-pill{border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.status-pill.status-agendado{color:var(--amber);background:var(--amber-soft)}.status-pill.status-concluido{color:var(--success);background:var(--success-soft)}.status-pill.status-cancelado{color:#5e6b73;background:#edf2f5}.appointment-lines{color:var(--text);font-size:.94rem}.appointment-lines span,.meta-row span{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;display:inline-flex}.meta-row{color:var(--muted);margin-top:8px;font-size:.78rem}.notes{color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0;font-size:.9rem;line-height:1.45}.edit-button{justify-self:end}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#ffffff8c}.floating-new{z-index:10;color:#fff;background:var(--accent);min-height:50px;box-shadow:var(--shadow);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-weight:800;display:inline-flex;position:fixed;bottom:22px;right:max(18px,50vw - 590px)}.floating-new:hover,.floating-new:focus-visible,.primary-action:hover,.primary-action:focus-visible{background:var(--accent-strong);outline:none}.modal-backdrop{z-index:20;background:#1728326b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{border-radius:var(--radius);background:var(--surface);width:min(720px,100%);max-height:min(92vh,820px);box-shadow:var(--shadow);overflow:auto}.modal-header{z-index:1;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex;position:sticky;top:0}.modal-header h2{font-size:1.35rem}.appointment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.appointment-form label,.login-form label{color:var(--text);gap:7px;font-size:.88rem;font-weight:800;display:grid}.full-span{grid-column:1/-1}.appointment-form input,.appointment-form textarea,.appointment-form select,.login-form input{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;color:var(--text);background:var(--surface);outline:none}.appointment-form input,.appointment-form select,.login-form input{min-height:44px;padding:0 12px}.appointment-form textarea{resize:vertical;min-height:88px;padding:11px 12px}.appointment-form input:focus,.appointment-form textarea:focus,.appointment-form select:focus,.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #087eaf24}.textarea-shell{align-items:flex-start;padding-left:10px}.textarea-shell svg{color:var(--muted);margin-top:12px}.textarea-shell textarea{box-shadow:none;border:0}.field-error{color:var(--red);font-size:.78rem;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.primary-action,.secondary-action{border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:800;display:inline-flex}.primary-action{color:#fff;background:var(--accent);border:0}.secondary-action{border:1px solid var(--line);color:var(--text);background:var(--surface)}.form-error{border-radius:var(--radius);margin:0;padding:10px 12px;font-size:.86rem;font-weight:700}.spin{animation:.9s linear infinite spin}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);padding:28px}.brand-lock{border-radius:var(--radius);width:58px;height:58px;color:var(--accent-strong);background:var(--accent-soft);place-items:center;margin-bottom:18px;display:grid}.login-form{gap:14px;margin-top:24px;display:grid}.field-with-icon{min-height:46px;color:var(--muted);padding:0 12px}.field-with-icon input{min-height:42px;padding:0}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:820px){.app-shell{width:min(100% - 20px,1180px);padding-top:16px}.topbar,.control-bar,.summary-strip{flex-direction:column;align-items:stretch}.topbar{gap:12px}.topbar-actions{justify-content:space-between}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-strip div{flex-direction:column;align-items:center;gap:2px}.control-bar{gap:10px}.segmented-control{width:100%;min-width:0}.search-field{width:100%}.appointment-card{grid-template-columns:1fr 48px}.date-block{grid-column:1/-1}.appointment-main{grid-column:1/2}.edit-button{grid-area:2/2/auto/3}.appointment-form{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}@media (max-width:520px){.app-shell{width:min(100% - 16px,1180px)}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-card{grid-template-columns:1fr}.appointment-main,.edit-button{grid-column:1/-1}.edit-button{justify-self:stretch;width:100%}.floating-new{justify-content:center;bottom:14px;left:12px;right:12px}.login-panel{padding:22px}}
