:root{--b1-primary: #0066CC;--b1-primary-dark: #004C99;--b1-primary-light: #3399FF;--b1-secondary: #FF6B00;--b1-secondary-dark: #CC5500;--b1-dark: #1A1A2E;--b1-dark-light: #2D2D44;--b1-gray-900: #212529;--b1-gray-800: #343A40;--b1-gray-700: #495057;--b1-gray-600: #6C757D;--b1-gray-500: #ADB5BD;--b1-gray-400: #CED4DA;--b1-gray-300: #DEE2E6;--b1-gray-200: #E9ECEF;--b1-gray-100: #F8F9FA;--b1-white: #FFFFFF;--b1-success: #28A745;--b1-warning: #FFC107;--b1-danger: #DC3545;--b1-info: #17A2B8;--b1-gradient-primary: linear-gradient(135deg, #0066CC 0%, #004C99 100%);--b1-gradient-hero: linear-gradient(135deg, #0066CC 0%, #004080 50%, #1A1A2E 100%);--b1-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--b1-radius-sm: 4px;--b1-radius-md: 8px;--b1-radius-lg: 12px;--b1-radius-xl: 16px;--b1-shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--b1-shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--b1-shadow-lg: 0 10px 30px rgba(0, 0, 0, .15)}body{margin:0;font-family:var(--b1-font);color:var(--b1-gray-900);background:var(--b1-gray-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.b1-logo{display:inline-flex;align-items:baseline;font-weight:800;font-size:1.6rem;letter-spacing:-.02em;text-decoration:none;color:var(--b1-dark);line-height:1}.b1-logo .accent{color:var(--b1-primary)}.b1-logo.inverse{color:var(--b1-white)}.b1-logo.inverse .accent{color:var(--b1-primary-light)}.b1-logo .tag{margin-left:8px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--b1-gray-600)}.b1-logo.inverse .tag{color:#ffffffb3}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}.setup-wrap{min-height:100vh;background:radial-gradient(circle at top right,rgba(0,102,204,.08),transparent 60%),radial-gradient(circle at bottom left,rgba(255,107,0,.06),transparent 50%),var(--b1-gray-100);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px 80px;color:var(--b1-gray-900)}.setup-card{background:var(--b1-white);border-radius:var(--b1-radius-lg);width:100%;max-width:780px;box-shadow:var(--b1-shadow-lg);overflow:hidden}.setup-brand{padding:20px 32px;background:var(--b1-gradient-hero);color:var(--b1-white);display:flex;justify-content:space-between;align-items:center}.setup-header{padding:0 32px;border-bottom:1px solid var(--b1-gray-200)}.setup-steps{display:flex;gap:4px;padding:0;margin:0 0 -1px;list-style:none;overflow-x:auto}.setup-steps li{flex:1;text-align:center;font-size:.78rem;font-weight:500;padding:12px 4px;border-bottom:3px solid transparent;color:var(--b1-gray-500);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px}.setup-steps li span{display:inline-block;width:24px;height:24px;line-height:24px;border-radius:50%;background:var(--b1-gray-200);color:var(--b1-gray-600);font-weight:700;font-size:.78rem}.setup-steps li.active{color:var(--b1-primary);border-bottom-color:var(--b1-primary)}.setup-steps li.active span{background:var(--b1-primary);color:var(--b1-white)}.setup-steps li.done{color:var(--b1-success)}.setup-steps li.done span{background:var(--b1-success);color:var(--b1-white)}.setup-body{padding:28px 32px}.setup-body h2{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--b1-dark)}.setup-body .hint{color:var(--b1-gray-600);font-size:.88rem;margin:0 0 20px;line-height:1.5}.setup-field{display:flex;flex-direction:column;margin-bottom:14px}.setup-field label{font-size:.78rem;color:var(--b1-gray-700);font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.setup-field input,.setup-field textarea{padding:10px 12px;border:1px solid var(--b1-gray-300);border-radius:var(--b1-radius-md);font-size:.94rem;background:var(--b1-white);outline:none;font-family:inherit;color:var(--b1-gray-900);transition:border-color .15s,box-shadow .15s}.setup-field input:focus,.setup-field textarea:focus{border-color:var(--b1-primary);box-shadow:0 0 0 3px #0066cc1f}.setup-field input[readonly]{background:var(--b1-gray-100);color:var(--b1-gray-700)}.setup-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px}.setup-row .setup-field{margin-bottom:0}.setup-row .grow{flex:1}.setup-pw-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.setup-pw-row input{flex:1;min-width:200px}.setup-pw-meter{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:.8rem}.setup-pw-bar{flex:1;height:6px;background:var(--b1-gray-200);border-radius:3px;overflow:hidden}.setup-pw-bar>div{height:100%;transition:width .2s,background .2s}.setup-msg{padding:10px 14px;border-radius:var(--b1-radius-md);font-size:.88rem;margin:12px 0}.setup-msg.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.setup-msg.ok{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7}.setup-summary{background:var(--b1-gray-100);border-radius:var(--b1-radius-md);padding:18px 22px;border:1px solid var(--b1-gray-200)}.setup-summary h3{margin:16px 0 6px;color:var(--b1-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}.setup-summary h3:first-child{margin-top:0}.setup-summary dl{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;margin:0 0 10px;font-size:.9rem}.setup-summary dt{color:var(--b1-gray-600);font-weight:500}.setup-summary dd{margin:0;color:var(--b1-gray-900);word-break:break-word}.setup-summary code{background:#fff4e5;color:var(--b1-secondary-dark);padding:2px 8px;border-radius:4px;font-family:JetBrains Mono,SF Mono,monospace;font-size:.85em}.setup-footer{padding:18px 32px;border-top:1px solid var(--b1-gray-200);background:var(--b1-gray-100);display:flex;justify-content:space-between;align-items:center}.btn{background:var(--b1-white);color:var(--b1-primary);border:1px solid var(--b1-primary);padding:9px 18px;border-radius:var(--b1-radius-md);cursor:pointer;font-size:.9rem;font-weight:600;font-family:inherit;transition:all .15s}.btn:hover:not(:disabled){background:var(--b1-gray-100);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--b1-gradient-primary);color:var(--b1-white);border:none}.btn.primary:hover:not(:disabled){box-shadow:0 6px 16px #0066cc4d;transform:translateY(-1px)}.btn-link{background:transparent;border:none;color:var(--b1-primary);cursor:pointer;font-size:.85rem;text-decoration:underline;padding:4px 8px;font-family:inherit}.btn-link:disabled{color:var(--b1-gray-400);cursor:not-allowed;text-decoration:none}.setup-dns-card{border:1px solid var(--b1-gray-300);border-radius:var(--b1-radius-md);overflow:hidden;margin:18px 0;box-shadow:var(--b1-shadow-sm)}.setup-dns-head{background:var(--b1-gradient-primary);color:var(--b1-white);font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:10px 16px}.setup-dns-grid{display:grid;grid-template-columns:1fr 1fr;background:var(--b1-gray-100)}.setup-dns-grid>div{padding:14px 16px;border-bottom:1px solid var(--b1-gray-200);border-right:1px solid var(--b1-gray-200);display:flex;flex-direction:column;gap:4px}.setup-dns-grid>div:nth-child(2n){border-right:none}.setup-dns-grid>div:nth-last-child(-n+2){border-bottom:none}.setup-dns-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--b1-gray-600);font-weight:600}.setup-dns-grid strong{font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;color:var(--b1-primary-dark);font-weight:700}.setup-dns-steps{margin:14px 0 20px;padding-left:22px;font-size:.9rem;color:var(--b1-gray-700);line-height:1.6}.setup-dns-steps li{margin-bottom:6px}.setup-dns-steps code,.setup-body code{background:var(--b1-gray-100);padding:1px 6px;border-radius:4px;font-size:.88em;color:var(--b1-primary-dark)}.setup-summary dd code{background:#fff4e5;color:var(--b1-secondary-dark)}.setup-ssl-card{border:1px solid var(--b1-gray-300);border-radius:var(--b1-radius-md);padding:18px;background:var(--b1-gray-100)}.setup-ssl-card h3{margin:0 0 12px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--b1-primary)}.setup-ssl-card pre{background:#fff;padding:8px;border-radius:4px;border:1px solid var(--b1-gray-200);max-height:140px;overflow:auto;font-size:.78rem}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f8f9fa;color:#212529}.dashboard{min-height:100vh;display:flex;flex-direction:column}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#06c 40%,#004c99,#39f);position:relative;overflow:hidden}.login-footer{position:absolute;bottom:18px;color:#ffffff59;font-size:.7rem;text-align:center}.login-footer a{color:#ffffff80;text-decoration:none}.login-footer a:hover{color:#ffffffbf}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(99,132,255,.15) 0%,transparent 60%),radial-gradient(ellipse at 70% 20%,rgba(63,81,181,.1) 0%,transparent 50%);animation:float 20s ease-in-out infinite;pointer-events:none}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(2%,-2%) rotate(1deg)}66%{transform:translate(-1%,1%) rotate(-1deg)}}.login-box{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:45px 40px;border-radius:16px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;width:100%;max-width:420px;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:35px}.login-logo{width:180px;height:auto;margin-bottom:20px;object-fit:contain}.login-header h1{color:#06c;font-size:2.2rem;margin-bottom:6px;font-weight:700;letter-spacing:-.5px}.login-header h2{color:#7986cb;font-size:.95rem;font-weight:400;text-transform:uppercase;letter-spacing:2px}.form-group{margin-bottom:22px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:13px 16px;border:2px solid #e8eaf6;border-radius:10px;font-size:1rem;transition:border-color .3s,box-shadow .3s;background:#fafbff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3f51b5;box-shadow:0 0 0 4px #3f51b51a;background:#fff}.btn-login{width:100%;padding:14px;background:linear-gradient(135deg,#06c,#39f);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #1a237e4d}.btn-login:hover{transform:translateY(-1px);box-shadow:0 6px 20px #1a237e66}.btn-login:active{transform:translateY(0)}.btn-login:disabled{background:linear-gradient(135deg,#9fa8da,#c5cae9);cursor:not-allowed;transform:none;box-shadow:none}.btn-loading{display:flex;align-items:center;justify-content:center;gap:10px}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-message{background:#fff0f0;color:#c62828;padding:12px 16px;border-radius:10px;margin-bottom:20px;text-align:center;border:1px solid #ffcdd2;font-size:.9rem}.header{background:linear-gradient(135deg,#06c,#004c99);color:#fff;padding:0 30px;height:64px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1a237e40;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:12px}.header-logo{height:36px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}.header h1{font-size:1.3rem;font-weight:600;letter-spacing:-.3px}.header-right{display:flex;align-items:center;gap:15px}.user-name{color:#c5cae9;font-size:.9rem}.btn-logout{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:#fff;padding:8px 18px;border-radius:8px;cursor:pointer;transition:all .3s;font-size:.85rem;font-weight:500}.btn-logout:hover{background:#fff;color:#06c}.main-content{flex:1;padding:24px 20px;width:100%;max-width:860px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.page-header h2{color:#06c;font-size:1.5rem;font-weight:700}.last-updated{font-size:.8rem;color:#777;font-weight:400}.filter-buttons{display:flex;gap:10px}.filter-btn{padding:10px 20px;border:2px solid #0066CC;background:#fff;color:#06c;border-radius:10px;cursor:pointer;font-weight:500;transition:all .3s}.filter-btn.active,.filter-btn:hover{background:#06c;color:#fff}.refresh-btn{padding:10px 24px;border:none;background:linear-gradient(135deg,#4caf50,#43a047);color:#fff;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #4caf504d}.refresh-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4caf5066}.refresh-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading{text-align:center;padding:60px 20px;color:#666}.spinner{width:44px;height:44px;border:4px solid #e8eaf6;border-top-color:#06c;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.loading p{font-size:1rem;color:#888}.empty-state{text-align:center;padding:70px 30px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f}.empty-state-icon{margin-bottom:20px}.empty-state h3{color:#06c;font-size:1.4rem;margin-bottom:8px}.empty-state p{color:#888;font-size:1rem}.approvals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.approval-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;border-left:4px solid transparent}.approval-card.card-border-pending{border-left-color:#ff9800}.approval-card.card-border-approved{border-left-color:#4caf50}.approval-card.card-border-rejected{border-left-color:#f44336}.approval-card.card-border-default{border-left-color:#9e9e9e}.approval-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.card-header{background:#f8f9fc;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef0f5}.card-code{font-weight:700;color:#06c;font-size:1.05rem}.status-badge{padding:5px 14px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-pending,.status-badge.pending{background:#fff3e0;color:#e65100}.status-badge.status-approved,.status-badge.approved{background:#e8f5e9;color:#2e7d32}.status-badge.status-rejected,.status-badge.rejected{background:#ffebee;color:#c62828}.status-badge.status-other{background:#f5f5f5;color:#666}.card-body{padding:20px}.card-info{display:flex;margin-bottom:10px;align-items:baseline}.card-info:last-child{margin-bottom:0}.card-info-total{padding:8px 0;margin-top:2px;margin-bottom:2px}.info-label{color:#888;width:110px;flex-shrink:0;font-size:.9rem}.info-value{color:#212529;font-weight:500}.info-value.value-total{color:#06c;font-size:1.15rem;font-weight:700}.info-value.remarks{color:#666;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.card-footer{padding:16px 20px;border-top:1px solid #eef0f5}.btn-details{width:100%;padding:11px;background:linear-gradient(135deg,#06c,#39f);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #1a237e33}.btn-details:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a237e4d}.detail-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.btn-back{padding:10px 22px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;font-weight:500;transition:all .3s}.btn-back:hover{background:#f5f5f5;border-color:#bdbdbd}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.detail-card{background:#fff;border-radius:14px;padding:25px;box-shadow:0 2px 12px #0000000f}.detail-card.full-width{grid-column:1 / -1}.detail-card h3{color:#06c;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e8eaf6;font-size:1.1rem}.detail-row{display:flex;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f5f5f5}.detail-row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-row .label{color:#888;width:140px;flex-shrink:0;font-size:.9rem}.detail-row .value{color:#212529;font-weight:500}.detail-row .value.total{color:#06c;font-size:1.3rem;font-weight:700}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:12px;text-align:left;border-bottom:1px solid #eef0f5}.items-table th{background:#f8f9fc;color:#555;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.3px}.items-table tbody tr:hover{background:#fafbff}.action-buttons{display:flex;gap:15px;justify-content:center;margin-top:30px;padding:30px;background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f}.btn-approve{padding:15px 40px;background:linear-gradient(135deg,#4caf50,#43a047);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #4caf504d}.btn-approve:hover{transform:translateY(-1px);box-shadow:0 6px 20px #4caf5066}.btn-reject{padding:15px 40px;background:linear-gradient(135deg,#f44336,#e53935);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #f443364d}.btn-reject:hover{transform:translateY(-1px);box-shadow:0 6px 20px #f4433666}.btn-approve:disabled,.btn-reject:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;box-shadow:0 20px 60px #00000040;animation:modalIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid #eef0f5}.modal-header h3{color:#06c;font-size:1.1rem}.modal-close{background:none;border:none;font-size:1.5rem;color:#888;cursor:pointer;padding:4px;border-radius:6px;transition:background .2s}.modal-close:hover{background:#f5f5f5}.modal-body{padding:25px}.modal-body p{margin-bottom:20px;color:#555}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px 25px;border-top:1px solid #eef0f5}.btn-cancel{padding:10px 25px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:10px;cursor:pointer;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#eee}.btn-confirm{padding:10px 25px;background:linear-gradient(135deg,#06c,#39f);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:500;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #1a237e33}.btn-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a237e4d}.btn-whatsapp{padding:15px 40px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #25d3664d}.btn-whatsapp:hover{transform:translateY(-1px);box-shadow:0 6px 20px #25d36666}.btn-whatsapp:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.message-preview{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:10px;padding:15px;font-family:Courier New,monospace;font-size:.85rem;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto;color:#212529;line-height:1.4}.quick-action-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 150px);padding:20px}.quick-action-card{background:#fff;border-radius:18px;padding:40px 30px;text-align:center;box-shadow:0 4px 24px #0000001a;width:100%;max-width:420px}.quick-action-card.approve{border-top:5px solid #4caf50}.quick-action-card.reject{border-top:5px solid #f44336}.quick-action-icon{font-size:4rem;margin-bottom:15px}.quick-action-card h2{color:#212529;margin-bottom:25px;font-size:1.5rem}.quick-action-details{background:#f8f9fc;border-radius:12px;padding:20px;margin-bottom:25px}.quick-action-details .detail-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eef0f5}.quick-action-details .detail-item:last-child{border-bottom:none}.quick-action-details .detail-item.total{margin-top:10px;padding-top:15px;border-top:2px solid #e0e0e0;border-bottom:none}.quick-action-details .label{color:#666}.quick-action-details .value{font-weight:600;color:#212529}.quick-action-details .detail-item.total .value{color:#06c;font-size:1.2rem}.quick-action-buttons{display:flex;flex-direction:column;gap:12px}.btn-approve-large{padding:16px 30px;background:linear-gradient(135deg,#4caf50,#43a047);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #4caf504d}.btn-approve-large:hover{transform:translateY(-1px);box-shadow:0 6px 20px #4caf5066}.btn-reject-large{padding:16px 30px;background:linear-gradient(135deg,#f44336,#e53935);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #f443364d}.btn-reject-large:hover{transform:translateY(-1px);box-shadow:0 6px 20px #f4433666}.btn-approve-large:disabled,.btn-reject-large:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.success-message{background:#e8f5e9;color:#2e7d32;padding:15px;border-radius:10px;margin-bottom:20px;font-weight:500;border:1px solid #c8e6c9}@media(max-width:768px){.header{padding:0 16px;height:56px}.header-logo{height:28px}.header h1{font-size:1rem}.header-left{gap:8px}.header-right{gap:10px}.user-name{display:none}.btn-logout{padding:7px 14px;font-size:.8rem}.main-content{padding:16px 12px;max-width:100%}.page-header{flex-direction:column;gap:12px;align-items:stretch;margin-bottom:20px}.page-header h2{font-size:1.3rem}.refresh-btn{width:100%;padding:12px}.approvals-grid{grid-template-columns:1fr;gap:14px}.approval-card{border-radius:12px}.card-header{padding:14px 16px}.card-body{padding:16px}.card-footer{padding:14px 16px}.btn-details{padding:13px;font-size:.95rem}.detail-grid{grid-template-columns:1fr;gap:14px}.detail-card{padding:18px;border-radius:12px}.detail-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}.btn-back{text-align:center}.action-buttons{flex-direction:column;padding:20px 16px;margin-top:14px;border-radius:12px}.btn-approve,.btn-reject,.btn-whatsapp{width:100%;padding:16px;font-size:1rem}.items-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.85rem;border-radius:8px}.items-table th,.items-table td{padding:10px 8px;white-space:nowrap}.empty-state{padding:50px 20px;border-radius:12px}.empty-state-icon svg{width:64px;height:64px}.login-box{margin:16px;padding:30px 22px;border-radius:14px}.login-logo{width:150px}.login-header h1{font-size:1.8rem}.modal-overlay{padding:16px;align-items:flex-end}.modal-content{max-width:100%;border-radius:16px 16px 8px 8px;animation:modalInMobile .3s ease-out}@keyframes modalInMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:18px 20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column-reverse}.modal-footer .btn-cancel,.modal-footer .btn-confirm{width:100%;text-align:center;padding:13px}.admin-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:18px 14px}.stat-value{font-size:1.8rem}.admin-nav-grid{grid-template-columns:1fr}.users-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.85rem}.users-table th,.users-table td{padding:10px 8px;white-space:nowrap}.user-actions{flex-direction:column;gap:4px}.btn-admin{padding:7px 12px;font-size:.8rem}.quick-action-container{min-height:calc(100vh - 120px);align-items:flex-start;padding:20px 12px}.quick-action-card{padding:30px 20px;border-radius:14px}.btn-approve-large,.btn-reject-large{padding:16px;font-size:1rem}}.btn-admin{background:#ffc10733;border:1px solid rgba(255,193,7,.5);color:#ffc107;padding:8px 18px;border-radius:8px;cursor:pointer;transition:all .3s;font-size:.85rem;font-weight:600}.btn-admin:hover{background:#ffc107;color:#06c}.setup-box{max-width:460px}.admin-content{max-width:960px}.admin-user-card{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:0 2px 12px #0000000f;margin-bottom:20px}.admin-user-info{display:flex;align-items:center;gap:16px}.admin-user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#06c,#39f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}.admin-user-name{font-size:1.1rem;font-weight:600;color:#212529;margin-bottom:4px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:30px}.stat-card{background:#fff;border-radius:14px;padding:24px 20px;text-align:center;box-shadow:0 2px 12px #0000000f;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-value{font-size:2.2rem;font-weight:700;color:#06c;line-height:1;margin-bottom:8px}.stat-label{font-size:.85rem;color:#888;font-weight:500}.admin-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.admin-nav-card{background:#fff;border-radius:14px;padding:30px 24px;box-shadow:0 2px 12px #0000000f;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;border-left:4px solid #0066CC}.admin-nav-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.admin-nav-icon{font-size:2rem;margin-bottom:12px}.admin-nav-card h3{color:#06c;font-size:1.2rem;margin-bottom:6px}.admin-nav-card p{color:#888;font-size:.9rem}.settings-form .detail-card{margin-bottom:0}.btn-test-connection{padding:10px 24px;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #ff98004d;margin-top:8px}.btn-test-connection:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff980066}.btn-test-connection:disabled{opacity:.6;cursor:not-allowed;transform:none}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #eef0f5}.users-table th{background:#f8f9fc;color:#555;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.3px}.users-table tbody tr:hover{background:#fafbff}.role-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.role-badge.role-admin{background:#fff3e0;color:#e65100}.role-badge.role-user{background:#e8eaf6;color:#39f}.status-toggle{padding:5px 14px;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .3s}.status-toggle.active{background:#e8f5e9;color:#2e7d32}.status-toggle.active:hover,.status-toggle.inactive{background:#ffebee;color:#c62828}.status-toggle.inactive:hover{background:#e8f5e9;color:#2e7d32}.user-actions{display:flex;gap:8px}.btn-edit{padding:5px 14px;background:#e8eaf6;color:#39f;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.btn-edit:hover{background:#39f;color:#fff}.btn-delete{padding:5px 14px;background:#ffebee;color:#c62828;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.btn-delete:hover{background:#c62828;color:#fff}.btn-import-sap{padding:10px 24px;border:none;background:linear-gradient(135deg,#06c,#39f);color:#fff;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #1a237e4d}.btn-import-sap:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a237e66}.btn-import-sap:disabled{opacity:.7;cursor:not-allowed;transform:none}.modal-large{max-width:750px}.sap-users-list{max-height:400px;overflow-y:auto;border:1px solid #eef0f5;border-radius:10px}.sap-users-list .users-table th{position:sticky;top:0;z-index:1}.row-locked{opacity:.5}.form-select{width:100%;padding:13px 16px;border:2px solid #e8eaf6;border-radius:10px;font-size:1rem;transition:border-color .3s,box-shadow .3s;background:#fafbff;appearance:none;cursor:pointer}.form-select:focus{outline:none;border-color:#3f51b5;box-shadow:0 0 0 4px #3f51b51a;background:#fff}@supports (padding: env(safe-area-inset-top)){.header{padding-top:env(safe-area-inset-top)}.main-content{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}.modal-overlay{padding-bottom:env(safe-area-inset-bottom)}}.history-action-badge{padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.history-action-badge.action-approved{background:#e8f5e9;color:#2e7d32}.history-action-badge.action-rejected{background:#ffebee;color:#c62828}.history-action-badge.action-pending{background:#fff3e0;color:#e65100}.history-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:16px}.history-page-info{font-size:.85rem;color:#888;font-weight:500}.mkt-box{margin-top:24px;padding:20px;border:1px solid #DEE2E6;border-radius:8px;background:#fff}.mkt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.mkt-head h3{margin:0 0 4px;color:#06c}.mkt-tenant{margin:0;color:#6c757d;font-size:.88rem}.mkt-credits{text-align:right;background:linear-gradient(135deg,#06c,#004c99);color:#fff;padding:12px 18px;border-radius:8px;min-width:120px}.mkt-credits-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.mkt-credits-value{display:block;font-size:1.8rem;font-weight:700;line-height:1.1}.mkt-instances{list-style:none;padding:0;margin:8px 0 0}.mkt-instances li{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #DEE2E6;border-radius:6px;margin-bottom:6px}.mkt-instances li.selected{border-color:#06c;background:#f0f7ff}.mkt-inst-meta{font-size:.78rem;color:#6c757d;margin-top:4px}.mkt-inst-meta code{background:#e9ecef;padding:1px 6px;border-radius:4px;font-size:.85em}.mkt-badge{background:#28a745;color:#fff;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sa-page{min-height:100vh;background:var(--b1-gray-100);color:var(--b1-gray-900)}.sa-topbar{background:var(--b1-gradient-hero);color:var(--b1-white);padding:18px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--b1-shadow-md)}.sa-topbar .sa-title{display:flex;align-items:baseline;gap:16px}.sa-topbar h1{margin:0;font-size:1rem;font-weight:500;opacity:.9;text-transform:uppercase;letter-spacing:.08em}.sa-topbar .sa-user{display:flex;align-items:center;gap:16px;font-size:.88rem}.sa-topbar .sa-logout{background:#ffffff1f;color:var(--b1-white);border:1px solid rgba(255,255,255,.3);padding:7px 16px;border-radius:var(--b1-radius-md);cursor:pointer;font-size:.85rem;font-weight:500;font-family:inherit;transition:background .15s}.sa-topbar .sa-logout:hover{background:#ffffff38}.sa-container{max-width:1200px;margin:0 auto;padding:32px}.sa-card{background:var(--b1-white);border-radius:var(--b1-radius-lg);padding:28px;margin-bottom:24px;box-shadow:var(--b1-shadow-sm);border:1px solid var(--b1-gray-200)}.sa-card h2{margin:0 0 4px;font-size:1.1rem;font-weight:700;color:var(--b1-dark)}.sa-card .sa-hint{margin:0 0 20px;color:var(--b1-gray-600);font-size:.88rem}.sa-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end}.sa-field{display:flex;flex-direction:column;gap:6px}.sa-field label{font-size:.74rem;color:var(--b1-gray-700);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.sa-field input{padding:10px 12px;border:1px solid var(--b1-gray-300);border-radius:var(--b1-radius-md);font-size:.92rem;background:var(--b1-white);outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.sa-field input:focus{border-color:var(--b1-primary);box-shadow:0 0 0 3px #0066cc1f}.sa-btn{background:var(--b1-gradient-primary);color:var(--b1-white);border:none;padding:10px 20px;border-radius:var(--b1-radius-md);cursor:pointer;font-size:.9rem;font-weight:600;font-family:inherit;transition:all .15s}.sa-btn:hover:not(:disabled){box-shadow:0 6px 16px #0066cc4d;transform:translateY(-1px)}.sa-btn:disabled{opacity:.55;cursor:not-allowed}.sa-btn-sm{padding:6px 12px;font-size:.78rem;font-weight:500;border-radius:var(--b1-radius-sm);border:1px solid var(--b1-gray-300);background:var(--b1-white);color:var(--b1-gray-700);cursor:pointer;margin-right:4px;font-family:inherit;transition:all .15s}.sa-btn-sm:hover{background:var(--b1-gray-100);border-color:var(--b1-gray-400)}.sa-btn-sm.danger{color:var(--b1-danger);border-color:#fca5a5}.sa-btn-sm.danger:hover{background:#fef2f2}.sa-msg-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px 14px;border-radius:var(--b1-radius-md);font-size:.88rem;margin-top:12px}.sa-table{width:100%;border-collapse:collapse;font-size:.9rem}.sa-table th{text-align:left;padding:12px;background:var(--b1-gray-100);border-bottom:2px solid var(--b1-gray-200);font-weight:600;color:var(--b1-gray-700);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.sa-table td{padding:14px 12px;border-bottom:1px solid var(--b1-gray-200);vertical-align:middle}.sa-table tbody tr:hover{background:var(--b1-gray-100)}.sa-table code{background:var(--b1-gray-100);padding:2px 6px;border-radius:4px;font-size:.88em;color:var(--b1-primary-dark);font-family:JetBrains Mono,SF Mono,monospace}.sa-table .sa-missing{color:var(--b1-secondary);font-style:italic;font-size:.85rem}.sa-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sa-badge.ok{background:#d1fae5;color:#065f46}.sa-badge.no{background:#fee2e2;color:#991b1b}.sa-badge.dim{background:var(--b1-gray-200);color:var(--b1-gray-600)}.sa-empty{text-align:center;padding:48px 20px;color:var(--b1-gray-500);font-size:.9rem}.sa-login{min-height:100vh;background:var(--b1-gradient-hero);display:flex;align-items:center;justify-content:center;padding:20px}.sa-login-card{background:var(--b1-white);border-radius:var(--b1-radius-lg);box-shadow:var(--b1-shadow-lg);width:100%;max-width:420px;overflow:hidden}.sa-login-brand{background:var(--b1-gradient-primary);padding:28px 32px;text-align:center}.sa-login-body{padding:32px}.sa-login-body h2{margin:0 0 4px;color:var(--b1-dark);font-size:1.3rem}.sa-login-body .sub{margin:0 0 24px;color:var(--b1-gray-600);font-size:.92rem}.sa-login-body .sa-field{margin-bottom:14px}.sa-login-body .sa-btn{width:100%;padding:11px;font-size:.95rem}
