:root{color-scheme:dark}body{margin:0;background:#0b111c;color:#eaf3ff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.portal-shell{min-height:100vh}.portal-top{position:sticky;top:0;z-index:10;background:#101c30;border-bottom:1px solid #294360;padding:16px max(18px,calc((100vw - 1080px)/2));display:flex;gap:16px;align-items:center;justify-content:space-between}.portal-logo{font-size:20px;font-weight:900;text-decoration:none;color:#fff}.portal-logo span{color:#5bb9ff}#identity{color:#9cb8d6;font-size:13px}.portal-main{max-width:1080px;margin:auto;padding:24px 16px 90px}#notice:not(:empty){padding:12px 16px;border:1px solid #468bca;border-radius:12px;margin-bottom:15px;background:#122b43}h1{font-size:clamp(25px,4vw,36px)}h2{font-size:21px;margin:0 0 14px}h3{margin:0 0 8px}.panel{background:#141f2d;border:1px solid #2d4155;border-radius:18px;padding:20px;margin-bottom:18px}.form{display:grid;gap:12px}.form label{display:grid;gap:6px;color:#c2d5eb;font-size:14px}.form input,.form select,.form textarea,.form button,button{font:inherit}.form input,.form select,.form textarea{width:100%;box-sizing:border-box;border:1px solid #41566d;border-radius:10px;padding:12px;background:#0c1725;color:#fff;min-height:45px}button,.action{border:1px solid #46759c;border-radius:10px;padding:11px 15px;background:#1b3d60;color:#fff;cursor:pointer;text-decoration:none;display:inline-block}button.primary{background:#328ff1;border-color:#328ff1;color:#071626;font-weight:800}button:disabled{opacity:.5;cursor:not-allowed}.tabs,.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.tabs button[aria-current="page"]{background:#328ff1;color:#071626}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.tile{padding:16px;background:#101c30;border:1px solid #2d4155;border-radius:14px}.tile p{color:#a9c0d8}.muted{color:#a9c0d8}.small{font-size:13px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.exercise-row{display:grid;grid-template-columns:1fr 85px 95px 100px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid #2d4155}.video{aspect-ratio:16/9;width:100%;border:0;border-radius:12px}.detail{margin-top:10px}.auth{max-width:480px;margin:5vh auto}.error{color:#ffb7b7}.link{color:#7bc7ff}.pill{border-radius:20px;padding:4px 9px;background:#183a59;color:#8dc9ff;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:650px){.portal-top{padding:13px 14px}.portal-logo{font-size:16px}#identity{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-main{padding:16px 12px 85px}.panel{padding:14px}.exercise-row{grid-template-columns:1fr 1fr}.exercise-row>strong{grid-column:1/-1}.split{grid-template-columns:1fr}button{min-height:42px}}

/* RC 0.4.0 - Prime notifications */
#toastStack{position:fixed;right:18px;top:84px;z-index:9999;display:grid;gap:10px;width:min(420px,calc(100vw - 28px));pointer-events:none}.fp-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #327bc0;border-radius:14px;background:#10253d;color:#eef7ff;box-shadow:0 14px 40px #0008;animation:fpSlide .22s ease-out;font-size:14px;line-height:1.4}.fp-toast-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#145da5;color:white;font-weight:900}.fp-toast.fp-error{border-color:#bc6572}.fp-error .fp-toast-icon{background:#9e3346}.fp-toast button{margin-left:auto;border:0;background:transparent;color:#c4d6e7;font-size:23px;padding:2px 6px;min-height:auto}@keyframes fpSlide{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){#toastStack{top:auto;bottom:18px;right:14px}}

.ai-panel{border-color:#3688d9;background:linear-gradient(145deg,#122d4c,#121e31)}.ai-panel textarea{resize:vertical}.ai-panel #aiPrimeStatus{color:#a6c9ec;line-height:1.5;overflow-wrap:anywhere}.ai-panel button:focus-visible{outline:3px solid #8ecfff;outline-offset:2px}

/* FitPrime 0.6.0 - filtros responsivos da biblioteca */
.fp-library-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;margin-top:14px}.fp-library-filters label{min-width:0}.fp-library-filters select{width:100%;min-width:0}.fp-library-filters button{min-height:44px}@media(max-width:760px){.fp-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.fp-library-filters{grid-template-columns:1fr}}

/* TREINOS-PRIME01: reordenação de exercícios e controles responsivos */
.exercise-row{grid-template-columns:minmax(180px,1fr) 85px 95px 100px auto}.fp-row-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.fp-row-actions button{padding:10px;min-height:42px}.fp-row-actions .remove{white-space:nowrap}@media(max-width:760px){.exercise-row{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-row>label:first-child,.fp-row-actions{grid-column:1/-1}.fp-row-actions button{flex:1}}
