:root{--bg:#f4f7fc;--card:#fff;--text:#101828;--muted:#667085;--line:#e7edf6;--primary:#2563eb;--primary2:#1d4ed8;--cyan:#06b6d4;--green:#22c55e;--orange:#f59e0b;--red:#ef4444;--violet:#8b5cf6;--shadow:0 18px 55px rgba(30,64,175,.08);--soft:0 8px 22px rgba(15,23,42,.05);--radius:20px}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:linear-gradient(135deg,#f8fbff 0,#eef5ff 55%,#f8fafc 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}a{color:var(--primary);text-decoration:none}.app-shell{display:grid;grid-template-columns:282px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-right:1px solid var(--line);padding:22px 15px;display:flex;flex-direction:column;gap:18px;box-shadow:8px 0 40px rgba(15,23,42,.03)}.side-brand{display:flex;align-items:center;gap:13px;padding:4px 10px 14px}.brand-logo{width:58px;height:58px;border-radius:19px;background:linear-gradient(135deg,#2f7cff 0%,#06b6d4 55%,#22c55e 100%);display:flex;align-items:center;justify-content:center;color:white;font-weight:950;font-size:28px;overflow:hidden;box-shadow:0 16px 32px rgba(37,99,235,.25)}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-title{font-size:24px;font-weight:950;letter-spacing:-.04em;color:#10204a}.brand-subtitle{font-size:12px;color:#667085;margin-top:4px;font-weight:700}.side-nav{overflow:auto;padding-right:4px}.nav-group{margin:18px 10px 8px;color:#7b87a0;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.09em}.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:14px;color:#30405f;font-weight:820;margin:4px 0;transition:.15s}.side-nav a:hover{background:#eef5ff;color:#1d4ed8;transform:translateX(2px)}.side-nav a.active{background:linear-gradient(135deg,#2f7cff,#2563eb);color:#fff;box-shadow:0 12px 24px rgba(37,99,235,.22)}.nav-ico{width:24px;text-align:center;font-size:17px}.theme-card{margin-top:auto;border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px 14px;color:#30405f;font-weight:800;display:flex;justify-content:space-between;align-items:center}.content-panel{min-width:0}.topbar{height:82px;display:grid;grid-template-columns:auto minmax(280px,560px) auto;align-items:center;gap:18px;padding:14px 26px;background:rgba(255,255,255,.74);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,237,246,.82);position:sticky;top:0;z-index:20}.mobile-brand{display:none}.top-search{height:46px;border:1px solid #dbe5f4;border-radius:16px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 14px;box-shadow:var(--soft)}.top-search input{border:0;outline:0;width:100%;font-size:15px;color:#1f2a44}.top-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--soft)}.profile-chip{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:7px 10px;box-shadow:var(--soft)}.profile-chip b{display:block;font-size:14px;color:#172554}.profile-chip span{display:block;font-size:12px;color:#667085;font-weight:700}.user-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0edff,#dbeafe);color:#1d4ed8;font-weight:950}.logout{font-size:12px;font-weight:900;background:#f1f5f9;color:#475569;padding:7px 9px;border-radius:11px}.wrap{max-width:1440px;margin:0 auto;padding:26px}.app-footer{text-align:center;color:#7b87a0;font-size:13px;padding:12px 20px 22px}.card{background:rgba(255,255,255,.96);border:1px solid rgba(231,237,246,.95);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.card h1,.card h2,.card h3{margin-top:0;letter-spacing:-.03em;color:#111c3d}.hero-card{position:relative;overflow:hidden;min-height:220px;background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(47,124,255,.82)),url('https://images.unsplash.com/photo-1519494026892-80bbd2d6fd0d?auto=format&fit=crop&w=1600&q=80');background-size:cover;background-position:center;color:#fff;border:0}.hero-card h1{color:#fff;font-size:30px;margin:0 0 6px}.hero-card .muted{color:rgba(255,255,255,.86)}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px;max-width:900px}.hero-stat{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:16px;backdrop-filter:blur(10px)}.hero-stat .label{font-weight:800;color:rgba(255,255,255,.92)}.hero-stat .num{font-size:28px;font-weight:950;letter-spacing:-.04em;margin:8px 0 4px}.hero-stat .up{color:#bbf7d0;font-size:12px;font-weight:900}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kpi{font-size:34px;font-weight:950;letter-spacing:-.05em;color:#111c3d}.muted{color:#667085}.mini-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--soft)}label{display:block;margin:10px 0 6px;font-weight:850;color:#344054}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d5deec;border-radius:14px;font-size:15px;background:#fff;outline:none;transition:.15s}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8db2ff;box-shadow:0 0 0 4px rgba(37,99,235,.12)}button,.btn{background:linear-gradient(180deg,#2f7cff,#1d4ed8);color:#fff;border:0;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;padding:11px 15px;border-radius:14px;font-weight:900;box-shadow:0 12px 24px rgba(37,99,235,.20);transition:.15s}button:hover,.btn:hover{transform:translateY(-1px);filter:brightness(1.02)}.btn.gray{background:#475569;box-shadow:none}.btn.green{background:#16a34a;box-shadow:0 12px 24px rgba(22,163,74,.18)}.btn.red{background:#dc2626;box-shadow:0 12px 24px rgba(220,38,38,.16)}.btn.orange{background:#f97316;box-shadow:0 12px 24px rgba(249,115,22,.16)}.btn.small{padding:7px 10px;font-size:13px;border-radius:10px}.row-actions,.quick-actions{display:flex;gap:9px;flex-wrap:wrap}.searchbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.searchbar input,.searchbar select{max-width:230px}table{width:100%;border-collapse:separate;border-spacing:0;background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--soft)}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}tr:last-child td{border-bottom:0}th{background:#f8fbff;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:950}tbody tr:hover{background:#f8fbff}.status,.badge,.pill{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:900;white-space:nowrap}.paid,.status-paid,.ok{background:#dcfce7!important;color:#166534!important}.waiting,.status-waiting,.warn{background:#fef3c7!important;color:#92400e!important}.done,.status-done{background:#e0f2fe!important;color:#075985!important}.called,.status-called{background:#ffedd5!important;color:#9a3412!important}.in_progress,.status-progress{background:#ede9fe!important;color:#5b21b6!important}.absent,.cancelled,.status-cancel,.danger{background:#fee2e2!important;color:#991b1b!important}.right{text-align:right}.nowrap{white-space:nowrap}.tabs a{display:inline-block;margin:3px;padding:9px 12px;border-radius:999px;background:#f2f6fc;text-decoration:none;color:#344054;font-weight:900}.tabs a.active{background:#111827;color:white}.receipt{width:280px;margin:0 auto;background:#fff;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border-radius:12px}.receipt h2{text-align:center;margin:4px 0}.receipt .big{text-align:center;font-size:30px;font-weight:950}.receipt-58{max-width:220px;font-size:12px}.receipt-80{max-width:300px;font-size:13px}.screen-head{font-size:48px;font-weight:950;text-align:center;margin:22px}.screen-row{font-size:34px;padding:18px;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:1fr 1.2fr .8fr .8fr;gap:12px}.logo-preview,.doctor-photo{max-width:160px;max-height:160px;border-radius:18px;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at top left,#dbeafe 0,#f8fbff 42%,#eef5ff 100%)}.login-card{width:100%;max-width:460px}.login-hero{text-align:center;margin-bottom:16px}.login-hero .brand-logo{margin:0 auto 12px}.login-title{font-size:30px;font-weight:950;letter-spacing:-.05em;color:#10204a}.alert-error{padding:11px 13px;background:#fee2e2;color:#991b1b;border-radius:13px;font-weight:850;margin:10px 0}.print-only{display:none}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.side-nav{display:flex;overflow:auto;gap:8px}.nav-group{display:none}.side-nav a{white-space:nowrap}.theme-card{display:none}.topbar{grid-template-columns:1fr}.mobile-brand{display:block}.top-search{max-width:none}.top-actions{justify-content:flex-start}.grid,.hero-stats{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.wrap{padding:14px 10px}.sidebar{padding:14px 10px}.grid,.grid2,.grid3,.hero-stats{grid-template-columns:1fr}.topbar{height:auto;padding:12px}.top-actions{flex-wrap:wrap}.profile-chip{width:100%;justify-content:space-between}.searchbar input,.searchbar select{max-width:none}.screen-row{font-size:20px;grid-template-columns:1fr 1fr}.card{padding:14px;border-radius:16px}table{display:block;overflow-x:auto;white-space:nowrap}.hero-card h1{font-size:24px}}@media print{body{background:#fff}.no-print,.topbar,.sidebar,.app-footer,.btn,button{display:none!important}.app-shell{display:block}.wrap{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0;padding:0;margin:0}.receipt{width:58mm;padding:2mm;margin:0}.print-only{display:block}}
