:root{color:#111827;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#111827;background:#f8fafc;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,textarea,select{outline:none}img{max-width:100%;display:block}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-thumb{background:#0f172a40;border-radius:999px}.app-shell{background:#f8fafc;flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;cursor:pointer;font-size:1.15rem;font-weight:700}.nav-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nav-links a,.nav-button{color:#1f2937;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.nav-links a:hover,.nav-button:hover,.nav-links a.active{color:#fff;background:#2563eb}.nav-button{color:#fff;background:#ef4444;border-color:#ef4444}.content-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 72px}.page-view{flex-direction:column;gap:24px;display:flex}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:48px 16px}.auth-page .page-header{text-align:center;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;display:flex}.auth-card{border-radius:32px;width:min(520px,100%);padding:34px 32px}.auth-page .form-grid{grid-template-columns:1fr;gap:18px}.auth-page .form-actions{flex-wrap:wrap;justify-content:space-between}.auth-page .link-button{color:#2563eb;margin-right:auto}.admin-dashboard .page-header{gap:10px}.admin-dashboard .card-group{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-dashboard .table-wrapper{border-radius:24px;margin-top:18px;padding:20px}.admin-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.admin-toolbar .search-input{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:320px;padding:10px 12px}.admin-toolbar .toolbar-right{gap:10px;display:flex}.admin-dashboard h1{margin:0;font-size:1.4rem}.admin-dashboard p{color:#475569;margin:4px 0 0}.pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;display:flex}.page-info{color:#475569;font-weight:600}.modal-overlay{z-index:50;background:#02061780;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:min(560px,92%);padding:22px;box-shadow:0 12px 34px #0206172e}.register-page-shell{flex-direction:column;gap:28px;width:min(1180px,100% - 32px);min-height:calc(100vh - 24px);margin:0 auto;padding:40px 20px 72px;display:flex;position:relative}.register-page-shell:before{content:"";z-index:-1;background:radial-gradient(circle at 0 0,#2563eb29,#0000 24%),radial-gradient(circle at 100% 100%,#3b82f614,#0000 25%),linear-gradient(#f8fafcf5,#fffffff5);position:absolute;inset:0}.register-copy{gap:16px;max-width:760px;display:grid}.register-copy h1{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3vw,3.2rem);line-height:1.05}.register-copy p{color:#475569;max-width:720px;margin:0;font-size:1rem}.register-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border:1px solid #94a3b829;border-radius:32px;padding:32px;box-shadow:0 34px 90px #0f172a1f}.card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:28px;box-shadow:0 18px 60px #0f172a14}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.section-heading{border-bottom:1px solid #94a3b82e;grid-column:1/-1;margin-bottom:4px;padding-bottom:12px}.section-heading h2{text-transform:uppercase;letter-spacing:.12em;color:#1e293b;margin:0;font-size:1rem}.form-field.full-width{grid-column:1/-1}.form-field label{color:#0f172a;font-size:.95rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:18px;width:100%;padding:14px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s,transform .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 0 0 4px #2563eb1f}.error-message{color:#dc2626;margin:0;font-size:.92rem}.success-message{color:#166534;background:#dcfce7bf;border-radius:16px;grid-column:1/-1;padding:14px 18px;font-size:.96rem;font-weight:600}.form-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:14px;display:flex}.primary-button,.secondary-button{border:none;border-radius:999px;min-width:170px;padding:14px 26px;font-weight:700}.primary-button{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 18px 40px #2563eb2e}.primary-button:disabled{opacity:.72;cursor:not-allowed}@media (width<=920px){.form-grid{grid-template-columns:1fr}.register-page-shell{padding:32px 18px 60px}.form-actions{justify-content:stretch}}@media (width<=640px){.app-header{padding:18px}.register-page-shell{width:min(100%,100% - 24px);padding:26px 14px 52px}.register-copy h1{font-size:2rem}.card,.register-card{padding:24px}.form-actions{flex-direction:column;align-items:stretch}}.form-field{gap:10px;display:grid}.form-field label{font-size:.95rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:100%;padding:12px 14px;font-size:1rem}.form-field textarea{resize:vertical;min-height:100px}.error-message{color:#dc2626;font-size:.92rem}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.primary-button,.secondary-button{border:none;border-radius:999px;padding:12px 24px;font-weight:700}.primary-button{color:#fff;background:#2563eb}.secondary-button{color:#1f2937;background:#f8fafc;border:1px solid #cbd5e1}.card-group{gap:18px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.stats-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:22px}.table-wrapper{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:14px 16px}.table th{color:#0f172a;background:#f8fafc;font-weight:700}.table tr:hover{background:#f1f5f9}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.badge{color:#0c4a6e;background:#e0f2fe;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.link-button{color:#2563eb;background:0 0;border:none;padding:0;font-weight:700}@media (width<=840px){.app-header{flex-direction:column;align-items:stretch}.nav-links{justify-content:flex-start}.content-shell{width:min(100%,100% - 24px);padding:24px 0 60px}}
