:root{
      --bg:#FAF7F2; --surface:#FFFFFF; --ink:#2B2622; --muted:#7A716A;
      --line:#E7DFD5; --accent:#6B5B3E; --accent-soft:#F0E9DD;
      --danger:#9B3D3D; --ok:#3E6B4F; --gold:#B08A3E; --radius:16px;
      --shadow:0 8px 30px rgba(43,38,34,.08);
    }
    @media (prefers-color-scheme: dark){
      :root{
        --bg:#171311; --surface:#221C18; --ink:#EFE7DC; --muted:#A99C8E;
        --line:#3A312A; --accent:#C9B27E; --accent-soft:#2C241D; --gold:#D8B765;
        --shadow:0 8px 30px rgba(0,0,0,.35);
      }
    }
    *{box-sizing:border-box;}
    html,body{margin:0;padding:0;}
    body{font-family:'Segoe UI', system-ui, -apple-system, 'Noto Naskh Arabic', 'Tahoma', sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;line-height:1.7;}
    button{font-family:inherit;cursor:pointer;}
    .hidden{display:none !important;}

    .auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
    .card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 26px;}
    .brand{text-align:center;}
    .brand h1{margin:0;font-size:34px;letter-spacing:1px;color:var(--accent);font-weight:700;}
    .brand p{margin:4px 0 0;color:var(--muted);font-size:14px;}
    .divider{height:1px;background:var(--line);margin:22px 0;}
    label{display:block;font-size:13px;color:var(--muted);margin:0 2px 6px;}
    input,select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font-size:15px;font-family:inherit;margin-bottom:14px;}
    input:focus,select:focus{outline:none;border-color:var(--accent);}
    .btn{width:100%;padding:13px 14px;border:none;border-radius:12px;font-size:15px;font-weight:600;}
    .btn-primary{background:var(--accent);color:#fff;}
    .btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--line);margin-top:10px;width:100%;padding:13px;border-radius:12px;font-weight:600;}
    .btn-google{background:var(--surface);color:var(--ink);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;}
    .btn-google svg{width:18px;height:18px;}
    .or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:18px 0;}
    .or::before,.or::after{content:"";flex:1;height:1px;background:var(--line);}
    .msg{margin-top:14px;padding:11px 13px;border-radius:10px;font-size:14px;text-align:center;display:none;}
    .msg.show{display:block;}
    .msg.err{background:var(--accent-soft);color:var(--danger);}
    .msg.ok{background:var(--accent-soft);color:var(--ok);}

    .topbar{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 16px;}
    .topbar h1{margin:0;font-size:22px;color:var(--accent);font-weight:700;letter-spacing:.5px;}
    .top-actions{display:flex;align-items:center;gap:14px;}
    .icon-btn{background:transparent;border:none;color:var(--muted);font-size:18px;}
    .logout{background:transparent;border:none;color:var(--muted);font-size:13px;}
    .tabs{display:flex;gap:6px;padding:12px 16px 0;max-width:560px;margin:0 auto;}
    .tab{flex:1;padding:11px 6px;text-align:center;font-size:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-weight:600;font-size:14px;}
    .tab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
    .container{max-width:560px;margin:0 auto;padding:16px;}

    .budget-bar{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;}
    .budget-bar .b-main{font-weight:700;font-size:15px;}
    .budget-bar .b-sub{font-size:12px;color:var(--muted);margin-top:2px;}
    .budget-bar a{font-size:13px;color:var(--accent);}
    .meter{height:7px;background:var(--accent-soft);border-radius:10px;overflow:hidden;margin-top:8px;}
    .meter > i{display:block;height:100%;background:var(--accent);}

    .section-title{font-size:15px;color:var(--muted);margin:18px 2px 10px;font-weight:600;}
    .empty{text-align:center;color:var(--muted);font-size:14px;padding:24px 10px;}

    .item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px;}
    .item.optional{opacity:.72;border-style:dashed;}
    .item.done-item{background:var(--accent-soft);}
    .item.done-item .title{color:var(--muted);}
    .act.done-toggle{background:var(--ok);}
    .item .row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
    .item .title{font-weight:600;font-size:15px;}
    .item .sub{color:var(--muted);font-size:13px;margin-top:2px;}
    .badge{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--accent-soft);color:var(--accent);white-space:nowrap;}
    .cost{font-size:12px;color:var(--muted);}
    .acts{display:flex;gap:6px;align-items:center;}
    .act{border:none;border-radius:10px;padding:9px 14px;font-weight:600;font-size:13px;background:var(--accent);color:#fff;white-space:nowrap;}
    .act.review{background:var(--ok);}
    .act.ghost{background:transparent;color:var(--gold);border:1px solid var(--line);}
    .progress{height:7px;background:var(--accent-soft);border-radius:10px;overflow:hidden;margin-top:10px;}
    .progress > i{display:block;height:100%;background:var(--accent);}
    .mini{font-size:12px;color:var(--muted);margin-top:6px;}

    .units{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
    .unit{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line);}
    .unit:last-child{border-bottom:none;}
    .unit .u-title{font-size:14px;}
    .unit.done .u-title{color:var(--muted);text-decoration:line-through;}
    .u-act{border:1px solid var(--line);background:var(--bg);color:var(--accent);border-radius:9px;padding:6px 11px;font-size:12px;font-weight:600;}
    .u-act[disabled]{opacity:.35;}
    .u-done-tag{font-size:12px;color:var(--ok);}
    .u-master-tag{font-size:12px;color:var(--gold);font-weight:600;}
    .u-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
    .u-links a{font-size:11px;color:var(--muted);margin-inline-start:8px;}

    .fab{position:fixed;left:20px;bottom:22px;background:var(--accent);color:#fff;border:none;border-radius:14px;padding:14px 18px;font-size:15px;font-weight:700;box-shadow:var(--shadow);}

    .overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;z-index:50;}
    .sheet{background:var(--surface);width:100%;max-width:560px;border-radius:20px 20px 0 0;padding:22px 20px 28px;max-height:90vh;overflow:auto;}
    .sheet h3{margin:0 0 16px;font-size:18px;}
    .three{display:flex;gap:8px;}
    .three input{margin-bottom:0;}
    .toggle-row{display:flex;align-items:center;justify-content:space-between;margin:14px 0;}
    .toggle-row span{font-size:14px;}
    .prio-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--bg);}
    .prio-row .p-name{font-size:14px;font-weight:600;}
    .prio-row .p-btns{display:flex;gap:6px;}

    .days-picker{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
    .day-chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:10px;padding:7px 0;font-size:12px;font-weight:600;flex:1;min-width:38px;text-align:center;cursor:pointer;}
    .day-chip.on{background:var(--accent);color:#fff;border-color:var(--accent);}
    .day-block{margin-bottom:14px;}
    .day-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px;}
    .day-head .d-name{font-weight:700;font-size:15px;}
    .day-head .d-time{font-size:12px;color:var(--muted);}
    .day-head.rest .d-name{color:var(--muted);}
    .sched-line{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
    .sched-line .s-t{font-size:14px;}
    .sched-line .s-c{font-size:12px;color:var(--muted);}
    .sched-line.rev{border-inline-start:3px solid var(--ok);}
    .finish-card{background:var(--accent-soft);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13px;display:flex;justify-content:space-between;gap:10px;}

    .level-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
    .lvl-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;}
    .lvl-chip.on{background:var(--accent);color:#fff;border-color:var(--accent);}
    .se-row{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--bg);}
    .se-row.off{opacity:.45;}
    .se-row .se-main{flex:1;}
    .se-row .se-title{font-size:14px;font-weight:600;}
    .se-row .se-meta{font-size:11px;color:var(--muted);margin-top:2px;}
    .se-row input[type=number]{width:58px;margin:0;padding:7px;text-align:center;}
    .se-row .se-cnt{font-size:11px;color:var(--accent);min-width:54px;text-align:center;}
    .se-row input[type=checkbox]{width:auto;margin:0;}
    .net-banner{background:#F6E7E7;color:#9B3D3D;border:1px solid #E9CFCF;border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:10px;text-align:center;}
    @media (prefers-color-scheme: dark){ .net-banner{background:#3A2422;color:#E7A9A9;border-color:#573331;} }
    .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:13px;z-index:80;opacity:0;transition:opacity .2s;pointer-events:none;max-width:88%;text-align:center;}
    .toast.show{opacity:.95;}
    .session-start{margin-bottom:12px;padding:15px;font-size:15px;box-shadow:0 6px 18px rgba(107,91,62,.25);}
    .session-overlay{position:fixed;inset:0;background:var(--bg);z-index:90;display:flex;flex-direction:column;}
    .session-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;}
    .ss-progress{font-size:14px;font-weight:700;color:var(--muted);}
    .ss-elapsed{font-size:14px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;}
    .session-bar{height:4px;background:var(--accent-soft);}
    .session-bar>i{display:block;height:100%;background:var(--accent);transition:width .3s;}
    .session-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:10px;}
    .ss-cat{font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:5px 14px;border-radius:20px;}
    .ss-title{font-size:26px;font-weight:800;line-height:1.4;max-width:520px;}
    .ss-sub{font-size:15px;color:var(--muted);}
    .ss-cost{font-size:13px;color:var(--muted);margin-top:4px;}
    .session-actions{padding:18px 20px calc(24px + env(safe-area-inset-bottom));max-width:520px;width:100%;margin:0 auto;}
    .session-done{text-align:center;padding:24px;}
    .session-done .sd-ic{font-size:44px;}
    .session-done .sd-t{font-size:20px;font-weight:800;margin-top:8px;}
    .session-done .sd-s{font-size:14px;color:var(--muted);margin-top:4px;}
    /* ===== واجهة محسّنة (نسخة 9) ===== */
    .topbar{padding:14px 16px;}
    .brand-top{display:flex;flex-direction:column;align-items:center;gap:2px;}
    .logo-box{width:92px;height:84px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:none;}
    #brandLogo{width:100px;height:100px;object-fit:contain;transform:scale(1.5);transform-origin:center;}
    .brand-fallback{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:20px;align-items:center;justify-content:center;}
    .brand-text{display:flex;flex-direction:column;line-height:1.15;}
    .brand-name{font-size:20px;font-weight:800;color:var(--accent);letter-spacing:.5px;}
    .brand-sub{font-size:12px;color:var(--muted);max-width:240px;line-height:1.35;text-align:center;}
    .icon-btn{font-size:20px;display:flex;align-items:center;justify-content:center;}
    .icon-btn svg{display:block;}
    .container{padding:16px 16px 96px;}
    .item{border-radius:18px;box-shadow:0 2px 10px rgba(43,38,34,.04);}
    .budget-bar{border-radius:18px;box-shadow:0 2px 10px rgba(43,38,34,.04);}
    .section-title{display:flex;align-items:center;gap:6px;}
    .section-title::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--accent-soft);display:inline-block;}

    /* بطاقات ملخّص اليوم */
    .summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 8px;}
    .sum-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 6px;text-align:center;box-shadow:0 2px 10px rgba(43,38,34,.04);}
    .sum-ic{font-size:18px;}
    .sum-num{font-size:22px;font-weight:800;margin-top:2px;}
    .sum-lb{font-size:11px;color:var(--muted);}
    .sum-of{font-size:10px;color:var(--muted);margin-top:2px;}
    .sum-card.lessons .sum-num{color:var(--ok);}
    .sum-card.review  .sum-num{color:var(--gold);}
    .sum-card.teaching .sum-num{color:var(--accent);}
    .sum-card.exam .sum-num{color:var(--ok);}
    .sum-bar{height:5px;background:var(--accent-soft);border-radius:8px;overflow:hidden;margin-top:7px;}
    .sum-bar>i{display:block;height:100%;background:var(--accent);}

    /* حلقة نسبة الإنجاز */
    .ring-card{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:10px;box-shadow:0 2px 10px rgba(43,38,34,.04);}
    .ring-wrap{position:relative;width:96px;height:96px;flex:none;}
    .ring-wrap svg{transform:rotate(-90deg);}
    .ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
    .ring-pct{font-size:22px;font-weight:800;}
    .ring-lb{font-size:11px;color:var(--muted);}
    .ring-side{flex:1;}
    .ring-side .rs-title{font-weight:700;margin-bottom:6px;}
    .ring-side .rs-line{font-size:13px;color:var(--muted);}

    /* الشريط السفلي */
    .bottomnav{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;padding:8px 6px env(safe-area-inset-bottom);z-index:40;box-shadow:0 -4px 20px rgba(43,38,34,.06);}
    .nav-item{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);flex:1;padding:4px 0;}
    .nav-item .nav-ic{font-size:18px;}
    .nav-item .nav-lb{font-size:11px;font-weight:600;}
    .nav-item.active{color:var(--accent);}
    .nav-add{background:var(--accent);color:#fff;border:none;width:52px;height:52px;border-radius:50%;font-size:28px;font-weight:300;box-shadow:0 6px 16px rgba(107,91,62,.35);margin-top:-22px;flex:none;}

    @media(min-width:600px){.overlay{align-items:center;}.sheet{border-radius:20px;}}
