:root { --mpsy-accent:#e7b200; --mpsy-ink:#2a2722; --mpsy-soft:#fff9e8; }
.mpsy-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; margin:14px 0; }
.mpsy-actions .mpsy-save-wrap { margin:0; }
.mpsy-save-wrap { display:flex; align-items:center; gap:8px; margin:14px 0; }
.mpsy-save-button,.mpsy-share-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 12px; border:1.5px solid var(--mpsy-accent); border-radius:999px; background:#fff; color:#353535; font:inherit; font-size:14px; font-weight:600; line-height:1; cursor:pointer; transition:.18s ease; }
.mpsy-save-button:hover,.mpsy-share-button:hover,.mpsy-share-button:focus,.mpsy-share-button:active { border-color:var(--mpsy-accent) !important; background:var(--mpsy-soft) !important; color:#2f2f2f !important; transform:translateY(-1px); }
.mpsy-save-button:focus-visible,.mpsy-share-button:focus-visible,.mpsy-share-menu a:focus-visible,.mpsy-share-menu button:focus-visible { outline:3px solid rgba(231,178,0,.35); outline-offset:2px; }
.mpsy-save-button.is-saved { border-color:var(--mpsy-accent); background:var(--mpsy-accent); color:#fff; }
.mpsy-save-button.is-saved:hover { border-color:#d6a400; background:#d6a400; color:#fff; }
.mpsy-save-button.is-compact { min-height:34px; padding:6px 11px; font-size:13.5px; }
.mpsy-save-button.is-icon-only { width:34px; min-width:34px; height:34px; min-height:34px; padding:0; border:0; border-radius:50%; background:var(--mpsy-accent); }
.mpsy-save-button.is-icon-only:hover,.mpsy-save-button.is-icon-only:focus,.mpsy-save-button.is-icon-only:active { border:0 !important; background:#d6a400 !important; transform:scale(1.04); }
.mpsy-save-button.is-icon-only .mpsy-bookmark { width:17px; height:17px; fill:#fff; stroke:#fff; }
.mpsy-save-button.is-loading { opacity:.65; cursor:wait; }
.mpsy-bookmark { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:var(--mpsy-accent); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mpsy-save-button.is-saved .mpsy-bookmark { fill:#fff; stroke:#fff; }
.mpsy-save-status { font-size:13px; color:#9b2c2c; }
.mpsy-share-wrap { position:relative; }
.mpsy-share-button { border-color:#ded9cc; }
.mpsy-share-icon svg { display:block; width:17px; height:17px; fill:none; stroke:var(--mpsy-accent); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mpsy-share-menu { position:absolute; z-index:999; left:0; bottom:calc(100% + 8px); min-width:185px; padding:7px; border:1px solid rgba(42,39,34,.13); border-radius:14px; background:#fff; box-shadow:0 12px 34px rgba(33,28,17,.14); }
.mpsy-share-menu[hidden] { display:none; }
.mpsy-share-menu a,.mpsy-share-menu button { display:block; box-sizing:border-box; width:100%; padding:9px 11px; border:0; border-radius:9px; background:transparent; color:#353535; font:inherit; font-size:14px; line-height:1.25; text-align:left; text-decoration:none; cursor:pointer; }
.mpsy-share-menu a:hover,.mpsy-share-menu button:hover { background:var(--mpsy-soft); color:#252525; }
.mpsy-saved-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.mpsy-saved-card { position:relative; overflow:hidden; border:1px solid rgba(42,39,34,.1); border-radius:18px; background:#fff; box-shadow:0 7px 28px rgba(33,28,17,.06); transition:opacity .2s ease,transform .2s ease; }
.mpsy-saved-card.is-removing { opacity:0; transform:scale(.97); }
.mpsy-saved-image { display:block; aspect-ratio:16/10; overflow:hidden; }
.mpsy-saved-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.mpsy-saved-card:hover .mpsy-saved-image img { transform:scale(1.025); }
.mpsy-saved-body { padding:18px; }
.mpsy-saved-card h3 { margin:0; font-size:20px; line-height:1.3; }
.mpsy-saved-card h3 a { color:var(--mpsy-ink); text-decoration:none; }
.mpsy-saved-card > .mpsy-save-wrap { position:absolute; z-index:3; top:10px; right:10px; margin:0; }
.mpsy-saved-empty { padding:46px 22px; border:1px dashed rgba(42,39,34,.2); border-radius:18px; background:var(--mpsy-soft); text-align:center; }
.mpsy-empty-bookmark { display:flex; justify-content:center; margin-bottom:8px; }
.mpsy-empty-bookmark .mpsy-bookmark { width:40px; height:40px; flex-basis:40px; stroke-width:1.4; }
.tutor-dashboard-menu-saved > a::before,.tutor-dashboard-menu-item-saved > a::before { content:""; display:inline-block; flex:0 0 18px; width:18px; height:20px; margin-right:10px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M7 3.75h10A1.25 1.25 0 0 1 18.25 5v15.15L12 16.35l-6.25 3.8V5A1.25 1.25 0 0 1 7 3.75Z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M7 3.75h10A1.25 1.25 0 0 1 18.25 5v15.15L12 16.35l-6.25 3.8V5A1.25 1.25 0 0 1 7 3.75Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.mpsy-tutor-saved { width:100%; }
.mpsy-tutor-saved-heading { display:flex; align-items:center; gap:14px; margin:0 0 26px; padding:20px 22px; border:1px solid rgba(42,39,34,.1); border-radius:16px; background:linear-gradient(135deg,#fffdf7,#fff7df); }
.mpsy-tutor-saved-heading h2 { margin:0 0 4px; color:var(--mpsy-ink); font-size:25px; line-height:1.25; }
.mpsy-tutor-saved-heading p { margin:0; color:#6e685d; }
.mpsy-tutor-heading-bookmark { display:grid; flex:0 0 46px; width:46px; height:46px; place-items:center; border-radius:50%; background:var(--mpsy-accent); color:#fff; }
.mpsy-tutor-heading-bookmark .mpsy-bookmark { width:24px; height:24px; flex-basis:24px; fill:#fff; stroke:#fff; }
.mpsy-saved-count-badge { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; margin-left:auto; padding:0 6px; border-radius:999px; background:var(--mpsy-accent); color:#fff; font-size:12px; font-weight:700; line-height:1; }
.mpsy-dashboard-stat { display:flex; flex-direction:column; justify-content:space-between; box-sizing:border-box; min-width:170px; min-height:126px; padding:20px; border:1px solid rgba(42,39,34,.1); border-radius:12px; background:#fffdf7; color:var(--mpsy-ink); text-decoration:none; }
.mpsy-dashboard-stat:hover { border-color:var(--mpsy-accent); color:var(--mpsy-ink); }
.mpsy-dashboard-stat-head { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#6e685d; font-size:14px; }
.mpsy-dashboard-stat-head .mpsy-bookmark { width:20px; height:20px; fill:var(--mpsy-accent); }
.mpsy-dashboard-stat-number { color:#b58b00; font-size:24px; font-weight:700; line-height:1; }
.mpsy-dashboard-stat-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
@media (max-width:900px) { .mpsy-saved-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .mpsy-dashboard-stat-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .mpsy-saved-grid { grid-template-columns:1fr; gap:16px; } .mpsy-tutor-saved-heading { padding:16px; } .mpsy-share-menu { left:auto; right:0; } .mpsy-dashboard-stat-row { grid-template-columns:1fr; } }
