:root { --ink:#182a26; --muted:#77837f; --brand:#214f45; --brand-2:#3c7466; --canvas:#f5f7f4; --line:#e6ebe7; --white:#fff; }
* { box-sizing:border-box; }
html { background:var(--canvas); }
body { margin:0; color:var(--ink); font-family:Inter,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:flex; background:var(--canvas); }
.sidebar { width:252px; position:fixed; inset:0 auto 0 0; z-index:20; padding:26px 17px 20px; display:flex; flex-direction:column; color:#dceae5; background:linear-gradient(165deg,#173e36 0%,#12332d 100%); }
.brand { display:flex; align-items:center; gap:12px; padding:0 12px 30px; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; color:#173e36; background:#cce3d8; font-family:Georgia,serif; font-size:24px; }
.brand-name { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:25px; letter-spacing:.2px; }
.sidebar nav { display:flex; flex-direction:column; gap:4px; }
.nav-item { display:flex; align-items:center; gap:12px; height:43px; padding:0 12px; border-radius:10px; color:#b9cec7; text-decoration:none; font-size:13.5px; font-weight:500; transition:.18s ease; }
.nav-item span { width:21px; color:#9fbbb2; font-size:18px; text-align:center; }
.nav-item:hover,.nav-item.active { color:#fff; background:rgba(255,255,255,.105); }
.nav-item.active { box-shadow:inset 3px 0 #a6cfbd; }
.nav-label { margin:18px 12px 6px; color:#789a90; font-size:10px; font-weight:700; letter-spacing:1.35px; text-transform:uppercase; }
.privacy-card { margin-top:auto; display:flex; gap:11px; padding:14px 12px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.045); }
.privacy-card .lock { color:#9fc2b6; font-size:12px; }
.privacy-card div { display:flex; flex-direction:column; gap:4px; }
.privacy-card strong { color:#e8f2ef; font-size:11px; }
.privacy-card small { color:#88a69d; font-size:9px; line-height:1.4; }
.workspace { min-width:0; flex:1; margin-left:252px; }
.topbar { height:76px; position:sticky; top:0; z-index:15; display:flex; align-items:center; justify-content:space-between; padding:0 34px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.93); backdrop-filter:blur(14px); }
.search { width:min(470px,45vw); height:42px; display:flex; align-items:center; gap:10px; padding:0 12px; border:1px solid #e1e7e3; border-radius:10px; color:#9aa5a1; background:#fafbfa; }
.search input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); background:transparent; font-size:12px; }
.search input::placeholder { color:#98a29f; }
.search kbd { padding:3px 7px; border:1px solid #e0e5e1; border-radius:5px; color:#9ba4a1; background:#fff; font-size:9px; }
.top-actions { display:flex; align-items:center; gap:20px; }
.icon-button,.mobile-menu { border:0; background:transparent; color:#687872; }
.icon-button { width:38px; height:38px; position:relative; font-size:22px; }
.icon-button i { width:6px; height:6px; position:absolute; top:7px; right:7px; border:2px solid #fff; border-radius:50%; background:#e0716c; }
.profile { display:flex; align-items:center; gap:10px; padding-left:19px; border-left:1px solid var(--line); }
.avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#e7f1ed; background:#315e53; font-size:11px; font-weight:700; }
.profile>div:nth-child(2) { display:flex; flex-direction:column; gap:3px; }
.profile strong { font-size:11.5px; }
.profile small { color:#8a9591; font-size:9.5px; }
.chevron { margin-left:5px; color:#8f9a96; }
.mobile-menu { display:none; font-size:21px; }
.content { max-width:1540px; margin:auto; padding:31px 34px 45px; }
.welcome { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:27px; }
.eyebrow { margin:0 0 7px!important; color:#89938f!important; font-size:10px!important; font-weight:600; letter-spacing:.5px; text-transform:uppercase; }
.welcome h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:29px; font-weight:500; letter-spacing:-.5px; }
.welcome p { margin:8px 0 0; color:#78847f; font-size:12px; }
.primary-button { height:42px; display:flex; align-items:center; gap:9px; padding:0 17px; border:0; border-radius:10px; color:#fff; background:var(--brand); box-shadow:0 6px 16px rgba(32,78,67,.16); font-size:11px; font-weight:700; }
.primary-button:hover { background:#173f37; }
.primary-button span { font-size:19px; font-weight:400; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.stat-card { min-height:118px; display:flex; align-items:flex-start; gap:14px; padding:21px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 3px 14px rgba(21,51,44,.025); }
.stat-icon { width:39px; height:39px; flex:0 0 39px; display:grid; place-items:center; border-radius:10px; font-size:17px; }
.stat-icon.green { color:#316e5e; background:#e6f1ec; }.stat-icon.blue { color:#49728d; background:#eaf1f5; }.stat-icon.amber { color:#a66a29; background:#f8efe2; }.stat-icon.rose { color:#a55555; background:#f7eaea; }
.stat-card>div:last-child { min-width:0; display:flex; flex-direction:column; }
.stat-card span { color:#7c8883; font-size:10.5px; }
.stat-card strong { margin:5px 0 7px; font-size:23px; letter-spacing:-.5px; }
.stat-card strong em { color:#64716c; font-size:16px; font-style:normal; }
.stat-card small { color:#87928e; font-size:9.5px; white-space:nowrap; }.stat-card small b { color:#43856f; }
.dashboard-grid,.bottom-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:15px; margin-top:15px; }
.bottom-grid { grid-template-columns:1.45fr .55fr; }
.panel { border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 3px 14px rgba(21,51,44,.025); overflow:hidden; }
.panel-head { min-height:73px; display:flex; align-items:center; justify-content:space-between; padding:17px 21px; border-bottom:1px solid #eef1ef; }
.panel-head h2 { margin:0; font-size:13px; font-weight:750; }
.panel-head p { margin:5px 0 0; color:#929c98; font-size:9.5px; }
.panel-head a { color:#4d776c; font-size:9.5px; font-weight:700; text-decoration:none; }.panel-head a span { margin-left:6px; }
.appointment { min-height:72px; display:flex; align-items:center; padding:0 18px; border-bottom:1px solid #f0f2f1; }.appointment:last-child { border:0; }
.appointment time { width:48px; font-size:11px; font-weight:750; }.time-line { width:3px; height:35px; margin-right:14px; border-radius:4px; }.time-line.mint { background:#73a796; }.time-line.amber { background:#d3a466; }
.appointment-copy { min-width:0; flex:1; display:flex; flex-direction:column; gap:5px; }.appointment-copy strong { font-size:11px; }.appointment-copy span { color:#929b98; font-size:9px; }
.status { padding:5px 8px; border-radius:99px; font-size:8px; font-weight:700; }.status.mint { color:#3f7868; background:#eaf4f0; }.status.amber { color:#9a692d; background:#faf0e3; }
.appointment button,.patient-row button { margin-left:12px; border:0; color:#95a09c; background:transparent; font-weight:bold; letter-spacing:2px; }
.revenue-panel { padding-bottom:11px; }.revenue-panel .panel-head { border:0; }.panel-head select { padding:6px 23px 6px 9px; border:1px solid var(--line); border-radius:7px; color:#697570; background:#fff; font-size:9px; }
.chart-meta { display:flex; align-items:flex-end; justify-content:space-between; padding:0 21px; }.chart-meta strong { font-size:24px; }.chart-meta strong span { color:#6f7a76; font-size:15px; }.chart-meta small { color:#8c9692; font-size:9px; }.chart-meta b { color:#43856f; }
.chart { height:130px; position:relative; margin:13px 21px 0; overflow:hidden; }.chart svg { width:100%; height:100%; position:relative; overflow:visible; }.chart .area { fill:url(#area); }.chart .line { fill:none; stroke:#4c8c7b; stroke-width:2.5; stroke-linecap:round; }.chart circle { fill:#fff; stroke:#4c8c7b; stroke-width:3; }
.grid-lines { position:absolute; inset:0; background:repeating-linear-gradient(to bottom,#edf1ee 0,#edf1ee 1px,transparent 1px,transparent 33%); }
.chart-labels { display:flex; justify-content:space-between; padding:5px 20px; color:#969f9b; font-size:8px; }
.patients-panel .panel-head { min-height:70px; }.patient-row { min-height:60px; display:grid; grid-template-columns:34px minmax(150px,1fr) 78px 100px 24px; align-items:center; gap:10px; padding:0 18px; border-bottom:1px solid #f0f2f1; }.patient-row:last-child { border:0; }
.patient-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; font-size:9px; font-weight:750; }.patient-avatar.sage { color:#3d7062; background:#e4efeb; }.patient-avatar.sand { color:#936d41; background:#f4eadc; }.patient-avatar.lilac { color:#6e678d; background:#ebe9f3; }
.patient-name { display:flex; flex-direction:column; gap:4px; }.patient-name strong { font-size:10px; }.patient-name span,.patient-row>span { color:#8a9591; font-size:8.5px; }.patient-row>span:nth-of-type(2) { color:#4a625b; font-weight:600; }
.quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; }.quick-grid button { min-height:70px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:12px; border:1px solid #ebefec; border-radius:10px; color:#52615c; background:#fbfcfb; font-size:9px; font-weight:650; text-align:left; }.quick-grid button:hover { border-color:#bfd1ca; background:#f6faf8; }.quick-grid button span { width:25px; height:25px; display:grid; place-items:center; border-radius:7px; font-size:13px; }.q-green { color:#37715f; background:#e5f0ec; }.q-blue { color:#517a91; background:#e9f1f5; }.q-amber { color:#9a692d; background:#f7ecdd; }.q-rose { color:#a35555; background:#f6e7e7; }
@media (max-width:1100px) { .stats-grid { grid-template-columns:repeat(2,1fr); }.dashboard-grid,.bottom-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .sidebar { transform:translateX(-100%); }.workspace { margin-left:0; }.topbar { height:64px; padding:0 16px; }.mobile-menu { display:block; }.search { width:auto; flex:1; margin:0 12px; }.search kbd,.profile>div:nth-child(2),.chevron,.icon-button { display:none; }.profile { padding-left:0; border:0; }.content { padding:22px 16px 36px; }.welcome { align-items:flex-start; gap:18px; }.welcome h1 { font-size:25px; }.welcome p { max-width:330px; line-height:1.5; }.primary-button { width:42px; flex:0 0 42px; padding:0; justify-content:center; overflow:hidden; color:transparent; }.primary-button span { color:#fff; }.stats-grid { grid-template-columns:1fr 1fr; }.stat-card { min-height:110px; padding:16px 13px; }.stat-icon { display:none; }.patient-row { grid-template-columns:34px minmax(130px,1fr) 88px 20px; }.patient-row>span:first-of-type { display:none; } }
@media (max-width:480px) { .stats-grid { grid-template-columns:1fr; }.stat-card { min-height:95px; }.dashboard-grid,.bottom-grid { gap:12px; margin-top:12px; }.appointment { padding:0 13px; }.appointment time { width:42px; }.appointment .status { display:none; }.chart-meta { align-items:flex-start; flex-direction:column; gap:5px; }.patient-row { grid-template-columns:32px 1fr 20px; }.patient-row>span { display:none; }.quick-grid { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }

/* Plesk buraxılışı: tətbiq, reyestr, forma və autentifikasiya qatı */
[hidden]{display:none!important}.nav-item{width:100%;border:0;background:transparent;text-align:left}.drawer-close{display:none;margin-left:auto;border:0;color:#d8e8e2;background:transparent;font-size:24px}.drawer-backdrop{display:none}.offline-banner{position:fixed;inset:0 0 auto;z-index:1000;padding:7px;color:#6d4a20;background:#f6e5c8;font-size:10px;font-weight:750;text-align:center}.offline-banner:not([hidden])~.app-shell .topbar{top:29px}.topbar button{font:inherit}.profile{border-top:0;border-right:0;border-bottom:0;background:transparent;text-align:left}.profile-copy{display:flex;flex-direction:column;gap:3px}.install-button{height:32px;padding:0 11px;border:1px solid #cddbd5;border-radius:8px;color:#315f53;background:#f5faf7;font-size:9px;font-weight:750}.page-loading{min-height:420px;display:grid;place-items:center;align-content:center;gap:12px;color:#85918c;font-size:11px}.page-loading span{width:26px;height:26px;border:3px solid #dce8e3;border-top-color:#3f7768;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 17% 12%,#dfece6,transparent 31%),radial-gradient(circle at 85% 82%,#e7e1d9,transparent 27%),#f4f6f3}.login-brand{position:absolute;top:31px;left:35px;display:flex;align-items:center;gap:11px}.login-brand .brand-name{color:#173e36}.login-card{width:min(410px,100%);padding:37px 38px;border:1px solid #e1e7e3;border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 24px 70px rgba(29,64,56,.12)}.login-card h1{margin:0 0 9px;font:500 29px/1.2 Georgia,serif}.login-card>p:not(.eyebrow){margin:0 0 25px;color:#78847f;font-size:11px;line-height:1.6}.login-card .form-field{margin-bottom:14px}.login-submit{width:100%;justify-content:center;margin-top:8px}.login-submit[disabled],.primary-button[disabled]{cursor:wait;opacity:.65}.login-card>small{display:block;margin-top:16px;color:#929b98;font-size:9px;line-height:1.5;text-align:center}.form-field{display:grid;gap:7px}.form-field>span{color:#53625d;font-size:10px;font-weight:750}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid #dfe6e2;border-radius:9px;outline:0;color:#23322e;background:#fbfcfb;font-size:11px}.form-field textarea{min-height:86px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#76a395;box-shadow:0 0 0 3px #e7f1ed}.form-error{margin:0 0 16px;padding:11px 12px;border:1px solid #e9c1c1;border-radius:8px;color:#944d4d;background:#fff1f1;font-size:10px;line-height:1.5}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-head h1{margin:0;font:500 29px/1.2 Georgia,serif}.page-head p{margin:7px 0 0;color:#7d8984;font-size:11px}.page-actions{display:flex;gap:9px}.secondary-button,.danger-button{height:40px;padding:0 14px;border:1px solid #dce4df;border-radius:9px;color:#50605a;background:#fff;font-size:10px;font-weight:750}.secondary-button:hover{border-color:#b9cbc4;background:#f9fbfa}.danger-button{border-color:#eccdcd;color:#995252;background:#fff7f7}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.toolbar-search{height:40px;min-width:250px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.toolbar-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:10px}.filter-select{height:40px;padding:0 30px 0 11px;border:1px solid var(--line);border-radius:9px;color:#5a6863;background:#fff;font-size:10px}.record-count{margin-left:auto;color:#89938f;font-size:9px}.registry-panel{overflow:visible}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th{height:42px;padding:0 16px;border-bottom:1px solid #eaf0ec;color:#87928e;background:#fafbfa;font-size:8px;font-weight:800;letter-spacing:.55px;text-align:left;text-transform:uppercase}.data-table td{height:59px;padding:0 16px;border-bottom:1px solid #edf1ef;color:#58655f;font-size:9.5px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfc}.table-primary{display:flex;align-items:center;gap:10px}.table-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#3d7062;background:#e4efeb;font-size:8px;font-weight:800}.table-primary>span{display:flex;flex-direction:column;gap:4px}.table-primary strong{color:#24342f;font-size:10px}.table-primary small{color:#929c98;font-size:8px}.table-status{display:inline-flex;padding:5px 8px;border-radius:99px;color:#3f7868;background:#eaf4f0;font-size:8px;font-weight:700}.table-status.warning{color:#94682d;background:#faf0e3}.table-status.neutral{color:#67746f;background:#eff2f0}.row-actions{display:flex;justify-content:flex-end;gap:4px}.row-action{width:29px;height:29px;border:0;border-radius:7px;color:#75827d;background:transparent;font-size:12px}.row-action:hover{color:#315f53;background:#edf4f1}.row-action.danger:hover{color:#a45353;background:#faecec}.empty-state{min-height:250px;display:grid;place-items:center;align-content:center;gap:8px;padding:30px;text-align:center}.empty-state span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#548172;background:#edf4f1;font-size:22px}.empty-state h3{margin:4px 0 0;font-size:13px}.empty-state p{max-width:340px;margin:0;color:#87928e;font-size:10px;line-height:1.5}.pagination{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-top:1px solid #edf1ef;color:#87928e;font-size:9px}.pagination-buttons{display:flex;gap:5px}.pagination button{width:29px;height:28px;border:1px solid #e0e6e2;border-radius:7px;color:#64716c;background:#fff;font-size:9px}.pagination button.active{border-color:#315f53;color:#fff;background:#315f53}.pagination button:disabled{opacity:.4}
.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.dashboard-welcome h1{margin:0;font:500 29px/1.15 Georgia,serif}.dashboard-welcome>div>p:last-child{margin:8px 0 0;color:#78847f;font-size:11px}.audit-detail{max-width:260px;overflow:hidden;text-overflow:ellipsis}.permission-chips{display:flex;flex-wrap:wrap;gap:5px}.permission-chip{padding:4px 7px;border-radius:6px;color:#536d64;background:#edf3f0;font-size:8px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:15px}.report-card{padding:21px;border:1px solid var(--line);border-radius:13px;background:#fff}.report-card span{color:#81908a;font-size:9px}.report-card strong{display:block;margin-top:7px;font-size:23px}.report-card.net strong{color:#2f6a5a}
.link-button{border:0;color:#4d776c;background:transparent;font-size:9.5px;font-weight:700}.bar-chart{height:175px;display:flex;align-items:flex-end;gap:16px;padding:20px 22px 13px}.bar-column{height:100%;min-width:22px;flex:1;position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:6px}.bar-column i{width:min(38px,70%);min-height:5px;border-radius:7px 7px 2px 2px;background:linear-gradient(#70a794,#3d7768)}.bar-column small{color:#909b96;font-size:8px}.bar-value{height:11px;color:#70807a;font-size:7px;white-space:nowrap}.finance-chart{display:grid;gap:10px;padding:18px 21px}.finance-row{display:grid;grid-template-columns:60px 1fr 85px;align-items:center;gap:12px;min-height:29px}.finance-row time,.finance-row>span{color:#74817c;font-size:8px}.finance-row>span{text-align:right}.finance-bars{display:grid;gap:3px}.finance-bars i{display:block;min-width:2px;height:5px;border-radius:8px}.finance-bars .income{background:#599481}.finance-bars .expense{background:#d48787}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(15,35,30,.5);backdrop-filter:blur(4px)}.modal{width:min(660px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:17px;background:#fff;box-shadow:0 30px 90px rgba(12,35,29,.3)}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 17px;border-bottom:1px solid #edf1ef}.modal h2{margin:0;font:500 22px Georgia,serif}.modal header button{width:33px;height:33px;border:0;border-radius:8px;color:#78847f;background:#f3f6f4;font-size:20px}.modal form{padding:22px 24px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-field.full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:17px;border-top:1px solid #edf1ef}.toast-region{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:9px}.toast{min-width:260px;max-width:360px;padding:13px 15px;border:1px solid #dce7e2;border-radius:10px;color:#355249;background:#f6fbf8;box-shadow:0 12px 30px rgba(24,60,51,.13);font-size:10px;animation:toast-in .2s ease}.toast.error{border-color:#ebcaca;color:#8f4d4d;background:#fff5f5}@keyframes toast-in{from{transform:translateY(8px);opacity:0}}
@media(max-width:760px){.sidebar.open{transform:translateX(0);box-shadow:14px 0 40px rgba(12,36,29,.25)}.drawer-close{display:block}.drawer-backdrop.open{display:block;position:fixed;inset:0;z-index:19;background:rgba(12,32,27,.4)}.top-actions{gap:8px}.install-button{display:none!important}.login-brand{top:22px;left:22px}.login-screen{padding:85px 16px 25px}.login-card{padding:29px 23px}.page-head,.dashboard-welcome{align-items:flex-start;gap:16px}.page-head h1,.dashboard-welcome h1{font-size:25px}.page-head .primary-button,.dashboard-welcome .primary-button{width:42px;padding:0;overflow:hidden;color:transparent}.page-head .primary-button span,.dashboard-welcome .primary-button span{color:#fff}.toolbar{flex-wrap:wrap}.toolbar-search{min-width:100%;order:-1}.record-count{margin-left:0}.report-summary{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.modal{max-height:calc(100vh - 18px)}.modal-backdrop{padding:9px}.modal>header,.modal form{padding-left:18px;padding-right:18px}}
@media(max-width:480px){.page-actions .secondary-button{display:none}.data-table th,.data-table td{padding-left:12px;padding-right:12px}.login-card h1{font-size:25px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:108px}.stat-card strong{font-size:20px}.stat-card small{white-space:normal;line-height:1.4}.quick-grid{grid-template-columns:1fr 1fr}}
