:root{--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--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-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e5e5e5;--color-gray-300: #d4d4d4;--color-gray-400: #a3a3a3;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-success: #15803d;--color-success-hover: #166534;--color-success-light: #dcfce7;--color-danger: #b91c1c;--color-danger-hover: #991b1b;--color-danger-light: #fee2e2;--color-warning: #b45309;--color-warning-hover: #92400e;--color-warning-light: #fef3c7;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-secondary: #f1f5f9;--color-border: #dbe2ea;--color-border-secondary: #c2cdd8;--color-text-primary: #0f172a;--color-text-secondary: #334155;--color-text-tertiary: #64748b;--color-text-inverse: #ffffff;--color-link-chip-bg: #eff6ff;--color-link-chip-bg-hover: #dbeafe;--color-link-chip-border: #bfdbfe;--color-link-chip-text: #1e40af;--focus-ring: 0 0 0 2px var(--color-primary);--focus-ring-danger: 0 0 0 2px var(--color-danger);--focus-ring-success: 0 0 0 2px var(--color-success)}@media(prefers-color-scheme:dark){:root{--color-background: #0b1220;--color-surface: #111a2b;--color-surface-secondary: #18243a;--color-border: #27344d;--color-border-secondary: #3a4a68;--color-text-primary: #e5e7eb;--color-text-secondary: #b6c0d4;--color-text-tertiary: #8b98b1;--color-text-inverse: #0b1220;--color-link-chip-bg: #1d2a44;--color-link-chip-bg-hover: #233454;--color-link-chip-border: #35517c;--color-link-chip-text: #c6dbff;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-success: #4ade80;--color-success-hover: #86efac;--color-danger: #f87171;--color-danger-hover: #ef4444;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-4)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}code{font-family:var(--font-family-mono);font-size:.875em;background-color:var(--color-surface-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-primary)}::selection{background-color:var(--color-primary-200);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:var(--space-2);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);text-decoration:none;border-radius:var(--radius-md);z-index:var(--z-modal);font-weight:var(--font-weight-medium);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-2)}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background)}.main-content{flex:1;padding:var(--space-6);max-width:1000px;margin:0 auto;width:100%}.app-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-4) 0}.header-content{max-width:1000px;margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center}.header-content h1{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.header-actions{display:flex;align-items:center;gap:var(--space-4)}.auth-status{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.logout-button{background-color:var(--color-danger);color:var(--color-text-inverse);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.logout-button:hover{background-color:var(--color-danger-hover)}.logout-button:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.login-container{min-height:100vh;display:grid;place-items:center;background-color:var(--color-background);padding:var(--space-6)}.login-card{background:var(--color-surface);padding:var(--space-12);border-radius:var(--radius-2xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:480px;border:1px solid var(--color-border);position:relative;z-index:1}.login-card h1{margin:0 0 var(--space-3) 0;color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);text-align:center;letter-spacing:-.025em}.login-card p{margin:0 0 var(--space-8) 0;color:var(--color-text-secondary);font-size:var(--font-size-lg);text-align:center;line-height:var(--line-height-relaxed)}.login-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-group label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base);margin-left:var(--space-1)}.form-group input{width:100%;padding:var(--space-4) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-xl);font-size:var(--font-size-base);font-family:inherit;background-color:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast);min-height:56px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a;transform:translateY(-1px)}.form-group input:hover:not(:disabled){border-color:var(--color-border-secondary)}.form-group input:disabled{background-color:var(--color-surface-secondary);cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:var(--color-text-tertiary);font-size:var(--font-size-base)}.error-message{background-color:#fee2e2;color:#991b1b;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid #fca5a5;font-size:var(--font-size-sm)}.success-message{background-color:#d1fae5;color:#065f46;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid #6ee7b7;font-size:var(--font-size-sm)}.dashboard{display:flex;flex-direction:column;gap:var(--space-8)}.create-url-card{background-color:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.create-url-card h2{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.create-url-card p{margin:0 0 var(--space-6) 0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.create-url-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-help{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--space-1)}.url-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.url-list-header h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.refresh-button{background-color:var(--color-gray-600);color:var(--color-text-inverse);border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.refresh-button:hover{background-color:var(--color-gray-700)}.loading-state,.error-state,.empty-state{text-align:center;padding:var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-surface-secondary);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p,.error-state p,.empty-state p{color:var(--color-text-secondary);margin:0;font-size:var(--font-size-base)}.retry-button{background-color:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-top:var(--space-4);transition:background-color var(--transition-fast)}.retry-button:hover{background-color:var(--color-primary-hover)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state h3{color:var(--color-text-primary);margin:0 0 var(--space-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.url-list{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-secondary);overflow:hidden}.url-list-count{background-color:var(--color-surface-secondary);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.url-items{display:flex;flex-direction:column}.url-item{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.url-item:last-child{border-bottom:none}.url-item:hover{background-color:var(--color-surface-secondary)}.url-item-content{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-4);gap:var(--space-4)}.url-item-main{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.url-item-short,.url-item-original{display:flex;flex-direction:column;gap:var(--space-1)}.url-edit-form{display:flex;flex-direction:column;gap:var(--space-2);width:min(100%,680px);padding:var(--space-2);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.url-edit-input{width:100%;min-height:40px;border-radius:var(--radius-md);border:1px solid var(--color-border-secondary);background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.url-edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb40;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.url-edit-input-error{border-color:var(--color-danger)}.url-edit-error{color:var(--color-danger);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.url-edit-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.url-edit-actions .btn{min-width:88px}.url-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.url-value{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.short-url-link,.original-url-link{color:var(--color-link-chip-text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(58vw,560px);font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3);background-color:var(--color-link-chip-bg);border:1px solid var(--color-link-chip-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);display:inline-block}.short-url-link:hover,.original-url-link:hover{background-color:var(--color-link-chip-bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f126;border-color:var(--color-link-chip-border)}.copy-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:all var(--transition-fast)}.copy-button:hover{background-color:var(--color-surface-secondary);border-color:var(--color-border-secondary)}.copy-button-success{background-color:var(--color-surface-secondary)!important;border-color:var(--color-success)!important;color:var(--color-success)!important}.url-item-meta{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.url-created{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.redirect-count-badge{display:inline-flex;align-items:center;gap:var(--space-1);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid #c7d2fe;border-radius:var(--radius-full);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.redirect-count-icon{font-style:normal;font-size:.7rem;line-height:1}.redirect-count-label{color:var(--color-primary);opacity:.8}.url-item-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);align-self:center}.delete-button{background-color:var(--color-danger);color:var(--color-text-inverse);border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.delete-button:hover:not(:disabled){background-color:var(--color-danger-hover)}.delete-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.delete-confirm{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.delete-confirm-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.delete-confirm-actions{display:flex;gap:var(--space-2)}.confirm-delete-button{background-color:var(--color-danger);color:var(--color-text-inverse);border:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.confirm-delete-button:hover:not(:disabled){background-color:var(--color-danger-hover)}.confirm-delete-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;opacity:.6}.cancel-delete-button{background-color:var(--color-gray-500);color:var(--color-text-inverse);border:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.cancel-delete-button:hover:not(:disabled){background-color:var(--color-gray-600)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast);gap:var(--space-2)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-gray-600);color:var(--color-text-inverse)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-700)}.btn-edit{background-color:var(--color-primary);color:var(--color-text-inverse);border:1px solid transparent}.btn-edit:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-edit:disabled{opacity:.55}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-secondary);color:var(--color-text-primary)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);min-height:36px;line-height:1}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-lg)}.btn-loading{color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;color:var(--color-text-inverse)}.login-button,.create-url-button{background-color:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);letter-spacing:.025em}.login-button:hover:not(:disabled),.create-url-button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 10px 25px #6366f14d}.login-button:active:not(:disabled),.create-url-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 15px #6366f166}.login-button:disabled,.create-url-button:disabled{background-color:var(--color-gray-400);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.create-url-button{background-color:var(--color-success)}.create-url-button:hover:not(:disabled){background-color:var(--color-success-hover);box-shadow:0 10px 25px #10b9814d}.create-url-button:active:not(:disabled){box-shadow:0 5px 15px #10b98166}.toast-container{position:fixed;top:calc(var(--space-16) + var(--space-2));right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:360px;width:100%;max-height:60vh;overflow-y:auto}.toast{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);opacity:0;transform:translate(100%);transition:all var(--transition-normal)}.toast-visible{opacity:1;transform:translate(0)}.toast-exiting{opacity:0;transform:translate(100%)}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-content{display:flex;align-items:flex-start;padding:var(--space-4);gap:var(--space-3)}.toast-message{flex:1;color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.toast-close{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-size-lg);padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.toast-close:hover{color:var(--color-text-secondary)}@media(max-width:768px){.main-content{padding:var(--space-4)}.header-content{padding:0 var(--space-4);flex-direction:column;gap:var(--space-3);text-align:center}.header-actions{width:100%;justify-content:center}.login-container{padding:var(--space-4)}.login-card{padding:var(--space-8);max-width:100%;margin:var(--space-4)}.login-card h1{font-size:var(--font-size-2xl)}.login-card p{font-size:var(--font-size-base)}.create-url-card{padding:var(--space-4)}.url-list-header{flex-direction:column;gap:var(--space-3);align-items:stretch}.url-item-content{flex-direction:column;gap:var(--space-3)}.url-item-actions{align-self:flex-end}.url-value{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.short-url-link,.original-url-link{max-width:calc(100vw - 140px)}.toast-container{top:var(--space-2);right:var(--space-2);left:var(--space-2);max-width:none}}@media(max-width:480px){.main-content{padding:var(--space-3)}.header-content{padding:0 var(--space-3)}.login-container{padding:var(--space-3)}.login-card{padding:var(--space-6);margin:var(--space-2);border-radius:var(--radius-xl)}.login-card h1{font-size:var(--font-size-xl)}.form-group input{min-height:52px;font-size:16px}.login-button,.create-url-button{min-height:52px;font-size:var(--font-size-base)}.create-url-card,.url-item-content{padding:var(--space-3)}.delete-confirm-actions{flex-direction:column;width:100%}}.btn:focus-visible,.copy-button:focus-visible,.delete-button:focus-visible,.refresh-button:focus-visible,.login-button:focus-visible,.create-url-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toast-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.toast,.url-item,.copy-button,.delete-button,.loading-spinner{transition:none!important;animation:none!important}}.tab-navigation{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.tab-button{background:none;border:none;padding:var(--space-4) var(--space-6);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);border-bottom:2px solid transparent;position:relative;display:flex;align-items:center;gap:var(--space-2)}.tab-button:hover{color:var(--color-text-primary);background-color:var(--color-surface-secondary)}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:var(--color-surface)}.tab-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.tab-badge{color:var(--color-success);font-size:var(--font-size-lg);line-height:1}.tab-content{min-height:400px}.tab-panel{animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.tab-navigation{margin:0 -var(--space-4) var(--space-6) -var(--space-4);border-radius:0}.tab-button{flex:1;text-align:center;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm)}}@media(max-width:480px){.tab-navigation{margin:0 -var(--space-3) var(--space-4) -var(--space-3)}.tab-button{padding:var(--space-3) var(--space-2);font-size:var(--font-size-sm)}}@media(prefers-reduced-motion:reduce){.tab-panel{animation:none}.tab-button{transition:none}}.tab-panel.hidden{display:none}.tab-panel.active{display:block}.tab-content .tab-panel{display:none}.tab-content .tab-panel.active{display:block}.redirect-handler{min-height:100vh;display:grid;place-items:center;background-color:var(--color-background);padding:var(--space-6)}.redirect-loading,.redirect-error{background:var(--color-surface);padding:var(--space-12);border-radius:var(--radius-2xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:480px;border:1px solid var(--color-border);text-align:center}.redirect-loading h2,.redirect-error h2{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.redirect-loading p,.redirect-error p{margin:0 0 var(--space-6) 0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.redirect-loading .loading-spinner{margin:0 auto var(--space-6)}.redirect-actions{display:flex;justify-content:center;gap:var(--space-3)}.redirect-actions .btn-primary{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-xl);transition:all var(--transition-fast)}.redirect-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #6366f14d}@media(max-width:768px){.redirect-handler{padding:var(--space-4)}.redirect-loading,.redirect-error{padding:var(--space-8);max-width:100%;margin:var(--space-4)}.redirect-loading h2,.redirect-error h2{font-size:var(--font-size-xl)}}@media(max-width:480px){.redirect-handler{padding:var(--space-3)}.redirect-loading,.redirect-error{padding:var(--space-6);margin:var(--space-2);border-radius:var(--radius-xl)}.redirect-loading h2,.redirect-error h2{font-size:var(--font-size-lg)}.redirect-actions{flex-direction:column}.redirect-actions .btn-primary{width:100%}}
