*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--muted) var(--background)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--muted);border:2px solid var(--background);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink)}::-webkit-scrollbar-thumb:active{background:var(--primary)}:root{font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--background);font-synthesis:none;line-height:1.8}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,p{margin:0 0 16px}h1{font-size:26px;line-height:1.5;font-weight:700}h2{font-size:19px}small,.muted{color:var(--muted)}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-height:44px;width:100%;min-width:0}input[type=time],input[type=tel],input[type=number],input[type=password]{direction:ltr;text-align:right}textarea{resize:none;max-height:300px;overflow:auto}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.input-wrap{display:flex;gap:6px}.input-wrap input{flex:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;min-width:60px;border:1px solid var(--border);background:var(--surface);padding:7px 14px;border-radius:8px;font-weight:600;white-space:nowrap;position:relative}.button:hover:not(:disabled){background:var(--background);border-color:var(--muted)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--primary);color:var(--surface);border-color:var(--primary)}.button.primary:hover:not(:disabled){filter:brightness(.93)}.button.danger{color:var(--danger);border-color:var(--danger)}.button:disabled{opacity:.5}.button[aria-busy=true]{color:transparent}.button .spinner{position:absolute;left:calc(50% - 8px);color:var(--ink)}.button.primary .spinner{color:var(--surface)}.spinner{display:inline-block;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;width:16px;height:16px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--surface);border-left:1px solid var(--border);padding:28px 20px;display:flex;flex-direction:column;gap:16px}.wordmark{font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap;color:var(--primary)}.sidebar-caption{font-size:12px;margin-top:-18px;color:var(--muted)}.workspace-select{font-size:12px}.workspace-select select{margin-top:5px;font-weight:600}.workspace-role{display:flex;align-items:center;justify-content:space-between;font-size:12px}.sidebar nav{display:grid;gap:4px}.sidebar nav .button{justify-content:flex-start;border-color:transparent;background:transparent;font-weight:400}.sidebar nav .button[aria-current=page]{background:var(--primary);color:var(--surface);font-weight:700}.account{border-top:1px solid var(--border);margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.main{padding:34px 38px;min-width:0;max-width:1600px;width:100%;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-heading h1{margin:0}.eyebrow{font-size:12px;color:var(--muted);display:block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.padded{padding:24px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.toolbar p{margin:0;color:var(--muted)}.table-scroll{overflow:auto;min-height:180px}table{border-collapse:collapse;width:100%;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th{font-size:12px;background:var(--background);color:var(--muted);font-weight:600}th,td{padding:16px;border-bottom:1px solid var(--border)}td{max-width:320px;white-space:normal;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}td .actions{flex-wrap:wrap}td .button{font-size:12px;padding:5px 10px;min-height:36px}.pagination{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.pagination>span{margin-inline-end:auto;color:var(--muted);font-size:12px}.badge{padding:3px 9px;border-radius:6px;border:1px solid var(--border);background:var(--background);display:inline-block;font-size:12px;white-space:nowrap}.status-published,.status-approved{color:var(--primary);border-color:var(--primary)}.status-submitted,.status-pending{color:var(--warning);border-color:var(--warning)}.status-cancelled,.status-rejected{color:var(--danger);border-color:var(--danger)}.loading,.empty{padding:42px 22px;text-align:center;min-height:180px;color:var(--muted)}.error,.trial,.offline{padding:12px 16px;margin:12px 0;background:var(--surface);border:1px solid var(--warning);border-inline-start:4px solid var(--warning);border-radius:8px;white-space:pre-wrap}.error{color:var(--danger);border-color:var(--danger);display:flex;align-items:center;justify-content:space-between;gap:16px}.offline{margin:0;border-radius:0;text-align:center}.context-note{font-size:12px;color:var(--muted);margin-bottom:12px}.calendar-strip{display:flex;overflow-x:auto;gap:0;scrollbar-gutter:stable;padding:4px 0 14px;margin-bottom:10px}.calendar-strip>div{background:var(--surface);border:1px solid var(--border);min-width:78px;text-align:center;padding:10px 6px;margin-inline-end:5px;border-radius:10px;display:grid;gap:4px}.calendar-strip small{font-size:10px;white-space:nowrap}.calendar-strip b{font-size:24px;line-height:1.6;font-variant-numeric:tabular-nums}.calendar-strip .today{border:2px solid var(--primary);padding-top:9px}.calendar-strip span{height:9px;display:flex;gap:3px;justify-content:center}.calendar-strip i{display:inline-block;background:var(--primary);height:5px;width:20px;border-radius:3px}.calendar-strip i.draft{background:var(--night)}.month-control{display:flex;gap:8px}.month-control label{display:grid;font-size:11px;gap:3px}.month-control input{width:95px}.month-control select{min-width:120px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.metrics>div{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:18px}.metrics span{display:block;font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;margin-top:8px}.actions{display:flex;gap:8px;align-items:center}.subnav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.subnav [aria-current=page]{border-color:var(--primary);color:var(--primary)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid .actions{flex-wrap:wrap}footer{padding-top:30px;color:var(--muted);font-size:11px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#153e5873;z-index:30}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border-radius:var(--radius);padding:24px;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;z-index:31;box-shadow:0 20px 80px #153e582e}.modal-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px}.modal-heading h2{margin:0}.modal-heading button{min-width:42px;font-size:22px}.modal-description{white-space:pre-wrap;max-height:220px;overflow:auto;background:var(--background);padding:14px;border-radius:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.fields .field{display:grid;align-content:start;gap:6px;font-size:13px}.fields .wide{grid-column:1/-1}.fields small{min-height:22px;font-size:11px}.field-error{color:var(--danger)}.form-actions{padding-top:16px;display:flex;justify-content:flex-end}.form-actions .button{min-width:130px}.toast{position:fixed;bottom:20px;left:20px;z-index:50;display:flex;align-items:center;gap:16px;max-width:min(500px,calc(100% - 40px))}.toast:not(:empty){background:var(--ink);color:var(--surface);padding:12px 16px;border-radius:10px;box-shadow:0 4px 20px #153e5833}.toast .button{background:transparent;color:var(--surface);border:0;min-width:32px;padding:0}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1200px;margin:auto;padding:60px;gap:80px}.login-intro h1{font-size:44px;line-height:1.6;margin:34px 0 20px}.login-intro p{max-width:340px;color:var(--muted)}.login-panel{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:32px;max-width:500px}.login-panel .fields{grid-template-columns:1fr}.login-panel>.muted{font-size:11px;margin:20px 0 0}.dispatch-sample{display:flex;gap:10px;align-items:center;margin-top:36px;font-size:11px;color:var(--muted)}.dispatch-sample i{width:50px;height:6px;background:var(--primary);border-radius:4px}.dispatch-sample i:last-of-type{background:var(--night)}@media(max-width:1000px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.main{padding:24px}.sidebar{padding:24px 12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.login{padding:36px;gap:30px}.login-intro h1{font-size:34px}}@media(max-width:700px){.app-shell{display:block}.sidebar{padding:14px;border-left:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-caption{display:none}.sidebar .wordmark{font-size:19px}.sidebar nav{grid-column:1/-1;display:flex;overflow-x:auto;padding-bottom:6px}.sidebar nav .button{min-width:max-content;min-height:44px}.workspace-role{grid-column:1}.account{grid-column:2;grid-row:2;margin:0;border:0;padding:0}.workspace-select{grid-column:2;grid-row:1}.sidebar>button{grid-column:1/-1;min-height:36px}.main{padding:20px 14px}.page-heading{margin-bottom:16px}h1{font-size:23px}.toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar .button{margin-inline-start:auto}.toolbar p{font-size:12px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.modal{padding:20px;max-height:calc(100dvh - 24px);width:calc(100% - 20px)}.login{display:block;padding:24px 16px}.login-intro{margin-bottom:30px}.login-intro h1{font-size:28px;margin:16px 0}.login-intro p,.dispatch-sample{display:none}.login-panel{padding:24px;margin:auto}.metrics{gap:8px}.metrics>div{padding:14px}.metrics strong{font-size:21px}.calendar-strip>div{min-width:64px}.error{align-items:flex-start;flex-direction:column}.toast{bottom:12px;left:12px;max-width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media(forced-colors:active){*{scrollbar-color:auto}.button{border:1px solid ButtonText}.badge{border:1px solid CanvasText}}.weekday-choices{display:flex;gap:14px;flex-wrap:wrap}.weekday-choices label{display:flex;align-items:center;gap:6px}.weekday-choices input{width:20px;min-height:20px;accent-color:var(--primary)}.cycle-control{display:grid;gap:14px}.cycle-control fieldset{border:1px solid var(--border);border-radius:8px;padding:14px;min-width:0}.cycle-control legend{padding:0 8px;font-weight:700}.cycle-slot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.cycle-slot label{display:grid;gap:4px}.cycle-control>.button{justify-self:start}.attachment-list{padding:0;list-style:none}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.shift-choice-pages{flex-wrap:wrap;margin-top:6px}.shift-choice-pages small{width:100%}.shift-choice-pages .button{font-size:11px;min-height:32px;padding:3px 7px}.report-scope{display:block;max-width:480px;margin-bottom:10px;font-size:12px}.report-scope select{margin-top:5px}.admin-dashboard{min-width:0}.admin-scope{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid var(--border);border-inline-start:5px solid var(--primary);border-radius:var(--radius);background:var(--surface)}.admin-scope h2{margin:4px 0;font-size:24px}.admin-scope p,.admin-list-heading p{margin:0;color:var(--muted);font-size:12px}.admin-scope>.badge{white-space:normal}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-metrics>div{padding:16px;border-top:3px solid var(--border)}.admin-metrics strong{margin-top:10px;font-size:28px}.admin-sales{display:flex;align-items:center;gap:24px;padding:18px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.admin-sales>div{flex-shrink:0;display:grid;gap:5px}.admin-sales span{color:var(--muted);font-size:11px}.admin-sales strong{font-size:20px;font-variant-numeric:tabular-nums}.admin-sales p{margin:0;padding-inline-start:24px;border-inline-start:1px solid var(--border);color:var(--muted);font-size:12px}.admin-tabs{gap:4px;border-bottom:1px solid var(--border);padding-bottom:14px}.admin-tabs [aria-current=page]{background:var(--primary);color:var(--surface)}.admin-list{min-width:0}.admin-list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid var(--border)}.admin-list-heading h2{margin:0 0 4px}.admin-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px 22px;background:var(--background);border-bottom:1px solid var(--border)}.admin-filters label{display:grid;gap:6px;min-width:150px;font-size:12px}.admin-filters .admin-search{flex:1;min-width:220px}.admin-filters .button{min-height:44px}.admin-identity{display:grid;gap:2px}.admin-identity span{font-size:12px;color:var(--muted);text-align:right}.cell-detail{display:block;margin-top:4px;white-space:normal}.admin-id{display:inline-block;max-width:160px;overflow-wrap:anywhere;direction:ltr;font-size:11px;white-space:normal}.subscription-active,.subscription-trial{color:var(--primary);border:1px solid var(--primary)}.subscription-expired,.subscription-inactive{color:var(--danger);border:1px solid var(--danger)}.subscription-manual{color:var(--warning);border:1px solid var(--warning)}.campaign-channel{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 22px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border)}.campaign-preview{padding:20px;border:1px solid var(--border);border-inline-start:4px solid var(--primary);border-radius:8px;margin-bottom:20px}.campaign-preview h3{margin:8px 0;overflow-wrap:anywhere}.campaign-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.campaign-recipient-count{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 12px;padding:16px;background:var(--background);border-radius:8px}.campaign-recipient-count strong{font-size:30px;grid-row:span 2;color:var(--primary)}.campaign-recipient-count small{grid-column:2}.campaign-confirm{border-top:1px solid var(--border);padding-top:16px}.campaign-confirm .actions{flex-wrap:wrap;justify-content:flex-end}.campaign-confirm .button{max-width:100%;white-space:normal}.plan-catalog{grid-column:1 / -1}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.plan-card{padding:18px;border:1px solid var(--border);border-radius:8px}.plan-card h3{margin:6px 0 16px}.plan-price{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.plan-price small{display:block;font-size:11px;font-weight:400}.plan-card ul{margin:0;padding-inline-start:18px;font-size:12px}.consent-control{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.consent-control input{width:20px;min-height:20px;flex-shrink:0;accent-color:var(--primary);margin-top:4px}.entitlement-summary{display:grid;justify-items:start;gap:10px}.entitlement-summary p{margin:0}@media(max-width:1250px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.admin-scope,.admin-sales,.admin-list-heading{flex-direction:column;align-items:flex-start;padding:16px;gap:12px}.admin-scope h2{font-size:21px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metrics>div{padding:12px}.admin-sales p{border:0;padding:0}.admin-filters{padding:16px}.admin-filters label,.admin-filters .admin-search{min-width:0;flex-basis:100%}.plan-grid{grid-template-columns:1fr}}
