/* Mahour Professional UI 2026 — visual/UX layer, keeps existing IDs and business logic intact */
:root{
 --navy:#15324b;--navy-2:#0f263a;--blue:#2b6f8e;--blue-2:#3d829f;--gold:#c69a4b;
 --bg:#f4f7f9;--surface:#fff;--surface-2:#f8fafb;--line:#e3e9ed;--muted:#71808d;
 --green:#19866b;--red:#c2413a;--amber:#a66b18;--text:#1c2b36;
 --shadow:0 10px 30px rgba(23,50,70,.07);--shadow-lg:0 24px 70px rgba(15,38,58,.16);
 --radius:16px;--radius-sm:11px
}
*{scrollbar-width:thin;scrollbar-color:#cbd6dc transparent}
html{background:var(--bg)}
body{font-family:Tahoma,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.65}
button,input,select,textarea{font-family:inherit}button{transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}button:active{transform:translateY(1px)}
.login{background:radial-gradient(circle at 78% 18%,rgba(198,154,75,.14),transparent 28%),linear-gradient(145deg,#eef4f6 0%,#e6eef1 52%,#f7f3ea 100%);position:relative;overflow:hidden}
.login:before,.login:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.login:before{width:360px;height:360px;background:#2b6f8e0c;right:-120px;bottom:-120px}.login:after{width:220px;height:220px;border:1px solid #c69a4b35;left:-60px;top:-60px}
.login-card{width:min(430px,100%);border:1px solid rgba(255,255,255,.8);border-radius:26px;padding:34px 34px 30px;box-shadow:var(--shadow-lg);backdrop-filter:blur(12px);position:relative;z-index:1}
.login-card:before{content:"سامانه مدیریت کلینیک";display:inline-flex;padding:5px 11px;border-radius:999px;background:#eef5f7;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.2px;margin-bottom:15px}
.login-card img{width:112px;height:112px;border-radius:24px;box-shadow:0 10px 30px #15324b20;border:4px solid #fff}.login-card h1{font-size:28px;letter-spacing:-.5px;margin-top:16px}.login-card p{font-size:12px;margin-bottom:26px}.login-card .field{margin-bottom:12px}.login-card .btn{margin-top:10px}
.field{gap:6px}.field span{font-size:11px;color:#40515d}.field input,.field select,.toolbar input,.capacity input{border:1px solid #dce5e9;border-radius:var(--radius-sm);padding:11px 12px;background:#fbfcfd;color:var(--text);transition:.16s ease}.field input:hover,.field select:hover,.toolbar input:hover{border-color:#c5d4da}.field input:focus,.field select:focus,.toolbar input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2b6f8e14;background:#fff;outline:0}
.btn{border-radius:10px;padding:9px 14px;font-size:12px;min-height:38px}.primary{background:linear-gradient(135deg,var(--blue),#245d78);box-shadow:0 5px 14px #2b6f8e20}.primary:hover{box-shadow:0 7px 18px #2b6f8e30;filter:brightness(1.03)}.secondary{background:#fff;color:#38505f;border-color:#dce5e9}.secondary:hover{background:#f7fafb;border-color:#c8d5db}.danger{background:#fff7f6;color:var(--red);border-color:#f1cfcc}
.topbar{height:68px;background:linear-gradient(90deg,var(--navy-2),var(--navy));padding:0 22px;box-shadow:0 5px 20px #102d5c18;z-index:20}.brand{gap:11px}.brand img{width:43px;height:43px;border-radius:12px;border:2px solid #ffffff20}.brand strong{font-size:18px;letter-spacing:-.2px}.brand small{font-size:10px;color:#b9c8d2}.who{gap:12px}.who #currentUser{background:#ffffff10;border:1px solid #ffffff12;border-radius:999px;padding:5px 10px;color:#eaf0f3}.topbar .secondary{background:#ffffff10;border-color:#ffffff18;color:#fff;min-height:34px}.topbar .secondary:hover{background:#ffffff18}
.shell{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#fff;border-left:1px solid var(--line);padding:18px 12px;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto;box-shadow:-4px 0 18px rgba(23,50,70,.025)}
.sidebar:before{content:"منوی اصلی";display:block;color:#9aa7b0;font-size:9px;font-weight:700;padding:2px 12px 10px}.nav{gap:4px}.nav button{position:relative;display:flex;align-items:center;gap:10px;color:#60717d;border-radius:11px;padding:10px 11px;font-size:12px;min-height:43px}.nav button:before{content:attr(data-icon);width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f3f6f8;color:#60717d;font-size:14px;flex:0 0 auto}.nav button:hover{background:#f7f9fa;color:var(--navy)}.nav button.active{background:linear-gradient(90deg,#edf5f7,#f4f8fa);color:var(--blue);font-weight:700;box-shadow:inset -3px 0 0 var(--blue)}.nav button.active:before{background:var(--blue);color:#fff;box-shadow:0 5px 12px #2b6f8e25}
.main{padding:25px clamp(18px,2.4vw,34px) 42px;max-width:1700px;width:100%;margin:0 auto}.page{animation:pageIn .18s ease}@keyframes pageIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.page-head{margin-bottom:19px;gap:14px}.page-head h2{font-size:21px;color:var(--navy);letter-spacing:-.35px}.page-head p{font-size:11px;color:#82909a;margin-top:3px}.page-head>div:first-child:before{content:"MAHOUR";display:block;color:var(--gold);font-size:8px;letter-spacing:2px;font-weight:800;margin-bottom:1px}
.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px;box-shadow:0 3px 12px rgba(23,50,70,.035);overflow:hidden;min-height:96px}.card:after{content:"";position:absolute;width:52px;height:52px;border-radius:50%;left:-19px;bottom:-22px;background:#2b6f8e0a}.card small{font-size:10px;color:#7f8e98;font-weight:600}.card strong{font-size:23px;color:var(--navy);margin-top:7px;letter-spacing:-.5px}.attendance-cards .card{border-top:1px solid var(--line)!important}.attendance-cards .card:nth-child(1){box-shadow:inset 0 3px 0 #49a98e,0 3px 12px rgba(23,50,70,.035)}.attendance-cards .card:nth-child(2){box-shadow:inset 0 3px 0 #d56a63,0 3px 12px rgba(23,50,70,.035)}.attendance-cards .card:nth-child(3){box-shadow:inset 0 3px 0 #d5a755,0 3px 12px rgba(23,50,70,.035)}.attendance-cards .revenue-actual{box-shadow:inset 0 3px 0 var(--blue),0 3px 12px rgba(23,50,70,.035)}
.panel,.form-panel,.setting{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{overflow:hidden}.toolbar{padding:11px 13px;gap:10px;border-bottom:1px solid #e9eef1;background:#fbfcfd;align-items:center;flex-wrap:wrap}.toolbar input{width:360px;min-height:40px}.toolbar>div{display:flex;gap:7px;flex-wrap:wrap}
table{background:#fff}th,td{padding:11px 12px;border-bottom:1px solid #edf1f3;font-size:11px;vertical-align:middle}th{background:#f7f9fa;color:#657580;font-weight:700;white-space:nowrap}tbody tr{transition:.12s ease}tbody tr:hover{background:#f8fbfc}tbody tr:last-child td{border-bottom:0}td a{color:var(--blue);text-decoration:none}.empty{padding:62px 20px;color:#8a98a2}.empty:before{content:"○";display:block;font-size:30px;color:#c3ced4;margin-bottom:7px}
.badge{padding:4px 8px;border-radius:999px;background:#eaf7f2;color:#16725c;font-size:10px;font-weight:700;border:1px solid #d5eee5}.attendance-present{background:#eaf7f2!important;color:#16725c!important;border-color:#bfe4d7!important}.attendance-absent{background:#fff2f1!important;color:#b83f38!important;border-color:#f2cecb!important}.attendance-pending{color:#966317}.attendance-buttons .btn{padding:6px 8px;min-height:31px;border-radius:8px}.payment-input{border-color:#dce5e9;border-radius:9px;padding:7px 8px}
.form-panel{padding:21px}.form-grid{gap:13px 16px}.notice{background:#f0f7f5;color:#35675b;border:1px solid #dcece7;border-radius:11px;padding:11px 13px;font-size:11px;line-height:1.8}.actions{padding-top:4px}.settings{gap:14px}.setting{padding:19px}.setting h3{font-size:15px;color:var(--navy);margin-bottom:6px}.setting p{font-size:11px;line-height:1.9}.pricing-box{border-color:#dfe8ec;border-radius:14px;background:linear-gradient(180deg,#f9fbfc,#f6f9fa);padding:16px}.pricing-box h3{font-size:15px}.region-option{border-color:#dfe7eb;border-radius:10px}.body-area-options .region-option:has(input:checked){border-color:var(--blue);background:#edf6f8;color:var(--navy);box-shadow:0 0 0 2px #2b6f8e0b}.body-area-options input{accent-color:var(--blue)}.service-row{border-color:#dfe7eb}.price-summary div{background:linear-gradient(135deg,var(--navy-2),var(--navy));border-radius:11px}.price-summary div:nth-child(3){background:linear-gradient(135deg,#8d6a2f,#b48b43)}
.modal{background:rgba(15,38,58,.52);backdrop-filter:blur(4px);padding:24px}.modal-card{border-radius:19px;padding:22px;border:1px solid #ffffff80;box-shadow:var(--shadow-lg);max-height:90vh;overflow:auto}.modal-card h3{color:var(--navy);font-size:17px}.toast{bottom:22px;left:22px;background:#142b3d;border:1px solid #ffffff12;border-radius:11px;box-shadow:0 12px 35px #0f263a35;font-size:11px;padding:11px 15px}
.calendar-tools select{border-color:#dce5e9}.calendar-grid{gap:5px}.calendar-weekday{background:#eef4f6;color:#536b79}.calendar-day{border-color:#e2e8ec;border-radius:10px}.calendar-day:hover{border-color:var(--blue);background:#f2f8fa}.calendar-day.holiday{background:#fff5f4;border-color:#edc4c1}.date-wheel select{border-color:#dce5e9;background:#f8fafb}
.cabin-entry{display:flex;align-items:center;gap:5px}.cabin-entered{background:#eaf7f2!important;color:#16725c!important;border-color:#bfe4d7!important}.cabin-latest{color:var(--gold);font-size:9px;font-weight:700}
/* polish inline two-column cards used by future page */
#page-future .cards{gap:12px}#page-revenue .cards .card,#page-payroll .cards .card{min-height:92px}
@media(max-width:1100px){.shell{grid-template-columns:205px minmax(0,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-list{grid-template-columns:1fr}.sidebar{padding-inline:9px}.nav button{padding-inline:9px}}
@media(max-width:900px){.topbar{height:62px}.shell{grid-template-columns:1fr;min-height:calc(100vh - 62px)}.sidebar{position:sticky;top:62px;height:auto;z-index:15;border-left:0;border-bottom:1px solid var(--line);padding:7px 9px;overflow-x:auto}.sidebar:before{display:none}.nav{display:flex;min-width:max-content;gap:5px}.nav button{white-space:nowrap;min-height:38px;padding:6px 9px}.nav button:before{width:25px;height:25px}.nav button.active{box-shadow:inset 0 -2px 0 var(--blue)}.main{padding-top:20px}.settings{grid-template-columns:1fr}}
@media(max-width:600px){.topbar{padding:0 10px}.brand img{width:38px;height:38px}.brand strong{font-size:16px}.brand small{display:none}.who{gap:6px}.who #currentUser{display:none}.main{padding:15px 10px 30px}.page-head{align-items:center;margin-bottom:14px}.page-head h2{font-size:18px}.page-head p{max-width:230px}.page-head .btn{font-size:10px;padding:7px 10px;min-height:34px}.cards{grid-template-columns:1fr 1fr;gap:8px}.card{padding:13px;min-height:86px}.card strong{font-size:19px}.form-panel,.setting{padding:14px}.panel{border-radius:13px}.toolbar{padding:9px}.toolbar input{width:100%}.toolbar>div{width:100%}.toolbar>div .btn{flex:1}.modal{padding:10px}.modal-card{padding:16px;border-radius:16px}.actions{flex-wrap:wrap}.actions .btn{flex:1;min-width:120px}.price-summary{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}table{min-width:760px}}
@media print{.sidebar,.topbar,.page-head .btn,.toolbar,.toast{display:none!important}.shell{display:block}.main{padding:0}.panel,.card,.form-panel{box-shadow:none}}

body.modal-open{overflow:hidden}.modal{isolation:isolate}.modal-card{position:relative;z-index:1}.btn.is-busy-tap{transform:translateY(1px)}

/* Mahour Chic Pink Edition */
:root{
 --navy:#5b2745;--navy-2:#421b32;--blue:#c94f87;--blue-2:#dc6ca0;--gold:#d5a06c;
 --bg:#fff7fa;--surface:#fff;--surface-2:#fffafd;--line:#f1dce6;--muted:#8f7481;
 --green:#26866d;--red:#c54862;--amber:#ad7029;--text:#432c38;
 --shadow:0 10px 30px rgba(112,45,77,.08);--shadow-lg:0 24px 70px rgba(91,39,69,.18)
}
*{scrollbar-color:#e7bfd2 transparent}
.login{background:radial-gradient(circle at 78% 18%,rgba(213,160,108,.16),transparent 28%),linear-gradient(145deg,#fff8fb 0%,#fcebf3 52%,#fff8f4 100%)}
.login:before{background:#c94f870d}.login:after{border-color:#d5a06c45}.login-card:before{background:#fff0f6;color:#b53e75}.login-card img{box-shadow:0 10px 30px #702d4d20}.field input:focus,.field select:focus,.toolbar input:focus{box-shadow:0 0 0 4px #c94f8718}.primary{background:linear-gradient(135deg,#d45b91,#b94077);box-shadow:0 5px 14px #c94f8726}.topbar{background:linear-gradient(90deg,#421b32,#6c2b50)}.nav button.active{background:linear-gradient(90deg,#fff0f6,#fff8fb)}.nav button.active:before{background:linear-gradient(135deg,#d45b91,#b94077)}.card:after{background:#c94f870b}.body-area-options .region-option:has(input:checked){background:#fff0f6;box-shadow:0 0 0 2px #c94f870d}.price-summary div{background:linear-gradient(135deg,#421b32,#6c2b50)}.modal{background:rgba(66,27,50,.48)}.toast{background:#4c2038}.calendar-day:hover{background:#fff4f8}.calendar-weekday{background:#faeaf2;color:#78566a}

/* Mahour Soft Rose Professional — calm, non-purple palette */
:root{--navy:#49363d;--navy-2:#34272c;--blue:#b85f79;--blue-2:#c9788f;--gold:#b98b62;--bg:#faf8f8;--surface:#fff;--surface-2:#fcfbfb;--line:#eadfe2;--muted:#81747a;--text:#3f373a;--shadow:0 8px 28px rgba(72,53,60,.065);--shadow-lg:0 22px 60px rgba(52,39,44,.16)}
.login{background:radial-gradient(circle at 80% 15%,rgba(185,139,98,.11),transparent 30%),linear-gradient(145deg,#fbf9f9,#f7f1f3 55%,#fbf8f6)}.topbar{background:linear-gradient(90deg,#34272c,#544047)}.primary{background:linear-gradient(135deg,#bf6b82,#a9516b);box-shadow:0 5px 14px rgba(169,81,107,.18)}.login-card:before,.nav button.active{background:#f8ecef;color:#9d4d65}.nav button.active:before{background:linear-gradient(135deg,#bf6b82,#a9516b)}.field input:focus,.field select:focus,.toolbar input:focus{box-shadow:0 0 0 4px rgba(184,95,121,.12)}.calendar-weekday{background:#f5edef;color:#6f5b62}.calendar-day:hover{background:#faf1f3}.body-area-options .region-option:has(input:checked){background:#f9eef1}.price-summary div{background:linear-gradient(135deg,#34272c,#544047)}.modal{background:rgba(52,39,44,.46)}.toast{background:#3d2e33}
.manual-schedule-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.manual-schedule-toolbar .field{min-width:210px}.manual-schedule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.manual-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.manual-session-row div{display:flex;flex-direction:column;gap:2px}.manual-session-row strong{font-size:12px;color:var(--navy)}.manual-session-row small{font-size:10px;color:var(--muted)}.manual-session-row select{width:105px;min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:5px 8px;color:var(--text)}.manual-empty{padding:18px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);text-align:center;background:#fcfbfb}.full{grid-column:1/-1}@media(max-width:700px){.manual-schedule-list{grid-template-columns:1fr}}
.manual-session-row{display:grid!important;grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(120px,.7fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;margin:8px 0;background:rgba(255,255,255,.72)}
.manual-session-row .field{margin:0}.manual-session-title{align-self:center}.manual-session-title small{display:block;color:var(--muted);margin-top:4px}@media(max-width:720px){.manual-session-row{grid-template-columns:1fr}.manual-session-title{margin-bottom:2px}}

/* Visual manual appointment picker */
.visual-session-list{display:flex!important;gap:8px;overflow:auto;padding:4px 0 12px;scrollbar-width:thin}.visual-session-chip{min-width:145px;text-align:right;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;color:var(--text);box-shadow:0 3px 12px rgba(62,45,48,.04)}.visual-session-chip span,.visual-session-chip small{display:block}.visual-session-chip span{font-size:11px;color:var(--muted)}.visual-session-chip b{display:block;margin:5px 0;font-size:12px}.visual-session-chip small{font-size:10px;color:var(--muted)}.visual-session-chip.active{border-color:#b55d78;box-shadow:0 0 0 3px rgba(181,93,120,.12);background:#fff8fa}.visual-session-chip.done:before{content:'✓';float:left;color:#2f7d67;font-weight:bold}.visual-picker{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(260px,.65fr);gap:14px;margin-top:8px}.visual-calendar-card,.visual-times-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.visual-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.visual-calendar-head strong{color:var(--navy)}.visual-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.visual-weekday{text-align:center;font-size:11px;font-weight:bold;color:var(--muted);padding:7px}.visual-empty{min-height:58px}.visual-day{min-height:58px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.visual-day b{font-size:13px}.visual-day small{font-size:9px;color:#2f7d67}.visual-day:hover:not(:disabled){border-color:#c87991;background:#fff8fa}.visual-day.selected{background:#b55d78;color:#fff;border-color:#b55d78;box-shadow:0 5px 15px rgba(181,93,120,.2)}.visual-day.selected small{color:#fff}.visual-day.disabled{background:#f7f5f5;color:#b7adb0;cursor:not-allowed}.visual-day.disabled small{color:#b7adb0}.visual-day.holiday{background:#fff3f3;color:#b45b5b}.visual-times-card h4{margin:2px 0 4px}.visual-times-card>p{margin:0 0 12px;font-size:11px;color:var(--muted)}.visual-times{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.visual-time{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 8px;color:var(--text)}.visual-time b,.visual-time small{display:block}.visual-time b{font-size:14px}.visual-time small{font-size:9px;color:#2f7d67;margin-top:3px}.visual-time:hover:not(:disabled){border-color:#c87991;background:#fff8fa}.visual-time.selected{background:#b55d78;border-color:#b55d78;color:#fff}.visual-time.selected small{color:#fff}.visual-time.disabled{background:#f7f5f5;color:#b7adb0;cursor:not-allowed}.visual-time.disabled small{color:#b7adb0}.visual-hint{grid-column:1/-1;padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}@media(max-width:850px){.visual-picker{grid-template-columns:1fr}.visual-times{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.visual-calendar{gap:3px}.visual-day,.visual-empty{min-height:48px}.visual-times{grid-template-columns:repeat(2,1fr)}}
