@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&family=Source+Sans+3:wght@400;500;600&display=swap";:root{font-family:"Source Sans 3",sans-serif;line-height:1.5;font-weight:400;color:#14221f;background-color:#f4f6f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #14221f;--muted: #5a6b66;--accent: #0f7b6c;--accent-strong: #0b5f53;--accent-soft: #e4f3ee;--border: #d5e1db;--card: #ffffff;--shadow: 0 20px 40px rgba(15, 44, 40, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(255,255,255,.9),transparent 50%),radial-gradient(circle at 20% 20%,rgba(15,123,108,.08),transparent 40%),#f4f6f2;color:var(--ink);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font-family:inherit}#root{min-height:100vh}*{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}input,textarea{user-select:text;-webkit-user-select:text}img{-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;pointer-events:none}@media print{*{visibility:hidden;display:none!important}body{background:#fff}html:before{content:"Printing is not allowed";display:block;font-size:24px;text-align:center;margin-top:50px}}@page{margin:0;padding:0;size:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--border);background:var(--surface);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:var(--text-sm);font-family:inherit;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:before{opacity:1}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:before{display:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary);color:#fff;box-shadow:0 2px 4px #0f7b6c33}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);border-color:var(--primary-light);box-shadow:0 4px 8px #0f7b6c4d}.btn-primary:focus-visible{box-shadow:var(--shadow-focus)}.btn-secondary{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-dark) 100%);border-color:var(--secondary);color:#fff;box-shadow:0 2px 4px #6366f133}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,var(--secondary-light) 0%,var(--secondary) 100%);border-color:var(--secondary-light)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-lighter)}.btn-ghost:hover:not(:disabled){background:var(--ghost-hover);color:var(--ink)}.btn-outline{background:transparent;border-color:var(--primary);color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-dark) 100%);border-color:var(--danger);color:#fff;box-shadow:0 2px 4px #ef444433}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,var(--danger-light) 0%,var(--danger) 100%);box-shadow:0 4px 8px #ef44444d}.btn-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%);border-color:var(--success);color:#fff;box-shadow:0 2px 4px #10b98133}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,var(--success-light) 0%,var(--success) 100%)}.btn-warning{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-dark) 100%);border-color:var(--warning);color:#fff;box-shadow:0 2px 4px #f59e0b33}.btn-small{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-md);gap:var(--space-1)}.btn-large{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-xl)}.btn-icon{padding:var(--space-3);aspect-ratio:1}.btn-icon.btn-small{padding:var(--space-2)}.btn-loading{pointer-events:none}.btn-loading .btn-text{opacity:0}.btn-loading .btn-spinner{position:absolute}.btn-spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:spin .6s linear infinite}.btn-group{display:flex;gap:var(--space-2)}.btn-group-connected{gap:0}.btn-group-connected .btn{border-radius:0}.btn-group-connected .btn:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.btn-group-connected .btn:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.btn-group-connected .btn:not(:last-child){border-right:none}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.input-wrapper label{font-size:var(--text-sm);font-weight:500;color:var(--ink-light)}.input-wrapper label .required{color:var(--danger);margin-left:2px}.input-field{position:relative}.input-field .input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-field.has-icon input,.input-field.has-icon select{padding-left:var(--space-10)}.input-wrapper input,.input-wrapper select,.input-wrapper textarea{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm);font-family:inherit;color:var(--ink);transition:all var(--transition-fast)}.input-wrapper input::placeholder,.input-wrapper textarea::placeholder{color:var(--muted-light)}.input-wrapper input:hover,.input-wrapper select:hover,.input-wrapper textarea:hover{border-color:var(--muted-light)}.input-wrapper input:focus,.input-wrapper select:focus,.input-wrapper textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.input-wrapper textarea{min-height:100px;resize:vertical}.input-wrapper.has-error input,.input-wrapper.has-error select,.input-wrapper.has-error textarea{border-color:var(--danger)}.input-wrapper.has-error input:focus,.input-wrapper.has-error select:focus{box-shadow:0 0 0 3px #ef444426}.input-error{font-size:var(--text-xs);color:var(--danger);display:flex;align-items:center;gap:var(--space-1)}.input-hint{font-size:var(--text-xs);color:var(--muted)}.checkbox-wrapper,.radio-wrapper{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.checkbox-wrapper input,.radio-wrapper input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--primary-100);transform:translateY(-2px)}.card-padded{padding:var(--space-5)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.card-header h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-lg)}.card-header .muted{margin:0;font-size:var(--text-sm)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--border-light)}.card-elevated{box-shadow:var(--shadow-lg)}.card-bordered{box-shadow:none}.card-featured{border:2px solid var(--primary);position:relative}.card-featured:before{content:"★ Featured";position:absolute;top:var(--space-3);right:var(--space-3);background:var(--primary);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm)}.alert-icon{font-size:var(--text-xl);flex-shrink:0;margin-top:2px}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:var(--space-1)}.alert-message{opacity:.9}.alert-error{background:var(--danger-bg);color:var(--danger-dark);border:1px solid rgba(239,68,68,.2)}.alert-success{background:var(--success-bg);color:var(--success-dark);border:1px solid rgba(16,185,129,.2)}.alert-warning{background:var(--warning-bg);color:var(--warning-dark);border:1px solid rgba(245,158,11,.2)}.alert-info{background:var(--info-bg);color:var(--info-dark);border:1px solid rgba(59,130,246,.2)}.alert-dismiss{background:none;border:none;font-size:var(--text-lg);cursor:pointer;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);line-height:1;color:inherit}.alert-dismiss:hover{opacity:1;background:#0000001a}.alert-dismiss:hover{opacity:1}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-default{background:var(--border-light);color:var(--muted)}.badge-primary{background:var(--primary);color:#fff}.badge-secondary{background:var(--secondary);color:#fff}.badge-success{background:var(--success-bg);color:var(--success-dark)}.badge-warning{background:var(--warning-bg);color:var(--warning-dark)}.badge-danger{background:var(--danger-bg);color:var(--danger-dark)}.badge-info{background:var(--info-bg);color:var(--info-dark)}.badge-outline{background:transparent;border:1px solid currentColor}.badge-dot{padding-left:var(--space-2)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.badge-sm{padding:2px var(--space-2);font-size:.65rem}.badge-lg{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-inner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner-small .spinner-inner{width:16px;height:16px;border-width:2px}.spinner-medium .spinner-inner{width:32px;height:32px}.spinner-large .spinner-inner{width:48px;height:48px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);color:var(--muted)}.loading-state p{font-size:var(--text-sm);color:inherit}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center}.empty-state h3{margin:0;font-size:var(--text-lg);color:var(--ink)}.empty-state .muted{margin:0;max-width:320px;font-size:var(--text-sm)}.empty-icon{font-size:3rem;opacity:.3}.stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition-fast)}.stat-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.stat-icon{font-size:var(--text-2xl);line-height:1}.stat-content{display:flex;flex-direction:column;gap:var(--space-1)}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.stat-value{font-size:var(--text-xl);font-weight:700;font-family:var(--font-display);color:var(--ink)}.stat-trend{font-size:var(--text-xs);display:inline-flex;align-items:center;gap:var(--space-1);font-weight:500}.stat-trend.positive{color:var(--success)}.stat-trend.negative{color:var(--danger)}.stat-change{font-size:var(--text-xs);display:inline-flex;align-items:center;gap:var(--space-1)}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--danger)}.progress{height:8px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow) ease-out}.progress-bar.success{background:linear-gradient(90deg,var(--success) 0%,var(--success-light) 100%)}.progress-bar.danger{background:linear-gradient(90deg,var(--danger) 0%,var(--danger-light) 100%)}.progress-bar.warning{background:linear-gradient(90deg,var(--warning) 0%,var(--warning-light) 100%)}.progress-sm{height:4px}.progress-lg{height:12px}.progress-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.progress-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.progress-label{color:var(--ink-lighter)}.progress-value{font-weight:600;color:var(--ink)}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm);flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--text-lg)}.avatar-xl{width:80px;height:80px;font-size:var(--text-2xl)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--surface);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.divider{height:1px;background:var(--border);margin:var(--space-4) 0}.divider-vertical{width:1px;height:auto;align-self:stretch;margin:0 var(--space-4)}.divider-with-text{display:flex;align-items:center;gap:var(--space-4);color:var(--muted);font-size:var(--text-sm)}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;height:1px;background:var(--border)}.tooltip-trigger{position:relative;cursor:help}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--space-2) var(--space-3);background:var(--ink);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:var(--z-tooltip)}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--ink)}.tooltip-trigger:hover .tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);padding-bottom:-1px}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tabs-pills{border-bottom:none;background:var(--border-light);padding:var(--space-1);border-radius:var(--radius-lg)}.tabs-pills .tab{border-bottom:none;border-radius:var(--radius-md);margin-bottom:0}.tabs-pills .tab.active{background:var(--surface);box-shadow:var(--shadow-sm)}.tab-content{padding:var(--space-4) 0}.tab-panel{animation:fadeIn var(--transition-fast) ease-out}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);animation:fadeIn .15s ease-out}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:420px;width:100%;max-height:90vh;overflow:auto;display:flex;flex-direction:column;animation:modalSlideIn .2s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog .modal-body{padding:var(--space-8) var(--space-6) var(--space-6);text-align:center}.confirm-dialog .modal-icon{width:72px;height:72px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto var(--space-5)}.confirm-dialog.danger .modal-icon{background:var(--danger-bg)}.confirm-dialog.warning .modal-icon{background:var(--warning-bg)}.confirm-dialog.info .modal-icon{background:var(--info-bg)}.confirm-dialog.success .modal-icon{background:var(--success-bg)}.confirm-title{font-size:var(--text-xl);font-weight:600;color:var(--ink);margin:0 0 var(--space-2)}.confirm-message{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.confirm-dialog .modal-footer{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;justify-content:center;gap:var(--space-3)}.confirm-dialog .modal-footer .btn{min-width:100px}.modal-title{font-size:var(--text-lg);font-weight:600;margin:0}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:var(--text-xl)}.modal:not(.confirm-dialog) .modal-body{padding:var(--space-6);overflow-y:auto;max-height:calc(90vh - 140px)}.modal:not(.confirm-dialog) .modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--space-3)}@media(max-width:480px){.modal-overlay{padding:var(--space-4);align-items:flex-end}.modal{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.confirm-dialog .modal-footer{flex-direction:column-reverse}.confirm-dialog .modal-footer .btn{width:100%}}.subscription-modal{display:flex;flex-direction:column;max-height:90vh}.subscription-modal .modal-body{padding:var(--space-8) var(--space-6) var(--space-4);text-align:center;position:relative;overflow-y:auto;flex:1}.modal-close-btn{position:absolute;top:var(--space-4);right:var(--space-4);width:36px;height:36px;border:none;background:var(--ghost-hover);color:var(--ink-lighter);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:10}.modal-close-btn:hover{background:var(--border);color:var(--ink)}.subscription-icon{width:80px;height:80px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto var(--space-5);background:linear-gradient(135deg,var(--danger-bg) 0%,var(--warning-bg) 100%)}.subscription-title{font-size:var(--text-xl);font-weight:700;color:var(--ink);margin:0 0 var(--space-3)}.subscription-message{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-6)}.subscription-message strong{color:var(--ink);font-weight:600}.subscription-benefits{background:var(--ghost-bg);border-left:3px solid var(--primary);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-6);text-align:left;display:flex;flex-direction:column;gap:var(--space-2)}.benefit-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink)}.benefit-icon{flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-full);background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.subscription-footer{padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--border);flex-shrink:0;background:var(--surface)}.contact-text{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 var(--space-4);font-weight:600}.social-links{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);justify-content:center}.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-decoration:none;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;overflow:hidden}.social-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.whatsapp-btn{border-color:#25d366;color:#25d366}.whatsapp-btn:hover{background:#25d36620}.facebook-btn{border-color:#1877f2;color:#1877f2}.facebook-btn:hover{background:#1877f220}.social-icon{font-size:var(--text-lg)}.social-text{display:none}@media(min-width:480px){.social-text{display:inline}}@media(max-width:480px){.subscription-modal{max-width:90vw}.subscription-footer{padding:var(--space-3) var(--space-4) var(--space-4)}.subscription-benefits{margin-bottom:var(--space-4);padding:var(--space-3)}.social-links{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column}.social-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);width:100%;justify-content:center;text-align:center;white-space:normal}.social-text{display:inline;margin-left:var(--space-2)}}.header{display:flex;gap:var(--space-6);align-items:flex-end;justify-content:space-between;flex-wrap:wrap;padding:var(--space-6) 0}.header-content{flex:1;min-width:300px}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.15em;font-size:var(--text-xs);color:var(--primary);margin:0 0 var(--space-3);font-weight:700}.eyebrow:before{content:"";width:24px;height:2px;background:linear-gradient(90deg,var(--primary) 0%,transparent 100%);border-radius:var(--radius-full)}.header h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin:0 0 var(--space-2);background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;letter-spacing:-.03em}.header h1 .bengali{display:block;font-size:.4em;letter-spacing:.05em;opacity:.7;margin-top:var(--space-1)}.subhead{margin:0 0 var(--space-3);max-width:600px;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.social-links{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-4);flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:all .3s ease;border:2px solid transparent}.social-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.social-label{white-space:nowrap}.social-link.whatsapp-group{color:#fff;background:linear-gradient(135deg,#25d366,#20ba5b);border-color:#25d366}.social-link.whatsapp-group:hover{background:linear-gradient(135deg,#20ba5b,#1f9f4f);transform:translateY(-2px);box-shadow:0 4px 12px #25d36666}.social-link.whatsapp-business{color:#fff;background:linear-gradient(135deg,#25d366,#20ba5b);border-color:#25d366}.social-link.whatsapp-business:hover{background:linear-gradient(135deg,#20ba5b,#1f9f4f);transform:translateY(-2px);box-shadow:0 4px 12px #25d36666}.social-link.facebook{color:#fff;background:linear-gradient(135deg,#1877f2,#0a66c2);border-color:#1877f2}.social-link.facebook:hover{background:linear-gradient(135deg,#0a66c2,#054399);transform:translateY(-2px);box-shadow:0 4px 12px #1877f266}.social-link:active{transform:translateY(0)}.header-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5);min-width:240px;box-shadow:var(--shadow-md);display:grid;gap:var(--space-3);position:relative;overflow:hidden}.header-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%)}.header-card-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 var(--space-2)}.header-card .stat-card{display:flex;justify-content:space-between;align-items:center;flex-direction:row;padding:var(--space-2) 0;border-bottom:1px solid var(--border-light)}.header-card .stat-card:last-child{border-bottom:none;padding-bottom:0}.header-card .stat-label{font-size:var(--text-sm);text-transform:none;letter-spacing:normal;color:var(--ink-lighter)}.header-card .stat-value{font-size:var(--text-lg);font-weight:700;color:var(--ink)}@media(max-width:768px){.header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.header-content,.header-card{min-width:auto}.header h1{font-size:clamp(1.75rem,6vw,2.5rem)}.social-links{gap:var(--space-2)}.social-link{flex:1;min-width:auto;justify-content:center;padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}.social-icon{width:20px;height:20px}}.navigation{display:flex;gap:var(--space-3);flex-wrap:nowrap;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-pills{display:flex;gap:var(--space-3);align-items:center;flex-wrap:nowrap}.nav-tab{display:flex;align-items:center;gap:var(--space-2);border:none;background:transparent;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--muted);transition:all var(--transition-fast);position:relative}.nav-tab:before{content:"";position:absolute;inset:0;border-radius:var(--radius-full);background:var(--primary);opacity:0;transform:scale(.95);transition:all var(--transition-fast)}.nav-tab:hover{color:var(--primary)}.nav-tab:hover:before{opacity:.08;transform:scale(1)}.nav-tab.active{color:#fff}.nav-tab.active:before{opacity:1;transform:scale(1);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);box-shadow:0 4px 12px #0f7b6c4d}.nav-icon{font-size:var(--text-lg);position:relative;z-index:1}.nav-label{position:relative;z-index:1}.nav-badge{position:absolute;top:2px;right:8px;min-width:18px;height:18px;padding:0 4px;background:var(--danger);color:#fff;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:2}@media(max-width:640px){.navigation{width:100%;justify-content:center;gap:var(--space-2);padding:var(--space-2)}.nav-tab{flex:0 0 auto;justify-content:center;padding:var(--space-3);min-width:auto}.nav-label{display:inline-block;font-size:.9rem}.nav-icon{font-size:var(--text-xl)}}.navigation.compact{background:transparent;border:none;box-shadow:none;padding:0}.navigation.compact .nav-tab{background:var(--surface);border:1px solid var(--border)}.navigation.compact .nav-tab.active{border-color:var(--primary)}.navigation.vertical{flex-direction:column;border-radius:var(--radius-xl);padding:var(--space-2)}.navigation.vertical .nav-tab{width:100%;justify-content:flex-start;border-radius:var(--radius-lg)}.user-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.user-profile{display:flex;align-items:center;gap:var(--space-3)}.user-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-base);flex-shrink:0;box-shadow:0 2px 8px #0f7b6c4d}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:600;color:var(--ink);font-size:var(--text-sm)}.user-role{font-size:var(--text-xs);color:var(--muted);display:flex;align-items:center;gap:var(--space-1)}.user-role .role-badge{padding:2px var(--space-2);background:var(--primary-50);color:var(--primary);border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.user-stats{display:flex;gap:var(--space-6)}.user-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.user-stat-value{font-size:var(--text-lg);font-weight:700;font-family:var(--font-display);color:var(--ink)}.user-stat-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.user-actions{display:flex;gap:var(--space-2)}.user-action-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--muted);cursor:pointer;transition:all var(--transition-fast);position:relative}.user-action-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}.user-action-btn .notification-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger);border-radius:var(--radius-full);border:2px solid var(--surface)}.user-dropdown{position:relative}.user-dropdown-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.user-dropdown-trigger:hover{background:var(--ghost-hover)}.user-dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-2);min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast)}.user-dropdown.open .user-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;background:transparent;font-size:var(--text-sm);color:var(--ink-lighter);cursor:pointer;transition:all var(--transition-fast);text-align:left}.user-dropdown-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.user-dropdown-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.user-dropdown-item:hover{background:var(--ghost-hover);color:var(--ink)}.user-dropdown-item.danger{color:var(--danger)}.user-dropdown-item.danger:hover{background:var(--danger-bg)}.user-dropdown-divider{height:1px;background:var(--border);margin:var(--space-2) 0}.user-bar.grid-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);padding:0;background:transparent;border:none;box-shadow:none}.user-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-2);box-shadow:var(--shadow-sm)}.user-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500}.user-info{display:flex;flex-direction:column;gap:2px}.user-info strong{color:var(--ink);font-size:var(--text-base)}.user-info span{font-size:var(--text-sm);color:var(--muted)}@media(max-width:768px){.user-bar{flex-wrap:wrap;gap:var(--space-3)}.user-profile{order:1;flex:0 0 auto}.user-actions{order:2;flex:0 0 auto}.user-meta{order:3;flex-basis:100%;width:100%;justify-content:center;margin-top:var(--space-0)}}@media(max-width:480px){.user-bar.grid-layout{grid-template-columns:1fr}}.user-meta{display:flex;align-items:center;gap:var(--space-4)}.user-meta{flex:1 1 auto;display:flex;align-items:center;justify-content:center}.user-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em}.user-badge .badge-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--success)}.user-badge[data-role=admin]{background:var(--primary-50);border-color:var(--primary-light);color:var(--primary)}.user-badge[data-role=admin] .badge-dot{background:var(--primary)}.user-badge[data-role=demo]{background:var(--danger-bg, #fff4e5);border-color:var(--danger, #e6a800);color:var(--danger, #e6a800)}.user-badge[data-role=demo] .badge-dot{background:var(--danger, #e6a800)}.user-contact{font-size:var(--text-xs);color:var(--muted)}.login-form{max-width:400px;margin:var(--space-8) auto;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.login-form-grid{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.login-form .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.login-form .form-group label{font-size:var(--text-sm);font-weight:500;color:var(--ink-light)}.login-form .form-group input,.login-form .form-group select{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);font-size:var(--text-base);color:var(--ink);transition:all var(--transition-fast)}.login-form .form-group input::placeholder{color:var(--muted-light)}.login-form .form-group input:hover,.login-form .form-group select:hover{border-color:var(--muted-light)}.login-form .form-group input:focus,.login-form .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-error{color:var(--danger);font-size:var(--text-sm);margin:0;padding:var(--space-3) var(--space-4);background:var(--danger-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--space-2)}.form-error:before{content:"⚠️"}.login-submit{width:100%;margin-top:var(--space-2)}.login-help{margin:var(--space-5) 0 0;font-size:var(--text-sm);color:var(--muted);text-align:center}@media(max-width:480px){.login-form{margin:var(--space-4);padding:var(--space-5)}}.exam-list-panel{display:flex;flex-direction:column;height:100%}.exam-list-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.exam-search{flex:1;min-width:200px;position:relative}.exam-search input{width:100%;padding:var(--space-3) var(--space-4);padding-left:var(--space-10);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-size:var(--text-sm);transition:all var(--transition-fast)}.exam-search input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.exam-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.exam-filter-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--ink-lighter);cursor:pointer;transition:all var(--transition-fast)}.exam-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.exam-filter-btn.active{background:var(--primary-50);border-color:var(--primary);color:var(--primary)}.exam-list{display:flex;flex-direction:column;gap:var(--space-3);flex:1;overflow-y:auto;max-height:550px;padding-right:var(--space-2)}.exam-list::-webkit-scrollbar{width:6px}.exam-list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;text-align:left;transition:all var(--transition-base);position:relative;overflow:hidden}.exam-list-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);transform:scaleY(0);transition:transform var(--transition-fast)}.exam-list-item:hover{border-color:var(--primary-100);box-shadow:var(--shadow-md);transform:translate(2px)}.exam-list-item:hover:before{transform:scaleY(1)}.exam-list-item.active{border-color:var(--primary);background:var(--primary-50);box-shadow:var(--shadow-md)}.exam-list-item.active:before{transform:scaleY(1)}.exam-list-item.featured{border-color:var(--warning);background:var(--warning-bg)}.exam-list-item.featured:before{background:var(--warning);transform:scaleY(1)}.exam-list-item.locked{opacity:.65;background:var(--ghost-bg);cursor:not-allowed;border-color:var(--border)}.exam-list-item.locked:hover{transform:none;box-shadow:none;border-color:var(--danger);opacity:.75}.exam-list-item.locked:hover:before{transform:scaleY(0)}.lock-icon{position:absolute;top:var(--space-3);right:var(--space-3);font-size:1.5rem;z-index:2}.demo-badge{display:inline-block;background:var(--success);color:#fff;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:.65rem;font-weight:600;margin-left:var(--space-2);text-transform:uppercase}.exam-list-content{flex:1;min-width:0}.exam-list-content h3{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:600;color:var(--ink);display:flex;align-items:center;gap:var(--space-2)}.exam-list-content h3 .featured-star{color:var(--warning);font-size:var(--text-sm)}.exam-list-content p{margin:0;font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-list-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.exam-list-tags .badge{font-size:.65rem;padding:2px var(--space-2)}.exam-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.exam-duration{font-size:var(--text-sm);font-weight:600;color:var(--primary);background:var(--primary-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--space-1)}.exam-duration:before{content:"⏱";font-size:var(--text-xs)}.exam-questions-count{font-size:var(--text-xs);color:var(--muted)}.exam-negative{font-size:var(--text-xs);color:var(--danger);font-weight:500;display:inline-flex;align-items:center;gap:var(--space-1)}.exam-difficulty{display:flex;gap:2px}.exam-difficulty-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--border)}.exam-difficulty.easy .exam-difficulty-dot:nth-child(1){background:var(--success)}.exam-difficulty.medium .exam-difficulty-dot:nth-child(1),.exam-difficulty.medium .exam-difficulty-dot:nth-child(2){background:var(--warning)}.exam-difficulty.hard .exam-difficulty-dot{background:var(--danger)}.exam-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.exam-list-empty-icon{font-size:3rem;opacity:.3;margin-bottom:var(--space-4)}.exam-list-empty h3{font-size:var(--text-lg);margin:0 0 var(--space-2)}.exam-list-empty p{color:var(--muted);font-size:var(--text-sm)}.exam-list-skeleton{display:flex;flex-direction:column;gap:var(--space-3)}.exam-skeleton-item{padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.exam-skeleton-title{height:16px;width:70%;background:var(--border-light);border-radius:var(--radius-sm);margin-bottom:var(--space-2);animation:shimmer 1.5s infinite;background-size:200% 100%;background-image:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%)}.exam-skeleton-desc{height:12px;width:50%;background:var(--border-light);border-radius:var(--radius-sm);animation:shimmer 1.5s infinite;animation-delay:.1s;background-size:200% 100%;background-image:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%)}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);animation:slideIn .3s ease-out;animation-delay:calc(var(--index) * .05s);animation-fill-mode:both;transition:all var(--transition-base);position:relative}.question-card:hover{border-color:var(--primary-100);box-shadow:var(--shadow-md)}.question-card.answered{border-left:4px solid var(--success)}.question-card.flagged{border-left:4px solid var(--warning)}.question-card.flagged:before{content:"🚩";position:absolute;top:var(--space-3);right:var(--space-3);font-size:var(--text-sm)}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.question-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.question-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:var(--radius-lg);font-weight:700;font-size:var(--text-sm);flex-shrink:0;box-shadow:0 2px 4px #0f7b6c33}.question-text{flex:1;margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--ink);font-weight:500}.question-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.question-points{padding:var(--space-1) var(--space-3);background:var(--primary-50);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--primary)}.question-difficulty{font-size:var(--text-xs);color:var(--muted);text-transform:capitalize}.question-difficulty.easy{color:var(--success)}.question-difficulty.medium{color:var(--warning)}.question-difficulty.hard{color:var(--danger)}.question-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.question-action-btn{padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--muted);cursor:pointer;transition:all var(--transition-fast)}.question-action-btn:hover{background:var(--ghost-hover);color:var(--ink)}.question-action-btn.flagged{color:var(--warning)}.choices-container{margin-left:56px}.choices-hint{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--muted);font-style:italic}.choices.single,.choices.multiple{display:flex;flex-direction:column;gap:var(--space-3)}.choice-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.choice-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);transform:scaleY(0);transition:transform var(--transition-fast)}.choice-item:hover{background:var(--ghost-hover);border-color:var(--primary-100)}.choice-item:hover:before{transform:scaleY(.3)}.choice-item.selected{background:var(--primary-50);border-color:var(--primary)}.choice-item.selected:before{transform:scaleY(1)}.choice-item input{display:none}.choice-marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--border-light);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-sm);color:var(--muted);flex-shrink:0;transition:all var(--transition-fast)}.choice-item.selected .choice-marker{background:var(--primary);color:#fff;box-shadow:0 2px 4px #0f7b6c4d}.choice-item:hover:not(.selected) .choice-marker{background:var(--primary-100);color:var(--primary)}.choice-text{flex:1;font-size:var(--text-sm);color:var(--ink);line-height:var(--leading-normal)}.choices.multiple .choice-marker{border-radius:var(--radius-sm)}.choices.multiple .choice-item.selected .choice-marker:after{content:"✓";font-size:var(--text-xs)}.choices.tf{display:flex;flex-direction:column;gap:var(--space-3)}.tf-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:all var(--transition-fast)}.tf-item:hover{border-color:var(--primary-100);box-shadow:var(--shadow-sm)}.tf-text{flex:1;font-size:var(--text-sm);color:var(--ink);line-height:var(--leading-normal)}.tf-buttons{display:flex;gap:var(--space-2);flex-shrink:0}.tf-btn{padding:var(--space-2) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font-weight:600;font-size:var(--text-sm);transition:all var(--transition-fast);min-width:70px}.tf-btn:hover{background:var(--ghost-hover);border-color:var(--muted-light)}.tf-btn.active.true{background:var(--success-bg);border-color:var(--success);color:var(--success-dark)}.tf-btn.active.false{background:var(--danger-bg);border-color:var(--danger);color:var(--danger-dark)}.question-card.review-mode .choice-item.correct{background:var(--success-bg);border-color:var(--success)}.question-card.review-mode .choice-item.correct:before{background:var(--success);transform:scaleY(1)}.question-card.review-mode .choice-item.incorrect{background:var(--danger-bg);border-color:var(--danger)}.question-card.review-mode .choice-item.incorrect:before{background:var(--danger);transform:scaleY(1)}.question-card.review-mode .choice-item.correct .choice-marker{background:var(--success);color:#fff}.question-card.review-mode .choice-item.incorrect .choice-marker{background:var(--danger);color:#fff}.question-explanation{margin-top:var(--space-4);padding:var(--space-4);background:var(--info-bg);border-radius:var(--radius-lg);border-left:4px solid var(--info)}.question-explanation-title{font-size:var(--text-sm);font-weight:600;color:var(--info-dark);margin-bottom:var(--space-2)}.question-explanation-text{font-size:var(--text-sm);color:var(--ink-lighter);line-height:var(--leading-relaxed)}@media(max-width:640px){.question-card{padding:var(--space-4)}.choices-container{margin-left:0;margin-top:var(--space-4)}.question-header{flex-wrap:wrap}.question-number{width:36px;height:36px}.tf-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.tf-buttons{width:100%}.tf-btn{flex:1}.choice-item{padding:var(--space-3);gap:var(--space-3)}.choice-marker{width:28px;height:28px;font-size:var(--text-xs)}}.exam-workspace{flex:1;min-width:0}.exam-workspace.card{overflow:visible}.exam-workspace.focus-mode{max-width:100%}.exam-detail{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5)}.exam-header{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.exam-title-section{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.exam-title-info h3{margin:0 0 var(--space-2);font-size:var(--text-xl);font-family:var(--font-display);color:var(--ink)}.exam-title-info p{margin:0;color:var(--muted);font-size:var(--text-sm)}.exam-category-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--primary-50);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;color:var(--primary)}.exam-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.exam-stats .stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--border-light);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-fast)}.exam-stats .stat:hover{background:var(--primary-50)}.exam-stats .stat-icon{font-size:var(--text-xl);margin-bottom:var(--space-1)}.exam-stats .stat span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}.exam-stats .stat strong{font-size:var(--text-lg);font-weight:700;color:var(--ink);font-family:var(--font-display)}.exam-stats .stat.timer{position:relative;overflow:hidden}.exam-stats .stat.timer.warning{background:var(--danger-bg);border:1px solid rgba(239,68,68,.2)}.exam-stats .stat.timer.warning strong{color:var(--danger);animation:pulse 1s ease-in-out infinite}.exam-stats .stat.timer.warning:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.1) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.student-selector{display:flex;flex-direction:column;gap:var(--space-2)}.student-selector label{font-size:var(--text-sm);font-weight:500;color:var(--ink-lighter)}.student-selector select{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);font-size:var(--text-base);color:var(--ink);cursor:pointer;transition:all var(--transition-fast)}.student-selector select:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.readonly-student{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--border-light);font-weight:600;color:var(--ink);display:flex;align-items:center;gap:var(--space-2)}.readonly-student:before{content:"👤"}.start-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-10);border:2px dashed var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--primary-50) 0%,transparent 100%);text-align:center}.start-section-icon{font-size:3rem;opacity:.8}.start-section h4{margin:0;font-size:var(--text-lg);color:var(--ink)}.start-section .muted{margin:0;font-size:var(--text-sm);max-width:400px}.start-section .btn{margin-top:var(--space-2)}.exam-control-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:var(--z-sticky);flex-wrap:wrap}.exam-control-bar .control-bar-timer,.exam-control-bar .control-bar-progress{display:flex;flex-direction:column;align-items:center;gap:0;min-width:50px}.exam-control-bar .control-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500;line-height:1;display:none}.exam-control-bar .control-value{font-size:var(--text-base);font-weight:700;color:var(--ink);font-family:var(--font-display);line-height:1.2}.exam-control-bar .control-value.warning{color:var(--danger);animation:pulse 1s ease-in-out infinite}.exam-control-bar .btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);white-space:nowrap}@media(min-width:768px){.exam-control-bar{gap:var(--space-4);padding:var(--space-3) var(--space-4)}.exam-control-bar .control-bar-timer,.exam-control-bar .control-bar-progress{gap:var(--space-1);min-width:70px}.exam-control-bar .control-label{display:block;font-size:var(--text-xs)}.exam-control-bar .control-value{font-size:var(--text-lg)}.exam-control-bar .btn{padding:var(--space-3) var(--space-5);font-size:var(--text-base)}}.questions-container{display:flex;flex-direction:column;gap:var(--space-4)}.question-progress{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);position:sticky;top:var(--space-4);z-index:var(--z-sticky)}.question-progress-bar{flex:1;height:8px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden}.question-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--success) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow) ease-out}.question-progress-text{font-size:var(--text-sm);font-weight:600;color:var(--ink);white-space:nowrap}.question-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.question-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);font-weight:600;color:var(--ink-lighter);cursor:pointer;transition:all var(--transition-fast)}.question-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.question-nav-btn.current{background:var(--primary);border-color:var(--primary);color:#fff}.question-nav-btn.answered{background:var(--success-bg);border-color:var(--success);color:var(--success-dark)}.question-nav-btn.flagged{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-dark)}.submit-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:sticky;bottom:var(--space-4)}.submit-section .muted{margin:0;font-size:var(--text-sm)}.submit-section .btn{min-width:200px}.submit-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--warning-bg);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--warning-dark)}.exam-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-10);border-radius:var(--radius-2xl);text-align:center;animation:scaleIn var(--transition-spring)}.exam-result.excellent{background:linear-gradient(135deg,var(--success-bg) 0%,rgba(16,185,129,.02) 100%);border:2px solid var(--success)}.exam-result.good{background:linear-gradient(135deg,var(--info-bg) 0%,rgba(59,130,246,.02) 100%);border:2px solid var(--info)}.exam-result.average{background:linear-gradient(135deg,var(--warning-bg) 0%,rgba(245,158,11,.02) 100%);border:2px solid var(--warning)}.exam-result.needs-improvement{background:linear-gradient(135deg,var(--danger-bg) 0%,rgba(239,68,68,.02) 100%);border:2px solid var(--danger)}.result-icon{font-size:4rem;animation:pulse 2s ease-in-out infinite}.result-header h3{margin:0;font-size:var(--text-2xl);font-family:var(--font-display);color:var(--ink)}.result-header p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm)}.result-score{display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-display)}.score-value{font-size:4rem;font-weight:800;color:var(--ink);line-height:1}.score-separator,.score-total{font-size:var(--text-2xl);color:var(--muted)}.result-percentage{font-size:var(--text-2xl);font-weight:700;padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);background:var(--primary);color:#fff}.exam-result.excellent .result-percentage{background:var(--success)}.exam-result.good .result-percentage{background:var(--info)}.exam-result.average .result-percentage{background:var(--warning)}.exam-result.needs-improvement .result-percentage{background:var(--danger)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);width:100%;max-width:400px}.result-stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border)}.result-stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.result-stat-value{font-size:var(--text-xl);font-weight:700;color:var(--ink)}.result-stat.correct .result-stat-value{color:var(--success)}.result-stat.wrong .result-stat-value{color:var(--danger)}.result-stat.skipped .result-stat-value{color:var(--muted)}.result-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.exam-review{display:flex;flex-direction:column;gap:var(--space-6)}.review-header{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.review-header h3{margin:0;font-size:var(--text-xl);font-family:var(--font-display);color:var(--ink)}.review-header p{margin:0;color:var(--muted);font-size:var(--text-sm)}.review-score{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--text-lg)}.review-stats{display:grid;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.review-stats>div{display:flex;flex-direction:column;gap:var(--space-1)}.review-questions{display:flex;flex-direction:column;gap:var(--space-4)}.review-question-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface);border-left:4px solid var(--border);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition-base)}.review-question-card.correct{border-left-color:var(--success);background:#10b98105}.review-question-card.incorrect{border-left-color:var(--danger);background:#ef444405}.review-question-card.unanswered{border-left-color:var(--warning);background:#f59e0b05}.question-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.question-header strong{flex:1;font-size:var(--text-base);color:var(--ink)}.answer-status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.answer-status.correct{background:var(--success-bg);color:var(--success)}.answer-status.incorrect{background:var(--danger-bg);color:var(--danger)}.answer-status.unanswered{background:var(--warning-bg);color:var(--warning)}.choices-review{display:flex;flex-direction:column;gap:var(--space-3)}.choice-review{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base)}.choice-review.is-selected{border-color:var(--primary);background:#3b82f605}.choice-review.is-correct{border-color:var(--success)}.choice-review label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;flex:1;margin:0}.choice-review input{flex-shrink:0;cursor:not-allowed;opacity:.6}.choice-text{color:var(--ink);font-size:var(--text-sm);line-height:1.5}.tf-answer{display:inline-block;margin-left:auto;padding:var(--space-1) var(--space-2);background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.correct-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--success);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;margin-left:auto}@media(max-width:768px){.exam-header{padding:var(--space-4)}.exam-title-section{flex-direction:column}.exam-stats{grid-template-columns:repeat(2,1fr)}.start-section,.exam-result{padding:var(--space-6)}.score-value{font-size:3rem}.result-stats{grid-template-columns:1fr}}.exam-history{max-width:900px;margin:0 auto}.history-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.history-header h2{margin:0;font-size:var(--text-2xl);font-family:var(--font-display)}.history-filters{display:flex;gap:var(--space-3)}.history-filter{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);font-size:var(--text-sm);color:var(--muted);cursor:pointer;transition:all var(--transition-fast)}.history-filter:hover{border-color:var(--primary);color:var(--primary)}.history-filter.active{background:var(--primary);border-color:var(--primary);color:#fff}.history-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.history-user-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-lg)}.history-user-info{flex:1}.history-user-name{font-weight:600;color:var(--ink);margin:0 0 var(--space-1)}.history-user-stats{display:flex;gap:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.history-user-stat{display:flex;align-items:center;gap:var(--space-1)}.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.history-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.history-stat-value{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-display);color:var(--ink)}.history-stat-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.history-list{display:flex;flex-direction:column;gap:var(--space-3)}.history-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.history-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.history-item:hover{box-shadow:var(--shadow-md);transform:translate(2px)}.history-item.excellent:before{background:var(--success)}.history-item.good:before{background:var(--info)}.history-item.average:before{background:var(--warning)}.history-item.needs-improvement:before{background:var(--danger)}.history-content{flex:1;min-width:0}.history-content h3{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:600;color:var(--ink)}.history-content p{margin:0;font-size:var(--text-sm);color:var(--muted)}.history-meta{display:flex;gap:var(--space-4);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--muted)}.history-meta-item{display:flex;align-items:center;gap:var(--space-1)}.history-score{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.history-score .score-value{font-weight:700;font-size:var(--text-lg);font-family:var(--font-display);color:var(--ink)}.score-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.score-badge.excellent{background:var(--success-bg);color:var(--success-dark)}.score-badge.good{background:var(--info-bg);color:var(--info-dark)}.score-badge.average{background:var(--warning-bg);color:var(--warning-dark)}.score-badge.needs-improvement{background:var(--danger-bg);color:var(--danger-dark)}.history-actions{display:flex;gap:var(--space-2)}.history-action-btn{padding:var(--space-2);background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.history-action-btn:hover{background:var(--ghost-hover);color:var(--primary)}.history-empty{text-align:center;padding:var(--space-12) var(--space-6)}.history-empty-icon{font-size:4rem;opacity:.3;margin-bottom:var(--space-4)}.history-empty h3{font-size:var(--text-lg);margin:0 0 var(--space-2)}.history-empty p{color:var(--muted);font-size:var(--text-sm);margin:0 0 var(--space-6)}@media(max-width:640px){.history-header{flex-direction:column;align-items:stretch}.history-filters{overflow-x:auto;padding-bottom:var(--space-2)}.history-item{flex-direction:column;align-items:flex-start}.history-score{width:100%;flex-direction:row;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:var(--space-3)}.history-stats{grid-template-columns:repeat(2,1fr)}}.review-score{padding:var(--space-3) var(--space-4);background:var(--info-bg);border-left:4px solid var(--info);border-radius:var(--radius-md);font-size:var(--text-base)}.review-stats{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--text-sm)}.review-stats div{display:flex;justify-content:space-between}.review-questions{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.review-question-card{padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.review-question-card.correct{border-color:var(--success);background:#22c55e0d}.review-question-card.incorrect{border-color:var(--danger);background:#ef44440d}.review-question-card.unanswered{border-color:var(--warning);background:#fb923c0d}.question-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);font-weight:600}.answer-status{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.answer-status.correct{background:var(--success-bg);color:var(--success-dark)}.answer-status.incorrect{background:var(--danger-bg);color:var(--danger-dark)}.answer-status.unanswered{background:var(--warning-bg);color:var(--warning-dark)}.choices-review{display:flex;flex-direction:column;gap:var(--space-2)}.choice-review{padding:var(--space-3);background:var(--ghost);border:2px solid var(--border);border-radius:var(--radius-md);position:relative;transition:all var(--transition-fast)}.choice-review.is-selected{border-color:var(--info);background:#3b82f614}.choice-review.is-selected.is-correct,.choice-review.is-correct{border-color:var(--success);background:#22c55e1a}.choice-review label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;margin:0}.choice-review input{cursor:pointer;accent-color:var(--info)}.choice-review.is-selected input{accent-color:var(--info)}.choice-review.is-selected.is-correct input{accent-color:var(--success)}.choice-text{flex:1;font-size:var(--text-sm)}.tf-answer{margin-left:var(--space-2);font-size:var(--text-xs);color:var(--muted);background:var(--surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.correct-badge{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--success);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700}.admin-panel{display:flex;flex-direction:column;gap:var(--space-6);width:100%;grid-column:1 / -1}.admin-section{display:grid;grid-template-columns:1fr;gap:var(--space-6);width:100%}.admin-card{display:flex;flex-direction:column}.admin-card.full-width,.admin-card.question-card{grid-column:1 / -1}.admin-section-tabs{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--border-light);border-radius:var(--radius-lg);flex-wrap:nowrap;margin-bottom:var(--space-4);width:100%}.admin-section-tab{flex:1 1 0;min-width:auto;padding:var(--space-3) var(--space-5);border:2px solid transparent;background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--transition-base);text-align:center;white-space:nowrap}.admin-section-tab:hover{color:var(--ink);border-color:var(--primary-light);background:var(--primary-50)}.admin-section-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md)}.admin-stats-card{grid-column:1 / -1}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg,var(--ghost) 0%,var(--surface) 100%);border-radius:var(--radius-lg)}.admin-stat-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.admin-stat-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.admin-stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);background:var(--primary-50);border-radius:var(--radius-lg);flex-shrink:0}.admin-stat-info{flex:1}.admin-stat-value{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-display);color:var(--ink);margin:0}.admin-stat-label{font-size:var(--text-sm);color:var(--muted);margin:var(--space-1) 0 0 0}.admin-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-1)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--ink);display:flex;align-items:center;gap:var(--space-1)}.form-group label .required{color:var(--danger)}.form-hint{font-size:var(--text-xs);color:var(--muted);margin-top:-var(--space-1)}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm);font-family:inherit;color:var(--ink);transition:all var(--transition-fast)}.admin-form input:hover,.admin-form select:hover,.admin-form textarea:hover{border-color:var(--muted-light)}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.admin-form input.error,.admin-form select.error,.admin-form textarea.error{border-color:var(--danger);background:#d92d200d}.admin-form input:disabled,.admin-form select:disabled,.admin-form textarea:disabled{background:var(--border-light);cursor:not-allowed;opacity:.6}.admin-form textarea{resize:vertical;min-height:100px}.form-error{display:block;font-size:var(--text-xs);color:var(--danger);margin-top:-var(--space-1);font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:var(--space-2);margin:0}.checkbox-group input[type=checkbox]{width:auto;margin:0;cursor:pointer}.exam-list-card{grid-column:1 / -1}.exam-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:600px;overflow-y:auto;padding-bottom:var(--space-5)}.exam-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:all var(--transition-base);position:relative;overflow:visible}.exam-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);opacity:0;transition:opacity var(--transition-fast)}.exam-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md)}.exam-item:hover:before{opacity:1}.exam-info{flex:1;min-width:0}.exam-info h4{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:600;color:var(--ink)}.exam-info p{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.exam-meta .badge{font-size:.7rem;padding:4px var(--space-2);background:var(--ghost);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);font-weight:500;white-space:nowrap}.exam-meta .badge.published{background:var(--success-bg);border-color:var(--success);color:var(--success)}.exam-meta .badge.draft{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.exam-meta .badge.demo{background:var(--info-bg);border-color:var(--info);color:var(--info)}.exam-meta .badge.real{background:var(--primary-50);border-color:var(--primary);color:var(--primary)}.option-count{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--ghost);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;gap:var(--space-3)}.option-count span{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.count-buttons{display:flex;gap:var(--space-2)}.count-buttons button{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font-weight:600;font-size:var(--text-sm);transition:all var(--transition-fast);color:var(--muted)}.count-buttons button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-50)}.count-buttons button.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.count-buttons button:disabled{opacity:.5;cursor:not-allowed}.choices-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--ghost);border:1px solid var(--border);border-radius:var(--radius-lg)}.choice-row:hover{background:var(--primary-50);border-color:var(--primary-light)}.choice-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:all var(--transition-base)}.choice-row.correct{background:var(--success-bg);border-color:var(--success)}.choice-label{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:var(--radius-md);font-weight:700;font-size:var(--text-sm);flex-shrink:0;box-shadow:0 2px 4px #0f7b6c33}.choice-row input[type=text],.choice-row input:not([type=radio]):not([type=checkbox]){flex:1;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm)}.choice-row input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.choice-check{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.choice-check:hover{border-color:var(--success);background:var(--success-bg)}.choice-check:has(input:checked){background:var(--success-bg);border-color:var(--success)}.choice-check input{width:16px;height:16px;accent-color:var(--success);cursor:pointer}.choice-check span{font-size:var(--text-xs);font-weight:600;white-space:nowrap}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:nowrap}.form-actions button{flex:1;min-width:140px}@media(max-width:1200px){.admin-section{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-row-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-section{grid-template-columns:1fr}.admin-section-tabs{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.admin-section-tab{flex:0 1 calc(50% - var(--space-1));min-width:100px;padding:var(--space-3) var(--space-4);font-size:var(--text-xs)}.admin-stats-grid{grid-template-columns:1fr;gap:var(--space-3)}.admin-stat-item{flex-direction:column;text-align:center;gap:var(--space-3)}.admin-stat-icon{width:48px;height:48px;font-size:var(--text-xl)}.form-row,.form-row-3{grid-template-columns:1fr}.choice-row{flex-wrap:wrap}.choice-row input[type=text],.choice-row input:not([type=radio]):not([type=checkbox]){flex:1 1 100%;order:1}.choice-label{order:0}.choice-check{order:2;flex:1}.form-actions{flex-direction:column-reverse;flex-wrap:wrap}.exam-item{flex-direction:column;align-items:stretch;gap:var(--space-3)}.exam-info{flex:1;flex-direction:column-reverse}.form-actions button{width:100%}}.filter-tabs{display:flex;gap:var(--space-2);border-bottom:2px solid var(--border);padding-bottom:var(--space-2)}.filter-tabs button{padding:var(--space-2) var(--space-4);background:transparent;border:none;border-bottom:2px solid transparent;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.filter-tabs button:hover{color:var(--text);background:var(--bg-secondary);border-radius:var(--radius) var(--radius) 0 0}.filter-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.question-list{display:flex;flex-direction:column}.question-item{transition:box-shadow .2s ease}.question-item:hover{box-shadow:0 2px 8px #0000001a}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius);font-size:.75rem;font-weight:500;background:var(--bg-secondary);color:var(--text);text-transform:capitalize}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content{background:var(--bg);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;width:100%;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-tabs button{white-space:nowrap}.question-item{padding:var(--space-3)!important}.question-item>div{flex-direction:column;gap:var(--space-3)}.modal-content{max-height:95vh!important}}.import-form{display:flex;flex-direction:column;gap:var(--space-4)}.validation-result,.import-result{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.student-table-container{border-radius:var(--radius);overflow:hidden}.student-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.student-table thead tr{background-color:var(--surface-secondary);border-bottom:2px solid var(--border)}.student-table th{padding:var(--space-3);text-align:left;font-weight:600;color:var(--ink);white-space:nowrap}.student-table tbody tr{border-bottom:1px solid var(--border);transition:background-color var(--transition-base)}.student-table tbody tr:hover{background-color:var(--primary-50)}.student-table tbody tr:nth-child(2n){background-color:var(--surface-secondary)}.student-table tbody tr:nth-child(2n):hover{background-color:var(--primary-50)}.student-table td{padding:var(--space-3);color:var(--ink)}.student-table td:first-child{font-weight:500;color:var(--muted-text)}.student-status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius);font-size:.75rem;font-weight:600}.student-status-badge.active{background-color:var(--success-bg);color:var(--success)}.student-status-badge.inactive{background-color:var(--warning-bg);color:var(--warning)}@media(max-width:768px){.student-table{font-size:.75rem}.student-table th,.student-table td{padding:var(--space-2)}.student-table th:nth-child(3),.student-table td:nth-child(3),.student-table th:nth-child(5),.student-table td:nth-child(5){display:none}}.bulk-actions-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background-color:var(--primary-50);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition-base)}.bulk-actions-toolbar input[type=checkbox]{width:18px;height:18px;cursor:pointer}.bulk-actions-toolbar span{flex:1;font-weight:500;color:var(--ink)}.bulk-actions-buttons{display:flex;gap:var(--space-2)}.bulk-actions-buttons button{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);white-space:nowrap}@media(max-width:768px){.bulk-actions-toolbar{flex-direction:column;align-items:stretch}.bulk-actions-toolbar span{text-align:center}.bulk-actions-buttons{width:100%;flex-direction:column}.bulk-actions-buttons button{width:100%}}.student-toolbar{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);flex-wrap:nowrap}.student-search-input{padding:8px 10px;flex:1 1 320px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm)}.student-toolbar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.student-filter-buttons{display:flex;gap:6px}@media(max-width:768px){.student-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-2)}.student-search-input{flex:1 1 auto;width:100%}.student-toolbar-controls{width:100%;justify-content:space-between;gap:var(--space-2)}.student-filter-buttons{flex-wrap:wrap;gap:6px}.student-toolbar-controls>button{min-width:0}}.student-table-container{overflow-x:auto}:root{--primary: #0f7b6c;--primary-light: #14a894;--primary-dark: #0a5c51;--primary-50: rgba(15, 123, 108, .08);--primary-100: rgba(15, 123, 108, .15);--secondary: #6366f1;--secondary-light: #818cf8;--secondary-dark: #4f46e5;--success: #10b981;--success-light: #34d399;--success-dark: #059669;--success-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-light: #fbbf24;--warning-dark: #d97706;--warning-bg: rgba(245, 158, 11, .1);--danger: #ef4444;--danger-light: #f87171;--danger-dark: #dc2626;--danger-bg: rgba(239, 68, 68, .1);--info: #3b82f6;--info-light: #60a5fa;--info-dark: #2563eb;--info-bg: rgba(59, 130, 246, .1);--ink: #1e293b;--ink-light: #334155;--ink-lighter: #475569;--muted: #64748b;--muted-light: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--card: #ffffff;--surface: #ffffff;--surface-elevated: #ffffff;--background: #f8fafc;--ghost-hover: #f8f9fa;--background-pattern: linear-gradient(135deg, #f8fffe 0%, #f0faf8 50%, #e8f5f3 100%);--accent: var(--primary);--accent-strong: var(--primary-dark);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 12px rgba(0, 0, 0, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(15, 123, 108, .25);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", var(--font-sans);--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500}@media(prefers-color-scheme:dark){:root{--ink: #f1f5f9;--ink-light: #e2e8f0;--ink-lighter: #cbd5e1;--muted: #94a3b8;--muted-light: #64748b;--border: #334155;--border-light: #1e293b;--card: #1e293b;--surface: #1e293b;--surface-elevated: #334155;--background: #0f172a;--ghost-hover: #334155;--background-pattern: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{--ink: #f1f5f9;--ink-light: #e2e8f0;--ink-lighter: #cbd5e1;--muted: #94a3b8;--muted-light: #64748b;--border: #334155;--border-light: #1e293b;--card: #1e293b;--surface: #1e293b;--surface-elevated: #334155;--background: #0f172a;--ghost-hover: #334155;--background-pattern: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}:root[data-theme=light]{--ink: #1e293b;--ink-light: #334155;--ink-lighter: #475569;--muted: #64748b;--muted-light: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--card: #ffffff;--surface: #ffffff;--surface-elevated: #ffffff;--background: #f8fafc;--ghost-hover: #f8f9fa;--background-pattern: linear-gradient(135deg, #f8fffe 0%, #f0faf8 50%, #e8f5f3 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink);background:var(--background-pattern);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);color:var(--ink);letter-spacing:-.02em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--ink-lighter)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}::selection{background:var(--primary-100);color:var(--ink)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app{max-width:1400px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-6)}.content{display:grid;gap:var(--space-6);grid-template-columns:minmax(300px,1fr) minmax(500px,2.5fr)}.content.exam-focus{grid-template-columns:1fr}@media(max-width:1024px){.content{grid-template-columns:1fr}}@media(max-width:768px){.app{padding:var(--space-4) var(--space-3) var(--space-12);gap:var(--space-4)}}.muted{color:var(--muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-center{text-align:center}.text-right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--muted-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(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{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp var(--transition-slow) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-spring)}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.app>*{animation:slideUp .4s ease-out both}.app>*:nth-child(1){animation-delay:.05s}.app>*:nth-child(2){animation-delay:.1s}.app>*:nth-child(3){animation-delay:.15s}.app>*:nth-child(4){animation-delay:.2s}.app>*:nth-child(5){animation-delay:.25s}.app>*:nth-child(6){animation-delay:.3s}.dashboard{display:grid;gap:var(--space-6)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.dashboard-title{font-size:var(--text-2xl);font-weight:700}.dashboard-subtitle{color:var(--muted);font-size:var(--text-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--primary-100);box-shadow:var(--shadow-md)}.stat-card .stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);background:var(--primary-50)}.stat-card .stat-label{font-size:var(--text-sm);color:var(--muted)}.stat-card .stat-value{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-display)}.stat-card .stat-change{font-size:var(--text-xs);display:flex;align-items:center;gap:var(--space-1)}.stat-card .stat-change.positive{color:var(--success)}.stat-card .stat-change.negative{color:var(--danger)}.category-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.category-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);font-size:var(--text-sm);font-weight:500;color:var(--ink-lighter);cursor:pointer;transition:all var(--transition-fast)}.category-pill:hover{border-color:var(--primary);color:var(--primary)}.category-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.category-pill .icon{font-size:var(--text-base)}.category-pill .count{background:var(--border-light);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs)}.category-pill.active .count{background:#fff3}.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3)}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-3);min-width:300px;max-width:450px;animation:slideDown var(--transition-slow) ease-out}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}.toast.warning{border-left:4px solid var(--warning)}.toast.info{border-left:4px solid var(--info)}.toast-icon{font-size:var(--text-xl);flex-shrink:0}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast.warning .toast-icon{color:var(--warning)}.toast.info .toast-icon{color:var(--info)}.toast-content{flex:1}.toast-title{font-weight:600;font-size:var(--text-sm);color:var(--ink)}.toast-message{font-size:var(--text-sm);color:var(--muted)}.toast-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toast-close:hover{background:var(--ghost-hover);color:var(--ink)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);animation:fadeIn var(--transition-fast) ease-out}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow:hidden;animation:scaleIn var(--transition-spring)}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--text-lg);font-weight:600}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:var(--text-xl)}.modal-close:hover{background:var(--ghost-hover);color:var(--ink)}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--space-3)}.confirm-dialog .modal-icon{width:64px;height:64px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl);margin:0 auto var(--space-4)}.confirm-dialog.danger .modal-icon{background:var(--danger-bg);color:var(--danger)}.confirm-dialog.warning .modal-icon{background:var(--warning-bg);color:var(--warning)}.confirm-dialog .confirm-title{font-size:var(--text-lg);font-weight:600;text-align:center;margin-bottom:var(--space-2)}.confirm-dialog .confirm-message{text-align:center;color:var(--muted)}.skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.full{width:100%}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}.skeleton-card{height:120px;border-radius:var(--radius-lg)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner.sm{width:16px;height:16px;border-width:2px}.spinner.lg{width:32px;height:32px;border-width:4px}.spinner.xl{width:48px;height:48px;border-width:4px}.loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}.empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.empty-state-icon{font-size:64px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.empty-state-message{color:var(--muted);margin-bottom:var(--space-6)}@media print{.app{padding:20px;max-width:100%}.header-card,.navigation,.user-bar,button:not(.print-show),.toast-container,.modal-overlay{display:none!important}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}body{background:#fff}}@media(max-width:640px){.hide-mobile{display:none!important}.toast-container{left:var(--space-4);right:var(--space-4)}.toast{min-width:auto;width:100%}.modal{margin:var(--space-4);max-width:calc(100% - var(--space-8))}}@media(min-width:641px)and (max-width:1024px){.hide-tablet{display:none!important}}@media(min-width:1025px){.hide-desktop{display:none!important}}.theme-toggle{position:fixed;right:16px;bottom:16px;z-index:9999;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--ink);box-shadow:var(--shadow-lg);border:0;cursor:pointer;font-size:18px}.theme-toggle:focus{outline:2px solid var(--primary);outline-offset:2px}
