
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
:root{--tm-deep:#173832;--tm-ink:#203a36;--tm-muted:#68746f;--tm-cream:#f7f2e8;--tm-card:#fffdf8;--tm-line:#e6e3da;--tm-soft:#e9f0e6;--tm-gold:#d7a451;--tm-danger:#9a4f43}*{box-sizing:border-box}body{margin:0;background:var(--tm-cream);color:var(--tm-ink);font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:15px;visibility:visible}button,input,select{font:inherit}.tm-shell{min-height:100vh;padding-right:268px}.tm-side{position:fixed;inset:0 0 0 auto;width:268px;background:var(--tm-deep);color:#fffdf8;padding:25px 16px;display:flex;flex-direction:column;z-index:5}.tm-brand{font-size:24px;font-weight:800;display:flex;align-items:center;gap:10px;padding:6px 12px 33px}.tm-brand i{display:grid;place-items:center;width:31px;height:31px;border:1px solid currentColor;border-radius:50%}.tm-brand i:after{content:'';width:9px;height:9px;border-radius:50%;background:currentColor}.tm-nav{display:grid;gap:5px}.tm-nav button{border:0;background:transparent;color:#d5e2d3;border-radius:11px;padding:12px 13px;text-align:right;display:flex;align-items:center;gap:11px;cursor:pointer;font-weight:600}.tm-nav button:hover,.tm-nav button.is-active{background:rgba(255,255,255,.13);color:#fff}.tm-nav .tm-icon{width:18px;text-align:center}.tm-account{margin-top:auto;padding:17px 8px 5px;border-top:1px solid rgba(255,255,255,.16);display:flex;align-items:center;gap:10px;cursor:pointer;border-radius:12px}.tm-account:hover,.tm-account:focus{background:rgba(255,255,255,.1);outline:0}.tm-avatar{width:39px;height:39px;border-radius:50%;background:var(--tm-gold);display:grid;place-items:center;color:white;font-weight:800;flex:0 0 auto}.tm-account-name{font-weight:700;font-size:13px}.tm-account-role{display:block;font-size:11px;color:#bdd0bd;margin-top:3px}.tm-main{max-width:1440px;margin:0 auto;padding:42px clamp(22px,5vw,72px) 65px}.tm-topline{font-size:13px;color:#8b7962;margin-bottom:12px}.tm-title{margin:0;font-size:31px;letter-spacing:-.5px}.tm-desc{margin:8px 0 27px;color:var(--tm-muted);font-size:14px;line-height:1.9}.tm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tm-card{background:var(--tm-card);border:1px solid rgba(32,58,54,.08);border-radius:19px;padding:18px;box-shadow:0 8px 24px rgba(45,55,42,.045)}.tm-stat label{display:block;color:var(--tm-muted);font-size:13px}.tm-stat strong{display:block;font-size:31px;margin-top:9px}.tm-stat small{color:#45684e;background:var(--tm-soft);padding:4px 8px;border-radius:20px;display:inline-block;margin-top:10px}.tm-section{margin-top:19px}.tm-section h2{font-size:18px;margin:0 0 12px}.tm-list{display:grid;gap:10px}.tm-info{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--tm-line)}.tm-info:last-child{border-bottom:0}.tm-dot{width:9px;height:9px;border-radius:50%;background:var(--tm-gold);flex:0 0 auto}.tm-grow{flex:1;min-width:0}.tm-grow b{display:block;font-size:14px}.tm-grow small{color:var(--tm-muted);font-size:12px;display:block;margin-top:4px}.tm-badge{padding:5px 9px;border-radius:99px;background:var(--tm-soft);color:#45684e;font-size:11px;white-space:nowrap}.tm-action{border:0;border-radius:10px;padding:10px 13px;background:var(--tm-deep);color:#fff;font-weight:700;cursor:pointer}.tm-action.tm-soft{background:var(--tm-soft);color:var(--tm-ink)}.tm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.tm-toolbar input,.tm-toolbar select{border:1px solid #d8ddd3;background:#fff;border-radius:11px;padding:11px 13px;min-width:190px;outline:0}.tm-toolbar input:focus,.tm-toolbar select:focus,.tm-form input:focus{border-color:#78927f;box-shadow:0 0 0 3px rgba(120,146,127,.13)}.tm-members{display:grid;gap:10px}.tm-member{background:var(--tm-card);border:1px solid rgba(32,58,54,.08);border-radius:17px;padding:13px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tm-member .tm-person{width:38px;height:38px;border-radius:50%;background:#e1ebde;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.tm-member select{border:1px solid #d8ddd3;border-radius:9px;padding:9px;background:#fff}.tm-empty{padding:19px;border-radius:14px;background:#f1f3ee;color:var(--tm-muted);font-size:13px}.tm-form{display:grid;gap:12px;max-width:470px}.tm-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.tm-form input{border:1px solid #d8ddd3;border-radius:11px;padding:12px;background:#fff}.tm-message{min-height:18px;font-size:12px;color:var(--tm-danger);line-height:1.7}.tm-message.is-ok{color:#45684e}.tm-modal{position:fixed;inset:0;z-index:20;background:rgba(18,40,34,.46);display:grid;place-items:center;padding:20px}.tm-dialog{width:min(100%,480px);max-height:calc(100vh - 40px);overflow:auto;background:var(--tm-card);border-radius:22px;padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.25)}.tm-dialog h2{font-size:22px;margin:0 0 6px}.tm-dialog p{color:var(--tm-muted);font-size:13px;line-height:1.8;margin:0 0 17px}.tm-summary{background:var(--tm-soft);border-radius:14px;padding:13px;display:grid;gap:5px;font-size:13px;margin-bottom:18px}.tm-summary b{font-size:16px}.tm-close{float:left;border:0;background:none;font-size:24px;color:var(--tm-muted);cursor:pointer;padding:0}.tm-dialog hr{border:0;border-top:1px solid var(--tm-line);margin:17px 0}.tm-dialog h3{font-size:16px;margin:0 0 12px}.tm-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.tm-danger{background:#fff;border:1px solid #bd6a5c;color:var(--tm-danger)}@media(max-width:980px){.tm-shell{padding-right:0}.tm-side{position:static;width:auto;min-height:0;display:block}.tm-brand{padding-bottom:18px}.tm-nav{grid-template-columns:repeat(3,1fr)}.tm-nav button{justify-content:center;font-size:12px}.tm-account{margin-top:17px;max-width:300px}.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tm-main{padding:27px 16px 45px}.tm-title{font-size:26px}.tm-nav{grid-template-columns:repeat(2,1fr)}.tm-grid{grid-template-columns:1fr}.tm-member{align-items:flex-start}.tm-toolbar input,.tm-toolbar select{width:100%}}

.class-builder{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:18px}.class-builder .tm-card{min-width:0}.session-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.session-fields .wide{grid-column:1/-1}.session-fields label{display:grid;gap:6px;font-size:12px;font-weight:700}.session-fields input,.session-fields select,.session-fields textarea{width:100%;border:1px solid var(--tm-line);border-radius:11px;padding:11px 12px;background:#fff;color:var(--tm-ink)}.session-fields textarea{min-height:78px;resize:vertical}.tm-room-list,.tm-session-list,.tm-file-list{display:grid;gap:10px}.tm-room,.tm-session,.tm-file{border:1px solid var(--tm-line);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;background:#fffefa}.tm-room strong,.tm-session strong,.tm-file strong{font-size:13px}.tm-room small,.tm-session small,.tm-file small{display:block;color:var(--tm-muted);font-size:11px;line-height:1.8}.tm-room .tm-grow,.tm-session .tm-grow,.tm-file .tm-grow{min-width:0}.session-actions{display:flex;gap:8px;flex-wrap:wrap}.tm-upload{border:1.5px dashed #9ab79c;border-radius:14px;background:#f5faf2;padding:22px;text-align:center;color:#48684d;cursor:pointer}.tm-upload input{display:none}.tm-upload b{display:block;margin-bottom:5px}.tm-upload small{display:block;font-size:11px;color:#6a7b6c}.tm-file-form{display:grid;gap:11px;margin-top:14px}.tm-file-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.tm-file-form input,.tm-file-form textarea{border:1px solid var(--tm-line);border-radius:10px;padding:10px;background:#fff;font:inherit}.tm-file-form textarea{min-height:65px;resize:vertical}.tm-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:7px!important;font-weight:500!important}.tm-check input{width:auto!important}.tm-status{min-height:18px;color:var(--tm-danger);font-size:12px}.tm-status.ok{color:#466b4f}.tm-dialog.wide{width:min(720px,100%)}@media(max-width:980px){.class-builder{grid-template-columns:1fr}}@media(max-width:600px){.session-fields{grid-template-columns:1fr}.tm-session,.tm-room{align-items:flex-start;flex-wrap:wrap}.session-actions{width:100%}.session-actions button{flex:1}.tm-dialog.wide{padding:20px}}