:root {
  --mn-ink:#111827; --mn-graphite:#374151; --mn-gold:#C9A227;
  --mn-paper:#F3F4F6; --mn-white:#FFFFFF; --mn-border:#E2E5EA;
  --mn-muted:#667085; --mn-success:#2E7D5B; --mn-success-bg:#EAF6F0;
  --mn-warning:#9A6700; --mn-warning-bg:#FFF6D8;
  --mn-danger:#B54747; --mn-danger-bg:#FDECEC;
  --mn-info:#315E8A; --mn-info-bg:#EAF2FA;
  --mn-radius-xs:6px; --mn-radius-sm:8px; --mn-radius-md:12px;
  --mn-radius-lg:18px; --mn-radius-xl:24px;
  --mn-shadow-sm:0 1px 3px rgba(17,24,39,.08);
  --mn-shadow-md:0 8px 28px rgba(17,24,39,.08);
  --mn-focus:0 0 0 3px rgba(201,162,39,.22);
  --mn-font:Inter,"Segoe UI",Arial,sans-serif;
  --mn-ease:160ms ease;
}
*{box-sizing:border-box}
body{margin:0;background:var(--mn-paper);color:var(--mn-ink);font-family:var(--mn-font);line-height:1.5}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{transition:color var(--mn-ease),background var(--mn-ease),border-color var(--mn-ease),box-shadow var(--mn-ease),transform var(--mn-ease)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--mn-focus)}
.mn-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mn-stack{display:flex;flex-direction:column;gap:16px}.mn-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mn-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.mn-col-3{grid-column:span 3}.mn-col-4{grid-column:span 4}.mn-col-6{grid-column:span 6}.mn-col-8{grid-column:span 8}.mn-col-12{grid-column:span 12}
.mn-title{margin:0;letter-spacing:-.035em}.mn-subtitle{margin:0;color:var(--mn-muted)}.mn-caption{font-size:12px;color:var(--mn-muted)}

