:root{--spring-snappy:cubic-bezier(.34,1.56,.64,1);--spring-gentle:cubic-bezier(.4,0,.2,1);--spring-bouncy:cubic-bezier(.68,-.6,.32,1.6);--spring-stiff:cubic-bezier(.5,1.5,.5,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--transition-micro:.15s var(--spring-gentle);--transition-fast:.2s var(--spring-snappy);--transition-normal:.3s var(--spring-gentle);--transition-slow:.4s var(--ease-out);--transition-press:.1s var(--spring-stiff);--transition-release:.25s var(--spring-bouncy);--bg-base:#0a0a0b;--bg-primary:#0d0d0d;--bg-elevated:#141416;--bg-card:#1a1a1c;--bg-card-hover:#202024;--bg-overlay:#1e1e21;--bg-input:#1c1c1e;--bg-pressed:#0f0f10;--glass:#1a1a1cb8;--glass-border:#ffffff14;--glass-highlight:#ffffff0a;--accent:#00e6aa;--accent-bright:#0fb;--accent-muted:#00e6aa26;--accent-glow:#00e6aa80;--text-primary:#fff;--text-secondary:#a1a1a6;--text-muted:#636366;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--touch-minimum:44px;--touch-comfortable:56px;--touch-large:64px;--touch-xlarge:72px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-xxl:24px;--blur-sm:4px;--blur-md:8px;--blur-lg:16px;--blur-xl:24px;--blur-xxl:40px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{background:var(--bg-base);color:var(--text-primary);line-height:1.4}html,body{overscroll-behavior:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{transition:background var(--transition-micro);background:#ffffff14;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}@supports (-webkit-touch-callout:none){::-webkit-scrollbar{display:none}}:focus{outline:none}:focus-visible{border-radius:inherit;outline:none;box-shadow:0 0 0 3px #00e6aa40,0 0 0 1px #00e6aa80}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes popOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{opacity:1;box-shadow:0 0 20px #00e6aa66}50%{opacity:.85;box-shadow:0 0 40px #00e6aa99}}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-8px)}30%{transform:translate(8px)}50%{transform:translate(-6px)}70%{transform:translate(6px)}90%{transform:translate(-4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.97)}}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 0}50%{transform:scale(1.05);box-shadow:0 0 0 4px #0000}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.95)}}@keyframes backdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes float{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.6;transform:translateY(-20px)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes buttonShine{0%{transform:translate(-100%)rotate(45deg)}50%,to{transform:translate(100%)rotate(45deg)}}@keyframes statusPulse{0%,to{transform:scale(1);box-shadow:0 0 #00e6aab3}50%{transform:scale(1.1);box-shadow:0 0 0 6px #00e6aa00}}@keyframes progressIndeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes checkmark{0%{stroke-dashoffset:50px}to{stroke-dashoffset:0}}.animate-fadeIn{animation:fadeIn .3s var(--spring-gentle)forwards}.animate-fadeOut{animation:fadeOut .2s var(--spring-gentle)forwards}.animate-slideInUp{animation:slideInUp .4s var(--ease-out)forwards}.animate-slideInDown{animation:slideInDown .4s var(--ease-out)forwards}.animate-slideInRight{animation:slideInRight .35s var(--ease-out)forwards}.animate-slideInLeft{animation:slideInLeft .35s var(--ease-out)forwards}.animate-scaleIn{animation:scaleIn .3s var(--ease-out)forwards}.animate-scaleOut{animation:scaleOut .2s var(--spring-gentle)forwards}.animate-popIn{animation:popIn .4s var(--spring-bouncy)forwards}.animate-shake{animation:shake .5s var(--spring-stiff)}.animate-spin{animation:1s linear infinite spin}.animate-breathe{animation:2s ease-in-out infinite breathe}.animate-pulseGlow{animation:2s ease-in-out infinite pulseGlow}.stagger-children>*{animation:slideInUp .4s var(--ease-out)forwards;opacity:0}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.stagger-children>:nth-child(9){animation-delay:.4s}.stagger-children>:nth-child(10){animation-delay:.45s}.skeleton{background:linear-gradient(90deg,var(--bg-card)0%,var(--bg-card-hover)50%,var(--bg-card)100%);border-radius:var(--radius-md);background-size:200% 100%;animation:2s ease-in-out infinite shimmer}.skeleton-text{border-radius:4px;height:1em}.skeleton-title{border-radius:6px;width:60%;height:1.5em}.skeleton-avatar{border-radius:50%;width:48px;height:48px}.skeleton-button{height:var(--touch-comfortable);border-radius:var(--radius-md)}.skeleton-card{border-radius:var(--radius-lg);padding:24px}.pressable{transition:transform var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none}.pressable:active{transition:transform var(--transition-press);transform:scale(.97)}.pressable-strong:active{transform:scale(.95)}.pressable-subtle:active{transform:scale(.99)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--glass-border)}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 2px 4px #0003,0 4px 12px #00000026,inset 0 1px 0 var(--glass-highlight);transition:all var(--transition-normal)}.glass-card:hover{background:#1e1e21bf;border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 4px 8px #00000040,0 8px 24px #0003,inset 0 1px #ffffff0f}.btn{min-height:var(--touch-comfortable);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:17px;font-weight:600;display:inline-flex}.btn:active{transition:transform var(--transition-press);transform:scale(.97)}.btn-primary{background:var(--accent);color:#000;box-shadow:0 2px 4px #0003,0 4px 8px #00000026,0 0 20px var(--accent-glow)}.btn-primary:hover{background:var(--accent-bright);box-shadow:0 4px 8px #00000040,0 8px 16px #0003,0 0 32px var(--accent-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--glass-border);box-shadow:0 2px 4px #0003}.btn-secondary:hover{background:var(--bg-card);border-color:#ffffff26}.btn-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-danger{background:var(--error);color:#fff;box-shadow:0 2px 4px #0003}.btn-danger:hover{background:#dc2626}.btn-lg{min-height:var(--touch-large);border-radius:var(--radius-lg);padding:20px 32px;font-size:20px}.btn-icon{width:var(--touch-comfortable);height:var(--touch-comfortable);border-radius:var(--radius-md);padding:0}.input{min-height:var(--touch-comfortable);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-micro);padding:16px;font-size:17px}.input::placeholder{color:var(--text-muted)}.input:focus{background:var(--bg-card);border-color:#00e6aa99;box-shadow:0 0 0 3px #00e6aa40}.input:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 2px 4px #0003,0 4px 12px #00000026,inset 0 1px 0 var(--glass-highlight);transition:all var(--transition-normal)}.card-interactive{cursor:pointer}.card-interactive:hover{background:var(--bg-card-hover);border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 4px 8px #00000040,0 8px 24px #0003,inset 0 1px #ffffff0f}.card-interactive:active{transition:transform var(--transition-press);transform:scale(.99)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);animation:fadeIn .2s var(--spring-gentle)forwards;z-index:500;background:#0009;position:fixed;inset:0}.modal{background:var(--bg-overlay);border:1px solid var(--glass-border);border-radius:var(--radius-xxl);animation:scaleIn .3s var(--ease-out)forwards;z-index:501;max-height:85vh;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 32px #0000004d,0 32px 64px #00000040,0 64px 128px #0003}.modal-content{max-height:calc(85vh - 80px);overflow-y:auto}.toast{background:var(--bg-overlay);border:1px solid var(--glass-border);border-radius:var(--radius-lg);animation:toastSlideIn .4s var(--ease-out)forwards;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 8px 16px #0003,0 16px 32px #00000026}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-warning{border-left:4px solid var(--warning)}.toast-info{border-left:4px solid var(--info)}.menu-tile{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);cursor:pointer;transition:all .4s var(--spring-gentle);padding:24px;position:relative;overflow:hidden;box-shadow:0 2px 4px #0003,0 4px 12px #00000026}.menu-tile:before{content:"";background:linear-gradient(90deg,#0000,#ffffff08,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.menu-tile:hover{background:var(--bg-card-hover);border-color:#00e6aa4d;transform:translateY(-4px)scale(1.01);box-shadow:0 8px 24px #0000004d,0 0 32px #00e6aa1a,inset 0 1px #ffffff0f}.menu-tile:hover:before{left:100%}.menu-tile:active{transition:transform var(--transition-press);transform:scale(.98)}.fab{width:var(--touch-large);height:var(--touch-large);background:linear-gradient(135deg,var(--accent)0%,#00c090 100%);cursor:pointer;transition:all var(--transition-fast);z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;animation:2s ease-in-out infinite pulseGlow;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 8px 24px #00e6aa66,0 0 48px #00e6aa33}.fab:hover{transform:scale(1.1);box-shadow:0 12px 32px #00e6aa80,0 0 64px #00e6aa4d}.fab:active{transition:transform var(--transition-press);transform:scale(.95)}.status-dot{border-radius:50%;width:10px;height:10px}.status-dot-online{background:var(--success);box-shadow:0 0 8px var(--success);animation:2s ease-in-out infinite statusPulse}.status-dot-offline{background:var(--text-muted)}.status-dot-busy{background:var(--warning);box-shadow:0 0 8px var(--warning)}.status-dot-error{background:var(--error);box-shadow:0 0 8px var(--error)}.badge{border-radius:9999px;justify-content:center;align-items:center;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-muted);color:var(--accent)}.badge-success{color:var(--success);background:#22c55e26}.badge-warning{color:var(--warning);background:#f59e0b26}.badge-error{color:var(--error);background:#ef444426}.badge-info{color:var(--info);background:#3b82f626}.divider{background:var(--glass-border);border:none;height:1px}.divider-glow{background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.3;height:1px}.numpad-btn{width:var(--touch-xlarge);height:var(--touch-xlarge);background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.numpad-btn:hover{background:var(--bg-card);border-color:var(--accent)}.numpad-btn:active{background:var(--accent-muted);transition:transform var(--transition-press);transform:scale(.95)}.progress-bar{background:var(--bg-input);border-radius:9999px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--accent);height:100%;transition:width var(--transition-normal);border-radius:9999px}.progress-bar-indeterminate .progress-bar-fill{width:30%;animation:1.5s ease-in-out infinite progressIndeterminate}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton{animation:none}}@media print{*{color:#000!important;box-shadow:none!important;background:#fff!important}}
