.ysp-bookmark-container{margin:30px 0;padding:25px;background:linear-gradient(135deg,#84A9c0 0%,#0A9396 100%);border-radius:12px;text-align:center;box-shadow:0 4px 6px rgb(0 0 0 / .1)}.ysp-bookmark-btn{padding:12px 28px;background:#005f73;color:#CFD2B2;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all 0.3s ease;box-shadow:0 2px 4px rgb(0 0 0 / .2)}.ysp-bookmark-btn:hover{background:#175676;transform:translateY(-2px);box-shadow:0 4px 8px rgb(0 0 0 / .3)}.ysp-bookmark-btn:disabled{opacity:.6;cursor:not-allowed}.ysp-bookmark-btn.bookmarked{background:#0A9396;color:#fff}.ysp-bookmark-container p{margin:10px 0 0 0;color:#005f73;font-size:14px;font-weight:500}.ysp-user-library-dashboard{max-width:1200px;margin:0 auto;padding:20px}.library-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#005f73 0%,#0A9396 100%);padding:25px;border-radius:12px;text-align:center;box-shadow:0 4px 6px rgb(0 0 0 / .1);transition:transform 0.3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px rgb(0 0 0 / .15)}.stat-number{display:block;font-size:2.5em;font-weight:700;color:#CFD2B2;margin-bottom:5px}.stat-label{display:block;font-size:.9em;color:#84A9c0;text-transform:uppercase;letter-spacing:1px}.library-section{margin-bottom:50px}.library-section h2{color:#005f73;font-size:1.8em;margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid #84A9c0}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.group-card{background:#fff;padding:20px;border-radius:10px;border-left:4px solid #0A9396;box-shadow:0 2px 4px rgb(0 0 0 / .1);transition:all 0.3s ease}.group-card:hover{box-shadow:0 4px 8px rgb(0 0 0 / .15);transform:translateX(5px)}.group-card h3{color:#005f73;margin:0 0 10px 0;font-size:1.3em}.group-type{display:inline-block;padding:4px 12px;background:#84A9c0;color:#005f73;border-radius:20px;font-size:.85em;font-weight:600;margin-bottom:10px}.group-card p{color:#666;margin:10px 0 0 0;font-size:.95em}.assignments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.assignment-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px rgb(0 0 0 / .1);border-top:4px solid #005f73;transition:all 0.3s ease}.assignment-card:hover{box-shadow:0 6px 12px rgb(0 0 0 / .15);transform:translateY(-3px)}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.assignment-header h3{color:#005f73;margin:0;font-size:1.2em;flex:1}.assignment-type{padding:4px 10px;border-radius:4px;font-size:.8em;font-weight:700;text-transform:uppercase;margin-left:10px}.assignment-type.required{background:#d63031;color:#fff}.assignment-type.recommended{background:#0A9396;color:#fff}.assignment-type.optional{background:#84A9c0;color:#005f73}.assignment-meta{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;font-size:.9em;color:#666}.group-name,.due-date{display:inline-block}.ysp-assignment-btn{padding:12px 28px;background:#005f73;color:#CFD2B2;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all 0.3s ease;box-shadow:0 2px 4px rgb(0 0 0 / .2)}.ysp-assignment-btn:hover{background:#175676;transform:translateY(-2px);box-shadow:0 4px 8px rgb(0 0 0 / .3);text-decoration:none}.ysp-assignment-btn:disabled{opacity:.6;cursor:not-allowed}.bookmarks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.bookmark-card{background:#fff;padding:20px;border-radius:10px;border-left:4px solid #0A9396;box-shadow:0 2px 4px rgb(0 0 0 / .1);transition:all 0.3s ease}.bookmark-card:hover{box-shadow:0 4px 8px rgb(0 0 0 / .15);transform:translateX(5px)}.bookmark-card h3{color:#005f73;margin:0 0 10px 0;font-size:1.1em}.content-type{display:inline-block;padding:4px 10px;background:#84A9c0;color:#005f73;border-radius:4px;font-size:.8em;font-weight:600;margin-bottom:10px}.btn-secondary{display:inline-block;padding:8px 16px;background:#84A9c0;color:#005f73;text-decoration:none;border-radius:6px;font-weight:600;margin-top:10px;transition:all 0.3s ease}.btn-secondary:hover{background:#0A9396;color:#fff}.library-empty{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#84A9c0 0%,#CFD2B2 100%);border-radius:12px;color:#005f73}.library-empty p{font-size:1.2em;margin:0}.ysp-login-required{text-align:center;padding:40px;background:#84A9c0;border-radius:10px;color:#005f73}.ysp-login-required a{color:#005f73;font-weight:700;text-decoration:underline}@media (max-width:768px){.library-stats{grid-template-columns:repeat(2,1fr)}.groups-grid,.assignments-list,.bookmarks-grid{grid-template-columns:1fr}.assignment-header{flex-direction:column}.assignment-type{margin:10px 0 0 0}.ysp-user-library-dashboard{padding:10px}}@media (max-width:480px){.library-stats{grid-template-columns:1fr}.stat-number{font-size:2em}.library-section h2{font-size:1.4em}}.bookmark-card-actions{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.bookmark-card-actions .btn-secondary{flex:1;min-width:120px;text-align:center}.btn-remove-bookmark{padding:10px 16px;background:#d9534f;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all 0.3s ease;white-space:nowrap}.btn-remove-bookmark:hover{background:#c9302c;transform:translateY(-2px);box-shadow:0 4px 8px rgb(217 83 79 / .3)}.btn-remove-bookmark:active{transform:translateY(0)}.btn-remove-bookmark:disabled{opacity:.6;cursor:not-allowed;transform:none}.bookmark-card{position:relative;transition:opacity 0.3s ease,transform 0.3s ease}.bookmark-card.removing{opacity:.5;transform:scale(.95)}.no-bookmarks-message{padding:40px 20px;text-align:center;color:#666;font-size:1.1rem;background:#f8f9fa;border-radius:8px;margin:20px 0}@media (max-width:768px){.bookmark-card-actions{flex-direction:column}.bookmark-card-actions .btn-secondary,.btn-remove-bookmark{width:100%;min-width:auto}}@media (max-width:480px){.btn-remove-bookmark{padding:8px 12px;font-size:13px}}.content-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;margin-left:8px}.grammar-badge{background:#34697d;color:#fff}.lc-badge{background:#2c5f6f;color:#fff}.assignment-card.grammar_pages{border-left:4px solid #34697d}.grammar-badge{display:inline-block;background:#34697d;color:#fff;padding:2px 8px;border-radius:3px;font-size:12px;margin-left:8px;font-weight:400}.assignment-card:has(.grammar-badge){border-left:4px solid #34697d}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600;margin-left:8px}.status-in-progress{background-color:#0A9396;color:#fff}.status-completed{background-color:#2E7D32;color:#fff}.assignment-card.assignment-status-in_progress{border-left:3px solid #0A9396}.assignment-card.assignment-status-completed{opacity:.85;border-left:3px solid #2E7D32}.assignment-progress{margin:10px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stage-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.stage-badge.stage-not-started{background:#f3f4f6;color:#6b7280}.stage-badge.stage-in-progress{background:#fef3c7;color:#92400e}.stage-badge.stage-complete{background:#d1fae5;color:#065f46}.progress-bar-container{flex:1;min-width:100px;max-width:200px;height:8px;background:#e5e7eb;border-radius:4px;position:relative;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:4px;transition:width 0.3s ease}.progress-text{font-size:.75rem;color:#6b7280;margin-left:8px}.assignment-card.stage-0{border-left:4px solid #e5e7eb}.assignment-card.stage-1{border-left:4px solid #10b981;background:linear-gradient(to right,#f0fdf4,#ffffff)}.section-practiced{background:#f9fafb;border-radius:8px;padding:15px;margin-top:20px}.section-practiced.collapsed .collapsible-content{display:none}.section-practiced.collapsed .collapse-icon{transform:rotate(-90deg)}.collapsible-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}.collapsible-header:hover{color:#1c5f73}.collapse-icon{font-size:.8rem;transition:transform 0.2s ease;color:#9ca3af}.stage-badge.stage-practiced{background:#e0e7ff;color:#3730a3}.assignment-card.practiced{border-left:4px solid #a5b4fc;background:#f5f7ff;opacity:.85}.assignment-card.practiced:hover{opacity:1}.btn-muted{background:#e5e7eb!important;color:#6b7280!important}.btn-muted:hover{background:#d1d5db!important;color:#374151!important}.assignments-completed .assignment-card{border-left:4px solid #10b981;background:linear-gradient(to right,#f0fdf4,#ffffff)}.assignments-completed .assignment-card,.assignments-practiced .assignment-card{padding:12px 16px}.assignments-completed .assignment-header,.assignments-practiced .assignment-header{margin-bottom:8px}.library-section+.library-section{margin-top:30px}.library-section h2{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f1f3f4}.section-session-reviews{border-left:4px solid #8B4789;margin-bottom:30px}.section-session-reviews h2{color:#8B4789}.session-reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.session-review-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;transition:all 0.3s ease;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.session-review-card:hover{box-shadow:0 4px 8px rgb(0 0 0 / .1);transform:translateY(-2px)}.session-review-card h3{margin:0 0 15px 0;font-size:1.1em;color:#333;line-height:1.4}.review-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:15px;font-size:.9em;color:#666}.review-date{display:flex;align-items:center;gap:5px}.review-group{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#f0f0f1;border-radius:12px;font-size:.85em;color:#666}.review-level{background:#8B4789;color:#fff;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.btn-view-review{width:100%;padding:10px 15px;background:#8B4789;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.95em;font-weight:500;transition:background 0.3s ease}.btn-view-review:hover{background:#6d3569}.btn-view-review:disabled{background:#ccc;cursor:not-allowed}.section-session-reviews.collapsed .collapsible-content{display:none}.section-session-reviews.collapsed .collapse-icon{transform:rotate(-90deg)}.session-review-modal .swal2-html-container{max-height:70vh;overflow-y:auto;text-align:left;padding:20px}.session-review-content{font-size:1em;line-height:1.6}.session-review-content h2,.session-review-content h3{margin-top:1.5em;margin-bottom:.8em;color:#8B4789}.session-review-content h2{font-size:1.4em}.session-review-content h3{font-size:1.2em}.session-review-content ul,.session-review-content ol{margin:1em 0;padding-left:2em}.session-review-content p{margin:.8em 0}.session-review-content strong{color:#333}@media (max-width:768px){.session-reviews-grid{grid-template-columns:1fr}.review-meta{flex-direction:column;align-items:flex-start}.session-review-modal .swal2-popup{width:95%!important}}.ysp-scenarios-used-block{margin:20px 0;padding:20px;background:#f8f9fa;border-left:4px solid #2196F3;border-radius:4px}.scenarios-used-intro{margin-bottom:20px}.scenarios-used-intro p{margin:0;color:#333;font-size:1.05em}.scenarios-used-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.scenario-used-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;transition:all 0.3s ease;display:flex;flex-direction:column;gap:12px}.scenario-used-card:hover{box-shadow:0 4px 12px rgb(0 0 0 / .1);transform:translateY(-2px)}.scenario-used-title{margin:0;font-size:1.5em;color:#333;line-height:1.4}.scenario-used-meta{display:flex;flex-wrap:wrap;gap:8px}.scenario-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.scenario-badge.content-type{background:#e3f2fd;color:#1976d2}.scenario-badge.cefr-level{background:#fff3e0;color:#f57c00}.btn-review-scenario{display:inline-block;padding:10px 15px;background:#2196F3;color:#fff;text-decoration:none;border-radius:6px;font-size:.95em;font-weight:500;text-align:center;transition:background 0.3s ease;margin-top:auto}.btn-review-scenario:hover{background:#1976d2;color:#fff;text-decoration:none}.ysp-no-scenarios{color:#666;font-style:italic;margin:10px 0}@media (max-width:600px){.scenarios-used-grid{grid-template-columns:1fr}}:root{--ysp-panel-stats:#eef3f7;--ysp-panel-groups:#e9f2f1;--ysp-panel-pending:#e6f0fa;--ysp-panel-completed:#e7f4ee;--ysp-panel-practiced:#f2f1ed;--ysp-panel-reviews:#edf2f7;--ysp-panel-bookmarks:#f6efe7;--ysp-border:rgba(0,0,0,0.07);--ysp-shadow:0 2px 8px rgba(0,0,0,0.06)}.library-stats{background:var(--ysp-panel-stats)!important;border:1px solid var(--ysp-border);box-shadow:var(--ysp-shadow);border-radius:12px}.library-section{border-left:4px solid rgb(0 0 0 / .06)}.library-section>h2,.library-section>.collapsible-header{margin:0!important;padding:14px 18px!important;border-radius:12px 12px 0 0!important;border:1px solid var(--ysp-border)!important;border-bottom:0!important;background:rgb(0 0 0 / .035)}.library-section h2{border-bottom:0!important;padding-bottom:0!important}.library-section .groups-grid,.library-section .assignments-list,.section-practiced .collapsible-content,.section-session-reviews .session-reviews-grid,.library-section .bookmarks-grid{margin-top:0!important;padding:20px;border-radius:0 0 12px 12px;border:1px solid var(--ysp-border);box-shadow:var(--ysp-shadow)}.library-section .groups-grid{background:var(--ysp-panel-groups)!important}.library-section .assignments-list{background:var(--ysp-panel-pending)!important}.library-section .assignments-list.assignments-completed{background:var(--ysp-panel-completed)!important}.section-practiced .collapsible-content{background:var(--ysp-panel-practiced)!important}.section-session-reviews .session-reviews-grid{background:var(--ysp-panel-reviews)!important}.library-section .bookmarks-grid{background:linear-gradient(135deg,#f7f1e8 0%,#f2eadf 100%)!important;border-color:#e5d8c7!important;box-shadow:0 4px 14px rgb(0 0 0 / .08)!important}.groups-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:10px!important}.group-card{padding:10px 12px!important;border-radius:10px!important;background:rgb(255 255 255 / .88)!important;box-shadow:0 1px 2px rgb(0 0 0 / .06)!important;border:1px solid var(--ysp-border)!important;border-left:3px solid rgb(10 147 150 / .55)!important;transition:none!important}.group-card:hover{transform:none!important;cursor:default!important;box-shadow:0 1px 2px rgb(0 0 0 / .06)!important}.group-card h3{margin:0 0 6px 0!important;font-size:0.95rem!important;line-height:1.2!important}.group-type{font-size:0.75rem!important;padding:3px 8px!important;border-radius:999px!important;background:rgb(10 147 150 / .14)!important;color:#0a5f66!important;font-weight:700!important}.group-card p{margin:6px 0 0 0!important;font-size:0.82rem!important;line-height:1.25!important;color:rgb(0 0 0 / .72)!important}.section-session-reviews{border-left:4px solid rgb(0 95 115 / .35)!important}.section-session-reviews h2{color:#005f73!important}.review-level,.btn-view-review{background:#005f73!important}.btn-view-review:hover{background:#175676!important}.stage-badge.stage-practiced{background:#e3eef2!important;color:#1c5f73!important}.assignment-card.practiced{border-left:4px solid #9fc7cf!important;background:#f0f7f9!important}.ysp-member-toolbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 20px;box-shadow:0 1px 3px rgb(0 0 0 / .1)}.ysp-member-toolbar .toolbar-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.ysp-member-toolbar .toolbar-cefr{display:flex;align-items:center;gap:10px}.ysp-member-toolbar .toolbar-label{font-size:.85rem;font-weight:600;color:#6b7280}.ysp-member-toolbar .cefr-buttons{display:flex;gap:4px}.ysp-member-toolbar .cefr-btn{padding:5px 10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;font-size:.8rem;font-weight:600;color:#374151;cursor:pointer;transition:all 0.2s}.ysp-member-toolbar .cefr-btn:hover{background:#e5e7eb;border-color:#d1d5db}.ysp-member-toolbar .cefr-btn.active{background:#1c5f73;color:#fff;border-color:#1c5f73}.ysp-member-toolbar .toolbar-tools{display:flex;gap:6px;flex-wrap:wrap}.ysp-member-toolbar .toolbar-link{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:#374151;font-size:.85rem;transition:all 0.2s}.ysp-member-toolbar .toolbar-link:hover{background:#1c5f73;color:#fff;border-color:#1c5f73;transform:translateY(-1px)}.ysp-member-toolbar .toolbar-link.active{background:#1c5f73;color:#fff;border-color:#1c5f73}.ysp-member-toolbar .toolbar-icon{font-size:1rem}.ysp-member-toolbar .toolbar-text{font-weight:500}@media (max-width:768px){.ysp-member-toolbar .toolbar-container{flex-direction:column;align-items:stretch}.ysp-member-toolbar .toolbar-tools{justify-content:center}}@media (max-width:480px){.ysp-member-toolbar .toolbar-link{padding:8px 10px}.ysp-member-toolbar .toolbar-text{display:none}.ysp-member-toolbar .toolbar-icon{font-size:1.2rem}}.ysp-member-toolbar .toolbar-link.toolbar-current{background:#d1d5db;color:#6b7280;border-color:#9ca3af;cursor:default;pointer-events:none;opacity:.7}.ysp-member-toolbar .toolbar-link.toolbar-current:hover{transform:none;background:#d1d5db;color:#6b7280}.ysp-member-toolbar .toolbar-link.toolbar-disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;pointer-events:none;opacity:.5}