/* Buttons */
.mn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:10px;padding:9px 16px;font-weight:650;cursor:pointer;text-decoration:none}
.mn-btn:hover{transform:translateY(-1px)}.mn-btn:active{transform:translateY(0)}
.mn-btn-primary{background:var(--mn-ink);color:white}.mn-btn-primary:hover{background:var(--mn-graphite)}
.mn-btn-secondary{background:white;color:var(--mn-ink);border-color:var(--mn-border)}.mn-btn-secondary:hover{border-color:#BEC3CC}
.mn-btn-accent{background:var(--mn-gold);color:var(--mn-ink)}.mn-btn-accent:hover{background:#D5AF32}
.mn-btn-danger{background:var(--mn-danger);color:white}.mn-btn-ghost{background:transparent;color:var(--mn-graphite)}.mn-btn-ghost:hover{background:rgba(17,24,39,.05)}
.mn-btn-sm{min-height:32px;padding:5px 11px;font-size:13px}.mn-btn-lg{min-height:48px;padding:12px 21px}.mn-btn-icon{width:40px;padding:0}
.mn-btn[disabled],.mn-btn.is-loading{opacity:.48;cursor:not-allowed;transform:none}.mn-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:mn-spin .7s linear infinite}@keyframes mn-spin{to{transform:rotate(360deg)}}

/* Form controls */
.mn-field{display:flex;flex-direction:column;gap:6px}.mn-label{font-size:14px;font-weight:650}.mn-required{color:var(--mn-danger)}
.mn-help{font-size:12px;color:var(--mn-muted)}.mn-error{font-size:12px;color:var(--mn-danger)}
.mn-input,.mn-select,.mn-textarea{width:100%;border:1px solid var(--mn-border);border-radius:10px;background:white;color:var(--mn-ink);padding:10px 12px;outline:0}
.mn-input,.mn-select{height:42px}.mn-textarea{min-height:105px;resize:vertical}
.mn-input:hover,.mn-select:hover,.mn-textarea:hover{border-color:#BEC3CC}.mn-input:focus,.mn-select:focus,.mn-textarea:focus{border-color:var(--mn-gold);box-shadow:var(--mn-focus)}
.mn-input[disabled],.mn-select[disabled],.mn-textarea[disabled]{background:#F0F1F3;color:#98A0AD;cursor:not-allowed}
.is-invalid{border-color:var(--mn-danger)!important}.mn-input-wrap{position:relative}.mn-input-wrap .mn-input{padding-left:38px}.mn-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mn-muted)}
.mn-check{display:inline-flex;align-items:center;gap:9px;cursor:pointer}.mn-check input{accent-color:var(--mn-gold);width:17px;height:17px}
.mn-switch{position:relative;display:inline-block;width:44px;height:24px}.mn-switch input{opacity:0;width:0;height:0}.mn-switch-track{position:absolute;inset:0;border-radius:999px;background:#C8CDD5;cursor:pointer}.mn-switch-track:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:white;border-radius:50%;box-shadow:var(--mn-shadow-sm);transition:transform var(--mn-ease)}.mn-switch input:checked+.mn-switch-track{background:var(--mn-gold)}.mn-switch input:checked+.mn-switch-track:before{transform:translateX(20px)}

/* Surfaces */
.mn-card{background:white;border:1px solid var(--mn-border);border-radius:var(--mn-radius-lg);padding:20px;box-shadow:var(--mn-shadow-sm)}
.mn-card-raised{box-shadow:var(--mn-shadow-md)}.mn-card-clickable{cursor:pointer}.mn-card-clickable:hover{border-color:#C8CDD5;transform:translateY(-2px);box-shadow:var(--mn-shadow-md)}
.mn-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.mn-card-footer{border-top:1px solid var(--mn-border);margin:18px -20px -20px;padding:14px 20px}
.mn-stat{font-size:30px;font-weight:750;letter-spacing:-.035em}
.mn-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--mn-ink);color:white;font-weight:700}.mn-avatar-sm{width:30px;height:30px;font-size:12px}.mn-avatar-lg{width:54px;height:54px}
.mn-avatar-group{display:flex}.mn-avatar-group .mn-avatar{border:2px solid white;margin-left:-8px}.mn-avatar-group .mn-avatar:first-child{margin-left:0}

/* Feedback */
.mn-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#ECEEF1;color:var(--mn-graphite)}
.mn-badge-gold{background:#F7F0D7;color:#755E13}.mn-badge-success{background:var(--mn-success-bg);color:var(--mn-success)}.mn-badge-warning{background:var(--mn-warning-bg);color:var(--mn-warning)}.mn-badge-danger{background:var(--mn-danger-bg);color:var(--mn-danger)}.mn-badge-info{background:var(--mn-info-bg);color:var(--mn-info)}
.mn-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--mn-radius-md);border:1px solid}.mn-alert-info{background:var(--mn-info-bg);border-color:#C9DDF0;color:var(--mn-info)}.mn-alert-success{background:var(--mn-success-bg);border-color:#C4E7D5;color:var(--mn-success)}.mn-alert-warning{background:var(--mn-warning-bg);border-color:#F0DB8E;color:var(--mn-warning)}.mn-alert-danger{background:var(--mn-danger-bg);border-color:#F2C8C8;color:var(--mn-danger)}
.mn-toast{display:flex;align-items:center;gap:12px;width:min(390px,calc(100vw - 32px));background:var(--mn-ink);color:white;border-radius:12px;padding:13px 15px;box-shadow:0 16px 40px rgba(17,24,39,.25)}
.mn-progress{height:8px;background:#E4E6EA;border-radius:999px;overflow:hidden}.mn-progress>span{display:block;height:100%;border-radius:inherit;background:var(--mn-gold)}
.mn-skeleton{height:16px;border-radius:7px;background:linear-gradient(90deg,#E8EAED 25%,#F6F7F8 50%,#E8EAED 75%);background-size:200% 100%;animation:mn-shimmer 1.3s infinite}@keyframes mn-shimmer{to{background-position:-200% 0}}

/* Navigation */
.mn-tabs{display:flex;gap:6px;border-bottom:1px solid var(--mn-border);overflow:auto}.mn-tab{border:0;background:transparent;padding:10px 13px;color:var(--mn-muted);font-weight:600;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.mn-tab.is-active{color:var(--mn-ink);border-bottom-color:var(--mn-gold)}
.mn-breadcrumb{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--mn-muted)}.mn-breadcrumb a{color:inherit;text-decoration:none}.mn-breadcrumb a:hover{color:var(--mn-ink)}
.mn-pagination{display:flex;align-items:center;gap:5px}.mn-page{display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:9px;background:transparent;cursor:pointer}.mn-page:hover{background:white}.mn-page.is-active{background:var(--mn-ink);color:white}
.mn-dropdown{position:relative;display:inline-block}.mn-menu{display:none;position:absolute;z-index:20;top:calc(100% + 7px);right:0;min-width:200px;background:white;border:1px solid var(--mn-border);border-radius:12px;padding:6px;box-shadow:var(--mn-shadow-md)}.mn-dropdown.is-open .mn-menu{display:block}.mn-menu-item{display:flex;width:100%;align-items:center;gap:9px;border:0;background:transparent;border-radius:8px;padding:9px 10px;text-align:left;cursor:pointer}.mn-menu-item:hover{background:var(--mn-paper)}

/* Tables */
.mn-table-wrap{overflow:auto;border:1px solid var(--mn-border);border-radius:14px;background:white}.mn-table{width:100%;border-collapse:collapse;min-width:720px}.mn-table th,.mn-table td{padding:13px 15px;border-bottom:1px solid var(--mn-border);text-align:left}.mn-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mn-muted);background:#F8F9FA}.mn-table tr:last-child td{border-bottom:0}.mn-table tbody tr:hover{background:#FBFBFC}.mn-table .is-selected{background:#FCF8E9}
.mn-sort{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.mn-table-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}

/* Overlays */
.mn-modal-backdrop{display:none;position:fixed;inset:0;z-index:50;background:rgba(17,24,39,.55);padding:24px;align-items:center;justify-content:center}.mn-modal-backdrop.is-open{display:flex}.mn-modal{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:white;border-radius:20px;box-shadow:0 24px 60px rgba(17,24,39,.3)}.mn-modal-head,.mn-modal-body,.mn-modal-foot{padding:19px 22px}.mn-modal-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--mn-border)}.mn-modal-foot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--mn-border)}
.mn-tooltip{position:relative}.mn-tooltip:hover:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:var(--mn-ink);color:white;font-size:12px;padding:6px 9px;border-radius:7px;white-space:nowrap;z-index:10}

