:root{--app-background:#15171b;--app-surface:#1f2228;--app-surface-variant:#262a31;--app-outline:#2e323a;--app-text:#edeff2;--app-text-dim:#8a9099;--accent-amber:#e8930c;--on-accent-amber:#181205;--accent-amber-container:#3a2e17;--warn-red:#e8564a;--success-green:#5fd489;--content-max:1440px;color:var(--app-text);background:var(--app-background);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0}button:disabled{cursor:not-allowed;opacity:.55}button,input{font:inherit}a{color:inherit}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:var(--app-text);background:var(--app-surface);border-right:1px solid var(--app-outline);padding:28px 20px}.brand{letter-spacing:.08em;align-items:center;gap:10px;margin:0 0 20px;font-size:1.5rem;text-decoration:none;display:flex}.sidebar .brand{padding:0}.brand-logo{border-radius:6px;width:28px;height:28px}.login-logo{border-radius:12px;width:56px;height:56px;margin-bottom:12px}.current-user{border-bottom:1px solid var(--app-outline);margin:0 0 24px;padding-bottom:16px}.current-user-name{word-break:break-word;margin:0 0 10px;font-weight:600}.current-user-role{color:var(--app-text-dim);font-size:.85rem;font-weight:500}.sidebar nav{gap:8px;display:grid}.sidebar a{border-radius:8px;padding:10px 12px;text-decoration:none}.sidebar a.active,.sidebar a:hover{background:var(--app-surface-variant)}.content{width:min(100%, var(--content-max));padding:40px clamp(24px,5vw,72px)}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header h1{margin-bottom:8px}.page-description{max-width:72ch;color:var(--app-text-dim);margin:0;line-height:1.6}.page-actions,.action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-state{border:1px solid var(--app-outline);background:var(--app-surface-variant);border-radius:12px;margin:20px 0;padding:18px 20px}.page-state p{margin:0 0 8px}.page-state p:last-child{margin-bottom:0}.page-state--error{border-color:#5a2a26}.target-context{background:var(--accent-amber-container);border:1px solid #5d4820;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:-16px 0 28px;padding:12px 16px;display:flex}.badge{background:var(--app-surface-variant);min-height:28px;color:var(--app-text-dim);border-radius:999px;align-items:center;padding:4px 10px;font-size:.8rem;font-weight:750;display:inline-flex}.badge--accent{background:var(--accent-amber-container);color:var(--accent-amber)}.badge--success{color:var(--success-green);background:#16301f}.badge--danger{color:var(--warn-red);background:#34181a}.dashboard-context{border:1px solid var(--app-outline);background:linear-gradient(135deg, var(--app-surface), #282415);border-radius:16px;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);align-items:center;gap:24px;margin:24px 0 36px;padding:24px;display:grid}.dashboard-context h2,.dashboard-context p{margin:4px 0 0}.dashboard-context p,.dashboard-card span{color:var(--app-text-dim);line-height:1.5}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.dashboard-card{border:1px solid var(--app-outline);background:var(--app-surface);border-radius:14px;gap:8px;min-height:132px;padding:20px;text-decoration:none;transition:border-color .16s,transform .16s;display:grid}.dashboard-card:hover{border-color:var(--accent-amber);transform:translateY(-2px)}.dashboard-card strong{color:var(--accent-amber);font-size:1.1rem}.eyebrow{color:var(--app-text-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}h1{margin:4px 0 12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.card{border:1px solid var(--app-outline);background:var(--app-surface);border-radius:16px;max-width:760px;padding:24px;box-shadow:0 12px 28px #0003}.card--wide{width:fit-content;max-width:100%}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(100%,420px)}.field{gap:6px;margin:18px 0;font-weight:600;display:grid}.field input,.field select,.field textarea{border:1px solid var(--app-outline);background-color:var(--app-surface-variant);color:var(--app-text);border-radius:8px;padding:11px 12px}.field select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.field textarea{resize:vertical;font-family:inherit}.primary-button{width:100%;color:var(--on-accent-amber);background:var(--accent-amber);cursor:pointer;border:0;border-radius:8px;padding:12px 16px;font-weight:700}.button-auto{width:auto}.secondary-button{border:1px solid var(--app-outline);background:var(--app-surface);cursor:pointer;color:var(--app-text);border-radius:8px;margin:4px 8px 4px 0;padding:8px 14px;font-weight:600}.sidebar .secondary-button{width:100%;color:var(--app-text);border-color:var(--app-outline);background:0 0;margin:24px 0 0}.sidebar .profile-link{text-align:center;margin-top:8px;text-decoration:none;display:block}.sidebar .logout-button{margin-top:8px}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent-amber);outline-offset:2px}.skip-link{background:var(--accent-amber);color:var(--on-accent-amber);z-index:10;padding:10px 16px;position:absolute;top:0;left:-999px}.skip-link:focus{top:12px;left:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-loading{place-items:center;min-height:100vh;display:grid}.form-error{color:var(--warn-red);font-weight:600}.form-notice{color:var(--accent-amber);font-weight:600}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{min-width:680px}.plan-objective-form{width:min(100%,920px);max-height:calc(100vh - 48px);overflow-y:auto}.plan-objective-form td input{border:1px solid var(--app-outline);background:var(--app-surface-variant);width:108px;color:var(--app-text);border-radius:8px;padding:9px}table{border-collapse:collapse;width:100%;margin-top:16px}th,td{text-align:left;border-bottom:1px solid var(--app-outline);padding:12px 10px}th{color:var(--app-text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}tbody tr:hover{background:var(--app-surface-variant)}.user-cell{align-items:center;gap:10px;font-weight:600;display:inline-flex}.user-avatar{background:var(--accent-amber-container);width:30px;height:30px;color:var(--accent-amber);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.role-badge,.status-badge,.result-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.role-badge--admin{background:var(--accent-amber-container);color:var(--accent-amber)}.role-badge--trainer{color:#58b6e8;background:#1c2e3a}.role-badge--user{background:var(--app-surface-variant);color:var(--app-text-dim)}.status-badge--active{color:#5fd489;background:#16301f}.status-badge--inactive{color:var(--warn-red);background:#34181a}.audit-date{color:var(--app-text-dim);white-space:nowrap;font-size:.88rem}.action-badge{background:var(--app-surface-variant);white-space:nowrap;border-radius:6px;padding:3px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;display:inline-block}.id-cell{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:160px;color:var(--app-text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;display:inline-block;overflow:hidden}.result-badge--success{color:#5fd489;background:#16301f}.result-badge--denied{background:var(--accent-amber-container);color:var(--accent-amber)}.result-badge--error{color:var(--warn-red);background:#34181a}.danger-button{color:var(--warn-red);border-color:#5a2a26}.danger-button:hover{background:#34181a}.actions-cell{white-space:nowrap;flex-wrap:nowrap;gap:8px;display:flex}.copy-bar{border:1px solid var(--app-outline);background:var(--app-surface-variant);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;padding:12px 16px;display:flex}.pagination{align-items:center;gap:12px;margin-top:16px;display:flex}.modal-backdrop{z-index:20;background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(100%,480px)}.modal-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}@media (width<=720px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--app-outline);padding:18px 20px}.brand{margin-bottom:16px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.current-user{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.current-user-name{grid-column:1/-1}.sidebar .profile-link,.sidebar .logout-button{margin:0}.content{padding:28px 18px 48px}.page-header,.dashboard-context{grid-template-columns:1fr;align-items:stretch}.page-header{display:grid}.target-context{margin-top:0}.modal-backdrop{align-items:end;padding:12px}.modal{max-height:calc(100vh - 24px);overflow-y:auto}.actions-cell{white-space:normal;flex-wrap:wrap}}@media (width<=380px){.sidebar nav{grid-template-columns:1fr}.content{padding-inline:14px}.card{padding:18px}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions .primary-button,.modal-actions .secondary-button{width:100%;margin:0}}
