@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--pri:#0f766e;--pri2:#14b8a6;--bg:#f1f5f9;--card:#fff;--txt:#0f172a;--mut:#64748b;--line:#e2e8f0;--red:#dc2626;--amber:#f59e0b;--green:#16a34a;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--txt);font-size:15px;line-height:1.7}
a{color:var(--pri);text-decoration:none}
h1{font-size:1.25rem;margin:.2rem 0}h2{font-size:1.05rem;margin:0 0 .6rem}h3{font-size:.95rem;margin:0}
.wrap{max-width:1100px;margin:0 auto;padding:12px 12px 40px}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--pri);color:#fff;box-shadow:0 2px 8px #0002}
.topbar a{color:#fff}.brand{display:flex;align-items:center;gap:8px;font-weight:700}
.topbar nav{display:flex;gap:4px}.topbar nav a{padding:6px 10px;border-radius:10px;display:flex;gap:4px;align-items:center}.topbar nav a:hover{background:#ffffff22}
@media(max-width:560px){.topbar nav span{display:none}.brand span{font-size:.95rem}}
.card{background:var(--card);border-radius:var(--r);padding:14px;margin:12px 0;box-shadow:0 1px 3px #0f172a14;border:1px solid var(--line)}
.muted{color:var(--mut)}.small{font-size:.82rem}
.alert{padding:10px 14px;border-radius:12px;margin:10px 0;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert.err{background:#fef2f2;color:#991b1b;border-color:#fecaca}.alert.info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:#334155;font-weight:500}
input,select,textarea{font:inherit;font-size:16px;width:100%;padding:9px 11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--txt);min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pri2);border-color:transparent}
input[type=color]{padding:2px;height:42px;width:52px}
textarea{resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-weight:500;padding:9px 14px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:var(--txt);cursor:pointer;white-space:nowrap;min-height:42px}
.btn:hover{background:#f8fafc}.btn.pri{background:var(--pri);border-color:var(--pri);color:#fff}.btn.pri:hover{background:#115e59}
.btn.dark{background:#1e293b;color:#fff;border-color:#1e293b}.btn.red{color:var(--red);border-color:#fecaca}.btn.red:hover{background:#fef2f2}
.btn.block{width:100%;margin-top:12px;font-size:1.05rem}.btn.sm{padding:4px 10px;min-height:34px;font-size:.85rem}
.row-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-btns form{margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid2 .full{grid-column:1/-1}
fieldset{border:0;padding:0;margin:0;min-width:0}
@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.spread{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.badge{display:inline-block;font-size:.72rem;padding:1px 9px;border-radius:99px;vertical-align:middle;font-weight:500}
.badge.open{background:#dcfce7;color:#166534}.badge.closed{background:#e2e8f0;color:#334155}
.empty{text-align:center;color:var(--mut);padding:24px 8px}
.new-trip summary{list-style:none;width:100%}.new-trip summary::-webkit-details-marker{display:none}
.new-trip[open] summary{margin-bottom:14px}
.trips{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.trip-card{display:block;color:inherit;margin:0;transition:transform .1s}.trip-card:hover{transform:translateY(-2px)}
.trip-card.closed{opacity:.85}.tc-top{display:flex;justify-content:space-between;gap:6px}.tc-total{font-size:1.15rem;font-weight:700;margin:6px 0}
.bar{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:4px 0}.bar i{display:block;height:100%;border-radius:99px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column}
.stat span{font-size:.8rem;color:var(--mut)}.stat b{font-size:1.1rem}.stat small{font-size:.75rem;color:var(--mut)}
.stat.big{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border:0}.stat.big span,.stat.big small{color:#ffffffcc}
@media(max-width:600px){.stats{grid-template-columns:1fr 1fr}.stat.big{grid-column:1/-1}}
.pos{color:var(--green)}.neg{color:var(--red)}
.tabs{display:flex;background:#f1f5f9;border-radius:12px;padding:4px;gap:4px;margin-bottom:12px}
.tab{flex:1;border:0;background:transparent;font:inherit;padding:8px;border-radius:9px;cursor:pointer;color:var(--mut)}
.tab.active{background:#fff;color:var(--txt);box-shadow:0 1px 3px #0002;font-weight:700}
.pane{margin-bottom:12px}.pane[hidden]{display:none}
.parse-info{margin-top:10px;padding:10px;border-radius:10px;background:#f0fdfa;border:1px dashed var(--pri2);font-size:.88rem}
.parse-info.bad{background:#fff7ed;border-color:#fdba74}
.parse-info dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0}.parse-info dt{color:var(--mut)}.parse-info dd{margin:0;font-weight:500}
.inline{display:flex;gap:6px}.inline input{flex:1}
.hint{color:var(--mut);font-weight:400;min-height:1em}
.parts-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:16px 0 8px}
.part{display:grid;grid-template-columns:1.1fr 1fr 1.6fr 36px;gap:6px;margin-bottom:8px;align-items:center}
.part .x{border:0;background:#f1f5f9;border-radius:8px;height:40px;cursor:pointer;color:var(--mut)}
#parts .part:only-child .x{visibility:hidden}
@media(max-width:600px){.part{grid-template-columns:1fr 1fr 36px;padding:8px;background:#f8fafc;border-radius:10px}.part input[name$="[note]"]{grid-column:1/3;grid-row:2}.part .x{grid-row:1/3;grid-column:3;height:100%}}
.parts-foot{margin-top:4px}#remain.bad{color:var(--red);font-weight:700}#remain.ok{color:var(--green)}
.catrow{display:flex;justify-content:space-between;margin-top:8px;font-size:.92rem}
.day-head{display:flex;justify-content:space-between;background:#f8fafc;padding:6px 10px;border-radius:8px;margin-top:12px;font-size:.88rem;color:#334155}
.exps{list-style:none;margin:0;padding:0}
.exp a{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line);color:inherit}
.exp:last-child a{border-bottom:0}.exp a:hover{background:#f8fafc}
.ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:1.1rem}
.main{flex:1;min-width:0;display:flex;flex-direction:column}.main b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main small{font-size:.76rem}
.amt{font-weight:700;white-space:nowrap}.exp.refund .amt{color:var(--green)}
.sms-raw{white-space:pre-wrap;background:#f8fafc;padding:10px;border-radius:8px;font-family:inherit;font-size:.85rem;margin:4px 0}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media(max-width:800px){.cols{grid-template-columns:1fr}}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:.86rem}
.tbl th,.tbl td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}
.tbl thead th{background:#f8fafc;color:#334155;font-weight:500;position:sticky;top:0}
.tbl tfoot th{background:#f0fdfa;font-weight:700}.tbl .num{text-align:left;white-space:nowrap;direction:ltr;unicode-bidi:plaintext}
.tbl tr.refund td{color:var(--green)}.full-tbl{min-width:680px}
.daychart{display:flex;align-items:flex-end;gap:4px;height:140px;padding:4px 0 22px;overflow-x:auto;direction:rtl}
.dc{flex:1 0 26px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.dc i{display:block;width:70%;background:linear-gradient(var(--pri2),var(--pri));border-radius:6px 6px 2px 2px}
.dc span{position:absolute;bottom:-20px;font-size:.66rem;color:var(--mut);white-space:nowrap}
.cat-add,.cat-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cat-row{padding:8px 0;border-bottom:1px solid var(--line)}
.cat-row:last-child{border:0}.cat-add input[name=name],.cat-row input[name=name]{flex:1 1 140px;width:auto}.icon-in{width:56px!important;text-align:center}
.radio{flex-direction:row;align-items:center;gap:8px;margin:6px 0}.radio input{width:auto}
.danger-zone{border-color:#fecaca}
.login-page{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#0f766e,#14b8a6)}
.login{max-width:360px;width:calc(100vw - 32px);text-align:center;display:flex;flex-direction:column;gap:10px;padding:28px 22px}.login img{margin:0 auto}
.foot{text-align:center;color:var(--mut);font-size:.8rem;padding:10px}
.print-only{display:none}
@media print{
 body{background:#fff;font-size:11px}.no-print,.topbar,.foot,.btn{display:none!important}.print-only{display:block}
 .card,.stat{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.wrap{max-width:none;padding:0}
 .stat.big{background:#fff;color:#000;border:1px solid #ccc}.stat.big span,.stat.big small{color:#444}
 .full-tbl{min-width:0}.cols{grid-template-columns:1fr 1fr}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