/* MixNotas domain patterns */
.mn-appointment{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--mn-border)}.mn-appointment:last-child{border:0}.mn-time{font-weight:750}.mn-patient{display:flex;align-items:center;gap:11px}.mn-note{border-left:4px solid var(--mn-gold)}.mn-money-positive{color:var(--mn-success);font-weight:700}.mn-money-pending{color:var(--mn-warning);font-weight:700}
.mn-empty{text-align:center;padding:42px 20px}.mn-empty-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:18px;background:#F5EED5;color:#755E13;font-size:26px}
.mn-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mn-calendar-head{text-align:center;font-size:12px;color:var(--mn-muted);padding:5px}.mn-day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;cursor:pointer}.mn-day:hover{background:#F7F0D7}.mn-day.is-today{box-shadow:inset 0 0 0 1px var(--mn-gold)}.mn-day.is-selected{background:var(--mn-ink);color:white}.mn-day[disabled]{opacity:.3;cursor:default}

/* Dark theme */
[data-theme="dark"]{--mn-paper:#0B101C;--mn-white:#151C29;--mn-ink:#F7F8FA;--mn-graphite:#D1D5DB;--mn-muted:#9CA3AF;--mn-border:#293244;--mn-shadow-sm:0 1px 3px rgba(0,0,0,.3);--mn-shadow-md:0 10px 30px rgba(0,0,0,.35)}
[data-theme="dark"] .mn-card,[data-theme="dark"] .mn-input,[data-theme="dark"] .mn-select,[data-theme="dark"] .mn-textarea,[data-theme="dark"] .mn-table-wrap,[data-theme="dark"] .mn-menu,[data-theme="dark"] .mn-modal{background:var(--mn-white)}
[data-theme="dark"] .mn-btn-primary{background:var(--mn-gold);color:#111827}[data-theme="dark"] .mn-btn-secondary{background:#1B2433;color:white}[data-theme="dark"] .mn-table th{background:#1A2230}[data-theme="dark"] .mn-table tbody tr:hover{background:#1A2230}[data-theme="dark"] .mn-skeleton{background:linear-gradient(90deg,#202938 25%,#2B3546 50%,#202938 75%);background-size:200% 100%}

@media(max-width:900px){.mn-col-3,.mn-col-4,.mn-col-6,.mn-col-8{grid-column:span 12}}
@media(max-width:640px){.mn-grid{gap:12px}.mn-card{padding:16px}.mn-card-footer{margin:16px -16px -16px;padding:13px 16px}.mn-appointment{grid-template-columns:58px 1fr}.mn-appointment>:last-child{grid-column:2}.mn-btn-mobile-full{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
