
    @import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
    :root { --ink:#203A36; --deep:#18312D; --cream:#F5F0E7; --paper:#FFFCF6; --sage:#B5C8B6; --sage2:#E1E9DD; --gold:#C79753; --rose:#F3E0D3; --muted:#65736F; --line:#D8DAD2; --white:#fffdf8; }
    * { box-sizing:border-box } body { margin:0; background:var(--cream); color:var(--ink); font-family:Vazirmatn, Tahoma, sans-serif; min-height:100vh; }
    button,input,textarea,select { font:inherit } button { cursor:pointer; border:0 } .hidden { display:none !important }
    .login { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; }
    .login-copy { background:var(--deep); color:#fffaf0; padding:9vw 10vw; display:flex; flex-direction:column; justify-content:space-between; min-height:100vh; overflow:hidden; position:relative; }
    .login-copy:after { content:""; position:absolute; width:420px; height:420px; border:1px solid rgba(255,255,255,.18); border-radius:50%; left:-170px; bottom:-160px; box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.02); }
    .brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:25px; letter-spacing:-1px; }.brand-mark{width:32px;height:32px;border:1.5px solid currentColor;border-radius:50% 50% 50% 8px;transform:rotate(45deg);display:grid;place-items:center}.brand-mark i{width:9px;height:9px;background:currentColor;border-radius:50%;display:block}
    .login-copy h1 { font-size:clamp(36px,5vw,65px); line-height:1.25; margin:48px 0 16px; letter-spacing:-2px }.login-copy p { font-size:17px; line-height:2; color:#d9e5dc; max-width:480px }.moon-note{font-size:13px;color:#bdd0c0;display:flex;gap:9px;align-items:center}.moon{width:18px;height:18px;border-radius:50%;background:#e6d1aa;display:inline-block}
    .login-form { background:var(--paper); display:flex; align-items:center; justify-content:center; padding:40px; }.formbox{width:min(390px,100%)}.formbox h2{font-size:28px;margin:0 0 8px}.formbox>p{color:var(--muted);line-height:1.9;font-size:14px;margin:0 0 28px}.field{display:grid;gap:7px;margin:15px 0}.field label{font-size:14px;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,151,83,.12)}.primary{background:var(--deep);color:white;border-radius:13px;padding:13px 18px;font-weight:700;width:100%;box-shadow:0 8px 18px rgba(24,49,45,.16)}.soft{background:var(--sage2);color:var(--deep);border-radius:12px;padding:11px 14px;font-weight:700}.outline{background:transparent;color:var(--deep);border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-weight:700}.login-help{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}
    .app { display:flex; min-height:100vh }.sidebar{width:250px;background:var(--deep);color:#fdf8ef;padding:26px 16px;position:fixed;inset:0 0 0 auto;direction:rtl;z-index:5;display:flex;flex-direction:column;overflow-y:auto}.sidebar .brand{margin:5px 10px 36px}.nav{display:grid;gap:5px}.nav button{background:transparent;color:#cfddd0;text-align:right;padding:12px 14px;border-radius:11px;font-size:14px;display:flex;gap:10px;align-items:center}.nav button.active,.nav button:hover{background:rgba(255,255,255,.12);color:white}.nav .ico{width:18px;text-align:center}.message-nav{margin-top:10px !important;background:rgba(237,221,189,.14) !important;border:1px solid rgba(237,221,189,.32) !important;color:#fff3d9 !important}.message-nav .nav-badge{margin-right:auto;font-size:10px;background:#edddbd;color:var(--deep);padding:3px 6px;border-radius:99px}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding:16px 4px 4px}.member{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;align-items:center;font-size:13px;line-height:1.35}.member>div{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#fff;font-weight:800}.role{display:block;font-size:11px;color:#b9ceb9;margin-top:3px;line-height:1.35}
    main{flex:1;min-width:0;margin-right:250px;padding:30px clamp(28px,5vw,76px) 48px;max-width:none}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.greeting small{color:var(--muted);font-size:13px}.greeting h1{margin:2px 0 0;font-size:29px;letter-spacing:-1px}.top-actions{display:flex;gap:10px;align-items:center}.bell{border:1px solid var(--line);width:41px;height:41px;border-radius:13px;background:var(--white);font-size:17px}.chamber{background:#e2e8de;border-radius:100px;padding:9px 13px;color:#345848;font-size:12px;font-weight:700}
    .view{display:none}.view.show{display:block}.today-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:20px}.card{background:var(--white);border:1px solid rgba(32,58,54,.08);border-radius:21px;padding:22px;box-shadow:0 8px 32px rgba(49,66,57,.045)}.teacher-notice{display:flex;align-items:center;gap:14px;background:#fff7e9;border:1px solid #eddbba;margin:0 0 20px;padding:15px 17px}.notice-icon{width:38px;height:38px;border-radius:12px;background:#e5b96e;color:#553b17;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.notice-copy{flex:1;min-width:0}.notice-copy b{display:block;font-size:14px}.notice-copy p{font-size:12px;color:#735f43;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-action{background:var(--deep);color:white;border-radius:10px;padding:10px 13px;font-size:12px;font-weight:700;white-space:nowrap}.quick-chat{margin:0 0 20px}.quick-chat[hidden]{display:none}.quick-chat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.quick-chat-head h3{font-size:16px;margin:0}.quick-chat-head span{font-size:11px;color:var(--muted)}.quick-messages{display:grid;gap:9px;margin-bottom:13px}.quick-message{background:#f0f2eb;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.8}.quick-message b{font-size:12px}.quick-message.me{background:#dcebdd;margin-right:16%;}.hero-card{background:var(--deep);color:#fdfaf2;position:relative;overflow:hidden;min-height:263px}.hero-card:after{content:"";width:232px;height:232px;border:1px solid rgba(255,255,255,.16);border-radius:50%;position:absolute;left:-43px;bottom:-115px;box-shadow:0 0 0 30px rgba(255,255,255,.03)}.eyebrow{color:#b6d2bd;font-size:13px;font-weight:600}.hero-card h2{font-size:31px;margin:13px 0 7px}.hero-card p{color:#d7e2d8;margin:0 0 22px;font-size:14px}.join{background:#edddbd;color:#203A36;border-radius:12px;padding:12px 16px;font-weight:800;position:relative;z-index:1}.tiny-note{font-size:11px;color:#c1d3c1;margin-top:15px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:5px 0 14px}.section-title h2{font-size:18px;margin:0}.section-title button{color:#7b684b;background:transparent;font-size:12px}.schedule{display:grid;gap:9px}.schedule-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #ecebe5}.schedule-row:last-child{border:0}.time{font-weight:800;font-size:15px}.dot{width:10px;height:10px;border-radius:50%;background:var(--sage)}.dot.gold{background:var(--gold)}.schedule-row b{font-size:14px}.schedule-row small{color:var(--muted);font-size:11px}.schedule-row .practice-detail{display:inline-block;margin-right:8px}.status{font-size:11px;background:#eef4eb;color:#547557;padding:5px 8px;border-radius:99px}.moon-card{background:var(--rose);min-height:182px}.moon-content{display:flex;align-items:center;gap:17px}.moon-big{width:70px;height:70px;border-radius:50%;background:linear-gradient(100deg,#c69e6c 0 46%,#efdcc1 47%);box-shadow:inset -6px -2px 0 rgba(80,46,25,.08)}.moon-card h3{margin:0 0 5px;font-size:17px}.moon-card p{margin:0;color:#725f54;font-size:12px;line-height:1.8}.astro-event{margin-top:14px;border-top:1px solid rgba(119,86,69,.18);padding-top:11px;font-size:12px;color:#714c35}.goals-mini{margin-top:20px}.goal-line{display:flex;align-items:center;gap:10px;margin-top:11px;font-size:13px}.progress{height:7px;background:#e9ece5;border-radius:10px;flex:1;overflow:hidden}.progress i{display:block;height:100%;background:var(--gold);border-radius:10px}
    .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h2{margin:0;font-size:22px}.calendar-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.calendar{padding:20px}.week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:5px}.weekday{font-size:12px;color:var(--muted);padding:7px}.day{height:80px;border-radius:13px;border:1px solid transparent;padding:7px;text-align:right;font-size:13px;position:relative;background:#fafaf6}.day.muted{color:#aab0aa}.day.today{background:var(--deep);color:white}.day.classday{border-color:#d6c5a8}.day .event{font-size:9px;background:#e8dfcf;color:#754f1c;border-radius:5px;padding:2px 3px;display:block;margin-top:5px;white-space:nowrap;overflow:hidden}.day.today .event{background:#56756b;color:white}.astro-list{display:grid;gap:11px}.astro-item{border-right:3px solid var(--gold);padding:8px 10px;background:#fcf8f2;border-radius:0 9px 9px 0}.astro-item b{font-size:13px}.astro-item p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.7}
    .page-lead{margin-bottom:20px}.page-lead h2{margin:0;font-size:24px}.page-lead p{margin:6px 0;color:var(--muted);font-size:13px}.class-list,.resource-list,.forum-list,.message-list{display:grid;gap:13px}.class-row,.resource-row,.forum-post,.message{display:flex;gap:13px;align-items:center}.class-row{padding:16px}.class-symbol{width:43px;height:43px;border-radius:13px;background:var(--sage2);display:grid;place-items:center;font-size:20px}.class-detail{flex:1}.class-detail b{font-size:15px}.class-detail small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.record-pill{font-size:11px;color:#885c23;background:#fff1d9;padding:5px 8px;border-radius:99px}.resource-row{padding:15px}.file-icon{width:39px;height:39px;border-radius:11px;background:#f1e8dd;color:#a96b40;display:grid;place-items:center;font-size:11px;font-weight:800}.resource-row div:nth-child(2){flex:1}.resource-row b{font-size:14px}.resource-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.forum-post{align-items:flex-start;padding:16px}.forum-post p{font-size:13px;line-height:1.9;margin:7px 0;color:#4d5d58}.forum-post small{color:var(--muted);font-size:11px}.forum-post .avatar{flex:0 0 auto}.forum-compose{display:grid;gap:10px;padding:17px;margin-bottom:15px}.forum-compose textarea{min-height:78px;resize:vertical}
    .goals-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}.goal-form{display:grid;gap:10px}.goal-form h3{margin:0 0 4px}.date-choice{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 14px;color:var(--ink);text-align:right}.date-choice span:last-child{color:var(--muted);font-size:16px}.check-goal{padding:17px;display:flex;gap:12px;align-items:flex-start}.check{width:25px;height:25px;border:1.5px solid #bfc7bd;border-radius:8px;background:white;flex:0 0 auto;display:grid;place-items:center;color:white}.check.done{background:#4d8068;border-color:#4d8068}.check-goal .goal-text{flex:1}.check-goal b{font-size:14px}.check-goal p{font-size:12px;color:var(--muted);margin:4px 0 0}.share{font-size:11px;color:#886438;background:#fff1da;padding:4px 7px;border-radius:99px}.message-wrap{display:grid;grid-template-rows:1fr auto;min-height:470px}.message-list{align-content:start}.message{max-width:79%;font-size:13px;line-height:1.9;padding:11px 13px;border-radius:15px;background:#f0f2eb}.message.me{background:#dcebdd;margin-right:auto}.message small{display:block;color:#77827c;font-size:10px}.composer{display:flex;gap:9px;border-top:1px solid #ecebe5;padding-top:15px}.composer input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px}.composer .primary{width:auto;padding-inline:18px}
    .calendar-modal{position:fixed;inset:0;background:rgba(21,40,36,.48);display:grid;place-items:center;padding:18px;z-index:30}.calendar-modal[hidden]{display:none}.picker{width:min(380px,100%);background:var(--paper);border-radius:22px;padding:20px;box-shadow:0 20px 56px rgba(0,0,0,.24)}.picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.picker-head h3{margin:0;font-size:18px}.picker-close{background:#f0eee8;border-radius:10px;padding:7px 10px;color:var(--deep)}.picker-week,.picker-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:5px}.picker-week span{font-size:11px;color:var(--muted);padding:5px 0}.picker-days button{height:36px;border-radius:9px;background:transparent;color:var(--ink)}.picker-days button:hover,.picker-days button.selected{background:var(--deep);color:white}.picker-note{font-size:11px;color:var(--muted);margin:14px 0 0;text-align:center}
    .lesson-modal{position:fixed;inset:0;background:rgba(21,40,36,.55);display:grid;place-items:center;padding:18px;z-index:31}.lesson-modal[hidden]{display:none}.lesson-dialog{width:min(560px,100%);background:var(--paper);border-radius:24px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.lesson-dialog h2{font-size:21px;line-height:1.65;margin:0 0 6px}.lesson-dialog>p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.8}.lesson-dialog textarea{min-height:160px;resize:vertical}.modal-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:18px}.modal-actions .primary{width:auto}.modal-actions .outline{color:var(--muted)}
    .admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.admin-card h3{margin-top:0;font-size:17px}.request{padding:13px 0;border-bottom:1px solid #ecebe5;display:flex;align-items:center;gap:10px}.request:last-child{border-bottom:0}.request>div:nth-child(2){flex:1}.request b{font-size:13px}.request small{display:block;font-size:11px;color:var(--muted)}.small-btn{font-size:11px;background:var(--deep);color:white;padding:7px 9px;border-radius:8px}.publish-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #ecebe5;font-size:13px}.switch{width:38px;height:22px;border-radius:99px;background:#c9d7c8;padding:3px}.switch i{display:block;width:16px;height:16px;border-radius:50%;background:white;margin-right:auto}.switch.off{background:#deddd7}.switch.off i{margin-right:0}
    .mobile-nav{display:none}.toast{position:fixed;bottom:25px;left:25px;background:var(--deep);color:#fff;padding:12px 16px;border-radius:12px;font-size:13px;box-shadow:0 12px 28px rgba(0,0,0,.2);transform:translateY(100px);transition:.25s;z-index:20}.toast.show{transform:translateY(0)}
    @media(max-width:1080px){.sidebar{display:none}.app main{margin:0;padding-bottom:86px}.mobile-nav{display:flex;position:fixed;bottom:0;right:0;left:0;background:#fffdf8;border-top:1px solid var(--line);z-index:10;justify-content:flex-start;gap:15px;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 14px calc(8px + env(safe-area-inset-bottom))}.mobile-nav button{background:transparent;color:#68756f;font-size:10px;display:grid;gap:3px;place-items:center;white-space:nowrap;flex:0 0 auto}.mobile-nav button.active{color:var(--deep);font-weight:800}.mobile-nav span{font-size:17px}.calendar-layout{grid-template-columns:1.15fr .85fr}}
    @media(max-width:850px){.login{grid-template-columns:1fr}.login-copy{min-height:39vh;padding:40px 28px}.login-copy h1{font-size:35px;margin:30px 0 7px}.login-copy p{font-size:14px;margin:0}.login-copy .moon-note{display:none}.login-form{align-items:flex-start;padding:35px 25px}.app main{padding:20px 17px 92px}.topbar{margin-bottom:20px}.greeting h1{font-size:23px}.top-actions .bell{display:none}.today-grid,.calendar-layout,.goals-layout,.admin-grid{grid-template-columns:1fr}.hero-card{min-height:228px}.calendar{overflow-x:auto}.week{min-width:500px}.moon-card{min-height:auto}.calendar-header{gap:9px}.calendar-header h2{font-size:18px}}
  


.side-bottom .member{cursor:pointer;border-radius:12px;padding:7px;transition:background .18s ease}.side-bottom .member:hover,.side-bottom .member:focus{background:rgba(255,255,255,.12);outline:0}.profile-layer{position:fixed;inset:0;z-index:50;background:rgba(14,35,30,.46);display:grid;place-items:center;padding:20px;direction:rtl}.profile-dialog{width:min(100%,490px);max-height:calc(100vh - 40px);overflow:auto;background:#fffdf8;border-radius:22px;padding:25px;color:#203a36;box-shadow:0 22px 70px rgba(0,0,0,.25)}.profile-dialog h2{font-size:23px;margin:0 0 5px}.profile-dialog>p{font-size:13px;color:#66736f;margin:0 0 20px;line-height:1.8}.profile-summary{background:#eef3eb;border-radius:14px;padding:13px 15px;margin-bottom:18px;display:grid;gap:5px;font-size:13px}.profile-summary b{font-size:16px}.profile-divider{border:0;border-top:1px solid #e5e7df;margin:19px 0}.profile-dialog h3{font-size:16px;margin:0 0 12px}.profile-form{display:grid;gap:12px}.profile-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.profile-form input{width:100%;border:1px solid #d5ddd3;border-radius:11px;padding:12px;background:#fff;font:inherit}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.profile-button{border:0;border-radius:11px;padding:11px 14px;background:#18312d;color:#fff;font:700 14px Vazirmatn,Tahoma,sans-serif}.profile-secondary{background:#edf2ea;color:#29463d}.profile-danger{background:#fff;border:1px solid #bd6a5c;color:#9a4f43}.profile-message{min-height:18px;font-size:12px;color:#9a4f43;line-height:1.6}.profile-message.ok{color:#45684e}.profile-close{float:left;background:none;border:0;color:#66736f;font-size:24px;line-height:1;padding:0 0 6px;cursor:pointer}
