:root{--rosewater:#dc8a78;--flamingo:#dd7878;--pink:#ea76cb;--mauve:#8839ef;--red:#d20f39;--maroon:#e64553;--peach:#fe640b;--yellow:#df8e1d;--green:#40a02b;--teal:#179299;--sky:#04a5e5;--sapphire:#209fb5;--blue:#1e66f5;--lavender:#7287fd;--text:#4c4f69;--subtext1:#5c5f77;--subtext0:#6c6f85;--overlay2:#7c7f93;--overlay1:#8c8fa1;--overlay0:#9ca0b0;--surface2:#acb0be;--surface1:#bcc0cc;--surface0:#ccd0da;--base:#eff1f5;--mantle:#e6e9ef;--crust:#dce0e8;--primary:var(--blue);--primary-hover:#1a5ddc;--success:var(--green);--warning:var(--yellow);--danger:var(--red);--info:var(--sky);--bg:var(--base);--bg-card:var(--mantle);--bg-subtle:var(--crust);--border:var(--crust);--border-mid:var(--surface0);--text-muted:var(--subtext0);--text-faint:var(--overlay1);--radius:8px;--radius-lg:12px;--shadow:0 1px 3px rgba(76,79,105,.1), 0 1px 2px rgba(76,79,105,.06);--shadow-md:0 4px 12px rgba(76,79,105,.12), 0 2px 4px rgba(76,79,105,.08)}[data-theme=dark]{--rosewater:#f4dbd6;--flamingo:#f0c6c6;--pink:#f5bde6;--mauve:#c6a0f6;--red:#ed8796;--maroon:#ee99a0;--peach:#f5a97f;--yellow:#eed49f;--green:#a6da95;--teal:#8bd5ca;--sky:#91d7e3;--sapphire:#7dc4e4;--blue:#8aadf4;--lavender:#b7bdf8;--text:#cad3f5;--subtext1:#b8c0e0;--subtext0:#a5adcb;--overlay2:#939ab7;--overlay1:#8087a2;--overlay0:#6e738d;--surface2:#5b6078;--surface1:#494d64;--surface0:#363a4f;--base:#24273a;--mantle:#1e2030;--crust:#181926;--primary-hover:#7a9de3;--shadow:0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.35), 0 2px 4px rgba(0,0,0,.25)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--rosewater:#f4dbd6;--flamingo:#f0c6c6;--pink:#f5bde6;--mauve:#c6a0f6;--red:#ed8796;--maroon:#ee99a0;--peach:#f5a97f;--yellow:#eed49f;--green:#a6da95;--teal:#8bd5ca;--sky:#91d7e3;--sapphire:#7dc4e4;--blue:#8aadf4;--lavender:#b7bdf8;--text:#cad3f5;--subtext1:#b8c0e0;--subtext0:#a5adcb;--overlay2:#939ab7;--overlay1:#8087a2;--overlay0:#6e738d;--surface2:#5b6078;--surface1:#494d64;--surface0:#363a4f;--base:#24273a;--mantle:#1e2030;--crust:#181926;--primary-hover:#7a9de3;--shadow:0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.35), 0 2px 4px rgba(0,0,0,.25)}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.navbar{background:var(--mantle);border-bottom:1px solid var(--crust);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 2rem;display:flex}.navbar-brand a{color:var(--blue);letter-spacing:-.01em;font-size:1.1rem;font-weight:700;text-decoration:none}.navbar-menu{flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.navbar-start,.navbar-end{align-items:center;gap:.75rem;display:flex}.navbar-start a{color:var(--subtext1);border-radius:var(--radius);padding:.35rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.navbar-start a:hover{background:var(--surface0);color:var(--text);text-decoration:none}.navbar-item.user-info{color:var(--subtext0);font-size:.85rem}.theme-toggle{border:1px solid var(--crust);color:var(--subtext0);border-radius:var(--radius);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;transition:border-color .15s,background .15s,color .15s;display:flex}.theme-toggle:hover{border-color:var(--blue);color:var(--blue);background:rgba(30,102,245,.06)}[data-theme=dark] .theme-toggle:hover{border-color:var(--lavender);color:var(--lavender);background:rgba(183,189,248,.08)}.navbar-item.btn-logout{border:1px solid var(--crust);color:var(--subtext1);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.35rem .85rem;font-size:.85rem;transition:border-color .15s,color .15s,background .15s}.navbar-item.btn-logout:hover{border-color:var(--red);color:var(--red);background:rgba(210,15,57,.06)}.main-content{max-width:1200px;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h1{color:var(--text);font-size:1.5rem;font-weight:700}.page-nav{margin-bottom:1.5rem}.back-link{color:var(--subtext0);align-items:center;gap:.35rem;font-size:.875rem;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--primary);text-decoration:none}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid transparent;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--surface0);color:var(--text);border-color:var(--crust)}.btn-secondary:hover:not(:disabled){background:var(--surface1);border-color:var(--surface1)}.btn-success{background:var(--green);color:#fff;border-color:var(--green)}.btn-success:hover:not(:disabled){background:#378a25}.btn-danger{color:var(--red);background:0 0;border-color:rgba(210,15,57,.35)}.btn-danger:hover:not(:disabled){border-color:var(--red);background:rgba(210,15,57,.08)}.btn-outline{border-color:var(--border-mid);color:var(--text);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-large{padding:.75rem 1.75rem;font-size:1rem}.btn-sm{padding:.3rem .7rem;font-size:.8rem}.btn-full{width:100%}.form-group{margin-bottom:1.1rem}.form-group label{color:var(--subtext1);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{background:var(--base);border:1px solid var(--surface0);border-radius:var(--radius);width:100%;color:var(--text);padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(30,102,245,.12)}.form-group input::placeholder{color:var(--overlay1)}.form-group select::placeholder{color:var(--overlay1)}.form-group textarea::placeholder{color:var(--overlay1)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--mantle);color:var(--overlay1);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:90px}.form-actions{border-top:1px solid var(--crust);gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.5rem}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.login-page{background:var(--base);justify-content:center;align-items:center;min-height:calc(100vh - 60px);padding:2rem;display:flex}.login-card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:2.25rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--text);margin-bottom:.35rem;font-size:1.4rem;font-weight:700}.login-header .subtitle{color:var(--subtext0);font-size:.875rem}.login-tabs{background:var(--base);border-radius:var(--radius);gap:3px;margin-bottom:1.5rem;padding:3px;display:flex}.login-tabs .tab{border-radius:calc(var(--radius) - 2px);cursor:pointer;color:var(--subtext0);background:0 0;border:none;flex:1;padding:.5rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.login-tabs .tab:hover{color:var(--text)}.login-tabs .tab.active{background:var(--mantle);color:var(--blue);box-shadow:var(--shadow)}.login-form{flex-direction:column;display:flex}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.welcome-text{color:var(--subtext0);margin-top:.25rem;font-size:.9rem}.stats-bar{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.stat-item{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius);flex:1;min-width:130px;padding:1rem 1.25rem}.stat-item .stat-number{color:var(--blue);font-size:1.75rem;font-weight:700;line-height:1}.stat-item .stat-label{color:var(--subtext0);text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;font-size:.75rem}.stat-item.self-assessed .stat-number{color:var(--peach)}.stat-item.peer .stat-number{color:var(--sky)}.stat-item.tutor .stat-number{color:var(--sapphire)}.stat-item.professor .stat-number{color:var(--mauve)}.search-bar{margin-bottom:1.5rem}.search-input{background:var(--mantle);border:1px solid var(--surface0);border-radius:var(--radius);width:100%;max-width:360px;color:var(--text);padding:.6rem .9rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(30,102,245,.12)}.search-input::placeholder{color:var(--overlay1)}.view-toggle{gap:.4rem;margin-bottom:1.5rem;display:flex}.skills-grid,.skill-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.skill-card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);cursor:pointer;color:inherit;flex-direction:column;gap:.6rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.skill-card:hover{border-color:var(--blue);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.skill-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.skill-card-header h3{color:var(--text);font-size:1rem;font-weight:600}.skill-card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.skill-level{color:var(--subtext0);font-size:.78rem;font-weight:500}.max-level,.dep-count{color:var(--overlay1);font-size:.75rem}.progress-bar{background:var(--surface0);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--blue), var(--lavender));border-radius:3px;height:100%;transition:width .4s}.validation-progress-bar{margin-bottom:.75rem}.badge,.info-value.validation-type-badge,.complete-badge,.role-badge{letter-spacing:.02em;white-space:nowrap;border-radius:20px;align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-self,.stat-item.self-assessed .badge,.stat-item.self-assessed .info-value.validation-type-badge,.stat-item.self-assessed .complete-badge,.stat-item.self-assessed .role-badge{color:var(--peach);background:rgba(254,100,11,.12)}.badge-peer{color:var(--sky);background:rgba(4,165,229,.12)}.badge-tutor{color:var(--sapphire);background:rgba(32,159,181,.12)}.badge-professor{color:var(--mauve);background:rgba(136,57,239,.12)}.badge-info{color:var(--blue);background:rgba(30,102,245,.1)}.badge-neutral{background:var(--surface0);color:var(--subtext0)}.v-type.badge,.v-type.info-value.validation-type-badge,.v-type.complete-badge,.v-type.role-badge,.validator-role.badge,.validator-role.info-value.validation-type-badge,.validator-role.complete-badge,.validator-role.role-badge{font-size:.7rem}.role-badge{color:var(--lavender);background:rgba(114,135,253,.12)}.complete-badge{color:var(--green);background:rgba(64,160,43,.12)}.validation-badge{border-radius:20px;align-items:center;gap:.25rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.validation-badges{flex-wrap:wrap;gap:.4rem;display:flex}.error-banner{border-radius:var(--radius);color:var(--red);background:rgba(210,15,57,.08);border:1px solid rgba(210,15,57,.25);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.error-banner .error-icon{flex-shrink:0}.error-card,.error-state{border-radius:var(--radius-lg);color:var(--red);background:rgba(210,15,57,.06);border:1px solid rgba(210,15,57,.2);padding:1.5rem}.error-message,.error-text{color:var(--red);font-size:.875rem}.success-banner{border-radius:var(--radius);color:var(--green);background:rgba(64,160,43,.08);border:1px solid rgba(64,160,43,.25);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.success-card{border-radius:var(--radius-lg);text-align:center;background:rgba(64,160,43,.06);border:1px solid rgba(64,160,43,.2);padding:1.5rem}.success-card .success-icon{margin-bottom:.75rem;font-size:2rem;display:block}.success-card .success-text{color:var(--green);font-weight:600}.success-actions{justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.warning-box,.action-warning{border-radius:var(--radius);color:var(--yellow);background:rgba(223,142,29,.08);border:1px solid rgba(223,142,29,.3);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.warning-box .warning-icon,.action-warning .warning-icon{margin-right:.35rem}.info-box{border-radius:var(--radius);color:var(--blue);background:rgba(30,102,245,.06);border:1px solid rgba(30,102,245,.2);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.info{color:var(--subtext0);font-size:.875rem}.loading,.loading-state{color:var(--subtext0);justify-content:center;align-items:center;padding:3rem;font-size:.9rem;display:flex}.loading-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.skeleton-card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);height:160px;padding:1.25rem;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spinner{border:3px solid var(--surface0);border-top-color:var(--blue);border-radius:50%;width:32px;height:32px;margin:2rem auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--subtext0);padding:3rem 2rem}.empty-state .empty-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.skill-header{margin-bottom:2rem}.skill-header h1{font-size:1.75rem;font-weight:700}.skill-id{color:var(--overlay1);background:var(--surface0);border-radius:4px;padding:.15rem .4rem;font-family:SF Mono,Fira Code,monospace;font-size:.75rem}.skill-meta{color:var(--subtext0);flex-wrap:wrap;gap:1.25rem;margin-top:.5rem;font-size:.875rem;display:flex}.skill-info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.info-item{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius);padding:1rem}.info-label{color:var(--subtext0);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem}.info-value{color:var(--text);font-size:.95rem;font-weight:500}.info-value.mono{font-family:SF Mono,Fira Code,monospace;font-size:.85rem}.info-value.skill-name-highlight{color:var(--blue);font-weight:600}.info-value.validation-type-badge{color:var(--lavender);background:rgba(114,135,253,.12)}.skill-section{margin-bottom:2rem}.section-title{color:var(--subtext1);border-bottom:1px solid var(--crust);margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.skill-description{color:var(--subtext0);font-size:.875rem;line-height:1.6}.skill-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.actions-section{margin-bottom:2rem}.action-section{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.5rem}.action-card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);padding:1.25rem}.action-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.action-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.action-note{color:var(--subtext0);margin-top:.5rem;font-size:.8rem}.dependency-list{flex-wrap:wrap;gap:.5rem;display:flex}.dependency-chip,.dep-chip{color:var(--blue);background:rgba(30,102,245,.06);border:1px solid rgba(30,102,245,.2);border-radius:20px;padding:.25rem .75rem;font-size:.8rem}.dependency-chip a,.dep-chip a{color:inherit;text-decoration:none}.dependency-chip a:hover,.dep-chip a:hover{text-decoration:underline}.dependencies-section{margin-bottom:1.5rem}.dep-arrow{color:var(--overlay1);margin:0 .35rem}.no-deps{color:var(--overlay1);font-size:.875rem;font-style:italic}.level-selector-section{margin-bottom:1.5rem}.level-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.level-label{color:var(--subtext0);margin-bottom:.5rem;font-size:.8rem}.level-stars{color:var(--yellow);letter-spacing:.05em;font-size:.85rem}.validation-status-section{margin-bottom:1.5rem}.validation-list{flex-direction:column;gap:.5rem;display:flex}.validation-list-item{background:var(--base);border:1px solid var(--crust);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.validation-list-item .v-skill-id{color:var(--subtext0);font-family:monospace;font-size:.8rem}.validation-list-item .v-level{color:var(--text);font-weight:500}.next-validation{color:var(--subtext0);margin-top:.35rem;font-size:.8rem}.cascaded-validations{border-radius:var(--radius);background:rgba(64,160,43,.06);border:1px solid rgba(64,160,43,.2);margin-top:.75rem;padding:.75rem 1rem}.cascade-notice{color:var(--green);font-size:.8rem;font-style:italic}.cannot-validate-section{background:var(--base);border:1px solid var(--crust);border-radius:var(--radius);color:var(--subtext0);padding:1rem;font-size:.875rem}.lock-icon{font-size:1.1rem}.qr-generator{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);padding:1.5rem}.qr-display{text-align:center;padding:1.5rem}.qr-content{flex-direction:column;align-items:center;gap:1rem;display:flex}.qr-image{border-radius:var(--radius);border:1px solid var(--crust);background:#fff;max-width:220px;padding:.5rem}.qr-loading{color:var(--subtext0);padding:2rem}.qr-instructions,.qr-instruction{color:var(--subtext0);text-align:center;max-width:280px;font-size:.85rem;line-height:1.5}.qr-url{color:var(--overlay1);word-break:break-all;background:var(--base);border:1px solid var(--crust);border-radius:4px;max-width:280px;padding:.35rem .6rem;font-family:SF Mono,Fira Code,monospace;font-size:.7rem}.validate-page{max-width:560px;margin:0 auto}.validation-confirm-container{padding:2rem 1rem}.validation-confirm-card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem}.student-section,.validator-section{border-bottom:1px solid var(--crust);margin-bottom:1.25rem;padding-bottom:1.25rem}.student-identity,.validator-identity{align-items:center;gap:.75rem;display:flex}.avatar{background:linear-gradient(135deg, var(--blue), var(--lavender));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.student-details .student-display-name,.student-details .validator-name,.validator-details .student-display-name,.validator-details .validator-name{color:var(--text);font-weight:600}.student-details .student-username,.student-details .validator-role,.validator-details .student-username,.validator-details .validator-role{color:var(--subtext0);font-size:.8rem}.student-display-name{font-weight:600}.student-username{color:var(--subtext0);font-size:.8rem}.validator-name{font-weight:600}.request-body{margin-bottom:1.5rem}.explanation-section{color:var(--subtext0);margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.auth-required-section,.auth-prompt{text-align:center;background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);color:var(--subtext0);padding:1.5rem}.skill-dag{padding:1rem 0;overflow-x:auto}.dag-level{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.dag-level-title{color:var(--subtext0);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.dag-connector{background:var(--surface0);width:2px;margin:0 auto .5rem}.admin-skills-page{max-width:860px}.skill-form-card{background:var(--mantle);border:1px solid var(--surface0);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:2rem;padding:1.75rem}.skill-form-card h2{color:var(--text);margin-bottom:1.25rem;font-size:1.1rem;font-weight:600}.dep-checklist{background:var(--base);border:1px solid var(--surface0);border-radius:var(--radius);flex-direction:column;gap:.5rem;max-height:220px;padding:.75rem;display:flex;overflow-y:auto}.dep-item{color:var(--text);cursor:pointer;border-radius:calc(var(--radius) - 2px);align-items:center;gap:.6rem;padding:.3rem .4rem;font-size:.875rem;transition:background .1s;display:flex}.dep-item input[type=checkbox]{width:auto;accent-color:var(--blue);cursor:pointer}.dep-item:hover{background:var(--crust)}.dep-name{color:var(--subtext1)}.skills-admin-list{flex-direction:column;gap:.75rem;display:flex}.skill-admin-card{background:var(--mantle);border:1px solid var(--crust);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color .15s,box-shadow .15s}.skill-admin-card:hover{border-color:var(--surface0);box-shadow:var(--shadow)}.skill-admin-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.skill-admin-header h3{color:var(--text);margin-bottom:.25rem;font-size:1rem;font-weight:600}.skill-admin-actions{flex-shrink:0;gap:.5rem;display:flex}.elements-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.elements-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.elements-header h4{color:var(--subtext0);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.78rem;font-weight:700}.element-card{background:var(--base);border:1px solid var(--surface0);border-radius:var(--radius);margin-bottom:.5rem;padding:.75rem 1rem}.element-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.element-desc{color:var(--text);flex:1;margin:0;font-size:.875rem;line-height:1.4}.criteria-list{border-left:2px solid var(--surface0);margin-top:.5rem;padding-left:.75rem}.criteria-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.criteria-header span{color:var(--subtext0);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.criterion-row{align-items:center;gap:.5rem;padding:.25rem 0;font-size:.875rem;display:flex}.criterion-row .skill-admin-actions{flex-shrink:0;margin-left:auto}.criterion-slug{background:var(--surface0);color:var(--text);border-radius:calc(var(--radius) - 2px);white-space:nowrap;flex-shrink:0;padding:.1rem .45rem;font-family:monospace;font-size:.78rem}.criterion-desc{color:var(--subtext1);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.875rem;overflow:hidden}.inline-form{background:var(--mantle);border:1px dashed var(--surface0);border-radius:var(--radius);margin-bottom:.75rem;padding:.75rem 1rem}.inline-form-title{color:var(--subtext1);margin-bottom:.5rem;font-size:.82rem;font-weight:600}.empty-state-sm{color:var(--text-muted);margin:0;padding:.25rem 0;font-size:.825rem;font-style:italic}.not-found-page{justify-content:center;align-items:center;min-height:calc(100vh - 60px);display:flex}.not-found-content{text-align:center;padding:2rem}.big-404{color:var(--surface0);margin-bottom:1rem;font-size:6rem;font-weight:900;line-height:1}.step-icon{font-size:1.25rem}.step-label{font-size:.9rem;font-weight:600}.step-validator{color:var(--subtext0);font-size:.8rem}@media (width<=768px){.main-content{padding:1rem}.skills-grid,.skill-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column}.navbar{padding:.75rem 1rem}.stats-bar{flex-direction:column}}