:root{--color-bg-primary: #fbfcfb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f3f1;--color-bg-hover: #f1f3f1;--color-bg-active: #e7eae7;--color-text-primary: #2f322f;--color-text-secondary: #565a56;--color-text-tertiary: #848984;--color-text-muted: #a3a8a3;--color-text-inverse: #ffffff;--color-border-primary: #e8ebe8;--color-border-secondary: #d9ddd9;--color-border-light: #eef0ee;--color-accent-primary: #5e6ad2;--color-accent-secondary: #7b85dd;--color-accent-gradient: #5e6ad2;--color-accent-hover: #4d57ac;--color-accent-light: rgba(94, 106, 210, .1);--color-accent-subtle: #eef0fb;--color-success: #047857;--color-success-light: rgba(4, 120, 87, .1);--color-warning: #b45309;--color-warning-light: rgba(180, 83, 9, .1);--color-error: #b91c1c;--color-error-light: rgba(185, 28, 28, .1);--color-info: #2383e2;--color-info-light: rgba(35, 131, 226, .1);--status-success-bg: #e3f2e8;--status-success-ink: #1a5c3a;--status-warning-bg: #fbf0dc;--status-warning-ink: #8a5312;--status-error-bg: #fbe6e4;--status-error-ink: #96201d;--status-info-bg: #e4f0fb;--status-info-ink: #1a5f96;--status-neutral-bg: #f1f3f1;--status-neutral-ink: #848984;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-card: 0 1px 3px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}.dark-theme,[data-theme=dark]{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #29354a;--color-bg-hover: #29354a;--color-bg-active: #334155;--color-text-primary: #e8edf4;--color-text-secondary: #b4c2d4;--color-text-tertiary: #8496ab;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-border-primary: #2c3a4f;--color-border-secondary: #3d4d66;--color-border-light: #29354a;--color-accent-primary: #8b96e8;--color-accent-secondary: #a5adef;--color-accent-gradient: #8b96e8;--color-accent-hover: #a5adef;--color-accent-light: rgba(139, 150, 232, .15);--color-accent-subtle: #262a4d;--color-success: #34d399;--color-success-light: rgba(52, 211, 153, .15);--color-warning: #fbbf24;--color-warning-light: rgba(251, 191, 36, .15);--color-error: #f87171;--color-error-light: rgba(248, 113, 113, .15);--color-info: #5aa9ee;--color-info-light: rgba(90, 169, 238, .15);--status-success-bg: #15352c;--status-success-ink: #6ee7b7;--status-warning-bg: #3a2f14;--status-warning-ink: #fcd34d;--status-error-bg: #3d2229;--status-error-ink: #fca5a5;--status-info-bg: #1c3149;--status-info-ink: #93c5fd;--status-neutral-bg: #29354a;--status-neutral-ink: #8496ab;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3)}html.light-theme,html.dark-theme{transition:background-color var(--transition-slow),color var(--transition-slow)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100vh;font-family:neue-haas-unica,pragmatica-web,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-slow),color var(--transition-slow)}#root{width:100%;min-height:100vh}.page-container{padding:4px 0 24px;max-width:100%;margin:0 auto}.panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.panel-pad{padding:16px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--color-border-primary)}.panel-title{font-size:15px;font-weight:650;color:var(--color-text-primary);margin:0}.toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.toolbar-spacer{flex:1}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 20px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-primary)}.page-title{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary);margin:0}.suspense-fallback{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}a{color:var(--color-accent-primary)}.lazy-loading{opacity:0;transition:opacity .2s ease-in}.lazy-loaded{opacity:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.dark-theme ::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dark-theme ::-webkit-scrollbar-thumb{background:var(--color-border-secondary)}.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-cancel,.btn-submit,.btn-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;min-height:36px;border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit;font-size:14px;font-weight:600;line-height:1.25;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-primary,.btn-submit,.btn-save{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled),.btn-save:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary,.btn-cancel{background:var(--color-bg-secondary);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-danger{background:var(--color-error);border-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--status-error-ink);border-color:var(--status-error-ink)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-cancel:disabled,.btn-submit:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-cancel:focus-visible,.btn-submit:focus-visible,.btn-save:focus-visible,:where(button,a).btn-icon:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-sm{min-height:28px;padding:4px 10px;gap:6px;font-size:13px}.btn-lg{min-height:44px;padding:12px 22px;font-size:15px}.btn>svg,.btn-primary>svg,.btn-secondary>svg,.btn-danger>svg,.btn-cancel>svg,.btn-submit>svg,.btn-save>svg{flex-shrink:0}:where(button,a).btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:0;padding:0;flex-shrink:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}:where(button,a).btn-icon:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}:where(button,a).btn-icon>svg{flex-shrink:0}.btn-icon.btn-edit,.btn-icon.btn-delete,.btn-icon.btn-danger{background:transparent;border-color:transparent;color:var(--color-text-tertiary)}.btn-icon.btn-edit:hover{background:var(--color-bg-hover);color:var(--color-accent-primary)}.btn-icon.btn-delete:hover,.btn-icon.btn-danger:hover{background:var(--color-error-light);color:var(--color-error)}:where(.form-group){display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}.form-grid>.form-group,.form-row>.form-group,.toolbar>.form-group{margin-bottom:0}.form-group.full-width,.form-group.form-group-full{grid-column:1 / -1}.form-label,:where(.form-group)>label{display:block;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea,:where(.form-group) input:not(:where([type=checkbox],[type=radio],[type=file])),:where(.form-group) select,:where(.form-group) textarea,:where(.filter-group) input:not(:where([type=checkbox],[type=radio])),:where(.filter-group) select{width:100%;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.4;color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus,:where(.form-group) input:focus,:where(.form-group) select:focus,:where(.form-group) textarea:focus,:where(.filter-group) input:focus,:where(.filter-group) select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-light)}.form-input::placeholder,.form-textarea::placeholder,:where(.form-group) input::placeholder,:where(.form-group) textarea::placeholder,:where(.filter-group) input::placeholder{color:var(--color-text-muted)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,:where(.form-group) input:disabled,:where(.form-group) select:disabled,:where(.form-group) textarea:disabled,:where(.form-group) input[readonly],:where(.form-group) textarea[readonly]{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.form-select,:where(.form-group) select,:where(.filter-group) select{cursor:pointer}.form-select option,:where(.form-group) select option,:where(.filter-group) select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.form-textarea,:where(.form-group) textarea{min-height:80px;line-height:1.5;resize:vertical}.form-input.error,.form-select.error,.form-textarea.error,:where(.form-group) input.error,:where(.form-group) select.error,:where(.form-group) textarea.error{border-color:var(--color-error)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus,:where(.form-group) input.error:focus,:where(.form-group) select.error:focus,:where(.form-group) textarea.error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.required{color:var(--color-error);font-weight:600;margin-left:2px}.form-label.required,:where(.form-group)>label.required{color:var(--color-text-secondary)}.form-label.required:after,:where(.form-group)>label.required:after{content:" *";color:var(--color-error)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.form-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-primary)}.form-hint,:where(.form-group) small{display:block;font-size:12px;line-height:1.4;color:var(--color-text-tertiary)}:where(.filter-group){display:flex;flex-direction:column;gap:6px;min-width:0}:where(.filter-group)>label,.filter-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overscroll-behavior:contain;background:#00000080;z-index:9999;animation:modalOverlayIn var(--transition-normal)}.modal-content,.modal-container{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:90vh;overflow:hidden;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modalPanelIn var(--transition-normal)}.modal-small{max-width:400px}.modal-medium{max-width:500px}.modal-large{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:16px 20px;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.modal-title,.modal-header h2,.modal-header h3{margin:0;font-size:18px;font-weight:650;line-height:1.35;letter-spacing:-.01em;color:var(--color-text-primary)}.modal-close,.modal-close-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);font-size:22px;line-height:1;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.modal-close:hover,.modal-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-close:focus-visible,.modal-close-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.modal-body{flex:1 1 auto;min-height:0;padding:20px;overflow-y:auto;overscroll-behavior:contain;background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;padding:14px 20px;border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.modal-body .modal-footer{padding-left:0;padding-right:0;padding-bottom:0;margin-top:20px;background:transparent}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border-primary)}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.spinner{width:40px;height:40px;flex-shrink:0;border:3px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}span.spinner,.spinner-small{display:inline-block;width:14px;height:14px;flex-shrink:0;vertical-align:-2px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.loading-container,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:200px;padding:40px 20px;text-align:center;font-size:14px;color:var(--color-text-tertiary)}.loading-container p,.loading-state p{margin:0;font-size:14px;color:var(--color-text-tertiary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;padding:48px 24px;text-align:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);color:var(--color-text-tertiary)}.empty-state-icon,.empty-state .empty-icon{margin-bottom:4px;line-height:1;opacity:.6}.empty-state>svg{margin-bottom:4px;color:var(--color-text-muted);opacity:.5}.empty-state h2,.empty-state h3{margin:0;font-size:18px;font-weight:650;color:var(--color-text-primary)}.empty-state p{margin:0;max-width:420px;font-size:14px;color:var(--color-text-tertiary)}.empty-state .btn,.empty-state .btn-primary,.empty-state .btn-secondary{margin-top:8px}.status-badge,.status-badge-large{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 8px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:var(--status-neutral-bg);color:var(--status-neutral-ink)}.status-badge-large{padding:6px 14px;border-radius:var(--radius-md);font-size:13px}.status-badge.active,.status-badge.confirmed,.status-badge.completed,.status-badge.paid,.status-badge.approved,.status-badge.new{background:var(--status-success-bg);color:var(--status-success-ink)}.status-badge.pending,.status-badge.unconfirmed,.status-badge.update{background:var(--status-warning-bg);color:var(--status-warning-ink)}.status-badge.banned,.status-badge.suspended,.status-badge.inactive,.status-badge.failed,.status-badge.cancelled{background:var(--status-error-bg);color:var(--status-error-ink)}.status-badge[style],.status-badge-large[style]{border-color:transparent;color:#fff}.badge,.badge-work-time{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;background:var(--status-neutral-bg);color:var(--color-text-secondary)}.badge-info,.badge-import,.badge-export,.badge-edit,.badge-adjustment{background:var(--status-neutral-bg);color:var(--color-text-secondary)}.badge-error{background:var(--status-error-bg);color:var(--status-error-ink)}.error-message{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--color-error)}div.error-message{display:flex;align-items:center;gap:10px;margin-top:0;margin-bottom:16px;padding:10px 14px;border:1px solid var(--color-error-light);border-radius:var(--radius-md);background:var(--status-error-bg);color:var(--status-error-ink);font-size:14px}.error-message .error-icon{flex-shrink:0;color:var(--color-error)}.alert{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 16px;border:1px solid transparent;border-radius:var(--radius-md);font-size:14px;line-height:1.5;background:var(--status-neutral-bg);color:var(--color-text-secondary)}.alert-icon{flex-shrink:0;font-size:18px;line-height:1.3}.alert-error{background:var(--status-error-bg);color:var(--status-error-ink);border-color:var(--color-error-light)}.alert-success{background:var(--status-success-bg);color:var(--status-success-ink);border-color:var(--color-success-light)}.alert-warning{background:var(--status-warning-bg);color:var(--status-warning-ink);border-color:var(--color-warning-light)}.alert-info{background:var(--status-info-bg);color:var(--status-info-ink);border-color:var(--color-info-light)}@media(max-width:768px){.form-row,.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn,.form-actions .btn-cancel,.form-actions .btn-submit{width:100%}}@media(max-width:640px){.modal-overlay{align-items:flex-end;padding:12px}.modal-content,.modal-container{max-width:100%;max-height:92vh}.modal-header,.modal-footer{padding:12px 16px}.modal-body{padding:16px}}@media(prefers-reduced-motion:reduce){.spinner,span.spinner,.spinner-small{animation-duration:2s}.modal-overlay,.modal-content,.modal-container{animation:none}}.loading-overlay{position:fixed;inset:0;background:#f9fafbe6;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner{position:relative;width:50px;height:50px}.spinner-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent}.spinner-ring:nth-child(1){border-top-color:var(--color-accent-primary);animation:spin 1s linear infinite}.spinner-ring:nth-child(2){border-right-color:var(--color-accent-hover);animation:spin 1s linear infinite .15s}.spinner-ring:nth-child(3){border-bottom-color:var(--color-accent-primary);animation:spin 1s linear infinite .3s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dark-theme .loading-overlay,[data-theme=dark] .loading-overlay{background:var(--color-bg-primary)}.toast-container{position:fixed;top:20px;right:20px;z-index:99999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;min-width:320px;max-width:500px;padding:16px 20px;background:var(--color-bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm);border-left:4px solid;pointer-events:auto;cursor:pointer;animation:slideIn .3s ease-out;transition:all .2s ease-out}.toast:hover{transform:translate(-4px);box-shadow:var(--shadow-sm)}.toast-success{border-left-color:var(--color-success);background:linear-gradient(to right,#ecfdf5,#fff)}.toast-error{border-left-color:var(--color-error);background:linear-gradient(to right,#fef2f2,#fff)}.toast-warning{border-left-color:var(--color-warning);background:linear-gradient(to right,#fffbeb,#fff)}.toast-info{border-left-color:var(--color-info);background:linear-gradient(to right,#eff6ff,#fff)}.toast-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:var(--color-success);color:#fff}.toast-error .toast-icon{background:var(--color-error);color:#fff}.toast-warning .toast-icon{background:var(--color-warning);color:#fff}.toast-info .toast-icon{background:var(--color-info);color:#fff}.toast-message{flex:1;font-size:14px;font-weight:500;color:var(--color-text-primary);line-height:1.5;word-break:break-word}.toast-close{width:24px;height:24px;border-radius:50%;border:none;background:#0000000d;color:var(--color-text-tertiary);font-size:20px;font-weight:400;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease-out}.toast-close:hover{background:#0000001a;color:var(--color-text-primary);transform:scale(1.1)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:640px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:none;padding:14px 16px}.toast-icon{width:28px;height:28px;font-size:16px}.toast-message{font-size:13px}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast:hover{transform:none}}.dark-theme .toast,[data-theme=dark] .toast{background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.dark-theme .toast-success,[data-theme=dark] .toast-success{background:linear-gradient(to right,var(--color-success-light) 0%,var(--color-bg-secondary) 100%)}.dark-theme .toast-error,[data-theme=dark] .toast-error{background:linear-gradient(to right,var(--color-error-light) 0%,var(--color-bg-secondary) 100%)}.dark-theme .toast-warning,[data-theme=dark] .toast-warning{background:linear-gradient(to right,var(--color-warning-light) 0%,var(--color-bg-secondary) 100%)}.dark-theme .toast-info,[data-theme=dark] .toast-info{background:linear-gradient(to right,var(--color-accent-light) 0%,var(--color-bg-secondary) 100%)}.dark-theme .toast-message,[data-theme=dark] .toast-message{color:var(--color-text-primary)}.dark-theme .toast-close,[data-theme=dark] .toast-close{background:var(--color-border-primary);color:var(--color-text-tertiary)}.dark-theme .toast-close:hover,[data-theme=dark] .toast-close:hover{background:var(--color-border-primary);color:var(--color-text-primary)}.floating-chat-widget .floating-chat-button{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:var(--color-accent-primary);border:none;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:9998}.floating-chat-widget .floating-chat-button:hover{transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-sm)}.floating-chat-widget .floating-chat-button svg{color:#fff}.floating-chat-widget .chat-badge{position:absolute;top:-4px;right:-4px;background:var(--color-error);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:8px;min-width:20px;text-align:center;box-shadow:0 2px 8px #ef444466;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.floating-chat-widget .floating-chatbox{position:fixed;bottom:100px;right:24px;width:380px;height:600px;background:var(--color-bg-secondary);border-radius:10px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;z-index:9999;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.floating-chat-widget .chatbox-header{background:var(--color-accent-primary);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.floating-chat-widget .header-left{display:flex;align-items:center;gap:12px}.floating-chat-widget .btn-back-chat{width:32px;height:32px;border-radius:50%;background:#fff3;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.floating-chat-widget .btn-back-chat:hover{background:#ffffff4d}.floating-chat-widget .btn-back-chat svg{color:#fff}.floating-chat-widget .chatbox-header h3{color:#fff;font-size:18px;font-weight:700;margin:0}.floating-chat-widget .btn-close-chat{width:32px;height:32px;border-radius:50%;background:#fff3;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.floating-chat-widget .btn-close-chat:hover{background:#ffffff4d}.floating-chat-widget .btn-close-chat svg{color:#fff}.floating-chat-widget .chatbox-body{flex:1;overflow-y:auto;background:var(--color-bg-primary);min-height:0}.floating-chat-widget .chatbox-body::-webkit-scrollbar{width:6px}.floating-chat-widget .chatbox-body::-webkit-scrollbar-track{background:transparent}.floating-chat-widget .chatbox-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.floating-chat-widget .ticket-list{padding:12px;display:flex;flex-direction:column;gap:8px}.floating-chat-widget .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#a0aec0}.floating-chat-widget .empty-state svg{margin-bottom:16px;opacity:.5}.floating-chat-widget .empty-state p{font-size:15px;margin:0}.floating-chat-widget .ticket-item{background:var(--color-bg-secondary);padding:14px;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.floating-chat-widget .ticket-item:hover{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.floating-chat-widget .ticket-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.floating-chat-widget .ticket-item-id{font-weight:700;color:var(--color-accent-primary);font-size:13px}.floating-chat-widget .ticket-item-time{font-size:11px;color:#a0aec0}.floating-chat-widget .ticket-item-subject{font-size:14px;color:#2d3748;margin:0 0 8px;font-weight:500;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.floating-chat-widget .ticket-item-order{display:inline-block;font-size:11px;color:#718096;background:var(--color-bg-tertiary);padding:4px 8px;border-radius:6px}.floating-chat-widget .chat-messages-mini{padding:16px;display:flex;flex-direction:column;gap:16px;min-height:400px}.floating-chat-widget .chat-msg{display:flex;gap:10px;max-width:85%;animation:fadeIn .3s ease-out}.floating-chat-widget .chat-msg.msg-mine{align-self:flex-end;flex-direction:row-reverse}.floating-chat-widget .msg-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.floating-chat-widget .msg-content{flex:1;display:flex;flex-direction:column;gap:4px}.floating-chat-widget .msg-header{display:flex;align-items:center;gap:8px}.floating-chat-widget .msg-mine .msg-header{flex-direction:row-reverse}.floating-chat-widget .msg-author{font-weight:600;font-size:12px;color:#2d3748}.floating-chat-widget .msg-time{font-size:10px;color:#a0aec0}.floating-chat-widget .msg-body{padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.5;word-wrap:break-word}.floating-chat-widget .msg-mine .msg-body{background:var(--color-accent-primary);color:#fff;border-bottom-right-radius:4px}.floating-chat-widget .msg-other .msg-body{background:var(--color-bg-secondary);color:#2d3748;border-bottom-left-radius:4px;box-shadow:0 2px 8px #00000014}.floating-chat-widget .chat-input-mini{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-bg-active);box-sizing:border-box;width:100%;overflow:hidden}.floating-chat-widget .chat-input-mini textarea{flex:1;min-width:0;padding:10px 14px;border:2px solid var(--color-bg-active);border-radius:10px;font-size:14px;outline:none;resize:none;min-height:40px;max-height:80px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.floating-chat-widget .chat-input-mini textarea:focus{border-color:var(--color-accent-primary)}.floating-chat-widget .chat-input-mini button{width:40px;height:40px;border-radius:50%;background:var(--color-accent-primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.floating-chat-widget .chat-input-mini button:hover:not(:disabled){transform:scale(1.05)}.floating-chat-widget .chat-input-mini button:disabled{opacity:.5;cursor:not-allowed}.floating-chat-widget .chat-input-mini button svg{color:#fff}.floating-chat-widget .chatbox-footer{padding:12px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-bg-active);flex-shrink:0}.floating-chat-widget .btn-view-full{width:100%;padding:10px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.floating-chat-widget .btn-view-full:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.floating-chat-widget .chat-loading{display:flex;align-items:center;justify-content:center;padding:60px 20px}.floating-chat-widget .spinner{width:40px;height:40px;border:3px solid var(--color-bg-active);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.floating-chat-widget .floating-chat-button,.floating-chat-widget .floating-chatbox{display:none!important}}.dark-theme .floating-chat-widget .floating-chatbox,[data-theme=dark] .floating-chat-widget .floating-chatbox{background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.dark-theme .floating-chat-widget .chatbox-body,[data-theme=dark] .floating-chat-widget .chatbox-body{background:var(--color-bg-primary)}.dark-theme .floating-chat-widget .chatbox-body::-webkit-scrollbar-thumb,[data-theme=dark] .floating-chat-widget .chatbox-body::-webkit-scrollbar-thumb{background:var(--color-border-primary)}.dark-theme .floating-chat-widget .ticket-item,[data-theme=dark] .floating-chat-widget .ticket-item{background:var(--color-bg-secondary)}.dark-theme .floating-chat-widget .ticket-item:hover,[data-theme=dark] .floating-chat-widget .ticket-item:hover{background:var(--color-bg-tertiary);box-shadow:0 4px 12px var(--shadow-color, rgba(0, 0, 0, .4))}.dark-theme .floating-chat-widget .ticket-item-subject,[data-theme=dark] .floating-chat-widget .ticket-item-subject{color:var(--color-text-primary)}.dark-theme .floating-chat-widget .ticket-item-time,[data-theme=dark] .floating-chat-widget .ticket-item-time{color:var(--color-text-tertiary)}.dark-theme .floating-chat-widget .ticket-item-order,[data-theme=dark] .floating-chat-widget .ticket-item-order{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.dark-theme .floating-chat-widget .msg-author,[data-theme=dark] .floating-chat-widget .msg-author{color:var(--color-text-secondary)}.dark-theme .floating-chat-widget .msg-time,[data-theme=dark] .floating-chat-widget .msg-time{color:var(--color-text-tertiary)}.dark-theme .floating-chat-widget .msg-other .msg-body,[data-theme=dark] .floating-chat-widget .msg-other .msg-body{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:0 2px 8px var(--shadow-color, rgba(0, 0, 0, .4))}.dark-theme .floating-chat-widget .chat-input-mini,[data-theme=dark] .floating-chat-widget .chat-input-mini{background:var(--color-bg-secondary);border-top-color:var(--color-border-primary)}.dark-theme .floating-chat-widget .chat-input-mini textarea,[data-theme=dark] .floating-chat-widget .chat-input-mini textarea{background:var(--color-bg-tertiary);border-color:var(--color-border-primary);color:var(--color-text-primary)}.dark-theme .floating-chat-widget .chat-input-mini textarea:focus,[data-theme=dark] .floating-chat-widget .chat-input-mini textarea:focus{border-color:var(--color-accent-primary)}.dark-theme .floating-chat-widget .chatbox-footer,[data-theme=dark] .floating-chat-widget .chatbox-footer{background:var(--color-bg-secondary);border-top-color:var(--color-border-primary)}.dark-theme .floating-chat-widget .spinner,[data-theme=dark] .floating-chat-widget .spinner{border-color:var(--color-border-primary);border-top-color:var(--color-accent-primary)}.floating-chat-widget{display:contents}.scroll-navigator{position:fixed;right:20px;bottom:100px;display:flex;flex-direction:column;gap:10px;z-index:998;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scroll-navigator .scroll-nav-btn{width:44px;height:44px;border-radius:50%;border:none;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-accent-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid var(--color-border-primary)}.scroll-navigator .scroll-nav-btn:hover:not(.disabled){background:var(--color-accent-primary);color:#fff;transform:scale(1.1);box-shadow:var(--shadow-sm);border-color:transparent}.scroll-navigator .scroll-nav-btn:active:not(.disabled){transform:scale(.95)}.scroll-navigator .scroll-nav-btn.disabled{opacity:.4;cursor:not-allowed;transform:none}.scroll-navigator .scroll-nav-btn svg{transition:transform .2s ease}.scroll-navigator .scroll-nav-btn:hover:not(.disabled) svg{transform:scale(1.1)}.scroll-navigator .scroll-nav-btn:not(.disabled):after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:var(--color-accent-primary);opacity:0;z-index:-1;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:0}}@media(max-width:768px){.scroll-navigator{right:16px;bottom:180px}.scroll-navigator .scroll-nav-btn{width:40px;height:40px}}@media(max-width:480px){.scroll-navigator{right:12px;bottom:190px}.scroll-navigator .scroll-nav-btn{width:38px;height:38px}}@media(max-height:600px){.scroll-navigator{bottom:80px}}.dark-theme .scroll-navigator .scroll-nav-btn,[data-theme=dark] .scroll-navigator .scroll-nav-btn{background:var(--color-bg-secondary);border-color:var(--color-border-primary);color:var(--color-accent-primary);box-shadow:var(--shadow-sm)}.dark-theme .scroll-navigator .scroll-nav-btn:hover:not(.disabled),[data-theme=dark] .scroll-navigator .scroll-nav-btn:hover:not(.disabled){background:var(--color-accent-primary);color:#fff}*{font-family:neue-haas-unica,pragmatica-web,Helvetica Neue,Helvetica,Arial,sans-serif}html,body{font-family:neue-haas-unica,pragmatica-web,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh;font-family:neue-haas-unica,pragmatica-web,Helvetica Neue,Helvetica,Arial,sans-serif}.language-switcher{display:flex;gap:4px;padding:4px;background:#ffffff1a;border-radius:6px}.lang-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .2s ease}.lang-btn:hover{background:#ffffff1a;color:var(--color-bg-tertiary)}.lang-btn.active{background:var(--color-accent-primary);color:#fff}.lang-flag{font-size:14px}.lang-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.light-mode .language-switcher{background:var(--color-bg-tertiary)}.light-mode .lang-btn{color:var(--color-text-tertiary)}.light-mode .lang-btn:hover{background:var(--color-border-primary);color:var(--color-text-secondary)}.light-mode .lang-btn.active{background:var(--color-accent-primary);color:#fff}.dark-theme .language-switcher,[data-theme=dark] .language-switcher{background:var(--color-border-primary)}.dark-theme .lang-btn,[data-theme=dark] .lang-btn{color:var(--color-text-secondary)}.dark-theme .lang-btn:hover,[data-theme=dark] .lang-btn:hover{background:var(--color-border-primary);color:var(--color-text-primary)}.login-page{--login-brand: var(--color-accent-primary);--login-brand-hover: var(--color-accent-hover);--login-brand-soft: var(--color-accent-light);position:fixed;inset:0;display:grid;grid-template-columns:55fr 45fr;background:var(--color-bg-secondary);overflow:hidden}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px;background-color:#1e293b;background-image:linear-gradient(135deg,#334155,#0f172a);background-size:cover;background-position:center;background-repeat:no-repeat}.login-visual-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#140c238c,#140c2359 40%,#140c23d9)}.login-visual-top,.login-visual-bottom{position:relative;z-index:1}.login-visual-logo{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.95}.login-visual-bottom h2{margin:0 0 8px;font-size:28px;font-weight:700;line-height:1.25;color:#fff}.login-visual-bottom p{margin:0;max-width:42ch;font-size:15px;line-height:1.6;color:#ffffffbf}.login-panel{position:relative;display:grid;grid-template-rows:auto 1fr auto;background:var(--color-bg-secondary);overflow-y:auto}.login-panel:before{content:"";position:absolute;left:-200px;bottom:-220px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,var(--color-accent-light) 0%,transparent 68%);pointer-events:none}.login-panel-top{position:relative;z-index:1;display:flex;justify-content:flex-end;padding:22px 28px 0}.login-form-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:24px;min-height:0}.login-card{width:100%;max-width:360px}.login-logo-compact{display:none;height:34px;width:auto;margin-bottom:24px}.login-card h1{margin:0 0 8px;font-size:32px;font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--color-text-primary)}.login-sub{margin:0 0 34px;font-size:14.5px;line-height:1.5;color:var(--color-text-tertiary)}.login-form{display:flex;flex-direction:column;gap:20px}.login-field{display:flex;flex-direction:column;gap:7px}.login-field label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.login-input{display:flex;align-items:center;gap:11px;height:50px;padding:0 15px;border:1.5px solid transparent;border-radius:var(--radius-md);background:var(--color-bg-tertiary);transition:border-color var(--transition-fast),background var(--transition-fast)}.login-input:hover:not(:focus-within){background:var(--color-bg-active)}.login-input:focus-within{border-color:var(--login-brand);background:var(--color-bg-secondary)}.login-eye:focus-visible,.login-forgot:focus-visible,.login-submit:focus-visible{outline:2px solid var(--login-brand);outline-offset:2px}.login-input:focus-within>svg{color:var(--login-brand)}.login-input>svg{flex:0 0 auto;color:var(--color-text-muted)}.login-input input{flex:1 1 auto;min-width:0;height:100%;border:none;background:transparent;font-size:15px;color:var(--color-text-primary)}.login-input input:focus{outline:none;box-shadow:none}.login-input input::placeholder{color:var(--color-text-muted)}.login-input input:disabled{background:transparent;color:var(--color-text-tertiary)}.login-eye{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.login-eye:hover{color:var(--color-text-secondary)}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:-4px;font-size:13.5px}.login-check{display:inline-flex;align-items:center;gap:7px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.login-check input{width:auto;margin:0;cursor:pointer;accent-color:var(--login-brand)}.login-forgot{color:var(--login-brand);font-weight:600;text-decoration:none}.login-forgot:hover{text-decoration:underline}.login-submit{height:50px;margin-top:6px;border:none;border-radius:var(--radius-md);background:var(--login-brand);color:#fff;font-size:15px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--login-brand) 55%,transparent);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.login-submit:hover:not(:disabled){background:var(--login-brand-hover);transform:translateY(-1px);box-shadow:0 10px 22px -8px color-mix(in srgb,var(--login-brand) 60%,transparent)}.login-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 10px -6px color-mix(in srgb,var(--login-brand) 50%,transparent)}.login-submit:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.login-error{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid var(--color-danger, #ef4444);border-radius:var(--radius-md);background:var(--color-danger-light, rgb(239 68 68 / .08));color:var(--color-danger, #ef4444);font-size:13.5px;line-height:1.45}.login-error svg{flex:0 0 auto;margin-top:1px}.login-foot{position:relative;z-index:1;margin:0;padding:18px 24px 22px;font-size:12px;line-height:1.5;text-align:center;color:var(--color-text-muted)}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-logo-compact{display:block}}@media(max-width:480px){.login-form-wrap{padding:12px}.login-card h1{font-size:26px}}.page-403-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-accent-primary);padding:20px}.page-403-content{text-align:center;background:var(--color-bg-secondary);padding:60px 40px;border-radius:12px;box-shadow:var(--shadow-sm);max-width:500px;width:100%;animation:slideUp .5s ease-out}.page-403-title{font-size:72px;font-weight:700;background:var(--color-accent-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 10px}.page-403-subtitle{font-size:28px;font-weight:600;color:#1f2937;margin:0 0 16px}.page-403-message{font-size:16px;color:var(--color-text-tertiary);margin:0 0 32px;line-height:1.6}.page-403-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.page-403-btn{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;outline:none}.page-403-btn-primary{background:var(--color-accent-primary);color:#fff;box-shadow:0 4px 12px #0000001f}.page-403-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.page-403-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:2px solid var(--color-border-primary)}.page-403-btn-secondary:hover{background:var(--color-bg-primary);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}@media(max-width:640px){.page-403-content{padding:40px 30px}.page-403-title{font-size:56px}.page-403-subtitle{font-size:24px}.page-403-message{font-size:14px}.page-403-actions{flex-direction:column}.page-403-btn{width:100%}}.dark-theme .page-403-content,[data-theme=dark] .page-403-content{background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.dark-theme .page-403-subtitle,[data-theme=dark] .page-403-subtitle{color:var(--color-text-primary)}.dark-theme .page-403-message,[data-theme=dark] .page-403-message{color:var(--color-text-tertiary)}.dark-theme .page-403-btn-secondary,[data-theme=dark] .page-403-btn-secondary{background:var(--color-bg-tertiary);border-color:var(--color-border-primary);color:var(--color-text-secondary)}.page-404-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-warning) 0%,#d97706 100%);padding:20px}.page-404-content{text-align:center;background:var(--color-bg-secondary);padding:60px 40px;border-radius:12px;box-shadow:var(--shadow-sm);max-width:500px;width:100%;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.page-404-icon{font-size:80px;margin-bottom:20px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.page-404-title{font-size:72px;font-weight:700;background:linear-gradient(135deg,var(--color-warning) 0%,#d97706 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 10px}.page-404-subtitle{font-size:28px;font-weight:600;color:#1f2937;margin:0 0 16px}.page-404-message{font-size:16px;color:var(--color-text-tertiary);margin:0 0 32px;line-height:1.6}.page-404-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.page-404-btn{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;outline:none}.page-404-btn-primary{background:linear-gradient(135deg,var(--color-warning) 0%,#d97706 100%);color:#fff;box-shadow:0 4px 12px #f59e0b66}.page-404-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.page-404-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:2px solid var(--color-border-primary)}.page-404-btn-secondary:hover{background:var(--color-bg-primary);border-color:var(--color-warning);color:var(--color-warning)}@media(max-width:640px){.page-404-content{padding:40px 30px}.page-404-icon{font-size:60px}.page-404-title{font-size:56px}.page-404-subtitle{font-size:24px}.page-404-message{font-size:14px}.page-404-actions{flex-direction:column}.page-404-btn{width:100%}}.dark-theme .page-404-content,[data-theme=dark] .page-404-content{background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.dark-theme .page-404-subtitle,[data-theme=dark] .page-404-subtitle{color:var(--color-text-primary)}.dark-theme .page-404-message,[data-theme=dark] .page-404-message{color:var(--color-text-tertiary)}.dark-theme .page-404-btn-secondary,[data-theme=dark] .page-404-btn-secondary{background:var(--color-bg-tertiary);border-color:var(--color-border-primary);color:var(--color-text-secondary)}
