*{box-sizing:border-box}body{margin:0;font-family:"Vazirmatn","IRANSansX","IRANSans","Segoe UI",Tahoma,Arial,sans-serif;background:#f4f6f9;color:#1f2937;direction:rtl}.top{background:#0f172a;color:#fff;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 52px)}.side{background:#fff;border-left:1px solid #e5e7eb;padding:16px}.side a{display:block;padding:11px 12px;margin:3px 0;text-decoration:none;color:#334155;border-radius:8px}.side a:hover{background:#eef2ff}.content{padding:22px}.cards{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin-bottom:18px}.card,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;box-shadow:0 1px 2px #00000008}.card b{display:block;font-size:24px;margin-top:7px}.panel{margin-bottom:16px}h1{font-size:23px;margin:0 0 16px}h2{font-size:18px;margin:0 0 14px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:right;font-size:13px}th{background:#f8fafc}input,select,textarea,button{font-family:inherit;font-size:13px}input,select,textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}textarea{min-height:80px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.btn{background:#2563eb;color:white;border:0;border-radius:7px;padding:9px 14px;cursor:pointer}.btn.gray{background:#475569}.btn.red{background:#dc2626}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e2e8f0;font-size:12px}.muted{color:#64748b}.num{direction:ltr;text-align:right}.login{max-width:430px;margin:10vh auto;background:#fff;padding:28px;border-radius:14px;border:1px solid #e5e7eb}.login input{margin:7px 0 14px}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:7px;margin-bottom:12px}.actions{display:flex;gap:8px;align-items:center}.searchbar{display:flex;gap:8px}.searchbar input{max-width:500px}@media(max-width:1000px){.layout{grid-template-columns:1fr}.side{display:flex;overflow:auto;border:0}.side a{white-space:nowrap}.cards{grid-template-columns:repeat(2,1fr)}.grid,.grid4{grid-template-columns:1fr}.content{padding:12px}}
.version-badge{font-size:11px;background:#1e293b;padding:4px 7px;border-radius:999px;margin-right:7px}.top-actions{display:flex;align-items:center;gap:10px}.logout-link{color:#fff}.install-btn{background:#fff;color:#0f172a;border:0;border-radius:8px;padding:7px 10px;cursor:pointer}.mobile-nav{display:none}.offline-banner{position:fixed;left:12px;right:12px;bottom:76px;z-index:1000;background:#991b1b;color:#fff;padding:10px 14px;border-radius:10px;text-align:center;box-shadow:0 4px 18px #0003}
@media(max-width:700px){
 body{padding-bottom:70px}.top{padding:10px 12px;position:sticky;top:0;z-index:100}.brand{font-size:13px}.version-badge,.user-label{display:none}.top-actions{gap:6px}.install-btn{font-size:12px;padding:6px 8px}.layout{display:block}.side{display:none}.content{padding:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card,.panel{border-radius:10px;padding:12px}.card b{font-size:20px}h1{font-size:20px}h2{font-size:16px}.grid,.grid4{grid-template-columns:1fr}.actions{flex-wrap:wrap}.searchbar{flex-direction:column}.searchbar input{max-width:none}.panel{overflow-x:auto}table{min-width:650px}input,select,textarea,.btn{font-size:16px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:999;background:#fff;border-top:1px solid #e5e7eb;padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -2px 10px #00000012}.mobile-nav a{text-decoration:none;color:#334155;text-align:center;font-size:20px;line-height:1.1}.mobile-nav small{display:block;font-size:10px;margin-top:4px}.login{margin:5vh 12px;padding:22px}.offline-banner{bottom:82px}
}

/* Sepanta Modal */
.modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1050;
    overflow-x: hidden;
    overflow-y: auto;
    background: rgba(0,0,0,.5);
    padding: 30px 15px;
}

.modal.show {
    display: block;
}

.modal-dialog {
    width: 100%;
    max-width: 600px;
    margin: 30px auto;
}

.modal-content {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0,0,0,.25);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
}

.modal-header {
    justify-content: space-between;
    border-bottom: 1px solid #ddd;
}

.modal-footer {
    justify-content: flex-start;
    border-top: 1px solid #ddd;
}

.modal-body {
    padding: 20px;
}

.modal-title {
    margin: 0;
}

body.modal-open {
    overflow: hidden;
}

button,input,select,textarea{font-family:inherit;}
