:root{--accent:#C2185B;--accent-dark:#941042;--accent-light:#fff0f6;--canvas:#f7f8fc;--line:#e8eaf1;--dark:#24263a;--muted:#788099;--card:#fff;--radius:18px}
*{box-sizing:border-box}html{direction:rtl}body{margin:0;background:var(--canvas);color:var(--dark);font-family:'Kalameh',Tahoma,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:24px;font-weight:800;margin-bottom:4px}h2{font-size:19px;font-weight:800}h3{font-size:16px;font-weight:750}.muted{color:var(--muted)}.btn-primary{background:var(--accent);border-color:var(--accent)}.btn-primary:is(:hover,:focus){background:var(--accent-dark);border-color:var(--accent-dark)}.btn-light{background:#f3f5f9}.btn{border-radius:11px;padding:9px 15px;font-size:13px;font-weight:700}.btn-sm{padding:6px 10px;font-size:12px}.btn-danger-soft{background:#fff0f1;color:#cc4250;border:1px solid #ffd8db}.btn-outline-primary{color:var(--accent);border-color:#edb2ce}.btn-outline-primary:hover{background:var(--accent);border-color:var(--accent)}.app-shell{min-height:100vh;display:flex}.sidebar{width:258px;min-width:258px;background:white;border-left:1px solid var(--line);padding:25px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}.brandline{display:flex;align-items:center;gap:11px;margin:3px 8px 31px}.brandmark{display:grid;place-items:center;width:41px;height:41px;border-radius:13px;background:linear-gradient(145deg,#e22b76,var(--accent-dark));box-shadow:0 7px 17px #c2185b30;color:#fff;font-size:23px;font-weight:900;font-family:Arial}.brandline strong{display:block;font-size:20px;font-weight:900;letter-spacing:-.4px}.brandline small{display:block;font-size:11px;color:var(--muted)}.side-caption{font-size:11px;color:#9ca3b4;margin:5px 15px 12px;font-weight:700}.sidebar nav{overflow:auto;flex:1;padding-left:3px}.sidebar nav button{width:100%;padding:12px 14px;display:flex;align-items:center;gap:11px;border:0;background:transparent;border-radius:11px;color:#5e657a;text-align:right;margin:2px 0;font-weight:700}.sidebar nav button span{font-size:19px;width:23px;text-align:center;color:#8b90a3}.sidebar nav button:hover{background:#f7f7fc;color:var(--dark)}.sidebar nav button.active{background:var(--accent-light);color:var(--accent)}.sidebar nav button.active span{color:var(--accent)}.side-bottom{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:18px 5px 0}.user-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#fce5ee;color:var(--accent);font-weight:900}.user-meta{min-width:0;flex:1}.user-meta b,.user-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta b{font-size:12px}.user-meta small{color:var(--muted);font-size:11px}.logout{border:0;background:transparent;font-size:23px;color:var(--muted)}.content-wrap{min-width:0;flex:1}.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);padding:19px 34px;display:flex;justify-content:space-between;align-items:center;gap:14px}.eyebrow{color:var(--muted);font-size:11px;margin:0 0 3px}.topbar h1{margin:0}.top-actions{display:flex;align-items:center;gap:16px}.date-today{color:var(--muted);font-size:12px}.profile-pill{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 14px;font-size:12px;font-weight:700}.green-dot{display:inline-block;width:8px;height:8px;background:#20bd88;border-radius:50%;margin-left:5px}.icon-btn{background:#fff;border:1px solid var(--line);border-radius:9px;width:35px;height:35px;display:grid;place-items:center;color:#697085;font-size:17px}.main-content{padding:29px 35px 60px;max-width:1800px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.page-head h2{font-size:22px;margin:0 0 6px}.page-head p{margin:0;color:var(--muted)}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.surface{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:0 3px 14px #1a234508}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.metric-icon{display:grid;place-items:center;background:#fce9f2;color:var(--accent);width:40px;height:40px;border-radius:12px;font-size:20px;margin-bottom:15px}.metric-card small{display:block;color:var(--muted);margin-bottom:7px}.metric-card strong{font-size:23px;font-weight:900;line-height:1.5}.metric-card sub{font-size:11px;color:var(--muted);bottom:auto}.welcome-hero{border-radius:22px;background:linear-gradient(115deg,#65153e,#bc1d5b 62%,#e65693);color:white;padding:33px 36px;margin-bottom:22px;position:relative;overflow:hidden}.welcome-hero:after{content:'◎';position:absolute;font-size:230px;top:-85px;left:10px;opacity:.08}.welcome-hero h2{font-size:26px}.welcome-hero p{color:#ffe5f1;max-width:580px;margin-bottom:0;line-height:2}.split-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:17px}.tiny-list{padding:0;margin:0;list-style:none}.tiny-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.tiny-list li:last-child{border:0}.tiny-list b{font-size:13px}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;background:#f2f3fa;color:#677087;padding:5px 11px;font-size:11px;font-weight:700}.pill-success{background:#e5faf2;color:#15936d}.pill-warning{background:#fff5e3;color:#a96a00}.pill-danger{background:#fff0f1;color:#b64b52}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:right}.data-table th{font-size:11px;color:#81879b;background:#fafbfe;font-weight:800;padding:12px;white-space:nowrap}.data-table td{border-bottom:1px solid var(--line);padding:13px 12px;vertical-align:middle;white-space:nowrap;font-size:12px}.data-table tr:last-child td{border:0}.table-muted{color:var(--muted)}.link-btn{color:var(--accent);border:0;background:transparent;padding:5px 3px;font-weight:700}.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}.form-grid label,.field-label{display:grid;gap:7px;font-size:12px;color:#535c73;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select,.search-input,.nice-select,.message-area{width:100%;background:#fff;border:1px solid #dfe3ed;border-radius:11px;padding:10px 12px;color:#293047;outline:none;min-height:41px;direction:rtl}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.search-input:focus,.nice-select:focus{border-color:#d34b83;box-shadow:0 0 0 3px #c2185b10}.form-grid textarea,.message-area{min-height:95px;resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar .search-input{max-width:300px}.toolbar .nice-select{max-width:340px}.notice{padding:15px;border-radius:12px;background:#f4f7fd;border:1px solid #e2e8f5;line-height:1.9}.notice.warning{background:#fff9ec;border-color:#f7e5b7}.board{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding:5px 0 18px;min-height:65vh;scrollbar-color:#cbd0dc #f0f2f6}.board-col{flex:0 0 287px;background:#eef0f6;border:1px solid #e8ebf2;border-radius:16px;padding:10px;min-height:180px;max-height:77vh;overflow-y:auto}.board-col.drag-over{outline:3px dashed #e24c90;background:#ffe5f2}.board-head{display:flex;align-items:center;gap:7px;padding:9px 7px 15px;position:sticky;top:-10px;background:#eef0f6;z-index:1}.board-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.board-head h3{font-size:12px;font-weight:900;margin:0;flex:1;line-height:1.6}.board-count{background:#fff;color:#6d7484;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:700}.board-head .handle{cursor:grab;color:#97a0b5;border:0;background:none;font-size:16px;padding:0}.kanban-card{background:#fff;border:1px solid #e9ebf2;border-radius:12px;padding:14px;margin-bottom:9px;cursor:grab;box-shadow:0 2px 7px #32416208}.kanban-card:hover{border-color:#dda4bd;box-shadow:0 4px 15px #921b4c16}.kanban-card strong{display:block;font-size:12px;line-height:1.7;margin-bottom:8px}.kanban-card .tel{font-size:11px;color:#5f7287;direction:ltr;text-align:right}.kanban-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:10px;color:#7c849a}.card-counter{background:#f5f6f9;border-radius:6px;padding:4px 7px}.more-btn{width:100%;background:transparent;border:1px dashed #c9cbd4;border-radius:10px;padding:9px;color:#687084;font-size:12px}.modal-shade{position:fixed;inset:0;background:#1c1d3388;display:flex;align-items:center;justify-content:center;padding:15px;z-index:1000;backdrop-filter:blur(4px)}.modal-pane{background:white;border-radius:19px;width:min(650px,100%);max-height:93vh;display:flex;flex-direction:column;box-shadow:0 20px 70px #14224130}.modal-pane.wide-modal{width:min(930px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:17px}.modal-inner{overflow-y:auto;padding:22px 24px}.timeline{list-style:none;padding:0 14px 0 0;border-right:2px solid #e8e2ed}.timeline li{position:relative;padding:0 17px 18px 0;margin:0 2px 10px 0}.timeline li:before{content:'';width:10px;height:10px;background:var(--accent);border-radius:50%;position:absolute;right:-7px;top:4px}.timeline li p{margin:5px 0;white-space:pre-wrap;line-height:1.8;font-size:12px}.timeline li small{color:var(--muted);font-size:11px}.timeline li b{font-size:12px}.tab-row{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:15px 0 18px}.tab-row button{background:transparent;border:0;padding:10px 6px;color:#80879b;font-weight:700}.tab-row button.active{color:var(--accent);border-bottom:2px solid var(--accent)}.toast-message{position:fixed;bottom:23px;left:24px;background:#1e293b;color:white;border-radius:12px;padding:13px 17px;font-weight:700;box-shadow:0 5px 25px #101d3330;z-index:1600;max-width:410px;display:none;line-height:1.8}.toast-message.show{display:block}.toast-message.error{background:#b93148}.empty{background:white;border:1px dashed #dce1ec;border-radius:13px;padding:35px;text-align:center;color:#7f879c;line-height:2}.loading{padding:80px 20px;text-align:center;color:#8490a3}.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 15% 20%,#fbe1ed,transparent 35%),#f7f8fc;padding:25px}.login-box,.install-shell{background:#fff;border:1px solid var(--line);border-radius:22px;padding:33px;width:min(465px,100%);box-shadow:0 13px 60px #37426012}.login-box .brandline,.install-shell .brandline{margin:0 0 38px}.login-box h1{font-size:23px}.login-box .form-grid{margin-top:27px}.footer-note{text-align:center;color:#9aa0b2;font-size:11px;margin:24px 0 0}.install-shell{width:min(720px,100%)}.install-box{padding:20px 6px}.steps{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.steps span{font-size:11px;padding:10px;background:#f5f5fa;border-radius:9px;color:#8e97aa}.steps span.selected{background:#fce7f0;color:var(--accent);font-weight:900}.checklist>div{display:flex;align-items:center;justify-content:space-between;gap:13px;border-bottom:1px solid var(--line);padding:11px}.checklist strong{font-size:11px}.pass{color:#149673}.fail{color:#bd425b}.progress-bar{background:var(--accent)}.jalali-popup{position:fixed;z-index:2100;width:302px;background:#fff;border:1px solid #e3e6ee;box-shadow:0 20px 45px #15153226;border-radius:15px;padding:14px}.calendar-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.calendar-head button{border:1px solid #edf0f5;background:white;border-radius:7px;padding:4px 12px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:12px}.calendar-days button,.calendar-days span{text-align:center;padding:6px 0;border:none;border-radius:7px;background:transparent;font-size:11px}.calendar-days .wk{color:#8c95a5;font-weight:800}.calendar-days button:hover{background:#fce8f1}.calendar-days button.today{box-shadow:inset 0 0 0 1px #c2185b}.calendar-days button.selected{background:#c2185b;color:white}.calendar-footer{display:flex;justify-content:space-between;gap:8px;margin-top:9px}.calendar-footer button{border:0;background:transparent;color:var(--accent);font-size:11px;padding:4px}.login-box .brandline small{margin-top:1px}.templates-grid{display:flex;flex-wrap:wrap;gap:9px}.template-link{background:#f8f9fc;border:1px solid #e5e7f0;padding:9px 12px;border-radius:9px;color:#69738a;text-decoration:none;font-size:12px}.template-link:hover{color:var(--accent);border-color:#cf92ae}.smaller{font-size:11px}.nowrap{white-space:nowrap}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.card-amount{color:#178565;font-weight:900}.money-input{text-align:right;direction:ltr}.footer-tip{font-size:11px;color:#8e96a8;line-height:1.9;margin-top:13px}.nowrap-overflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}.quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.focus-ring:focus-visible{outline:3px solid #c2185b55;outline-offset:2px}
@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}}
@media(max-width:880px){.sidebar{position:fixed;right:-280px;transition:right .2s;box-shadow:-6px 0 28px #1f253010}.sidebar.open{right:0}.topbar{padding:17px 19px}.main-content{padding:20px 16px 45px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-today{display:none}.profile-pill{display:none}.welcome-hero{padding:25px}.welcome-hero h2{font-size:21px}}
@media(max-width:540px){.metric-grid{gap:9px}.metric-card{padding:15px}.metric-card strong{font-size:18px}.form-grid.two{grid-template-columns:1fr}.modal-inner{padding:17px}.modal-head{padding:16px}.topbar h1{font-size:19px}.board-col{flex-basis:270px}.steps span{padding:6px;font-size:10px}}
/* v0.3 - campaign wizard, local imports, accessible RTL workflow */
.wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:22px}.wizard-steps span{padding:10px;border-radius:12px;border:1px solid #e4e8ef;background:#f8fafc;color:#7d8492;font-size:11px;text-align:center}.wizard-steps span.on{background:#fce6ef;border-color:#e9a9c5;color:#a61952;font-weight:900}.wizard-steps span.done{background:#e8f8f1;border-color:#baebd6;color:#137b55}.wizard-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:340px;overflow-y:auto;padding:3px}.wizard-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;padding:13px;border:1px solid #e4e8ef;border-radius:12px;color:#26324b!important;cursor:pointer}.wizard-check input{width:18px!important;min-height:18px!important;flex-shrink:0}.wizard-check small{display:block;color:#8791a2;direction:ltr;text-align:right;margin-top:3px}.wizard-actions{display:flex;justify-content:space-between;gap:10px;padding-top:15px;border-top:1px solid #e7e9f1}.checkbox-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}.checkbox-row input{width:18px!important;min-height:18px!important}@media(max-width:640px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-check-grid{grid-template-columns:1fr}.wizard-actions button{flex:1}}
