:root{--color-bg: #f5f4fb;--color-bg-2: #ffffff;--color-bg-card: #ffffff;--color-bg-card-hover: #efedfa;--color-border: rgba(100, 90, 160, .12);--color-border-active: rgba(124, 111, 205, .5);--color-primary: #7c6fcd;--color-primary-dim: rgba(124, 111, 205, .1);--color-primary-glow: rgba(124, 111, 205, .25);--color-text: #2d2b55;--color-text-muted: #7b78a8;--color-text-subtle: #c4c2de;--color-error: #e05c7a;--color-error-dim: rgba(224, 92, 122, .1);--font-display: "Outfit", sans-serif;--font-body: "DM Sans", sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--sidebar-width: 240px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:99px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.sidebar{width:var(--sidebar-width);height:100vh;background:#2d2b55;border-right:none;display:flex;flex-direction:column;padding:0;position:fixed;left:0;top:0;z-index:100;animation:slideIn .3s ease;box-shadow:4px 0 24px #2d2b5526}.sidebar__logo{padding:28px 24px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar__logo-text{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.5px;color:#fff;line-height:1.3;padding-bottom:4px}.sidebar__logo-text span{color:#b8aff0}.sidebar__nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar__nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:#fff9;transition:all .15s ease;cursor:pointer;text-decoration:none}.sidebar__nav-item:hover{color:#ffffffe6;background:#ffffff14}.sidebar__nav-item.active{color:#fff;background:#b8aff033;border-left:3px solid #b8aff0;padding-left:9px}.sidebar__nav-item svg{flex-shrink:0;opacity:.7}.sidebar__nav-item.active svg{opacity:1}.sidebar__footer{padding:16px 12px;border-top:1px solid rgba(255,255,255,.08)}.sidebar__user{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.sidebar__user:hover,.sidebar__user:focus-visible{background:#ffffff0f;outline:none}.sidebar__avatar{width:32px;height:32px;border-radius:50%;background:#b8aff040;border:1px solid rgba(184,175,240,.4);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;font-weight:700;color:#b8aff0;flex-shrink:0}.sidebar__user-info{flex:1;min-width:0}.sidebar__username{font-size:13px;font-weight:500;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__role{font-size:11px;color:#fff6}.sidebar__logout{padding:6px;border-radius:var(--radius-sm);color:#fff6;transition:all .15s ease}.sidebar__logout:hover{color:#f9a8c4;background:#f9a8c426}.sidebar__sub{margin-top:4px;padding-left:12px;border-left:1px solid rgba(255,255,255,.1);margin-left:20px;display:flex;flex-direction:column;gap:2px}.sidebar__sub-title{font-size:11px;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:.8px;padding:6px 8px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__sub-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:#ffffff80;transition:all .15s ease;cursor:pointer;text-decoration:none}.sidebar__sub-item:hover{color:#ffffffd9;background:#ffffff0f}.sidebar__sub-item.active{color:#b8aff0;background:#b8aff026}.app-layout{display:flex;height:100vh;overflow:hidden}.app-layout__main{flex:1;margin-left:var(--sidebar-width);overflow-y:auto;height:100vh}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(124,111,205,.12) 0%,transparent 70%);top:-150px;right:-150px;pointer-events:none}.login-page:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(184,175,240,.1) 0%,transparent 70%);bottom:-100px;left:-100px;pointer-events:none}.login-scene{width:100%;max-width:400px;position:relative;z-index:1;perspective:1000px}.login-scene.is-flipping .login-card{animation:cardFlip .6s ease forwards}@keyframes cardFlip{0%{transform:rotateY(0);opacity:1}50%{transform:rotateY(90deg);opacity:0}51%{transform:rotateY(-90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.login-card{background:var(--color-bg-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px;animation:fadeIn .4s ease;box-shadow:0 8px 40px #2d2b551a}.login-card__brand{text-align:center;margin-bottom:32px}.login-card__logo{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.5px;color:var(--color-text);margin-bottom:6px;line-height:1.3}.login-card__logo span{color:var(--color-primary)}.login-card__tagline{font-size:13px;color:var(--color-text-muted)}.login-form__title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-text);margin-bottom:20px;letter-spacing:-.3px}.login-form .form-label{margin-bottom:6px;display:block}.login-error{padding:10px 14px;background:var(--color-error-dim);border:1px solid rgba(224,92,122,.2);border-radius:var(--radius-sm);font-size:13px;color:var(--color-error);animation:fadeIn .2s ease}.login-submit{width:100%;padding:12px;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.2px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;border:none;cursor:pointer}.login-submit:hover:not(:disabled){background:#6a5dc0;box-shadow:0 4px 20px var(--color-primary-glow)}.login-switch{text-align:center;margin-top:20px;font-size:13px;color:var(--color-text-muted)}.login-switch__btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:13px;font-weight:600;font-family:var(--font-body);padding:0;text-decoration:underline;transition:opacity .15s}.login-switch__btn:hover{opacity:.75}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.login-success{padding:14px 16px;background:#4a7c5914;border:1px solid rgba(74,124,89,.2);border-radius:var(--radius-sm);font-size:14px;color:#4a7c59;line-height:1.6;margin-bottom:8px}.login-forgot-btn{display:block;margin-top:8px;background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:13px;font-weight:600;font-family:var(--font-body);padding:0;text-decoration:underline;transition:opacity .15s}.login-forgot-btn:hover{opacity:.75}.login-reset-hint{font-size:13px;color:var(--color-text-muted);line-height:1.6}.login-reset-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 0}.login-reset-success__icon{width:48px;height:48px;border-radius:50%;background:#4a7c591f;color:#4a7c59;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.login-reset-success__text{font-size:14px;color:var(--color-text-muted);line-height:1.6}.dashboard-page{padding:36px 40px 48px;animation:fadeIn .3s ease}.dashboard-page__header{margin-bottom:28px}.dashboard-page__greeting{font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-1px;color:var(--color-text);margin-bottom:8px}.dashboard-page__greeting span{color:var(--color-primary)}.dashboard-page__sub{max-width:720px;font-size:15px;line-height:1.6;color:var(--color-text-muted)}.dashboard-page__error{margin-bottom:20px;padding:14px 16px;border-radius:16px;border:1px solid rgba(210,74,106,.18);background:#d24a6a14;color:#a73b59;font-size:14px}.dashboard-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-bottom:20px}.dashboard-hero__copy,.dashboard-panel,.dashboard-stat{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:24px;box-shadow:0 14px 40px #18162c0f}.dashboard-hero__copy{padding:28px}.dashboard-hero__eyebrow,.dashboard-panel__eyebrow{display:inline-flex;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.dashboard-hero__copy h2{margin:0 0 10px;font-family:var(--font-display);font-size:28px;line-height:1.15;color:var(--color-text)}.dashboard-hero__copy p{margin:0;max-width:620px;font-size:15px;line-height:1.7;color:var(--color-text-muted)}.dashboard-hero__actions{display:grid;gap:14px}.dashboard-quick-action{display:flex;flex-direction:column;justify-content:center;padding:20px 22px;border-radius:22px;border:1px solid var(--color-border);background:linear-gradient(180deg,#fffffffa,#f7f6fff2);color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-quick-action:hover{transform:translateY(-2px);border-color:#7d4dff33;box-shadow:0 10px 24px #7d4dff14}.dashboard-quick-action strong{margin-bottom:6px;font-size:16px;color:var(--color-text)}.dashboard-quick-action span{font-size:13px;line-height:1.6;color:var(--color-text-muted)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.dashboard-stat{padding:20px 22px}.dashboard-stat__label{display:block;margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle)}.dashboard-stat__value{display:block;margin-bottom:6px;font-size:30px;font-weight:800;line-height:1;color:var(--color-text)}.dashboard-stat__helper{font-size:13px;line-height:1.5;color:var(--color-text-muted)}.dashboard-stat--primary{background:linear-gradient(180deg,#7d4dff1f,#fffffffa)}.dashboard-stat--warning{background:linear-gradient(180deg,#ffb64824,#fffffffa)}.dashboard-stat--success{background:linear-gradient(180deg,#39c47a1f,#fffffffa)}.dashboard-stat--accent{background:linear-gradient(180deg,#4ca5ff1f,#fffffffa)}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.dashboard-panel{padding:24px}.dashboard-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.dashboard-panel__header h3{margin:0;font-family:var(--font-display);font-size:22px;color:var(--color-text)}.dashboard-panel__link{font-size:14px;font-weight:600;color:var(--color-primary);text-decoration:none}.dashboard-panel__empty{padding:20px;border-radius:18px;background:#f7f6ffcc;color:var(--color-text-muted);font-size:14px;line-height:1.6}.dashboard-panel__empty--compact{padding:14px 16px}.dashboard-project-list{display:grid;gap:14px}.dashboard-project-card{display:block;padding:18px 18px 16px;border-radius:20px;border:1px solid var(--color-border);background:linear-gradient(180deg,#fffffffa,#f7f6fff5);color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-project-card:hover{transform:translateY(-2px);border-color:#7d4dff2e;box-shadow:0 10px 24px #7d4dff14}.dashboard-project-card__top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-project-card__top strong{font-size:17px;color:var(--color-text)}.dashboard-project-card__top span{font-size:12px;color:var(--color-text-subtle);white-space:nowrap}.dashboard-project-card p{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--color-text-muted)}.dashboard-project-card__meta{display:flex;flex-wrap:wrap;gap:8px}.dashboard-project-card__meta span{padding:6px 10px;border-radius:999px;background:#7d4dff14;color:var(--color-primary);font-size:12px;font-weight:700}.dashboard-checklist{display:grid;gap:12px;margin-bottom:20px}.dashboard-checklist__item{padding:16px 18px;border-radius:18px;border:1px solid var(--color-border);background:#fff}.dashboard-checklist__item strong{display:block;margin-bottom:6px;font-size:15px;color:var(--color-text)}.dashboard-checklist__item span{font-size:13px;line-height:1.6;color:var(--color-text-muted)}.dashboard-checklist__item.is-pending{border-color:#ffb6483d;background:#ffb64814}.dashboard-checklist__item.is-done{border-color:#39c47a2e;background:#39c47a0f}.dashboard-run-summary{display:grid;gap:10px}.dashboard-run-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:18px;background:#f7f6ffe6;border:1px solid var(--color-border);text-decoration:none;color:inherit}.dashboard-run-card strong{display:block;margin-bottom:4px;font-size:15px;color:var(--color-text)}.dashboard-run-card span{font-size:12px;color:var(--color-text-muted)}.dashboard-run-card__status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.dashboard-run-card__status.status-completed{background:#39c47a1f;color:#218251}.dashboard-run-card__status.status-running,.dashboard-run-card__status.status-configured{background:#4ca5ff1f;color:#226da7}.dashboard-run-card__status.status-failed{background:#d24a6a1f;color:#a73b59}@media (max-width: 1200px){.dashboard-hero,.dashboard-grid,.dashboard-stats{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-page{padding:24px 18px 36px}.dashboard-page__greeting{font-size:26px}.dashboard-hero__copy,.dashboard-panel,.dashboard-stat{padding:20px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease;padding:20px}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:520px;animation:scaleIn .2s ease;overflow:hidden}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 20px;border-bottom:1px solid var(--color-border)}.modal__title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.3px}.modal__close{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:all .15s ease}.modal__close:hover{background:#ffffff0f;color:var(--color-text)}.modal__body{padding:24px 28px;display:flex;flex-direction:column;gap:18px}.modal__footer{padding:0 28px 24px;display:flex;gap:10px;justify-content:flex-end}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted)}.form-input{width:100%;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:14px;transition:border-color .15s ease;outline:none}.form-input:focus{border-color:var(--color-border-active)}.form-input::placeholder{color:var(--color-text-subtle)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b80' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-hint{font-size:11px;color:var(--color-text-subtle)}.form-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.form-tag{display:flex;align-items:center;gap:4px;padding:3px 10px 3px 12px;background:var(--color-primary-dim);border:1px solid rgba(99,220,140,.2);border-radius:99px;font-size:12px;color:var(--color-primary)}.form-tag__remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;color:var(--color-primary);opacity:.6;transition:opacity .1s}.form-tag__remove:hover{opacity:1}.form-tag-input-row{display:flex;gap:8px}.form-tag-input-row .form-input{flex:1}.btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:all .15s ease;display:flex;align-items:center;gap:6px}.btn-primary{background:var(--color-primary);color:#0a0a0f;font-weight:700}.btn-primary:hover{background:#7de8a0;box-shadow:0 0 20px var(--color-primary-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover{color:var(--color-text);background:#ffffff0a}.spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.3);border-top-color:#0a0a0f;border-radius:50%;animation:spin .6s linear infinite}.projects-page{padding:48px;min-height:100%;position:relative;animation:fadeIn .3s ease}.projects-page__header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;padding-bottom:8px}.projects-page__title{font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-1px;padding-bottom:6px}.projects-page__count{font-size:14px;color:var(--color-text-muted);margin-top:4px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;transition:all .2s ease;animation:fadeIn .3s ease;cursor:pointer}.project-card:hover{border-color:#ffffff1f;background:var(--color-bg-card-hover);transform:translateY(-1px)}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:12px}.project-card__name{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.3px;line-height:1.3}.project-card__badge{padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--color-primary-dim);color:var(--color-primary);border:1px solid rgba(99,220,140,.2);white-space:nowrap;flex-shrink:0}.project-card__desc{font-size:13px;color:var(--color-text-muted);line-height:1.5;margin-bottom:16px;min-height:20px}.project-card__meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--color-text-subtle)}.project-card__labels{display:flex;gap:4px;flex-wrap:wrap}.project-card__label-pill{padding:2px 7px;background:#ffffff0d;border-radius:99px;font-size:11px;color:var(--color-text-muted)}.project-card__date{font-size:11px;color:var(--color-text-subtle)}.projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;text-align:center}.projects-empty__icon{width:72px;height:72px;border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--color-text-subtle)}.projects-empty__title{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:8px}.projects-empty__text{font-size:14px;color:var(--color-text-muted);max-width:260px;line-height:1.6}.fab{position:fixed;bottom:32px;right:32px;width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#0a0a0f;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px var(--color-primary-glow),0 2px 8px #0006;transition:all .2s ease;z-index:50;border:none;cursor:pointer}.fab:hover{transform:scale(1.08);box-shadow:0 6px 28px var(--color-primary-glow),0 3px 12px #0006}.fab:active{transform:scale(.96)}.fab svg{transition:transform .2s ease}.fab:hover svg{transform:rotate(90deg)}.project-card__actions{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.project-card__action-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;border:1px solid var(--color-border);background:transparent;transition:all .15s ease}.project-card__action-btn--edit{color:var(--color-text-muted)}.project-card__action-btn--edit:hover{color:var(--color-primary);border-color:var(--color-border-active);background:var(--color-primary-dim)}.project-card__action-btn--delete{color:var(--color-text-muted);margin-left:auto}.project-card__action-btn--delete:hover:not(:disabled){color:var(--color-error);border-color:#ff5c5c66;background:var(--color-error-dim)}.project-card__action-btn--delete:disabled{opacity:.5;cursor:not-allowed}.projects-error{margin-bottom:20px;padding:10px 14px;background:var(--color-error-dim);border:1px solid rgba(255,92,92,.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:13px;cursor:pointer}.modal-overlay-confirm{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease}.confirm-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:400px;animation:scaleIn .2s ease}.confirm-modal__title{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:12px}.confirm-modal__text{font-size:14px;color:var(--color-text-muted);line-height:1.6;margin-bottom:24px}.confirm-modal__actions{display:flex;gap:10px;justify-content:flex-end}.btn-danger{padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:var(--font-body);background:var(--color-error);color:#fff;transition:all .15s ease;display:flex;align-items:center;gap:6px}.btn-danger:hover:not(:disabled){background:#ff7070;box-shadow:0 0 20px #ff5c5c4d}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.projects-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.skeleton-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.skeleton-line{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--color-border) 25%,rgba(255,255,255,.04) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.image-viewer{display:flex;flex-direction:column;width:100%;min-height:560px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#1a1826}.image-viewer__empty{width:100%;height:100%;display:grid;place-items:center;color:var(--color-text-muted);font-size:13px;background:#1a1826;border-radius:var(--radius-md);border:1px dashed var(--color-text-subtle);padding:20px;text-align:center}.image-viewer__toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#1a1826;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.image-viewer__btn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);border:none;background:transparent;color:#fff9;cursor:pointer;font-size:13px;font-family:var(--font-body);transition:all .15s ease}.image-viewer__btn:hover{background:#ffffff14;color:#ffffffe6}.image-viewer__btn.is-active{color:var(--color-primary);background:var(--color-primary-dim)}.image-viewer__divider{width:1px;height:20px;background:#ffffff1a;margin:0 4px}.image-viewer__scale{margin-left:auto;font-size:12px;color:#fff6;font-family:var(--font-body);min-width:40px;text-align:right}.image-viewer__canvas{width:100%;height:500px;overflow:hidden;cursor:grab;display:flex;align-items:center;justify-content:center;background:#1a1826}.image-viewer__canvas.is-dragging{cursor:grabbing}.image-viewer__canvas.is-draw-mode{cursor:crosshair}.image-viewer__content{transform-origin:center center;transition:transform .05s ease;will-change:transform}.image-viewer__image-wrap{position:relative;display:inline-block;line-height:0}.image-viewer__image{display:block;max-width:100%;max-height:480px;border-radius:4px;-webkit-user-select:none;user-select:none}.image-viewer__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.image-viewer__box{position:absolute;border:2px solid var(--color-primary);background:#7c6fcd1f;pointer-events:auto;cursor:pointer}.image-viewer__box.is-selected{border-color:#22c55e;background:#22c55e24;box-shadow:0 0 0 1px #22c55e73}.image-viewer__box--draft{border-style:dashed;border-color:#f59e0b;background:#f59e0b29}.image-viewer__tag{position:absolute;top:-1px;left:-1px;transform:translateY(-100%);padding:3px 7px;border-radius:6px 6px 6px 0;background:var(--color-primary);color:#fff;font-size:10px;font-weight:700;white-space:nowrap;font-family:var(--font-body)}.project-workspace{padding:36px 40px 40px;display:flex;flex-direction:column;gap:24px;animation:fadeIn .3s ease}.project-workspace--loading{padding:48px;font-size:16px;color:var(--color-text-muted)}.project-workspace__header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.project-workspace__header h1{font-family:var(--font-display);font-size:32px;font-weight:800;line-height:1.2;margin:10px 0 8px;color:var(--color-text);letter-spacing:-.5px}.project-workspace__header p{color:var(--color-text-muted);max-width:700px;line-height:1.6;font-size:14px}.project-workspace__back{color:var(--color-primary);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.8;transition:opacity .15s}.project-workspace__back:hover{opacity:1}.project-workspace__stats{display:flex;gap:14px;flex-shrink:0}.project-workspace__stat{min-width:120px;padding:16px 20px;border-radius:var(--radius-md);background:var(--color-bg-2);border:1px solid var(--color-border);box-shadow:0 2px 12px #2d2b550f}.project-workspace__stat span{display:block;font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--color-primary)}.project-workspace__stat small{color:var(--color-text-muted);font-size:12px}.project-workspace__banner{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;border:1px solid transparent}.project-workspace__banner.is-error{color:var(--color-error);background:var(--color-error-dim);border-color:#e05c7a33}.project-workspace__banner.is-success{color:#4a7c59;background:#4a7c5914;border-color:#4a7c5933}.workspace-panel{display:flex;flex-direction:column;gap:20px;padding:24px;border-radius:var(--radius-lg);background:var(--color-bg-2);border:1px solid var(--color-border);box-shadow:0 2px 16px #2d2b550f}.workspace-panel__intro h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:6px;color:var(--color-text);letter-spacing:-.3px}.workspace-panel__intro p{color:var(--color-text-muted);line-height:1.6;font-size:14px}.workspace-actions{display:flex;gap:10px}.workspace-actions--stack{flex-direction:column}.workspace-primary-btn,.workspace-secondary-btn{padding:11px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease;font-family:var(--font-body);border:none}.workspace-primary-btn{background:var(--color-primary);color:#fff}.workspace-primary-btn:hover:not(:disabled){background:#6a5dc0;box-shadow:0 4px 16px var(--color-primary-glow)}.workspace-secondary-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.workspace-secondary-btn:hover:not(:disabled){border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.workspace-primary-btn:disabled,.workspace-secondary-btn:disabled{opacity:.5;cursor:not-allowed}.workspace-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.workspace-split--wide{grid-template-columns:1.2fr .8fr}.workspace-queues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-card{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border)}.workspace-card h3{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--color-text)}.workspace-card__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workspace-card__hint{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.workspace-card--canvas{min-height:480px;align-items:flex-start}.workspace-empty-card,.workspace-preview__empty{min-height:160px;border-radius:var(--radius-md);border:1px dashed var(--color-text-subtle);display:grid;place-items:center;color:var(--color-text-muted);text-align:center;padding:20px;font-size:13px}.workspace-meta{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:13px}.workspace-preview{position:relative;display:inline-block;max-width:100%;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg)}.workspace-preview__image{display:block;max-width:100%;height:auto}.workspace-preview__overlay{position:absolute;top:0;right:0;bottom:0;left:0}.workspace-preview__box{position:absolute;border:2px solid var(--color-primary);background:#7c6fcd1a}.workspace-preview__tag{position:absolute;top:-1px;left:-1px;transform:translateY(-100%);padding:4px 8px;border-radius:8px 8px 8px 0;background:var(--color-primary);color:#fff;font-size:11px;font-weight:700;white-space:nowrap}.workspace-queues .workspace-card{height:400px}.workspace-queues .workspace-dataset-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.workspace-dataset-list::-webkit-scrollbar{width:3px}.workspace-dataset-list::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:99px}.workspace-secondary-btn--approve:hover:not(:disabled){border-color:#4a7c5966;background:#4a7c5914;color:#4a7c59}.workspace-secondary-btn--reject:hover:not(:disabled){border-color:#e05c7a66;background:var(--color-error-dim);color:var(--color-error)}.workspace-dataset-list__item{display:grid;grid-template-columns:1fr auto;gap:3px;min-width:0;text-align:left;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-2);cursor:pointer;transition:all .15s ease;font-family:var(--font-body)}.workspace-dataset-list__item:hover,.workspace-dataset-list__item.is-selected{border-color:var(--color-border-active);background:var(--color-primary-dim)}.workspace-dataset-list__item span,.workspace-dataset-list__item small,.workspace-summary__text{color:var(--color-text-muted);font-size:12px}.workspace-summary{display:grid;gap:8px}.workspace-summary__line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--color-text-muted)}.workspace-summary__line strong{color:var(--color-text)}.workspace-summary__text{line-height:1.6;font-size:13px}.workspace-box-list{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;padding-right:2px}.workspace-box-list::-webkit-scrollbar{width:3px}.workspace-box-list::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:99px}.workspace-box-list__item{display:grid;grid-template-columns:1fr auto;gap:3px 10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-primary-dim);border:1px solid var(--color-border);font-size:13px;text-align:left;cursor:pointer;transition:all .15s ease}.workspace-dataset-list__item strong,.workspace-dataset-list__item span,.workspace-dataset-list__item small{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-dataset-list__item .workspace-box-list__delete{grid-column:2;grid-row:1 / span 3;align-self:center;flex-shrink:0}.workspace-box-list__item:hover,.workspace-box-list__item.is-selected{border-color:var(--color-border-active);background:#7c6fcd2e}.workspace-box-list__item strong{color:var(--color-text)}.workspace-box-list__item span{color:var(--color-primary);font-weight:600}.workspace-box-list__item small{grid-column:1 / -1;color:var(--color-text-muted);font-size:11px}.workspace-box-list__delete{justify-self:end;width:26px;height:26px;border-radius:50%;border:1px solid rgba(224,92,122,.2);background:#fff;color:var(--color-error);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.workspace-box-list__delete:hover{background:var(--color-error-dim)}.workspace-queue__header{display:flex;justify-content:space-between;align-items:center;gap:10px}.workspace-queue__header span{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary-dim);color:var(--color-primary);font-weight:700;font-size:13px}.workspace-progress{display:grid;gap:12px}.workspace-progress__bar{width:100%;height:8px;border-radius:99px;background:var(--color-border);overflow:hidden}.workspace-progress__fill{height:100%;border-radius:inherit;background:var(--color-primary);transition:width .3s ease}.workspace-upload-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workspace-media-card{display:flex;flex-direction:column;gap:10px}.workspace-settings-card{display:flex;flex-direction:column;gap:14px}.workspace-card--annotation-settings{gap:12px}.workspace-annotation-settings{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.workspace-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--color-text-muted);display:block;margin-bottom:8px}.workspace-field-group{display:flex;flex-direction:column;gap:6px}.workspace-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:14px;outline:none;font-family:var(--font-body);transition:border-color .15s}.workspace-input:focus{border-color:var(--color-border-active)}.workspace-range{width:100%;accent-color:var(--color-primary)}.workspace-conf-row{display:flex;justify-content:space-between;align-items:center}.workspace-conf-val{font-size:13px;font-weight:600;color:var(--color-primary)}.workspace-btn-row{display:flex;gap:10px;margin-top:auto}.workspace-btn-row .workspace-primary-btn,.workspace-btn-row .workspace-secondary-btn{flex:1}.workspace-inline-note{color:var(--color-text-muted);font-size:12px;line-height:1.5}.workspace-media-grid{display:flex;flex-wrap:wrap;gap:10px;max-height:206px;overflow-y:auto;padding-right:2px}.workspace-media-grid::-webkit-scrollbar{width:3px}.workspace-media-grid::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:99px}.workspace-thumb{position:relative;flex-shrink:0;width:88px;height:88px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;transition:border-color .15s ease}.workspace-thumb:hover{border-color:var(--color-primary)}.workspace-thumb--active{border:2px solid var(--color-primary)}.workspace-thumb img{width:100%;height:100%;object-fit:cover;display:block}.workspace-thumb__del{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#2d2b55b3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background .15s}.workspace-thumb__del:hover{background:var(--color-error)}.workspace-thumb--add{flex-shrink:0;width:88px;height:88px;border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);font-size:24px;background:transparent;transition:all .15s}.workspace-thumb--add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-dim)}.workspace-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.workspace-stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px}.workspace-stat-card strong{display:block;font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-primary)}.workspace-stat-card span{font-size:12px;color:var(--color-text-muted)}.workspace-summary-card-wrap{display:flex;flex-direction:column}.workspace-summary-footer{margin-top:auto;padding-top:14px;display:flex;justify-content:flex-end}.workspace-panel--dataset{gap:18px}.workspace-split-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workspace-split-card{padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);display:grid;gap:10px}.workspace-split-card__head,.workspace-split-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace-split-card__head span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.workspace-split-card__head strong{font-size:24px;color:var(--color-text)}.workspace-split-card__meta{font-size:12px;color:var(--color-text-muted)}.workspace-progress--thin .workspace-progress__bar{height:6px}.workspace-split-card--train .workspace-progress__fill,.workspace-split-card--train .workspace-split-card__head strong{background:#2563eb;color:#2563eb}.workspace-split-card--val .workspace-progress__fill,.workspace-split-card--val .workspace-split-card__head strong{background:#f59e0b;color:#f59e0b}.workspace-split-card--test .workspace-progress__fill,.workspace-split-card--test .workspace-split-card__head strong{background:#10b981;color:#10b981}@media (max-width: 1100px){.project-workspace__header,.workspace-queues,.workspace-split,.workspace-split--wide,.workspace-upload-row{grid-template-columns:1fr}.project-workspace__stats{width:100%}.workspace-stats-row{grid-template-columns:1fr 1fr}.workspace-annotation-settings{grid-template-columns:1fr}}.workspace-split--dataset{grid-template-columns:1fr;gap:16px}.workspace-card--dataset-list{min-height:0}.workspace-card--dataset-preview{min-height:480px;align-items:flex-start}.workspace-card--dataset-preview .workspace-preview{align-self:center;margin:0 auto}.workspace-inline-select{min-width:108px;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);background:#fff;color:var(--color-text);font:inherit}.workspace-gallery{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px}.workspace-gallery::-webkit-scrollbar{height:6px}.workspace-gallery::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:99px}.workspace-gallery__item{min-width:220px;max-width:220px;padding:12px;border-radius:18px;border:1px solid var(--color-border);background:linear-gradient(180deg,#fff,#f6f7ff);display:grid;gap:10px;text-align:left;cursor:pointer;font:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.workspace-gallery__item:hover,.workspace-gallery__item.is-selected{transform:translateY(-2px);border-color:var(--color-border-active);box-shadow:0 10px 28px #7c6fcd24}.workspace-gallery__thumb{width:100%;aspect-ratio:1 / 1;border-radius:14px;overflow:hidden;background:#eef0fb}.workspace-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}.workspace-gallery__placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--color-text-muted);font-size:12px}.workspace-gallery__meta{display:grid;gap:4px}.workspace-gallery__meta strong,.workspace-gallery__meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-dataset-open{padding:0;border:none;background:transparent;width:100%;cursor:zoom-in}.workspace-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#121526ad;display:grid;place-items:center;padding:24px;z-index:1000}.workspace-modal__dialog{width:min(1080px,100%);max-height:90vh;overflow:auto;padding:20px;border-radius:24px;background:#fff;box-shadow:0 30px 80px #10122159;display:grid;gap:16px}.workspace-modal__close{width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);background:#fff;color:var(--color-text);font-size:24px;line-height:1;cursor:pointer}.workspace-split--viewer{grid-template-columns:1.6fr .4fr;gap:16px}.workspace-card--viewer{min-height:480px;align-items:flex-start}.workspace-panel__intro--dataset{position:relative;padding-right:180px}.workspace-panel__intro-copy{min-width:0}.workspace-export{position:absolute;top:0;right:0;display:flex;align-items:center;gap:10px}.workspace-export__format{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #d8d8ef;border-radius:14px;background:#fff;box-shadow:0 8px 20px #1f23400f}.workspace-export__format-label{font-size:13px;font-weight:700;color:#7b77c9;letter-spacing:.01em}.workspace-export__select{border:none;background:transparent;font:inherit;font-weight:700;color:#1f2340;outline:none;cursor:pointer;padding-right:6px}.workspace-export__btn{height:44px;padding:0 18px;border:none;border-radius:14px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 10px 22px #22c55e3d;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.workspace-export__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #22c55e4d}.workspace-export__btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.workspace-card--versions{gap:16px}.workspace-version-create{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px}.workspace-augmentation-picker{display:flex;flex-wrap:wrap;gap:10px}.workspace-augmentation-chip{padding:10px 12px;border-radius:999px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.workspace-augmentation-chip.is-selected,.workspace-augmentation-chip:hover{border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.workspace-version-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workspace-version-card{display:grid;gap:10px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:linear-gradient(180deg,#fffffffa,#f6f7fff5);text-align:left;cursor:pointer;font:inherit}.workspace-version-card.is-selected{border-color:var(--color-border-active);box-shadow:0 8px 24px #7c6fcd2e}.workspace-version-card__top,.workspace-version-stats{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-version-card__top strong{color:var(--color-text)}.workspace-version-card__top span,.workspace-version-card p,.workspace-version-stats span{color:var(--color-text-muted);font-size:12px}.workspace-version-tags{display:flex;flex-wrap:wrap;gap:8px}.workspace-version-tags span{padding:6px 10px;border-radius:999px;background:var(--color-primary-dim);color:var(--color-primary);font-size:12px;font-weight:600}.workspace-version-train{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:6px}@media (max-width: 900px){.workspace-panel__intro--dataset{flex-direction:column;align-items:stretch}.workspace-export{justify-content:flex-start}.workspace-split-summary,.workspace-version-grid,.workspace-version-create{grid-template-columns:1fr}.workspace-version-train{flex-direction:column;align-items:stretch}.workspace-gallery__item{min-width:180px;max-width:180px}}.project-dataset{padding:24px 28px 32px;display:grid;gap:16px;animation:fadeIn .25s ease}.project-dataset--loading{padding:48px;color:var(--color-text-muted)}.project-dataset__panel{display:grid;gap:16px;padding:22px;border-radius:var(--radius-lg);background:var(--color-bg-2);border:1px solid var(--color-border);box-shadow:0 2px 16px #2d2b550f}.project-dataset__notice,.project-dataset__error-banner{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;border:1px solid transparent}.project-dataset__notice{color:#4a7c59;background:#4a7c5914;border-color:#4a7c5933}.project-dataset__error-banner{color:var(--color-error);background:var(--color-error-dim);border-color:#e05c7a33}.project-dataset__hero{display:grid;gap:14px}.project-dataset__hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.project-dataset__title-block h1{margin:0 0 6px;font-family:var(--font-display);font-size:30px;line-height:1.05;color:var(--color-text);letter-spacing:-.4px}.project-dataset__title-block p{margin:0;color:var(--color-text-muted);font-size:13px}.project-dataset__hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-dataset__version-picker{display:grid;gap:6px}.project-dataset__version-picker span{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.project-dataset__version-picker select{min-width:220px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text);font:inherit}.project-dataset__action{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.project-dataset__action:hover:not(:disabled){border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.project-dataset__action--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.project-dataset__action--primary:hover:not(:disabled){background:#6a5dc0;border-color:#6a5dc0;color:#fff}.project-dataset__action:disabled{opacity:.55;cursor:not-allowed}.project-dataset__split-tabs{display:flex;align-items:center;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--color-border);overflow-x:auto}.project-dataset__split-tabs button{padding:0 0 10px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font:inherit;font-size:15px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap}.project-dataset__split-tabs button span{min-width:30px;height:30px;padding:0 10px;border-radius:999px;background:#eef0f6;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.project-dataset__split-tabs button.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.project-dataset__split-tabs button.is-active span{background:var(--color-primary-dim);color:var(--color-primary)}.project-dataset__toolbar{display:flex;justify-content:flex-end}.project-dataset__annotations-toggle{display:inline-flex;align-items:center;gap:9px;color:var(--color-text);font-size:13px}.project-dataset__annotations-toggle input{width:15px;height:15px;accent-color:var(--color-primary)}.project-dataset__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}.project-dataset__card{padding:0;border:1px solid var(--color-border);border-radius:18px;background:var(--color-bg);overflow:hidden;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.project-dataset__card:hover{transform:translateY(-1px);border-color:var(--color-border-active);box-shadow:0 10px 24px #7c6fcd1f}.project-dataset__thumb{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;background:#d8deea}.project-dataset__thumb img,.project-dataset__thumb-empty{width:100%;height:100%}.project-dataset__thumb img{display:block;object-fit:cover}.project-dataset__thumb-empty{display:grid;place-items:center;color:var(--color-text-muted);font-size:12px}.project-dataset__thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.project-dataset__thumb-box{position:absolute;border:2px solid #cbdf48;background:#cbdf483d}.project-dataset__card-meta{padding:12px 13px 14px;display:grid;gap:10px}.project-dataset__badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:74px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700}.project-dataset__badge--train{background:#7c57f21f;color:#7c57f2}.project-dataset__badge--val{background:#5597e41f;color:#4a8fd9}.project-dataset__badge--test{background:#9f6fec1f;color:#8d5fe6}.project-dataset__card-meta strong{font-size:15px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-dataset__footer{padding-top:12px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.project-dataset__modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#121526ad;display:grid;place-items:center;padding:24px}.project-dataset__modal-dialog,.project-dataset__export-dialog{width:min(880px,100%);max-height:90vh;overflow:auto;padding:18px;border-radius:22px;background:#fff;box-shadow:0 30px 80px #10122159;display:grid;gap:16px}.project-dataset__export-dialog{width:min(560px,100%)}.project-dataset__modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-dataset__modal-header h3{margin:0 0 4px;font-size:20px;color:var(--color-text)}.project-dataset__modal-header span{color:var(--color-text-muted);font-size:13px}.project-dataset__modal-header button{width:38px;height:38px;border:1px solid var(--color-border);border-radius:50%;background:#fff;color:var(--color-text);font-size:22px;line-height:1;cursor:pointer}.project-dataset__modal-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.project-dataset__modal-controls label{display:grid;gap:8px;color:var(--color-text);font-size:13px;font-weight:600}.project-dataset__modal-controls select{min-width:170px;min-height:40px;padding:0 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);font:inherit}.project-dataset__modal-controls span{color:var(--color-text-muted);font-size:13px}.project-dataset__export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-dataset__format-card{padding:16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-bg);text-align:left;cursor:pointer;display:grid;gap:6px;transition:all .15s ease}.project-dataset__format-card strong{color:var(--color-text);font-size:15px}.project-dataset__format-card span{color:var(--color-text-muted);font-size:12px;line-height:1.5}.project-dataset__format-card.is-selected,.project-dataset__format-card:hover{border-color:var(--color-border-active);background:var(--color-primary-dim)}.project-dataset__export-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 900px){.project-dataset{padding:18px 16px 28px}.project-dataset__panel{padding:18px}.project-dataset__hero-top,.project-dataset__export-options{grid-template-columns:1fr;flex-direction:column}.project-dataset__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.project-dataset__export-actions{justify-content:stretch}.project-dataset__export-actions .project-dataset__action{flex:1}}.project-models{padding:24px 28px 32px;display:grid;gap:16px;animation:fadeIn .25s ease}.project-models--loading{padding:48px;color:var(--color-text-muted)}.project-models__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-models__header h1{margin:0 0 6px;font-family:var(--font-display);font-size:30px;color:var(--color-text)}.project-models__header p{margin:0;color:var(--color-text-muted);font-size:14px}.project-models__link-btn,.project-models__primary-btn{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.project-models__primary-btn{border:none;background:var(--color-primary);color:#fff}.project-models__primary-btn:hover:not(:disabled){background:#6a5dc0}.project-models__primary-btn:disabled{opacity:.6;cursor:not-allowed}.project-models__link-btn:hover{border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.project-models__banner{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;border:1px solid transparent}.project-models__banner.is-error{color:var(--color-error);background:var(--color-error-dim);border-color:#e05c7a33}.project-models__banner.is-success{color:#4a7c59;background:#4a7c5914;border-color:#4a7c5933}.project-models__layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:16px}.project-models__panel{display:grid;gap:16px;padding:22px;border-radius:var(--radius-lg);background:var(--color-bg-2);border:1px solid var(--color-border);box-shadow:0 2px 16px #2d2b550f;align-content:start}.project-models__panel-intro h2{margin:0 0 6px;font-family:var(--font-display);font-size:22px;color:var(--color-text)}.project-models__panel-intro p{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.project-models__list{display:grid;gap:12px}.project-models__card{padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);display:grid;gap:12px;text-align:left;cursor:pointer}.project-models__card.is-selected,.project-models__card:hover{border-color:var(--color-border-active);box-shadow:0 10px 24px #7c6fcd1a}.project-models__card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.project-models__card-head strong{display:block;font-size:15px;color:var(--color-text)}.project-models__card-head span{color:var(--color-text-muted);font-size:12px}.project-models__status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.project-models__status--ready{color:#059669;background:#10b9811f}.project-models__metrics,.project-models__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-models__metrics div,.project-models__summary div{padding:12px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg);display:grid;gap:4px}.project-models__metrics span,.project-models__summary span{color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.project-models__metrics strong,.project-models__summary strong{color:var(--color-text);font-size:14px}.project-models__chips{display:flex;flex-wrap:wrap;gap:8px}.project-models__chips span{padding:6px 10px;border-radius:999px;background:var(--color-primary-dim);color:var(--color-primary);font-size:12px;font-weight:700}.project-models__controls{display:grid;grid-template-columns:1fr 180px;gap:12px}.project-models__field{display:grid;gap:8px}.project-models__field span{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.project-models__field input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text);font:inherit}.project-models__preview-stage,.project-models__preview-empty{width:100%;min-height:320px;border-radius:18px;border:1px solid var(--color-border);background:var(--color-bg);overflow:hidden}.project-models__preview-empty{display:grid;place-items:center;color:var(--color-text-muted);text-align:center;padding:20px;font-size:13px}.project-models__preview-stage{position:relative}.project-models__preview-stage img{width:100%;height:100%;max-height:520px;display:block;object-fit:contain;background:#e5e9f2}.project-models__preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.project-models__preview-box{position:absolute;border:2px solid #cbdf48;background:#cbdf4833}.project-models__preview-box span{position:absolute;top:-28px;left:0;padding:4px 8px;border-radius:999px;background:#cbdf48;color:#253000;font-size:11px;font-weight:700;white-space:nowrap}.project-models__results{display:grid;gap:10px}.project-models__deploy{display:grid;gap:12px;padding-top:8px;border-top:1px solid var(--color-border)}.project-models__results-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-models__results-head strong{color:var(--color-text);font-size:15px}.project-models__results-head span{color:var(--color-text-muted);font-size:12px}.project-models__prediction-list{display:grid;gap:8px}.project-models__deployment-list{display:grid;gap:10px}.project-models__deployment-card{padding:14px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg);display:grid;gap:8px}.project-models__deployment-url{padding:10px 12px;border-radius:12px;background:#f4f6fb;color:var(--color-text);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.project-models__deployment-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--color-text-muted);font-size:12px}.project-models__secret{padding:14px;border-radius:14px;border:1px solid rgba(124,87,242,.18);background:#7c57f20f;display:grid;gap:8px}.project-models__secret strong{color:var(--color-text);font-size:14px}.project-models__secret span{color:var(--color-text-muted);font-size:12px;line-height:1.5}.project-models__secret code,.project-models__secret pre{margin:0;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid rgba(124,87,242,.15);color:var(--color-text);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.project-models__prediction-row{display:grid;grid-template-columns:1.2fr 90px 1fr 1fr;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg);align-items:center}.project-models__prediction-row strong{color:var(--color-text);font-size:14px}.project-models__prediction-row span{color:var(--color-text-muted);font-size:12px}.project-models__empty{min-height:160px;border-radius:var(--radius-md);border:1px dashed var(--color-text-subtle);display:grid;place-items:center;color:var(--color-text-muted);text-align:center;padding:20px;font-size:13px}.project-models__empty a{color:var(--color-primary);text-decoration:none}.project-models__empty--compact{min-height:0}@media (max-width: 1100px){.project-models{padding:18px 16px 28px}.project-models__layout,.project-models__metrics,.project-models__summary,.project-models__controls,.project-models__prediction-row{grid-template-columns:1fr}.project-models__header{flex-direction:column}}.project-versions{padding:24px 28px 32px;display:grid;gap:16px;animation:fadeIn .25s ease}.project-versions--loading{padding:44px;color:var(--color-text-muted)}.project-versions__notice,.project-versions__error-banner{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;border:1px solid transparent}.project-versions__notice{color:#4a7c59;background:#4a7c5914;border-color:#4a7c5933}.project-versions__error-banner{color:var(--color-error);background:var(--color-error-dim);border-color:#e05c7a33}.project-versions__layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.project-versions__sidebar,.project-versions__detail{border-radius:var(--radius-lg);background:var(--color-bg-2);border:1px solid var(--color-border);box-shadow:0 2px 16px #2d2b550f}.project-versions__sidebar{overflow:hidden}.project-versions__sidebar-header{padding:16px 18px;background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:14px;font-weight:700}.project-versions__builder{padding:16px 18px;display:grid;gap:12px;border-bottom:1px solid var(--color-border)}.project-versions__builder-copy{display:grid;gap:4px}.project-versions__builder-copy strong{font-size:14px;color:var(--color-text)}.project-versions__builder-copy span{color:var(--color-text-muted);font-size:12px;line-height:1.5}.project-versions__input,.project-versions__textarea,.project-versions__builder-grid select,.project-versions__builder-grid input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text);font:inherit}.project-versions__textarea{min-height:78px;resize:vertical}.project-versions__builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-versions__builder-grid label,.project-versions__checkbox{display:grid;gap:8px;color:var(--color-text);font-size:12px;font-weight:600}.project-versions__checkbox{grid-auto-flow:column;justify-content:flex-start;align-items:center}.project-versions__checkbox input{width:15px;height:15px;accent-color:var(--color-primary)}.project-versions__augmentations{display:flex;flex-wrap:wrap;gap:8px}.project-versions__augmentation-chip{padding:8px 10px;border-radius:999px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.project-versions__augmentation-chip.is-selected,.project-versions__augmentation-chip:hover{border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.project-versions__primary-btn{min-height:40px;padding:0 14px;border:none;border-radius:12px;background:var(--color-primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,opacity .15s ease}.project-versions__secondary-btn{min-height:40px;padding:0 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text);font-size:13px;font-weight:700;cursor:pointer}.project-versions__secondary-btn:hover:not(:disabled){border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.project-versions__primary-btn:hover:not(:disabled){background:#6a5dc0}.project-versions__primary-btn:disabled{opacity:.6;cursor:not-allowed}.project-versions__sidebar-list{display:grid}.project-versions__sidebar-item{padding:14px 18px;border:none;border-top:1px solid var(--color-border);background:transparent;text-align:left;cursor:pointer;color:var(--color-text)}.project-versions__sidebar-item.is-selected,.project-versions__sidebar-item:hover{background:var(--color-primary-dim)}.project-versions__sidebar-item strong{display:block;margin-bottom:6px;font-size:14px;line-height:1.35}.project-versions__sidebar-meta{margin-bottom:8px;color:var(--color-text-muted);font-size:11px}.project-versions__chips{display:flex;flex-wrap:wrap;gap:8px}.project-versions__chips span{padding:4px 8px;border-radius:999px;background:#7c57f21a;color:var(--color-primary);font-size:11px;font-weight:700}.project-versions__empty-sidebar{padding:16px 18px;color:var(--color-text-muted);font-size:12px}.project-versions__detail{display:grid;align-content:start}.project-versions__hero,.project-versions__gallery-strip,.project-versions__split,.project-versions__info-row{padding:20px 22px;border-bottom:1px solid var(--color-border)}.project-versions__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-versions__hero-actions{display:flex;gap:10px;flex-wrap:wrap}.project-versions__title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.project-versions__version-pill{min-width:34px;height:34px;border-radius:10px;background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.project-versions__hero h1{margin:0;font-family:var(--font-display);font-size:24px;color:var(--color-text)}.project-versions__hero p{margin:0;color:var(--color-text-muted);font-size:13px}.project-versions__gallery-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.project-versions__gallery-head h2{margin:0;font-family:var(--font-display);font-size:20px;color:var(--color-text)}.project-versions__gallery-head span{color:var(--color-text-muted);font-size:12px}.project-versions__gallery{display:flex;gap:12px;overflow-x:auto}.project-versions__gallery-card{min-width:112px;height:112px;border-radius:14px;overflow:hidden;background:#d8deea}.project-versions__gallery-card img{width:100%;height:100%;object-fit:cover}.project-versions__label{margin-bottom:12px;font-size:13px;font-weight:700;color:var(--color-text)}.project-versions__split-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-versions__split-card{padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.project-versions__split-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.project-versions__split-head span{color:var(--color-text-muted);font-size:11px;font-weight:700}.project-versions__split-head strong{min-width:54px;min-height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.project-versions__split-card--train .project-versions__split-head strong{background:#2563eb}.project-versions__split-card--val .project-versions__split-head strong{background:#f59e0b}.project-versions__split-card--test .project-versions__split-head strong{background:#10b981}.project-versions__split-count{font-size:15px;color:var(--color-text)}.project-versions__info-row{display:grid;grid-template-columns:140px 1fr;gap:18px}.project-versions__info-copy{display:grid;gap:6px;color:var(--color-text);font-size:14px}.project-versions__empty{padding:24px;color:var(--color-text-muted)}.project-versions__modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#121526ad;display:grid;place-items:center;padding:24px}.project-versions__export-dialog{width:min(560px,100%);max-height:90vh;overflow:auto;padding:18px;border-radius:22px;background:#fff;box-shadow:0 30px 80px #10122159;display:grid;gap:16px}.project-versions__modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-versions__modal-header h3{margin:0 0 4px;font-size:20px;color:var(--color-text)}.project-versions__modal-header span{color:var(--color-text-muted);font-size:13px}.project-versions__modal-header button{width:38px;height:38px;border:1px solid var(--color-border);border-radius:50%;background:#fff;color:var(--color-text);font-size:22px;line-height:1;cursor:pointer}.project-versions__export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-versions__format-card{padding:16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-bg);text-align:left;cursor:pointer;display:grid;gap:6px}.project-versions__format-card strong{color:var(--color-text);font-size:15px}.project-versions__format-card span{color:var(--color-text-muted);font-size:12px;line-height:1.5}.project-versions__format-card.is-selected,.project-versions__format-card:hover{border-color:var(--color-border-active);background:var(--color-primary-dim)}.project-versions__export-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 980px){.project-versions{padding:18px 16px 28px}.project-versions__layout,.project-versions__builder-grid,.project-versions__split-grid,.project-versions__info-row{grid-template-columns:1fr}.project-versions__hero{flex-direction:column}}.project-training{padding:24px 28px 32px;display:grid;gap:16px;animation:fadeIn .25s ease}.project-training--loading{padding:48px;color:var(--color-text-muted)}.project-training__header h1{margin:0 0 6px;font-family:var(--font-display);font-size:30px;color:var(--color-text)}.project-training__header p{margin:0;color:var(--color-text-muted);font-size:14px}.project-training__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-training__link-btn{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;text-decoration:none}.project-training__link-btn:hover{border-color:var(--color-border-active);background:var(--color-primary-dim);color:var(--color-primary)}.project-training__banner{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;border:1px solid transparent}.project-training__banner.is-error{color:var(--color-error);background:var(--color-error-dim);border-color:#e05c7a33}.project-training__banner.is-success{color:#4a7c59;background:#4a7c5914;border-color:#4a7c5933}.project-training__split-warning{padding:12px 14px;border-radius:var(--radius-md);color:#b97900;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);font-size:13px}.project-training__layout{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.project-training__panel{display:grid;gap:16px;padding:22px;border-radius:var(--radius-lg);background:var(--color-bg-2);border:1px solid var(--color-border);box-shadow:0 2px 16px #2d2b550f;align-content:start}.project-training__panel-intro h2{margin:0 0 6px;font-family:var(--font-display);font-size:22px;color:var(--color-text)}.project-training__panel-intro p{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.project-training__field{display:grid;gap:8px}.project-training__field span{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.project-training__field input,.project-training__field select,.project-training__field textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text);font:inherit}.project-training__field textarea{min-height:90px;resize:vertical}.project-training__version-summary,.project-training__run-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-training__version-summary div,.project-training__run-grid div{padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);display:grid;gap:4px}.project-training__version-summary span,.project-training__run-grid span{color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.project-training__version-summary strong,.project-training__run-grid strong{color:var(--color-text);font-size:14px}.project-training__model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-training__model-card{padding:14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);text-align:left;cursor:pointer;display:grid;gap:6px}.project-training__model-card strong{color:var(--color-text);font-size:14px}.project-training__model-card span{color:var(--color-text-muted);font-size:12px;line-height:1.5}.project-training__model-card.is-selected,.project-training__model-card:hover{border-color:var(--color-border-active);background:var(--color-primary-dim)}.project-training__config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-training__primary-btn{min-height:42px;padding:0 16px;border:none;border-radius:12px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;cursor:pointer}.project-training__primary-btn:hover:not(:disabled){background:#6a5dc0}.project-training__primary-btn:disabled{opacity:.6;cursor:not-allowed}.project-training__runs{display:grid;gap:12px}.project-training__run-card{padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);display:grid;gap:12px}.project-training__run-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.project-training__run-actions{display:inline-flex;align-items:center;gap:8px}.project-training__run-head strong{display:block;color:var(--color-text);font-size:15px}.project-training__run-head span{color:var(--color-text-muted);font-size:12px}.project-training__status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.project-training__status--queued{background:#f59e0b1f;color:#b97900}.project-training__status--configured{background:#7c57f21f;color:var(--color-primary)}.project-training__status--running{background:#2563eb1f;color:#2563eb}.project-training__status--completed{background:#10b9811f;color:#059669}.project-training__status--failed{background:#e05c7a1f;color:var(--color-error)}.project-training__delete-btn{min-height:32px;padding:0 10px;border-radius:10px;border:1px solid rgba(224,92,122,.22);background:#e05c7a14;color:var(--color-error);font-size:12px;font-weight:700;cursor:pointer}.project-training__delete-btn:hover:not(:disabled){background:#e05c7a24}.project-training__delete-btn:disabled{opacity:.45;cursor:not-allowed}.project-training__run-notes{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.project-training__empty{min-height:160px;border-radius:var(--radius-md);border:1px dashed var(--color-text-subtle);display:grid;place-items:center;color:var(--color-text-muted);text-align:center;padding:20px;font-size:13px}@media (max-width: 1100px){.project-training{padding:18px 16px 28px}.project-training__header{flex-direction:column}.project-training__layout,.project-training__version-summary,.project-training__run-grid,.project-training__model-grid,.project-training__config-grid{grid-template-columns:1fr}}.profile-page{padding:48px;min-height:100%;animation:fadeIn .3s ease}.profile-page__header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;padding-bottom:8px}.profile-page__title{font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-1px;padding-bottom:6px}.profile-page__sub{font-size:14px;color:var(--color-text-muted)}.profile-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px;align-items:flex-start}.profile-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;animation:fadeIn .3s ease}.profile-card--main{min-width:0}.profile-card__header{display:flex;align-items:center;gap:14px;margin-bottom:22px}.profile-card__icon{width:58px;height:58px;border-radius:var(--radius-md);background:var(--color-primary-dim);border:1px solid rgba(124,111,205,.18);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-card__title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.profile-card__text{font-size:13px;line-height:1.5;color:var(--color-text-muted)}.profile-form{display:flex;flex-direction:column;gap:16px}.profile-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-readonly{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;min-width:0}.profile-readonly__value{margin-top:5px;font-size:14px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-input{width:100%;padding:11px 13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:14px;outline:none;transition:all .15s ease}.profile-input:focus{border-color:var(--color-border-active);box-shadow:0 0 0 3px var(--color-primary-dim)}.profile-input::placeholder{color:var(--color-text-subtle)}.profile-textarea{resize:vertical;min-height:120px;line-height:1.5}.profile-actions{display:flex;justify-content:flex-end;padding-top:4px}.profile-primary-btn{min-height:40px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.2px;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.profile-primary-btn:hover:not(:disabled){background:#6a5dc0;box-shadow:0 4px 20px var(--color-primary-glow)}.profile-primary-btn:disabled{opacity:.6;cursor:not-allowed}.profile-alert{margin-bottom:16px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5;animation:fadeIn .2s ease}.profile-alert--error{background:var(--color-error-dim);border:1px solid rgba(224,92,122,.2);color:var(--color-error)}.profile-alert--success{background:#4a7c5914;border:1px solid rgba(74,124,89,.2);color:#4a7c59}.profile-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.profile-skeleton{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--color-border) 25%,rgba(255,255,255,.5) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:12px}.profile-skeleton--title{width:45%;height:20px;margin-bottom:22px}.profile-skeleton--short{width:65%}@media (max-width: 980px){.profile-grid{grid-template-columns:1fr}}@media (max-width: 640px){.profile-page{padding:28px 20px}.profile-readonly-grid{grid-template-columns:1fr}.profile-card{padding:20px}.profile-actions,.profile-primary-btn{width:100%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-scene{width:100%;max-width:480px}.login-card{width:100%;padding:32px;border-radius:24px;background:#fff;box-shadow:0 30px 60px #1f234014}.login-card__brand{text-align:center;margin-bottom:24px}.login-card__logo{font-size:28px;font-weight:800;color:#1f2340}.login-card__logo span{color:#7b77c9}.login-card__tagline{margin-top:6px;font-size:14px;color:#8b88c7}.login-form__title{font-size:20px;font-weight:700;color:#1f2340;margin-bottom:16px}.login-reset-hint{font-size:14px;color:#6b6a95;margin-bottom:16px}.login-form{display:flex;flex-direction:column;gap:16px}.form-label{display:block;font-size:12px;font-weight:700;color:#8b88c7;margin-bottom:6px;text-transform:uppercase}.form-input{width:100%;height:48px;padding:0 14px;border-radius:12px;border:1px solid #d8d8ef;font-size:14px;color:#1f2340;outline:none;transition:.2s ease}.form-input:focus{border-color:#7b77c9;box-shadow:0 0 0 3px #7b77c91a}.login-error{background:#fde8e8;color:#b42318;padding:10px 12px;border-radius:10px;font-size:13px}.login-success{background:#e6f4ea;color:#1e7e34;padding:10px 12px;border-radius:10px;font-size:13px}.login-submit{width:100%;height:48px;border-radius:14px;border:none;background:linear-gradient(135deg,#7b77c9,#5f5bc7);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:.2s ease}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #5f5bc74d}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-switch{margin-top:16px;text-align:center}.login-switch__btn{background:none;border:none;color:#7b77c9;font-weight:600;cursor:pointer;text-decoration:underline}.login-reset-success{display:flex;flex-direction:column;align-items:center;gap:14px}.login-reset-success__icon{width:44px;height:44px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
