@font-face{font-family:YekanBakhFaNum;src:url("fonts/YekanBakhFaNum-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:YekanBakhFaNum;src:url("fonts/YekanBakhFaNum-Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:YekanBakhFaNum;src:url("fonts/YekanBakhFaNum-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:YekanBakhFaNum;src:url("fonts/YekanBakhFaNum-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}body{margin:0;font-family:YekanBakhFaNum,Tahoma,Arial,sans-serif;background:linear-gradient(135deg,#eef4ff,#f7f9fc 45%,#fff);color:#172033}a{text-decoration:none;color:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 32px;background:#0f172a;color:#fff;box-shadow:0 8px 30px #0f172a33}.topbar h1{margin:0 0 8px;font-size:26px}.topbar p{margin:0;color:#cbd5e1}.top-actions,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tabs{display:flex;gap:8px;overflow:auto;padding:12px 32px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:5}.tab,.btn{border:0;border-radius:14px;padding:10px 16px;background:#e8eef8;color:#172033;cursor:pointer;font-family:inherit;font-weight:700;transition:.2s}.tab.active,.btn.primary{background:#2563eb;color:#fff}.btn.danger{background:#ef4444;color:#fff}.btn.ghost{background:#ffffff22;color:#fff;border:1px solid #ffffff55}.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}.btn:hover,.tab:hover{transform:translateY(-1px);filter:brightness(.98)}.container{padding:26px 32px;max-width:1400px;margin:auto}.view{display:none}.view.active{display:block}.panel,.card,.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 16px 40px #11204d12;padding:22px;margin-bottom:22px}.panel h2{margin-top:0;color:#0f172a}.grid.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px}.card span{display:block;color:#64748b;margin-bottom:8px}.card strong{font-size:34px;color:#2563eb}.form-row,.filters,.repair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end;margin-bottom:18px}.repair-grid .wide{grid-column:1/-1}.stack{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:700;color:#334155}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:11px 12px;font-family:inherit;font-size:14px;background:#fff}textarea{min-height:88px;resize:vertical}.hint{background:#eff6ff;border:1px solid #bfdbfe;padding:12px;border-radius:14px;color:#1e40af}.table-wrap{overflow:auto;border-radius:18px;border:1px solid #e5e7eb}table{width:100%;border-collapse:collapse;background:#fff;min-width:850px}th,td{text-align:right;padding:13px;border-bottom:1px solid #edf2f7;vertical-align:top}th{background:#f8fafc;color:#334155;white-space:nowrap}tr:hover td{background:#f8fbff}.badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-weight:700;font-size:12px}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.empty{padding:18px;border-radius:16px;background:#f8fafc;color:#64748b}.summary{margin:14px 0;padding:12px;border-radius:14px;background:#f8fafc}.modal{position:fixed;inset:0;background:#0f172a99;display:grid;place-items:center;padding:20px;z-index:20}.modal.hidden{display:none}.modal-box{width:min(560px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 25px 80px #0005}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%)}.brand{text-align:center;margin-bottom:20px}.logo{width:72px;height:72px;border-radius:22px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:34px;margin:0 auto 12px}.alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:14px;margin-bottom:14px}code,pre{direction:ltr;text-align:left;background:#f1f5f9;border-radius:12px;padding:2px 6px}pre{padding:14px;overflow:auto}.print-area{background:#fff}.site-footer{max-width:1400px;margin:4px auto 22px;padding:0 32px;text-align:center;color:var(--theme-muted,#64748b);font-size:12px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.site-footer strong{font-weight:700;color:var(--theme-text,#172033)}body[data-theme="dark"] .site-footer strong{color:#e5e7eb}
@media(max-width:800px){.topbar{display:block;padding:20px}.grid.cards{grid-template-columns:1fr 1fr}.container{padding:16px}.tabs{padding:10px 16px}.top-actions{margin-top:14px}.theme-top-select{width:100%;justify-content:space-between}.theme-top-select select{flex:1}.site-footer{padding:0 16px;margin-bottom:16px}}@media print{body{background:#fff;color:#000}.topbar,.tabs,.no-print,.btn,.actions,form:not(#closeForm){display:none!important}.container{padding:0;max-width:none}.view{display:none!important}#reports.view{display:block!important}.panel{box-shadow:none;border:0;padding:0}.table-wrap{border:0;overflow:visible}table{min-width:0;font-size:12px}th,td{border:1px solid #999;padding:6px}.badge{border:1px solid #777;background:#fff!important;color:#000!important}.print-area h2{text-align:center}}
.input-action{display:flex;gap:8px;align-items:center}.input-action input{min-width:0}.input-action .btn{white-space:nowrap}
@media(max-width:520px){.input-action{display:grid;grid-template-columns:1fr}.input-action .btn{width:100%}}

.jalali-calendar{position:absolute;z-index:9999;width:290px;background:#fff;border:1px solid #dbe3f0;border-radius:18px;box-shadow:0 20px 55px rgba(15,23,42,.22);padding:12px;direction:rtl}.jalali-calendar.hidden{display:none}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head button{border:0;background:#eef2ff;color:#1e3a8a;border-radius:10px;padding:6px 12px;font-size:20px;cursor:pointer}.cal-week,.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.cal-week span{font-size:12px;color:#64748b;font-weight:800;padding:5px}.cal-days .day{height:34px;border:0;border-radius:10px;background:#f8fafc;cursor:pointer;font-weight:700;color:#0f172a}.cal-days .day:hover{background:#dbeafe}.cal-days .day.empty{background:transparent;cursor:default}.cal-days .day.today{outline:2px solid #38bdf8}.cal-days .day.selected{background:#2563eb;color:#fff}.cal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.input-action .calendar-open{white-space:nowrap}
.user-chip{display:inline-flex;align-items:center;background:#ffffff18;border:1px solid #ffffff33;color:#fff;border-radius:999px;padding:8px 12px;font-weight:700}.theme-top-select{display:flex;align-items:center;gap:8px;min-height:42px;background:linear-gradient(135deg,#ffffff2e,#ffffff12);border:1px solid #ffffff55;color:#fff;border-radius:999px;padding:5px 8px 5px 5px;font-weight:700;box-shadow:inset 0 1px 0 #ffffff35,0 10px 24px #00000018;backdrop-filter:blur(10px)}.theme-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--theme-primary,#2563eb);font-size:15px;box-shadow:0 6px 16px #0002}.theme-label{font-size:13px;opacity:.95}.theme-top-select select{appearance:none;-webkit-appearance:none;width:auto;min-width:112px;border-radius:999px;padding:8px 28px 8px 12px;background:#fff;color:#172033;border:0;font-weight:700;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.theme-top-select select:focus{outline:3px solid #ffffff88}.theme-top-select:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ffffff40,#ffffff18)}body[data-theme="dark"] .theme-top-select select{background-color:#1e293b;color:#e5e7eb;border:1px solid #475569;background-image:linear-gradient(45deg,transparent 50%,#cbd5e1 50%),linear-gradient(135deg,#cbd5e1 50%,transparent 50%)}
.grid.cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.badge.dark{background:#e2e8f0;color:#334155}.permissions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:14px}.permissions label,.check-line{display:flex;align-items:center;gap:8px}.permissions input,.check-line input{width:auto}.time-picker{position:absolute;z-index:10000;width:286px;background:#fff;border:1px solid #dbe3f0;border-radius:18px;box-shadow:0 20px 55px rgba(15,23,42,.22);padding:12px;direction:ltr}.time-picker.hidden{display:none}.time-head{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;direction:ltr}.time-head button{border:0;background:#eef2ff;color:#1e3a8a;border-radius:12px;padding:8px 12px;font-size:20px;font-weight:800;cursor:pointer}.time-head button.active{background:#2563eb;color:#fff}.time-head span{font-size:24px;font-weight:800}.time-head small{direction:rtl;color:#64748b;margin-left:6px}.clock-face{width:224px;height:224px;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff 55%,#f8fafc 56%,#eef2ff 100%);border:1px solid #dbe3f0;margin:0 auto;position:relative}.clock-num{position:absolute;width:32px;height:32px;margin-left:-16px;margin-top:-16px;border:0;border-radius:50%;background:#fff;color:#0f172a;font-weight:800;cursor:pointer;box-shadow:0 2px 8px #0f172a18}.clock-num:hover,.clock-num.active{background:#2563eb;color:#fff}.clock-center{position:absolute;left:50%;top:50%;width:10px;height:10px;background:#0f172a;border-radius:50%;transform:translate(-50%,-50%);z-index:5}.clock-hand{position:absolute;left:50%;top:50%;height:3px;background:#2563eb;transform-origin:left center;border-radius:999px;z-index:3}.hour-hand{width:78px;background:#2563eb}.minute-hand{width:52px;background:#64748b;height:2px}.time-picker .cal-actions{direction:rtl}.time-pick{direction:ltr;text-align:left}@media(max-width:520px){.time-picker,.jalali-calendar{left:12px!important;right:12px!important;width:auto}.clock-face{width:220px;height:220px}}
@media print{#scrap.view,#admin.view,#backup.view,#repairs.view,#departments.view,#printers.view,#dashboard.view{display:none!important}.user-chip{display:none!important}}

/* Clock picker refinements */
.clock-face{background:radial-gradient(circle,#fff 0,#fff 50%,#f8fafc 51%,#eef2ff 100%)}
.clock-num.outer{width:34px;height:34px;margin-left:-17px;margin-top:-17px;font-size:12px}
.clock-num.inner{width:30px;height:30px;margin-left:-15px;margin-top:-15px;font-size:11px;background:#f8fafc;color:#334155}
.clock-num.minute{width:34px;height:34px;margin-left:-17px;margin-top:-17px;font-size:12px}
.clock-num.active{background:#2563eb!important;color:#fff!important}
.clock-hand.active-hand{height:3px;background:#2563eb;transform-origin:left center;border-radius:999px;z-index:3}
.clock-hand.active-hand::after{content:"";position:absolute;right:-8px;top:50%;width:16px;height:16px;background:#2563eb;border-radius:50%;transform:translateY(-50%)}
.time-head small{direction:rtl;margin-right:6px;margin-left:0;font-weight:700;color:#475569}

/* Theme system */
body[data-theme="default"]{--theme-primary:#2563eb;--theme-primary-dark:#0f172a;--theme-soft:#eef4ff;--theme-soft2:#f7f9fc;--theme-panel:#ffffff;--theme-text:#172033;--theme-muted:#64748b;--theme-border:#e5e7eb;--theme-hint:#eff6ff;--theme-hint-border:#bfdbfe;--theme-hint-text:#1e40af}
body[data-theme="orange"]{--theme-primary:#f97316;--theme-primary-dark:#7c2d12;--theme-soft:#fff7ed;--theme-soft2:#ffedd5;--theme-panel:#ffffff;--theme-text:#1f2937;--theme-muted:#78716c;--theme-border:#fed7aa;--theme-hint:#fff7ed;--theme-hint-border:#fdba74;--theme-hint-text:#9a3412}
body[data-theme="blue"]{--theme-primary:#0284c7;--theme-primary-dark:#0c4a6e;--theme-soft:#e0f2fe;--theme-soft2:#f0f9ff;--theme-panel:#ffffff;--theme-text:#172033;--theme-muted:#475569;--theme-border:#bae6fd;--theme-hint:#e0f2fe;--theme-hint-border:#7dd3fc;--theme-hint-text:#075985}
body[data-theme="green"]{--theme-primary:#16a34a;--theme-primary-dark:#14532d;--theme-soft:#ecfdf5;--theme-soft2:#dcfce7;--theme-panel:#ffffff;--theme-text:#172033;--theme-muted:#4b5563;--theme-border:#bbf7d0;--theme-hint:#ecfdf5;--theme-hint-border:#86efac;--theme-hint-text:#166534}
body[data-theme="dark"]{--theme-primary:#38bdf8;--theme-primary-dark:#020617;--theme-soft:#0f172a;--theme-soft2:#111827;--theme-panel:#1e293b;--theme-text:#e5e7eb;--theme-muted:#cbd5e1;--theme-border:#334155;--theme-hint:#0f172a;--theme-hint-border:#334155;--theme-hint-text:#dbeafe}
body[data-theme]{background:linear-gradient(135deg,var(--theme-soft),var(--theme-soft2) 45%,var(--theme-panel));color:var(--theme-text)}
body[data-theme] .topbar{background:var(--theme-primary-dark)}
body[data-theme] .tab.active,body[data-theme] .btn.primary,body[data-theme] .logo{background:var(--theme-primary);color:#fff}
body[data-theme] .card strong,body[data-theme] .panel h2{color:var(--theme-primary)}
body[data-theme] .panel,body[data-theme] .card,body[data-theme] .login-card,body[data-theme] .modal-box,body[data-theme] .jalali-calendar,body[data-theme] .time-picker,body[data-theme] table{background:var(--theme-panel);color:var(--theme-text);border-color:var(--theme-border)}
body[data-theme] th{background:color-mix(in srgb,var(--theme-primary) 8%,var(--theme-panel));color:var(--theme-text)}
body[data-theme] td{border-color:var(--theme-border)}
body[data-theme] tr:hover td{background:color-mix(in srgb,var(--theme-primary) 8%,transparent)}
body[data-theme] input,body[data-theme] select,body[data-theme] textarea{background:var(--theme-panel);color:var(--theme-text);border-color:var(--theme-border)}
body[data-theme] .hint{background:var(--theme-hint);border-color:var(--theme-hint-border);color:var(--theme-hint-text)}
body[data-theme] .summary,body[data-theme] .permissions,body[data-theme] .empty{background:color-mix(in srgb,var(--theme-primary) 6%,var(--theme-panel));border-color:var(--theme-border);color:var(--theme-text)}
body[data-theme] .clock-num.active,body[data-theme] .time-head button.active,body[data-theme] .cal-days .day.selected{background:var(--theme-primary)!important;color:#fff!important}
body[data-theme] .clock-hand.active-hand,body[data-theme] .clock-hand.active-hand::after{background:var(--theme-primary)}
body[data-theme] .btn.success{background:#10b981;color:#fff}
body[data-theme="dark"] .tabs{background:#0f172a;border-color:#334155}
body[data-theme="dark"] .tab,body[data-theme="dark"] .btn{background:#334155;color:#e5e7eb}
body[data-theme="dark"] .btn.danger{background:#dc2626;color:#fff}
body[data-theme="dark"] code,body[data-theme="dark"] pre{background:#0f172a;color:#e5e7eb}

/* Glass themed alert/confirm dialog */
.smart-alert{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:20px;direction:rtl;background:rgba(15,23,42,.34);backdrop-filter:blur(12px) saturate(1.18);-webkit-backdrop-filter:blur(12px) saturate(1.18)}
.smart-alert.hidden{display:none}.smart-alert-box{width:min(430px,100%);background:color-mix(in srgb,var(--theme-panel,#fff) 88%,transparent);color:var(--theme-text,#172033);border:1px solid color-mix(in srgb,var(--theme-primary,#2563eb) 28%,#fff);border-radius:28px;padding:24px;box-shadow:0 28px 85px rgba(2,6,23,.32),inset 0 1px 0 rgba(255,255,255,.34);text-align:center;position:relative;overflow:hidden}.smart-alert-box::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--theme-primary,#2563eb),color-mix(in srgb,var(--theme-primary,#2563eb) 35%,#fff));}.smart-alert-box.pop{animation:smartAlertPop .22s ease-out}.smart-alert-icon{width:58px;height:58px;border-radius:22px;margin:6px auto 14px;display:grid;place-items:center;background:color-mix(in srgb,var(--theme-primary,#2563eb) 14%,var(--theme-panel,#fff));color:var(--theme-primary,#2563eb);font-size:28px;font-weight:900;box-shadow:0 14px 30px color-mix(in srgb,var(--theme-primary,#2563eb) 24%,transparent)}.smart-alert-danger .smart-alert-icon{background:rgba(239,68,68,.12);color:#ef4444;box-shadow:0 14px 30px rgba(239,68,68,.20)}.smart-alert-success .smart-alert-icon{background:rgba(16,185,129,.13);color:#10b981;box-shadow:0 14px 30px rgba(16,185,129,.20)}.smart-alert-content h3{margin:0 0 10px;font-size:20px;color:var(--theme-text,#172033)}.smart-alert-content p{margin:0;color:var(--theme-muted,#64748b);line-height:1.9;font-size:14px}.smart-alert-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}.smart-alert-actions .btn{min-width:112px}.smart-alert-cancel{background:color-mix(in srgb,var(--theme-muted,#64748b) 14%,var(--theme-panel,#fff));color:var(--theme-text,#172033)}.smart-alert-danger .smart-alert-ok{background:#ef4444;color:#fff}.smart-alert-info .smart-alert-ok,.smart-alert-success .smart-alert-ok{background:var(--theme-primary,#2563eb);color:#fff}body[data-theme="dark"] .smart-alert{background:rgba(2,6,23,.58)}body[data-theme="dark"] .smart-alert-box{background:rgba(30,41,59,.88);border-color:rgba(148,163,184,.28);box-shadow:0 28px 85px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.08)}body[data-theme="dark"] .smart-alert-cancel{background:#334155;color:#e5e7eb}@keyframes smartAlertPop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){.smart-alert-box{border-radius:22px;padding:20px}.smart-alert-actions .btn{width:100%}}
.smart-alert-box{background:rgba(255,255,255,.94);border-color:#dbe3f0}.smart-alert-icon{background:#eef2ff}.smart-alert-cancel{background:#eef2f7}@supports (background:color-mix(in srgb,#000 50%,#fff)){.smart-alert-box{background:color-mix(in srgb,var(--theme-panel,#fff) 88%,transparent);border-color:color-mix(in srgb,var(--theme-primary,#2563eb) 28%,#fff)}.smart-alert-icon{background:color-mix(in srgb,var(--theme-primary,#2563eb) 14%,var(--theme-panel,#fff));box-shadow:0 14px 30px color-mix(in srgb,var(--theme-primary,#2563eb) 24%,transparent)}.smart-alert-cancel{background:color-mix(in srgb,var(--theme-muted,#64748b) 14%,var(--theme-panel,#fff))}}
