:root{--bg: #F7F6F3;--surface: #FFFFFF;--surface-alt: #FAF9F6;--border: #E4E2DA;--border-strong: #C9C6BA;--text-primary: #1F1E1B;--text-secondary: #6B6A64;--accent: #185FA5;--accent-hover: #0C447C;--danger: #A32D2D;--danger-bg: #FCEBEB;--success: #27500A;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(31, 30, 27, .06);--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;font-family:var(--font-body)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text-primary)}.app-shell{max-width:1600px;margin:0 auto;padding:2rem 1.5rem 4rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 22px;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);color:var(--text-primary)}.app-header h2{color:var(--text-primary);margin:0}.app-header p{color:var(--text-secondary)!important}.app-header-left{display:flex;align-items:center;gap:14px}.app-logo{height:46px;width:auto;display:block;border-radius:6px}.platform-tabline{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border);color:var(--text-secondary)}.btn{height:36px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer}.btn:hover{background:#f0efea}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;border:none}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--border);border-left:4px solid var(--border);text-align:left;cursor:pointer}.card.active{box-shadow:inset 0 0 0 1.5px currentColor}.card-label{font-size:13px;color:var(--text-secondary);margin:0 0 4px}.card-value{font-size:26px;font-weight:700;margin:0}.card-all{border-left-color:var(--border-strong)}.card-upcoming{background:#e6f1fb;border-left-color:#0c447c;color:#0c447c}.card-upcoming .card-label{color:#0c447c;opacity:.75}.card-urgent{background:#faeeda;border-left-color:#854f0b;color:#854f0b}.card-urgent .card-label{color:#854f0b;opacity:.75}.card-overdue{background:#fcebeb;border-left-color:#791f1f;color:#791f1f}.card-overdue .card-label{color:#791f1f;opacity:.75}.card-cancelled{background:#f1efe8;border-left-color:#444441;color:#444441}.card-cancelled .card-label{color:#444441;opacity:.75}.card-completed{background:#eaf3de;border-left-color:#27500a;color:#27500a}.card-completed .card-label{color:#27500a;opacity:.75}.platform-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:0;overflow:hidden;text-align:left;cursor:pointer;display:flex;flex-direction:column}.platform-card:hover{box-shadow:0 4px 14px #1f1e1b1a}.platform-card-top{padding:20px 20px 16px;color:#1f1e1b}.platform-card-icon{width:42px;height:42px;border-radius:10px;background:#00000024;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}.platform-card-body{padding:14px 20px;flex:1;display:flex;flex-direction:column;gap:8px}.platform-card-footer{padding:16px 20px 20px}.input,.select{width:100%;height:36px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:0 10px;font-size:14px;color:var(--text-primary)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #185fa524}.label{font-size:13px;color:var(--text-secondary);margin:0 0 6px;display:block}.field{margin-bottom:14px}table.vt-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border-radius:12px;overflow:hidden}.vt-table th{text-align:left;padding:10px 12px;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap;background:#faf9f6}.vt-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--text-primary)}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.priority-row{border-left:3px solid var(--danger)}.flag-icon{color:var(--danger);margin-right:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;z-index:50}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:460px;padding:1.5rem;border:1px solid var(--border);max-height:90vh;overflow-y:auto}.admin-embedded{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1.5rem}.s-upcoming{background:#e6f1fb;color:#0c447c}.s-urgent{background:#faeeda;color:#854f0b}.s-overdue{background:#fcebeb;color:#791f1f}.s-cancelled{background:#f1efe8;color:#444441}.s-completed{background:#eaf3de;color:#27500a}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:380px}.auth-logo{display:block;height:56px;width:auto;margin:0 auto 1.25rem;border-radius:8px}.auth-error{background:var(--danger-bg);color:var(--danger);padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:13px}.p-notstarted{background:#f1efe8;color:#444441}.p-ongoing{background:#e6f1fb;color:#0c447c}.p-pendingdocs{background:#faeeda;color:#854f0b}.p-onhold{background:#eeedfe;color:#3c3489}.p-visaapplied{background:#e1f5ee;color:#085041}.p-visarefused{background:#fbe3e1;color:#8c2a21}.p-visagranted{background:#eaf3de;color:#27500a}.p-contactedcustomer{background:#e6f1fb;color:#0c447c}.p-quotesent{background:#eeedfe;color:#3c3489}.p-bookingconfirmed{background:#e1f5ee;color:#085041}.p-paymentreceived{background:#faeeda;color:#854f0b}.p-ticketissued{background:#eaf3de;color:#27500a}.p-customerdeclined{background:#fbe3e1;color:#8c2a21}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text-primary)}.icon-btn:hover{background:#f0efea}.icon-btn.danger{color:var(--danger);border-color:var(--danger)}.icon-btn.danger:hover{background:var(--danger-bg)}.action-group{display:flex;gap:6px;flex-wrap:nowrap}.view-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.view-row .label{font-size:13px}.notes-box{white-space:pre-wrap;background:#faf9f6;border-radius:var(--radius);padding:10px 12px;font-size:14px;border:1px solid var(--border);min-height:40px}textarea.input{height:auto;padding:8px 10px;resize:vertical;font-family:inherit}.tab-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab-btn{height:36px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer}.tab-btn:hover{background:#f0efea;color:var(--text-primary)}.tab-btn.active{background:var(--accent);border-color:transparent;color:#fff}
