.tm-page{--tm-ink:#1f2a37;--tm-muted:#667085;--tm-line:#e4e7ec;--tm-bg:#f6f7f9;--tm-card:#fff;--tm-accent:#c2410c;--tm-accent-soft:#fff4ed;--tm-green:#15803d;--tm-red:#b42318;--tm-amber:#b54708;--tm-blue:#1d4ed8;color:var(--tm-ink);background:var(--tm-bg);max-width:1500px;margin:0 auto;padding:24px;line-height:1.6;font-family:inherit}
.tm-page *{box-sizing:border-box}
.tm-page h1,.tm-page h3,.tm-page h4,.tm-page p{margin:0}
.tm-page button,.tm-page input,.tm-page select,.tm-page textarea{font:inherit;color:inherit}
.tm-page input,.tm-page select,.tm-page textarea{border:1px solid var(--tm-line);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px;min-height:38px;width:100%}
.tm-page input[type=checkbox]{width:auto;min-height:0;accent-color:var(--tm-accent)}
.tm-page input:focus,.tm-page select:focus,.tm-page textarea:focus{outline:2px solid #fdba74;outline-offset:1px;border-color:#fb923c}
.tm-page button:focus-visible,.tm-page a:focus-visible{outline:3px solid #fdba74;outline-offset:2px}
.tm-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:linear-gradient(120deg,#7c2d12,#c2410c 60%,#ea580c);color:#fff;border-radius:18px;padding:24px 26px;margin-bottom:18px}
.tm-hero-icon{width:58px;height:58px;border-radius:16px;background:#ffffff22;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tm-hero h1{font-size:26px;font-weight:800}
.tm-hero p{color:#ffedd5;font-size:13px;margin-top:2px}
.tm-hero-stats{margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}
.tm-hero-stats span{background:#ffffff1f;border:1px solid #ffffff33;border-radius:999px;padding:6px 12px;font-size:12px}
.tm-hero-stats b{font-size:15px;margin-inline-end:4px}
.tm-page.women{--tm-accent:#9d174d;--tm-accent-soft:#fdf2f8}
.tm-page.women .tm-hero{background:linear-gradient(120deg,#500724,#9d174d 60%,#db2777)}
.tm-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.tm-sections button{display:flex;align-items:center;gap:12px;text-align:start;border:2px solid var(--tm-line);background:#fff;border-radius:14px;padding:14px 16px;cursor:pointer;color:var(--tm-ink)}
.tm-sections button strong{display:block;font-size:15px}
.tm-sections button small{display:block;font-size:12px;color:var(--tm-muted)}
.tm-sections button>span:nth-child(2){flex:1}
.tm-sections button.men.on{border-color:#c2410c;background:#fff4ed;color:#7c2d12}
.tm-sections button.women.on{border-color:#9d174d;background:#fdf2f8;color:#500724}
.tm-sections button:not(.on):hover{border-color:#d0d5dd}
.tm-base-fields{display:flex;flex-direction:column;gap:6px;background:#f9fafb;border-radius:12px;padding:10px}
.tm-base-row{display:grid;grid-template-columns:1fr 64px 64px;gap:8px;align-items:center}
.tm-base-row.head{font-size:11px;font-weight:700;color:var(--tm-muted);padding:0 2px}
.tm-base-row.head span:not(:first-child),.tm-base-row label{justify-content:center;text-align:center}
.tm-base-row.off input:not([type=checkbox]){color:#98a2b3;text-decoration:line-through}
.tm-triple{margin-top:6px;padding-top:8px;border-top:1px solid var(--tm-line)}
.tm-audience{display:flex;flex-direction:column;gap:12px;border:1px solid #c7d7fe;background:#f5f8ff;border-radius:12px;padding:12px 14px}
.tm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tm-pick{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #c7d7fe;color:#1d4ed8;border-radius:999px;padding:2px 4px 2px 10px;font-size:12px;font-weight:600}
.tm-pick button{border:0;background:#eff4ff;color:#1d4ed8;width:20px;height:20px;border-radius:50%;cursor:pointer;line-height:1;font-size:14px}
.tm-found{list-style:none;margin:4px 0 0;padding:4px;border:1px solid var(--tm-line);border-radius:8px;background:#fff;max-height:180px;overflow-y:auto}
.tm-found button{display:flex;justify-content:space-between;gap:8px;width:100%;border:0;background:none;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;text-align:start}
.tm-found button:hover{background:#eff4ff}
.tm-found small{color:var(--tm-muted);font-size:11px}
.tm-reach{font-size:13px;font-weight:700;color:#1d4ed8;background:#fff;border-radius:8px;padding:8px 12px}
.tm-reach.zero{color:var(--tm-amber)}
.tm-pickers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.tm-picker{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--tm-line);border-radius:10px;padding:10px;min-width:0}
.tm-picker-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.tm-picker-count{font-size:11px;color:var(--tm-muted);background:var(--tm-bg);border-radius:999px;padding:1px 8px}
.tm-page .tm-picker-search{min-height:32px;padding:5px 9px;font-size:12px}
.tm-picker-list{display:flex;flex-direction:column;max-height:190px;overflow-y:auto;margin:0 -4px;padding:0 4px}
.tm-picker-list label{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;font-size:13px;cursor:pointer}
.tm-picker-list label:hover{background:#f5f8ff}
.tm-picker-list label.on{background:#eff4ff;color:#1d4ed8;font-weight:600}
.tm-picker-list label span{flex:1;min-width:0}
.tm-picker-list small{font-size:11px;color:var(--tm-muted);font-weight:400}
.tm-picker .tm-muted{font-size:12px;margin:4px 2px}
.tm-reach-wrap{display:flex;flex-direction:column;gap:6px}
.tm-reach-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px dashed #a4bcfd;cursor:pointer;text-align:start;font-family:inherit}
.tm-reach-btn:hover{background:#eff4ff}
.tm-reach-more{font-size:12px;font-weight:600;text-decoration:underline;white-space:nowrap}
.tm-people{background:#fff;border:1px solid var(--tm-line);border-radius:8px;padding:6px;max-height:240px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 10px}
.tm-people>div{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 6px;border-bottom:1px solid #f2f4f7;min-width:0}
.tm-people small{color:var(--tm-muted);font-size:11px;margin-inline-start:auto;white-space:nowrap}
.tm-people-n{font-size:11px;color:var(--tm-muted);min-width:20px;font-variant-numeric:tabular-nums}
.tso{max-width:1180px;margin:16px auto 0;padding:0 16px;font-family:inherit}
.tso *{box-sizing:border-box}
.tso-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.tso-head h2{margin:0;font-size:18px;font-weight:800;color:#7c2d12}
.tso-head p{margin:0;font-size:12px;color:#667085}
.tso-icon{width:42px;height:42px;border-radius:12px;background:#fff4ed;color:#c2410c;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tso-list{display:grid;gap:10px}
.tso-item{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #fed7aa;border-inline-start:5px solid #ea580c;border-radius:14px;padding:14px 16px}
.tso-text{min-width:0;flex:1}
.tso-text strong{display:block;font-size:15px;color:#1f2a37}
.tso-text small{display:block;font-size:12px;color:#667085}
.tso-text p{margin:4px 0 0;font-size:13px;color:#475467;white-space:pre-wrap}
.tso-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tso-btn{display:inline-flex;align-items:center;justify-content:center;background:#c2410c;color:#fff;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.tso-btn:hover{background:#9a3412}
.tso-btn.ghost{background:#fff;color:#c2410c;border:1px solid #fdba74}
.tso-btn:focus-visible{outline:3px solid #fdba74;outline-offset:2px}
.tso-chip{border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700}
.tso-chip.green{background:#dcfce7;color:#15803d}.tso-chip.amber{background:#fef3c7;color:#b54708}.tso-chip.blue{background:#dbeafe;color:#1d4ed8}.tso-chip.red{background:#fee2e2;color:#b42318}.tso-chip.gray{background:#f2f4f7;color:#475467}
@media (max-width:600px){.tso{padding:0 12px}.tso-item{align-items:stretch}.tso-actions{width:100%}.tso-btn{flex:1}}
.tm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--tm-line);margin-bottom:18px;overflow-x:auto;scrollbar-width:thin}
.tm-tabs button{display:flex;align-items:center;gap:8px;border:0;background:none;padding:12px 16px;font-size:14px;font-weight:600;color:var(--tm-muted);border-bottom:3px solid transparent;white-space:nowrap;cursor:pointer}
.tm-tabs button.on{color:var(--tm-accent);border-bottom-color:var(--tm-accent)}
.tm-tabs button:hover{background:#fff}
.tm-badge{background:var(--tm-accent);color:#fff;border-radius:999px;font-size:11px;padding:0 7px;line-height:18px}
.tm-section{background:var(--tm-card);border:1px solid var(--tm-line);border-radius:14px;padding:20px;margin-bottom:18px}
.tm-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.tm-section-head h3{font-size:18px;font-weight:800}
.tm-section-head p{color:var(--tm-muted);font-size:12px;margin-top:2px}
.tm-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.tm-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--tm-line);background:#fff;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;color:var(--tm-ink);white-space:nowrap}
.tm-btn:hover{background:#f9fafb}
.tm-btn.primary{background:var(--tm-accent);border-color:var(--tm-accent);color:#fff}
.tm-btn.primary:hover{background:#9a3412}
.tm-btn.small{padding:5px 10px;font-size:12px;border-radius:8px}
.tm-btn.ghost{background:transparent}
.tm-btn.danger{color:var(--tm-red);border-color:#fecdca}
.tm-btn:disabled{opacity:.55;cursor:not-allowed}
.tm-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tm-line);background:#fff;border-radius:8px;color:var(--tm-muted);cursor:pointer;flex-shrink:0;text-decoration:none}
.tm-icon-btn:hover{color:var(--tm-accent);border-color:#fdba74}
.tm-icon-btn:disabled{opacity:.35;cursor:default}
.tm-link-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--tm-accent);font-size:12px;font-weight:600;padding:4px 0;cursor:pointer}
.tm-spacer{flex:1}
.tm-muted{color:var(--tm-muted);font-size:12px}
.tm-muted.small,.small{font-size:11px}
.tm-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.tm-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:600;white-space:nowrap;margin-inline-start:4px}
.tm-chip.green{background:#ecfdf3;color:var(--tm-green)}.tm-chip.red{background:#fef3f2;color:var(--tm-red)}.tm-chip.amber{background:#fffaeb;color:var(--tm-amber)}.tm-chip.blue{background:#eff4ff;color:var(--tm-blue)}.tm-chip.gray{background:#f2f4f7;color:#475467}
.tm-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fb923c;margin-inline-start:6px;vertical-align:middle}
.tm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.tm-card{border:1px solid var(--tm-line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;background:#fff}
.tm-card:hover{border-color:#fdba74;box-shadow:0 4px 18px #c2410c14}
.tm-card h4{font-size:16px;font-weight:800}
.tm-card-top{display:flex;gap:4px;flex-wrap:wrap}
.tm-card-top .tm-chip{margin:0}
.tm-card-meta{display:flex;gap:14px;font-size:12px;color:var(--tm-muted)}
.tm-card-meta b{color:var(--tm-ink)}
.tm-card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid #f2f4f7}
.tm-capacity>div:first-child{display:flex;justify-content:space-between;font-size:12px;color:var(--tm-muted)}
.tm-bar{height:8px;background:#f2f4f7;border-radius:99px;overflow:hidden;flex:1}
.tm-bar span{display:block;height:100%;background:#fb923c;border-radius:99px}
.tm-bar span.warn{background:#f59e0b}.tm-bar span.full{background:var(--tm-red)}
.tm-bar span.paid{background:#22c55e}.tm-bar span.partial{background:#f59e0b}.tm-bar span.unpaid{background:#ef4444}.tm-bar span.exempt{background:#98a2b3}
.tm-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.tm-toolbar>select{width:auto;min-width:150px}
.tm-search{max-width:320px;flex:1}
.tm-inline-field{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tm-muted);white-space:nowrap}
.tm-inline-field input{width:auto}
.tm-inline-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.tm-bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--tm-accent-soft);border:1px solid #fed7aa;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.tm-bulk select{width:auto;min-height:32px;padding:4px 8px}
.tm-table-wrap{overflow:auto;border:1px solid var(--tm-line);border-radius:10px;max-width:100%}
.tm-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.tm-table th{background:#f9fafb;text-align:start;font-size:12px;color:var(--tm-muted);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--tm-line);white-space:nowrap;position:sticky;top:0}
.tm-table td{padding:10px 12px;border-bottom:1px solid #f2f4f7;vertical-align:middle}
.tm-table td small{display:block;color:var(--tm-muted);font-size:11px}
.tm-table tr:last-child td{border-bottom:0}
.tm-table.compact{min-width:0}.tm-table.compact td,.tm-table.compact th{padding:7px 9px}
.tm-clickable{cursor:pointer}.tm-clickable:hover td{background:#fffaf5}
.tm-dim td{opacity:.55}
.tm-row-actions{display:flex;gap:6px;justify-content:flex-end}
.tm-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:34px 16px;color:var(--tm-muted)}
.tm-empty strong{color:var(--tm-ink);font-size:15px}
.tm-empty p{font-size:12px;max-width:380px}
.tm-loading{padding:30px;text-align:center;color:var(--tm-muted);font-size:13px}
.tm-error{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fef3f2;border:1px solid #fecdca;color:var(--tm-red);border-radius:12px;padding:14px 16px}
.tm-note{background:#fffaeb;border:1px solid #fedf89;color:var(--tm-amber);border-radius:10px;padding:10px 12px;font-size:12px;margin-bottom:12px}
.tm-overlay{position:fixed;inset:0;background:#10182899;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow-y:auto}
.tm-modal{background:#fff;border-radius:16px;width:min(640px,100%);box-shadow:0 24px 60px #0003;display:flex;flex-direction:column;max-height:92vh;color:var(--tm-ink);font-size:13px;line-height:1.6}
.tm-modal.wide{width:min(980px,100%)}
.tm-modal *{box-sizing:border-box}
.tm-modal input,.tm-modal select,.tm-modal textarea{border:1px solid var(--tm-line);background:#fff;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;min-height:38px;width:100%}
.tm-modal input[type=checkbox]{width:auto;min-height:0;accent-color:var(--tm-accent)}
.tm-modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #f2f4f7}
.tm-modal>header h3{font-size:17px;font-weight:800;margin:0}
.tm-modal>header p{color:var(--tm-muted);font-size:12px;margin:2px 0 0}
.tm-modal-body{padding:16px 20px;overflow-y:auto}
.tm-modal>footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-top:1px solid #f2f4f7;background:#fcfcfd;border-radius:0 0 16px 16px}
.tm-grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.tm-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#344054}
.tm-field small{font-weight:400;color:var(--tm-muted);font-size:11px}
.tm-field.full,.tm-checks.full,.tm-days.full,.full{grid-column:1/-1}
.tm-checks{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;align-self:center}
.tm-checks label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.tm-form-actions{display:flex;gap:8px;align-items:end;justify-content:flex-end}
.tm-subhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 10px;padding-top:14px;border-top:1px solid #f2f4f7}
.tm-subhead h4{font-size:14px;font-weight:800;margin:0}
.tm-subhead p{font-size:12px;color:var(--tm-muted);margin:2px 0 0}
.tm-fields-list{display:flex;flex-direction:column;gap:8px}
.tm-field-row{display:grid;grid-template-columns:1fr 150px auto auto;gap:8px;align-items:center;background:#f9fafb;border-radius:10px;padding:8px}
.tm-field-row textarea{grid-column:1/-1}
.tm-days{display:flex;gap:6px;flex-wrap:wrap}
.tm-days label{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--tm-line);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer}
.tm-days label.on{background:var(--tm-accent-soft);border-color:#fdba74;color:var(--tm-accent)}
.tm-days input{display:none}
.tm-detail{display:grid;grid-template-columns:260px 1fr;gap:20px}
.tm-detail-side{display:flex;flex-direction:column;gap:10px}
.tm-photo{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--tm-line);background:#f2f4f7;aspect-ratio:4/3}
.tm-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tm-photo.loading,.tm-photo.empty{display:flex;align-items:center;justify-content:center;color:var(--tm-muted);font-size:12px}
.tm-quick{display:flex;gap:6px;flex-wrap:wrap}
.tm-extra{margin:0;display:flex;flex-direction:column;gap:6px;background:#f9fafb;border-radius:10px;padding:10px}
.tm-extra div{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.tm-extra dt{color:var(--tm-muted)}.tm-extra dd{margin:0;font-weight:600}
.tm-queue{border:1px dashed #fdba74;background:#fffaf5;border-radius:12px;padding:12px 14px;margin-bottom:14px}
.tm-queue h4{font-size:14px;font-weight:800}
.tm-queue ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.tm-queue li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border-radius:8px;padding:6px 10px}
.tm-queue li small{display:block;color:var(--tm-muted);font-size:11px}
.tm-queue select{width:auto;min-width:180px;min-height:32px;padding:4px 8px}
.tm-stops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tm-stops li{display:grid;grid-template-columns:34px 1fr auto auto;gap:10px;align-items:center;border:1px solid var(--tm-line);border-radius:10px;padding:8px 10px}
.tm-stop-no{width:30px;height:30px;border-radius:50%;background:var(--tm-accent-soft);color:var(--tm-accent);display:flex;align-items:center;justify-content:center;font-weight:800}
.tm-stop-main small{display:block;color:var(--tm-muted);font-size:11px}
.tm-stop-main .tm-chip{margin:4px 0 0}
.tm-stop-marks{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--tm-muted)}
.tm-stop-actions{display:flex;gap:4px}
.tm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.tm-stat{border:1px solid var(--tm-line);border-radius:12px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:2px}
.tm-stat span{font-size:12px;color:var(--tm-muted)}
.tm-stat strong{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.tm-stat small{font-size:11px;color:var(--tm-muted)}
.tm-stat.green strong{color:var(--tm-green)}.tm-stat.red strong{color:var(--tm-red)}.tm-stat.amber strong{color:var(--tm-amber)}
.tm-seg{display:inline-flex;border:1px solid var(--tm-line);border-radius:9px;overflow:hidden}
.tm-seg button{border:0;background:#fff;padding:7px 12px;font-size:12px;cursor:pointer;border-inline-start:1px solid var(--tm-line)}
.tm-seg button:first-child{border-inline-start:0}
.tm-seg button.on{background:var(--tm-accent);color:#fff}
.tm-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--tm-muted);margin-bottom:10px}
.tm-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px;background:#e4e7ec}
.tm-legend .paid::before{background:#22c55e}.tm-legend .partial::before{background:#f59e0b}.tm-legend .unpaid::before{background:#fca5a5}.tm-legend .overdue::before{background:#dc2626}.tm-legend .exempt::before{background:#98a2b3}.tm-legend .none::before{background:#fff;border:1px dashed #98a2b3}.tm-legend .due::before{background:#fed7aa}
.tm-legend.inline{margin:8px 0 0}
.tm-pay td,.tm-pay th{text-align:center}
.tm-pay td:first-child,.tm-pay th:first-child{text-align:start;position:sticky;inset-inline-start:0;background:#fff;z-index:1;min-width:170px}
.tm-pay th:first-child{background:#f9fafb;z-index:2}
.tm-pay th.current{color:var(--tm-accent)}
.tm-pay td.current{background:#fffaf5}
.tm-cell{position:relative;min-width:84px;width:100%;border:1px solid transparent;border-radius:8px;padding:6px 4px;font-size:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.3}
.tm-cell b{font-size:13px}
.tm-cell span{font-size:10px;opacity:.8}
.tm-cell i{position:absolute;top:1px;inset-inline-end:5px;font-style:normal;color:var(--tm-accent)}
.tm-cell.paid{background:#dcfce7;color:#14532d}.tm-cell.partial{background:#fef3c7;color:#78350f}.tm-cell.unpaid{background:#fee2e2;color:#7f1d1d}.tm-cell.overdue{background:#dc2626;color:#fff}.tm-cell.exempt{background:#f2f4f7;color:#475467}
.tm-cell.none{border:1px dashed #d0d5dd;color:#98a2b3;background:#fff}
.tm-cell:hover{filter:brightness(.96);border-color:#fb923c}
.tm-due-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tm-remind-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:10px;background:#f0fdf4;border-radius:10px;font-size:12px}
.tm-history{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.tm-history h4{font-size:13px;font-weight:800;margin:0 0 6px}
.tm-history ul,.tm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tm-history li,.tm-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f9fafb;border-radius:8px;padding:7px 10px;font-size:12px}
.tm-history li small{display:block;color:var(--tm-muted);font-size:11px}
.tm-kinds{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tm-kinds button{border:1px solid var(--tm-line);background:#fff;border-radius:999px;padding:6px 14px;font-size:12px;cursor:pointer}
.tm-kinds button.on{background:var(--tm-accent);border-color:var(--tm-accent);color:#fff}
.tm-preview{background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;padding:12px 14px;margin-bottom:12px}
.tm-preview span{font-size:11px;color:var(--tm-green);font-weight:700}
.tm-preview p{white-space:pre-wrap;font-size:13px;margin:4px 0}
.tm-preview small{font-size:11px;color:var(--tm-muted)}
.tm-fieldset{border:0;padding:0;margin:0}
.tm-auto{margin-top:16px;border:1px solid #abefc6;background:#f6fef9;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.tm-switch{display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}
.tm-switch input{position:absolute;opacity:0}
.tm-switch span{width:40px;height:22px;background:#d0d5dd;border-radius:99px;position:relative;transition:.2s;flex-shrink:0}
.tm-switch span::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;inset-inline-start:2px;transition:.2s}
.tm-switch input:checked+span{background:#16a34a}
.tm-switch input:checked+span::after{inset-inline-start:20px}
.tm-switch input:focus-visible+span{outline:3px solid #86efac}
.tm-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tm-panel{background:#fff;border:1px solid var(--tm-line);border-radius:12px;padding:16px;min-width:0}
.tm-panel.wide{grid-column:1/-1}
.tm-panel h4{font-size:14px;font-weight:800;margin-bottom:12px}
.tm-panel .tm-table-wrap,.tm-panel .tm-table{min-width:0}
.tm-hbar{display:grid;grid-template-columns:110px 1fr 46px;gap:8px;align-items:center;font-size:12px;margin-bottom:8px}
.tm-hbar span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-hbar b{text-align:end;font-variant-numeric:tabular-nums}
.tm-hbar.mini{grid-template-columns:1fr 40px;margin:0;min-width:110px}
.tm-trend{display:flex;gap:10px;align-items:flex-end;height:180px}
.tm-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.tm-trend-bars{flex:1;width:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center}
.tm-trend-bars span{width:40%;max-width:22px;border-radius:5px 5px 0 0;min-height:2px}
.tm-trend-bars .due{background:#fed7aa}.tm-trend-bars .paid{background:#22c55e}
.tm-trend-col small{font-size:10px;color:var(--tm-muted)}
.tm-trend-col b{font-size:11px}
.tm-toasts{position:fixed;bottom:20px;inset-inline-end:20px;z-index:90;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 40px))}
.tm-toast{background:#101828;color:#fff;border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 10px 30px #0003;border-inline-start:4px solid #22c55e}
.tm-toast.error{border-color:#ef4444}.tm-toast.warn{border-color:#f59e0b}
@media (max-width:900px){.tm-detail{grid-template-columns:1fr}.tm-stats,.tm-due-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-report-grid{grid-template-columns:1fr}.tm-history{grid-template-columns:1fr}}
@media (max-width:600px){.tm-sections{grid-template-columns:1fr 1fr;gap:8px}.tm-sections button{padding:10px;gap:8px}.tm-sections button small{display:none}.tm-card-actions .tm-spacer{display:none}.tm-card-actions{gap:6px}.tm-page{padding:12px}.tm-hero{padding:18px;border-radius:14px}.tm-hero h1{font-size:21px}.tm-hero-stats{margin:0}.tm-section{padding:14px}.tm-grid-form{grid-template-columns:1fr}.tm-field-row{grid-template-columns:1fr 1fr}.tm-search{max-width:none;flex-basis:100%}.tm-toolbar>select{flex:1}.tm-stops li{grid-template-columns:30px 1fr;}.tm-stop-marks,.tm-stop-actions{grid-column:2}.tm-modal-body{padding:14px}.tm-overlay{padding:0}.tm-modal,.tm-modal.wide{max-height:100vh;border-radius:0;min-height:100vh}.tm-queue li{flex-direction:column;align-items:stretch}.tm-queue select{width:100%}.tm-hbar{grid-template-columns:90px 1fr 40px}}
@media print{.tm-page{background:#fff;padding:0}.tm-hero,.tm-tabs,.no-print,.tm-toasts{display:none!important}.tm-panel{break-inside:avoid}}
/* نافذة «طلب التوصيل» في بوابة الطالب وبوابة المعلم */
.tsd{border:0;padding:0;margin:auto;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border-radius:18px;background:#fff;color:#1f2a37;box-shadow:0 24px 60px rgba(15,23,42,.28);overflow:hidden;font-family:inherit}
.tsd::backdrop{background:rgba(15,23,42,.45)}
.tsd *{box-sizing:border-box}
.tsd-panel{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}
.tsd-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #f2f4f7}
.tsd-title{min-width:0;flex:1}
.tsd-title h2{margin:0;font-size:17px;font-weight:800;color:#7c2d12}
.tsd-title p{margin:0;font-size:12px;color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsd-close{width:36px;height:36px;border-radius:10px;border:1px solid #eaecf0;background:#fff;color:#475467;font-size:22px;line-height:1;cursor:pointer;flex-shrink:0}
.tsd-close:hover{background:#f9fafb}
.tsd-back{align-self:flex-start;margin:10px 16px 0;border:0;background:none;color:#c2410c;font-size:13px;font-weight:700;cursor:pointer;padding:4px 0}
.tsd-body{padding:12px 16px 16px;overflow:auto;flex:1;min-height:0}
.tsd-frame{display:block;width:100%;height:min(70dvh,760px);border:0;border-radius:12px;background:#fff}
.tsd-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:28px 8px;color:#475467;font-size:14px}
.tsd-empty p{margin:0}
.tsd-empty strong{color:#1f2a37;font-size:15px}
.tsd .tso-btn{border:0;cursor:pointer;font-family:inherit}
.tsd .tso-btn.ghost{border:1px solid #fdba74}
@media (max-width:600px){.tsd{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.tsd-panel{max-height:100dvh;height:100%}.tsd-frame{height:calc(100dvh - 150px)}.tsd .tso-item{align-items:stretch}.tsd .tso-actions{width:100%}.tsd .tso-btn{flex:1}}

/* طلب الإعفاء من الرسوم في تفاصيل الطلب */
.tm-exemption{border:1px solid #fedf89;background:#fffaeb;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:13px}
.tm-exemption h5{margin:0 0 4px;font-size:13px;color:#b54708}
.tm-exemption p{margin:0 0 8px;white-space:pre-wrap}
.tm-exemption ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}
