html{scroll-behavior:smooth}#app{min-height:100vh}:root{--accent-base: #171717;--accent-primary: #2563eb;--accent-secondary: #5800ca;--accent-success: #00d64f;--accent-warning: #ea580c;--accent-error: #dc2626;--level-beginner: #22c55e;--level-intermediate: #3b82f6;--level-professional: #a855f7;--status-pending-bg: #fef3c7;--status-pending-text: #92400e;--status-confirmed-bg: #d1fae5;--status-confirmed-text: #065f46;--status-cancelled-bg: #fee2e2;--status-cancelled-text: #991b1b;--status-info-bg: #dbeafe;--status-info-text: #1e40af;--status-neutral-bg: #e0e7ff;--status-neutral-text: #3730a3;--star-empty: #d1d5db;--star-filled: #fbbf24;--chart-1: #004e98;--chart-2: #3d7ece;--chart-3: #ffa500;--chart-4: #7eb8da;--accent-success-hover: #059669;--accent-warning-hover: #d97706;--accent-error-hover: #b91c1c;--orange: #ef6c33;--darkblue: #0c4a60;--deepblue: #091e23;--blackblue: #04171b;--gray: #64748b;--lightgray: #f1f5f9;--white: #ffffff;--dark-bg: #0f172a;--dark-surface: #1e293b;--dark-border: #334155;--dark-text: #f8fafc;--dark-text-secondary: #94a3b8;--shadow-orange: rgba(239, 108, 51, .3);--shadow-darkblue: rgba(12, 74, 96, .3);--shadow-deepblue: rgba(9, 30, 35, .3);--shadow-xs: 0 1px 1px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--gap-xs: 10px;--gap-sm: 20px;--gap-md: clamp(20px, 2vw, 30px);--gap-lg: clamp(30px, 3vw, 40px);--gap-xl: clamp(50px, 5vw, 70px);--pad-section: clamp(40px, 6vw, 80px);--pad-container: clamp(20px, 4vw, 60px);--radius-xs: clamp(2px, .3vw, 4px);--radius-sm: clamp(4px, .5vw, 8px);--radius-md: clamp(8px, 1vw, 12px);--radius-lg: clamp(12px, 1.5vw, 16px);--font-xs: clamp(12px, 1vw, 14px);--font-sm: clamp(14px, 1.2vw, 16px);--font-md: clamp(16px, 1.5vw, 18px);--font-lg: clamp(20px, 2vw, 24px);--font-xl: clamp(26px, 4.5vw, 36px);--font-2xl: clamp(32px, 5vw, 48px);--font-3xl: clamp(48px, 7vw, 64px);--font-4xl: clamp(56px, 9vw, 72px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--font-sm);font-weight:400;line-height:1.6;color:var(--deepblue);background-color:var(--white);min-height:100vh;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:is(h1,h2,h3,h4,h5,h6){font-weight:700;line-height:1.2;margin:0;padding:0}h1{font-size:var(--font-xl)}h2{font-size:var(--font-lg)}h3{font-size:var(--font-md)}h4,h5,h6{font-size:var(--font-sm)}p{margin:0;padding:0}a{color:inherit;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{text-decoration:underline}a:not([class]){text-decoration-skip-ink:auto}strong,b{font-weight:700}em,i{font-style:italic}small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;max-width:100%;height:auto;display:block}svg{fill:currentColor}picture{display:block}hr{box-sizing:content-box;height:0;overflow:visible;border:0;border-top:1px solid var(--gray);margin:var(--gap-md) 0}pre{font-family:monospace,monospace;font-size:1em;overflow:auto}code,kbd,samp{font-family:monospace,monospace;font-size:1em}table{border-collapse:collapse;border-spacing:0;width:100%}caption{padding-top:var(--gap-sm);padding-bottom:var(--gap-sm);color:var(--gray);text-align:left;caption-side:bottom}th{text-align:left;font-weight:700}td,th{padding:var(--gap-xs);border-bottom:1px solid var(--lightgray)}ul,ol{margin:0;padding:0;list-style:none}dl{margin:0}dt{font-weight:700}dd{margin:0}blockquote{margin:0;padding:var(--gap-sm);border-left:4px solid var(--orange);background-color:var(--lightgray);font-style:italic}q{quotes:none}q:before,q:after{content:"";content:none}details{display:block}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none!important}[disabled]{cursor:not-allowed;opacity:.6}::selection{background-color:var(--orange);color:var(--white);text-shadow:none}::-moz-selection{background-color:var(--orange);color:var(--white);text-shadow:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--lightgray)}::-webkit-scrollbar-thumb{background:var(--gray);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--darkblue)}input,textarea,select,button{margin:0;padding:var(--gap-sm) var(--gap-md);border:none;background:none;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;text-decoration:none;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}textarea{border-radius:var(--radius-sm);background-color:var(--white);width:100%}input[type=file]{cursor:pointer}input[type=range]{border:none;background:transparent}select{cursor:pointer;border:1px solid var(--gray);border-radius:var(--radius-sm);background-color:var(--white);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;padding-right:32px;width:fit-content}button{cursor:pointer}input:focus:not(:focus-visible),textarea:focus:not(:focus-visible),select:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid transparent;outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--gray);opacity:1}input::-ms-clear{display:none}input::-ms-reveal{display:none}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--white) inset;-webkit-text-fill-color:var(--deepblue)}input[type=number]::-moz-focus-inner,input[type=number]::-moz-focus-outer{border:0;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}fieldset{margin:0;padding:0;border:none;min-width:0}legend{display:block;width:100%;margin-bottom:var(--gap-sm);padding:0;font-size:inherit;line-height:inherit;color:inherit;border:0;border-bottom:1px solid var(--gray);padding-bottom:var(--gap-sm)}label{display:inline-block;font-weight:400;cursor:pointer}@media screen and (max-width: 480px){input,textarea,select{width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-xs);padding:var(--gap-sm) var(--gap-md);font-size:var(--font-sm);font-weight:600;line-height:1.5;text-decoration:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:disabled,.btn.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-icon{font-size:1.2em;line-height:1}.btn.is-loading{position:relative;color:transparent}.btn.is-loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .75s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-flat{box-shadow:none;border:1px solid var(--lightgray)}.card-elevated{box-shadow:var(--shadow-lg)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--gap-md) var(--gap-lg);border-bottom:1px solid var(--lightgray)}.card-title{margin:0;font-size:var(--font-md);font-weight:600;color:var(--darkblue)}.card-subtitle{margin:var(--gap-xs) 0 0;font-size:var(--font-sm);color:var(--gray)}.card-body{padding:var(--gap-lg)}.card-footer{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--gap-md) var(--gap-lg);border-top:1px solid var(--lightgray);background:var(--lightgray)}.card-media{width:100%;aspect-ratio:16 / 9;object-fit:cover}.card-media-square{aspect-ratio:1 / 1}.card-sm .card-body{padding:var(--gap-md)}.card-lg .card-body{padding:var(--gap-xl)}.card-stat{display:flex;align-items:center;gap:var(--gap-md);padding:var(--gap-lg)}.card-stat .card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:var(--font-lg);background:var(--lightgray);border-radius:var(--radius-md)}.card-stat .card-value{font-size:var(--font-xl);font-weight:700;color:var(--darkblue)}.card-stat .card-label{font-size:var(--font-sm);color:var(--gray)}[data-theme=dark] .btn-secondary{background:var(--dark-surface);color:var(--dark-text)}[data-theme=dark] .btn-outline{color:var(--dark-text);border-color:var(--dark-text-secondary)}[data-theme=dark] .btn-ghost{color:var(--dark-text)}[data-theme=dark] .card{background:var(--dark-surface)}[data-theme=dark] .card-header,[data-theme=dark] .card-footer{border-color:var(--dark-border)}[data-theme=dark] .card-title{color:var(--dark-text)}[data-theme=dark] .card-subtitle{color:var(--dark-text-secondary)}[data-theme=dark] .card-flat{border-color:var(--dark-border)}[data-theme=dark] .card-stat .card-icon{background:var(--dark-border)}[data-theme=dark] .card-stat .card-value{color:var(--dark-text)}.btn-primary{background:var(--orange);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--deepblue)}.btn-secondary{background:var(--lightgray);color:var(--darkblue)}.btn-secondary:hover:not(:disabled){background:var(--gray);color:var(--white)}.btn-outline{background:transparent;color:var(--darkblue);border:2px solid var(--gray)}.btn-outline:hover:not(:disabled){background:var(--darkblue);color:var(--white);border-color:var(--darkblue)}.btn-ghost{background:transparent;color:var(--darkblue)}.btn-ghost:hover:not(:disabled){background:var(--lightgray)}.btn-danger{background:var(--accent-error);color:var(--white)}.btn-danger:hover:not(:disabled){background:var(--accent-error-hover)}.btn-success{background:var(--accent-success);color:var(--white)}.btn-success:hover:not(:disabled){background:var(--accent-success-hover)}.btn-warning{background:var(--accent-warning);color:var(--white)}.btn-warning:hover:not(:disabled){background:var(--accent-warning-hover)}.btn-xs{padding:4px 8px;font-size:var(--font-xs)}.btn-sm{padding:6px 12px;font-size:var(--font-xs)}.btn-md{padding:var(--gap-sm) var(--gap-md);font-size:var(--font-sm)}.btn-lg{padding:var(--gap-md) var(--gap-lg);font-size:var(--font-md)}.btn-full{width:100%}.btn-icon-only{padding:var(--gap-sm);aspect-ratio:1}.badge{display:inline-flex;align-items:center;padding:2px var(--gap-xs);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:600;line-height:1.4;white-space:nowrap}.badge-primary{background:var(--orange);color:var(--white)}.badge-info{background:var(--accent-primary);color:var(--white)}.badge-success{background:var(--accent-success);color:var(--white)}.badge-warning{background:var(--accent-warning);color:var(--white)}.badge-danger{background:var(--accent-error);color:var(--white)}.badge-neutral{background:var(--lightgray);color:var(--darkblue)}.container{max-width:1400px;margin:0 auto;padding:0 var(--pad-container)}.section{padding:var(--pad-section) 0}.section-header{display:flex;flex-direction:column;align-items:center;gap:var(--gap-xs);margin-bottom:var(--gap-md)}.section-title{font-size:var(--font-xl);text-align:center;margin-bottom:var(--gap-sm);font-weight:700;color:var(--darkblue)}.section-subtitle{font-size:var(--font-md);color:var(--gray);max-width:600px;margin:0 auto}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-group{margin-bottom:var(--gap-md)}.form-control{display:block;width:fit-content;font-size:var(--font-sm);line-height:1.5;color:var(--deepblue);background-color:var(--white);background-clip:padding-box;border:1px solid var(--gray);border-radius:var(--radius-sm);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{color:var(--deepblue);background-color:var(--white);border-color:var(--orange);outline:0;box-shadow:0 0 0 .2rem #ef6c3340}.form-control::placeholder{color:var(--gray);opacity:1}.form-control:disabled,.form-control[readonly]{background-color:var(--lightgray);opacity:1}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-orange)}.hover-lift-dark:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-darkblue)}.transition{transition:all var(--transition-normal)}@media print{.admin-sidebar,.admin-topbar,.btn-icon,.btn-primary,.btn-secondary,.btn-action,.cell-actions,.topbar-actions,.bulk-action-bar,.toast-container,.dialog-overlay{display:none!important}.admin-page{display:block}.admin-main{margin-left:0}.admin-content-area{padding:0}.view-section{display:block!important;page-break-inside:avoid}.data-table-wrapper{box-shadow:none;border:1px solid #000}.data-table th{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.data-table th,.data-table td{border:1px solid #000}.dashboard-card,.report-card,.stat-box{box-shadow:none;border:1px solid #000;page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")";font-size:10px;color:#666}.stats-row,.dashboard-grid,.reports-grid{page-break-inside:avoid}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media screen{.print-only{display:none}}.btn-print{display:inline-flex;align-items:center;gap:var(--gap-xs);padding:var(--gap-sm) var(--gap-md);background:var(--white);border:1px solid var(--gray);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm)}.btn-print:hover{background:var(--lightgray)}.print-header{display:none}@media print{.print-header{display:block;text-align:center;margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #000}.print-header h1{margin:0;font-size:24px}.print-header p{margin:5px 0 0;color:#666;font-size:12px}.print-date{text-align:right;font-size:12px;color:#666;margin-bottom:20px}}
