@import"https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600;700&family=Noto+Sans:wght@300;400;500;700&display=swap";:root{--primary: #0891B2;--primary-hover: #0E7490;--primary-light: #CFFAFE;--secondary: #22D3EE;--success: #22C55E;--success-hover: #16A34A;--success-light: #D1FAE5;--danger: #DC2626;--danger-light: #FEE2E2;--warning: #F59E0B;--warning-light: #FEF3C7;--white: #FFFFFF;--bg-light: #F0FDFA;--bg-card: #FFFFFF;--text-main: #134E4A;--text-body: #0F766E;--text-muted: #14B8A6;--border: #99F6E4;--border-focus: #0891B2;--font-heading: "Figtree", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(8, 145, 178, .12);--shadow-xl: 0 20px 40px rgba(8, 145, 178, .15);--focus-ring: 0 0 0 3px rgba(8, 145, 178, .25);--focus-ring-danger: 0 0 0 3px rgba(220, 38, 38, .25);--touch-target: 44px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;background-color:var(--bg-light);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;color:var(--text-main);line-height:1.3;margin:0}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem;font-weight:700}h3{font-size:1.5rem;font-weight:600}h4{font-size:1.25rem;font-weight:600}h5{font-size:1.125rem;font-weight:500}h6{font-size:1rem;font-weight:500}.flex-center{display:flex;align-items:center;justify-content:center}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);padding:2rem;transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-lg)}.card-clickable{cursor:pointer}.card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{background:var(--primary-light);color:var(--primary);width:3.5rem;height:3.5rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.title{font-size:2rem;font-weight:700;color:var(--text-main);margin:0 0 .5rem}.subtitle{color:var(--text-muted);font-size:1rem;margin-top:.5rem}.form-group{margin-bottom:1.5rem}.label{display:block;font-size:.9375rem;font-weight:500;color:var(--text-main);margin-bottom:.5rem}.input,.textarea,.select{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);color:var(--text-body);background:var(--white);transition:all .2s ease;min-height:var(--touch-target)}.input::placeholder,.textarea::placeholder{color:var(--text-muted);opacity:.7}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--bg-light);cursor:not-allowed;opacity:.6}.input-error{border-color:var(--danger)}.input-error:focus{border-color:var(--danger);box-shadow:var(--focus-ring-danger)}.textarea{min-height:120px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;font-family:var(--font-body);cursor:pointer;transition:all .2s ease;min-height:var(--touch-target);text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn-success{background:var(--success);color:var(--white)}.btn-success:hover:not(:disabled){background:var(--success-hover);box-shadow:var(--shadow-md)}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:var(--shadow-md)}.btn-secondary{background:var(--white);color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover:not(:disabled){background:var(--primary-light)}.btn-ghost{background:transparent;color:var(--primary)}.btn-ghost:hover:not(:disabled){background:var(--primary-light)}.btn-danger-ghost{background:transparent;color:var(--danger);font-weight:600}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-light);color:#b91c1c}.btn-danger-ghost:focus-visible{outline:none;box-shadow:var(--focus-ring-danger)}.btn-cta{background:linear-gradient(135deg,var(--primary) 0%,#0E7490 100%);color:var(--white);font-weight:700;padding:1rem 2rem;box-shadow:0 4px 12px #0891b240;position:relative;overflow:hidden;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-cta:hover:not(:disabled):before{left:100%}.btn-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0891b259}.btn-cta:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0891b240}.btn-cta-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-hover) 100%);color:var(--white);font-weight:700;padding:1rem 2rem;box-shadow:0 4px 12px #22c55e40;position:relative;overflow:hidden;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-cta-success:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-cta-success:hover:not(:disabled):before{left:100%}.btn-cta-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #22c55e59}.btn-cta-success:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #22c55e40}.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600}.btn-icon svg{flex-shrink:0}.btn-lg{padding:1.125rem 2.25rem;font-size:1.0625rem;min-height:52px}.btn-sm{padding:.5rem 1rem;font-size:.875rem;min-height:36px}.btn-pill{border-radius:9999px}.btn-fab{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;box-shadow:0 8px 24px #0891b24d;padding:0;z-index:50;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-fab:hover:not(:disabled){transform:scale(1.1);box-shadow:0 12px 32px #0891b266}.btn-fab:active:not(:disabled){transform:scale(1.05)}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem;border:2px solid var(--white);border-radius:50%;border-top-color:transparent;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--border) 0%,var(--primary-light) 50%,var(--border) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-notification{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.alert{padding:1rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;margin-bottom:1.5rem;display:flex;align-items:start;gap:.75rem;border-left:4px solid}.alert-success{background:var(--success-light);color:#065f46;border-color:var(--success)}.alert-error,.error-msg{background:var(--danger-light);color:#991b1b;border-color:var(--danger)}.alert-warning{background:var(--warning-light);color:#92400e;border-color:var(--warning)}.alert-info{background:var(--primary-light);color:#164e63;border-color:var(--primary)}.field-error{display:flex;align-items:center;gap:.375rem;color:var(--danger);font-size:.875rem;margin-top:.375rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--primary-light) 0%,var(--bg-light) 100%);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--primary)}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-main);margin-bottom:.5rem}.empty-state-description{font-size:.9375rem;color:var(--text-muted);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.6}.link{color:var(--primary);cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s ease}.link:hover{color:var(--primary-hover);text-decoration:underline}.link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.footer-text{text-align:center;font-size:.9375rem;color:var(--text-muted);margin-top:1.5rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:var(--success-light);color:var(--success-hover)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-warning{background:var(--warning-light);color:#b45309}.divider{height:1px;background:var(--border);margin:1.5rem 0}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:var(--white);padding:.5rem 1rem;text-decoration:none;border-radius:var(--radius-md);z-index:100}.skip-link:focus{top:0}@media(max-width:768px){body{font-size:16px}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.card{padding:1.5rem}.container{padding:0 1rem}}@media print{body{background:#fff}.card{border:1px solid #ccc;box-shadow:none}button,.btn{display:none}}
