@font-face{font-family:IRANSansX;src:url("/assets/fonts/IRANSansXFaNum-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:IRANSansX;src:url("/assets/fonts/IRANSansXFaNum-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:IRANSansX;src:url("/assets/fonts/IRANSansXFaNum-DemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:IRANSansX;src:url("/assets/fonts/IRANSansXFaNum-Bold.woff2") format("woff2");font-weight:700 900;font-display:swap}

:root{--navy:#421126;--teal:#6f0d43;--bg:#f6f2f4;--red:#bb3650;--green:#16825e;--muted:#75656f;--accent:#f2c438;--steel:#8fa6b5;--line:#eadde4}
html{color-scheme:light}
body{background:radial-gradient(circle at 7% 0%,rgba(143,166,181,.16),transparent 26rem),var(--bg);color:#2d2028;font-family:IRANSansX,Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button{border-color:var(--line);color:var(--navy);font-weight:600;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
button:hover:not(:disabled){border-color:#d9bdcc;box-shadow:0 8px 22px rgba(66,17,38,.08)}
button:active:not(:disabled){transform:translateY(1px)}
.login-wrap{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 18% 15%,rgba(143,166,181,.3),transparent 25rem),linear-gradient(145deg,#421126,#681540 62%,#2f0d1d);background-size:34px 34px,34px 34px,auto,auto}
.card{border-color:rgba(111,13,67,.09);border-radius:22px;box-shadow:0 18px 48px rgba(55,12,32,.09)}
.login-card{padding:32px;border-top:5px solid var(--accent)}
.login-card h1{margin:6px 0 0;color:var(--navy)}
.login-card p{margin:-4px 0 5px;color:var(--muted)}
.logo{width:min(250px,80%);height:auto;object-fit:contain}
.login-card input,input,select,textarea{border-color:#dfcfd8;color:#2d2028;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(111,13,67,.1)}
.primary{background:linear-gradient(135deg,#821451,var(--teal));border-color:var(--teal)}
.primary:hover:not(:disabled){box-shadow:0 10px 26px rgba(111,13,67,.24)}
.topbar{position:relative;overflow:hidden;background:radial-gradient(circle at 7% -60%,rgba(143,166,181,.35),transparent 22rem),linear-gradient(135deg,#6f0d43,#421126);border-radius:24px;padding:15px 20px;box-shadow:0 18px 45px rgba(66,17,38,.2)}
.brand-lockup{display:flex;align-items:center;gap:16px;min-width:0}
.topbar-logo{width:174px;height:57px;object-fit:contain;border-radius:13px;background:#fff;padding:5px 9px}
.topbar h1{font-size:22px}
.topbar .actions button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.topbar .actions .danger{color:#fff;border-color:rgba(255,255,255,.26)}
.badge{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.tabs button.active{background:var(--navy);border-color:var(--navy)}
.metric{position:relative;overflow:hidden;border-color:var(--line);box-shadow:0 12px 34px rgba(55,12,32,.045)}
.metric::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--teal),var(--steel),var(--accent))}
.metric strong,.section-head h2{color:var(--navy)}
th{color:var(--navy);background:#fbf7f9}
th,td,.list-row{border-color:#f0e7ec}
.fact,.order-summary div{background:#faf5f8;border:1px solid #f1e4eb}
.timeline{border-right-color:#dec1d1}
.toast{background:var(--navy)}
dialog{border:1px solid var(--line);color:#2d2028;box-shadow:0 25px 90px rgba(47,13,29,.38)}
dialog::backdrop{background:rgba(47,13,29,.65);backdrop-filter:blur(3px)}
.dialog-head h2{color:var(--navy)}
.map-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #ead2df;border-radius:15px;background:#fbf6f9}
.map-field div{display:grid;gap:4px}.map-field b{color:var(--navy);font-size:13px}.map-field small{color:var(--muted)}
.jalali-field{display:grid;gap:7px;padding:13px;border:1px solid #ead2df;border-radius:15px;background:#fbf6f9}.jalali-field>span{color:var(--navy);font-size:13px;font-weight:700}.jalali-field>div{display:grid;grid-template-columns:1fr 150px;gap:10px}.jalali-field label{display:grid;gap:5px;color:var(--muted);font-size:12px}.jalali-field small{color:var(--teal);font-weight:600}
.form-section{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:11px 14px;border-radius:14px;background:linear-gradient(135deg,#f8edf3,#f2f5f7);border-right:4px solid var(--teal);color:var(--navy)}.form-section small,.field-help{color:var(--muted);font-weight:400}.form-grid label>small{margin-top:1px}#entity-dialog:has(.form-section){width:min(880px,calc(100% - 24px))}#entity-form button[type=submit]:disabled{cursor:wait}
.map-dialog{width:min(900px,calc(100% - 24px));padding:20px}.map-dialog .dialog-head p{margin:5px 0 0;color:var(--muted);font-size:13px}
.map-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin:16px 0}
#map-picker{height:min(55vh,520px);min-height:330px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#eee;direction:ltr;z-index:1}
.map-links{display:flex;flex-wrap:wrap;gap:8px}.map-link{padding:8px 12px;border:1px solid #ead2df;border-radius:12px;color:var(--teal);text-decoration:none;background:#fbf6f9}
@media(max-width:800px){.brand-lockup{width:100%}.topbar-logo{width:135px;height:48px}.topbar h1{font-size:18px}.tabs{background:rgba(246,242,244,.94);backdrop-filter:blur(12px)}.login-card{padding:25px 20px}}
@media(max-width:600px){.map-search{grid-template-columns:1fr 1fr}.map-search input{grid-column:1/-1}.map-field{align-items:flex-start;flex-direction:column}.map-field button{width:100%}#map-picker{min-height:360px}.jalali-field>div{grid-template-columns:1fr}.form-section{align-items:flex-start;flex-direction:column}}
