:root{--gc-primary: #0054FF;--gc-primary-hover: #0043CC;--gc-primary-light: #EEF1FA;--gc-primary-muted: #DDE3F0;--gc-gradient: linear-gradient(90deg, #3376FF 0%, #A033FF 100%);--gc-success: #16a34a;--gc-success-bg: #f0fdf4;--gc-danger: #dc2626;--gc-danger-bg: #fef2f2;--gc-warning: #d97706;--gc-warning-bg: #fffbeb;--gc-text: #0C214C;--gc-text-secondary: #4A6491;--gc-text-muted: #8A9BBF;--gc-border: #DDE3F0;--gc-border-light: #C8D2E8;--gc-bg: #EEF1FA;--gc-bg-warm: #F5F7FC;--gc-sidebar-bg: #0C1E40;--gc-sidebar-text: #8A9BBF;--gc-sidebar-hover: #1A3057;--gc-sidebar-active: #3376FF;--gc-sidebar-active-bg: rgba(51, 118, 255, .14);--gc-white: #ffffff;--gc-header-bg: #ffffff;--gc-header-shadow: 0 1px 4px rgba(12,33,76,.06);--gc-card-shadow: 0 1px 4px rgba(12,33,76,.06);--gc-card-shadow-hover: 0 8px 24px rgba(12,33,76,.1);--gc-radius: 10px;--gc-radius-sm: 8px;--gc-radius-lg: 12px}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--gc-text);background:var(--gc-bg);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--gc-primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh;flex-direction:column}.app-body{display:flex;flex:1;min-height:0}.gc-header{height:56px;background:var(--gc-header-bg);border-bottom:1px solid var(--gc-border-light);box-shadow:var(--gc-header-shadow);display:flex;align-items:center;padding:0 1.5rem;gap:1.5rem;flex-shrink:0}.gc-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:56px;margin:0;padding:0;line-height:0;text-decoration:none}.gc-logo:focus-visible{outline:2px solid var(--gc-primary);outline-offset:2px}.gc-logo-img{height:26px;width:auto;max-height:26px;object-fit:contain;object-position:center;display:block;vertical-align:middle}.gc-header-search-wrap{flex:1;max-width:480px;display:flex;align-items:center;gap:.5rem}.gc-header-search{flex:1;min-width:0;height:40px;padding:0 14px;border:1px solid var(--gc-border);border-radius:var(--gc-radius-sm);font-size:14px;background:var(--gc-bg-warm);font-family:inherit;transition:border-color .2s,box-shadow .2s}.gc-header-search::placeholder{color:var(--gc-text-muted)}.gc-header-search:hover{border-color:var(--gc-border)}.gc-header-search:focus{outline:none;border-color:var(--gc-primary);box-shadow:0 0 0 3px var(--gc-primary-muted);background:var(--gc-white)}.gc-header-search-btn{height:40px;padding:0 1rem;border:none;border-radius:var(--gc-radius-sm);background:var(--gc-primary);color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;flex-shrink:0;transition:background .2s}.gc-header-search-btn:hover{background:var(--gc-primary-hover)}.gc-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gc-text-secondary);font-weight:500;margin-left:auto}.gc-signout-btn{background:none;border:none;padding:.3rem .6rem;font-size:13px;font-family:inherit;font-weight:500;color:var(--gc-text-muted);cursor:pointer;border-radius:var(--gc-radius-sm);transition:color .15s,background .15s}.gc-signout-btn:hover{color:var(--gc-danger);background:var(--gc-danger-bg)}.gc-avatar{width:36px;height:36px;border-radius:10px;background:var(--gc-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.sidebar{width:260px;background:var(--gc-sidebar-bg);padding:1.25rem 0;flex-shrink:0;overflow-y:auto}.sidebar-section{margin-bottom:.75rem}.sidebar-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gc-sidebar-text);opacity:.9;padding:0 1.25rem;margin-bottom:.35rem}.sidebar a{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.25rem;color:var(--gc-sidebar-text);text-decoration:none;font-size:13px;font-weight:500;border-left:3px solid transparent;margin-left:0;transition:background .15s,color .15s}.sidebar a:hover{background:var(--gc-sidebar-hover);color:#e2e8f0}.sidebar a.active,aside.sidebar a.active{background:var(--gc-sidebar-active-bg)!important;color:#fff!important;border-left-color:var(--gc-sidebar-active)!important}.sidebar a.active:hover,aside.sidebar a.active:hover{background:var(--gc-sidebar-active-bg)!important;color:#fff!important}.sidebar .count{font-size:12px;font-weight:600;color:var(--gc-sidebar-text);min-width:1.5rem;text-align:right;opacity:.85}.sidebar a.active .count{color:#ffffffe6}.main{flex:1;padding:1.75rem 2rem;overflow:auto;background:var(--gc-bg-warm);margin:16px;border-radius:var(--gc-radius-lg);box-shadow:var(--gc-card-shadow)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--gc-border-light);flex-wrap:wrap;gap:1rem}.topbar h1{font-size:1.4rem;font-weight:700;margin:0;color:var(--gc-text);letter-spacing:-.02em}.search-input{padding:0 14px;height:40px;border:1px solid var(--gc-border);border-radius:var(--gc-radius-sm);width:280px;font-size:14px;font-family:inherit;background:var(--gc-white);transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:var(--gc-primary);box-shadow:0 0 0 3px var(--gc-primary-muted)}.topbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.filter-label{font-size:12px;font-weight:600;color:var(--gc-text-secondary);text-transform:uppercase;letter-spacing:.04em}.chip-group{display:flex;gap:.35rem}.chip-group .chip{padding:.35rem .75rem;font-size:12px;background:var(--gc-border-light);color:var(--gc-text-secondary);border:1px solid var(--gc-border);cursor:pointer;border-radius:var(--gc-radius-sm);font-weight:500;text-transform:none}.chip-group .chip:hover{background:var(--gc-border);color:var(--gc-text)}.chip-group .chip.active{background:var(--gc-primary-muted);color:var(--gc-primary);border-color:var(--gc-primary)}.sort-select{padding:.35rem .6rem;border:1px solid var(--gc-border);border-radius:var(--gc-radius-sm);font-size:13px;font-family:inherit;background:var(--gc-white);color:var(--gc-text)}.chip{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:9999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.chip-doc-in-progress{background:var(--gc-primary-muted);color:var(--gc-primary)}.chip-in-transit,.chip-arrived,.chip-completed{background:var(--gc-success-bg);color:var(--gc-success)}.chip-delayed,.chip-cancelled,.chip-exception{background:var(--gc-danger-bg);color:var(--gc-danger)}.chip-pending{background:var(--gc-warning-bg);color:var(--gc-warning)}.chip-overdue{background:var(--gc-danger-bg);color:var(--gc-danger)}.chip-uploaded{background:var(--gc-primary-muted);color:var(--gc-primary)}.chip-approved{background:var(--gc-success-bg);color:var(--gc-success)}.chip-dismissed{background:var(--gc-border-light);color:var(--gc-text-muted)}.table-wrap{overflow-x:auto;border:1px solid var(--gc-border);border-radius:var(--gc-radius);background:var(--gc-white);box-shadow:var(--gc-card-shadow)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:.85rem 1.1rem;background:var(--gc-bg);font-weight:600;color:var(--gc-text-secondary);text-transform:uppercase;font-size:11px;letter-spacing:.05em;border-bottom:1px solid var(--gc-border)}td{padding:.9rem 1.1rem;border-bottom:1px solid var(--gc-border-light);color:var(--gc-text)}tr:last-child td{border-bottom:none}tr:hover td{background:#f0f3fb}tr.clickable{cursor:pointer;transition:background .15s}.btn{padding:.55rem 1.1rem;border-radius:var(--gc-radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .2s}.btn-primary{background:var(--gc-primary);color:#fff}.btn-primary:hover{background:var(--gc-primary-hover)}.btn-secondary{background:var(--gc-white);color:var(--gc-text);border:1px solid var(--gc-border)}.btn-secondary:hover{background:var(--gc-bg);border-color:var(--gc-text-muted)}.btn-danger{background:var(--gc-danger);color:#fff}.btn-danger:hover{opacity:.95}.btn-sm{padding:.4rem .85rem;font-size:12px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.card{padding:1.35rem;background:var(--gc-white);border:1px solid var(--gc-border-light);border-radius:var(--gc-radius);transition:box-shadow .2s,border-color .2s,transform .2s}.card:hover{box-shadow:var(--gc-card-shadow-hover);border-color:var(--gc-border);transform:translateY(-1px)}.card a{display:block;font-weight:500;text-decoration:none;color:inherit}.card a:hover{text-decoration:none}.card .num{font-size:1.9rem;font-weight:700;color:var(--gc-primary);letter-spacing:-.03em;line-height:1.2}.card .label{font-size:13px;color:var(--gc-text-secondary);margin-top:.4rem;font-weight:500}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--gc-border);margin-bottom:1.5rem}.tabs a{padding:.75rem 1.25rem;color:var(--gc-text-secondary);font-weight:500;font-size:13px;border-radius:var(--gc-radius-sm) var(--gc-radius-sm) 0 0;text-decoration:none;transition:color .15s,background .15s}.tabs a:hover{color:var(--gc-primary);background:var(--gc-primary-light)}.tabs a.active{color:var(--gc-primary);background:var(--gc-primary-light);font-weight:600}.breadcrumb{font-size:13px;color:var(--gc-text-muted);margin-bottom:1rem}.breadcrumb span+span:before{content:" › "}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1e4073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--gc-white);padding:1.75rem;border-radius:var(--gc-radius-lg);min-width:340px;max-width:90vw;box-shadow:0 20px 40px #0000001f}.modal h3{margin-top:0;font-size:1.1rem;font-weight:600}.modal-actions{margin-top:1.5rem;display:flex;gap:.6rem;justify-content:flex-end}.dashboard-section{margin-bottom:2.25rem}.dashboard-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gc-text-muted);margin:0 0 .85rem}.gc-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.gc-filters a{font-size:13px;font-weight:500;padding:.45rem .85rem;border-radius:var(--gc-radius-sm);color:var(--gc-text-secondary);text-decoration:none;transition:color .15s,background .15s}.gc-filters a:hover{color:var(--gc-primary);background:var(--gc-primary-light)}.gc-filters a.active-filter{color:var(--gc-primary);font-weight:600;background:var(--gc-primary-light)}.btn-link{padding:0;background:none;border:none;color:var(--gc-primary);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:500}.btn-link:hover{text-decoration:none}.shipment-detail-intro{font-size:14px;color:var(--gc-text-secondary);margin-bottom:1.5rem;line-height:1.5}.tray-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.tray-card{display:flex;gap:1rem;align-items:flex-start;background:var(--gc-white);border:1px solid var(--gc-border-light);border-radius:var(--gc-radius);padding:1.25rem;transition:box-shadow .2s,border-color .2s}.tray-card:hover{box-shadow:var(--gc-card-shadow-hover);border-color:var(--gc-border)}.tray-card-icon{width:44px;height:44px;border-radius:var(--gc-radius-sm);background:var(--gc-primary-light);color:var(--gc-primary);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.tray-card-body{flex:1;min-width:0}.tray-card-title{font-weight:600;font-size:15px;color:var(--gc-text);margin:0 0 .35rem;line-height:1.3}.tray-card-title .mandatory{color:var(--gc-text-muted);font-weight:500;font-size:12px}.tray-card-status{margin-bottom:.75rem}.tray-card-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:12px;color:var(--gc-text-muted);margin:0 0 .75rem;line-height:1.4}.tray-card-meta span{display:inline}.tray-card-dismiss-reason{margin-bottom:0!important}.tray-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gc-border-light)}.tray-card-dismissed{opacity:.85;border-style:dashed}.tray-card-dismissed .tray-card-icon{background:var(--gc-border-light);color:var(--gc-text-muted)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.summary-block{background:var(--gc-white);border:1px solid var(--gc-border-light);border-radius:var(--gc-radius);padding:1.25rem}.summary-block h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gc-text-muted);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--gc-border-light)}.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:13px;border-bottom:1px solid var(--gc-border-light)}.summary-row:last-child{border-bottom:none}.summary-row dt{margin:0;font-weight:500;color:var(--gc-text-secondary);flex-shrink:0}.summary-row dd{margin:0;color:var(--gc-text);text-align:right}.summary-row dd:has(.chip){text-align:right}.login-page{min-height:100vh;background:var(--gc-bg);display:flex;align-items:center;justify-content:center}.login-card{background:var(--gc-white);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);box-shadow:var(--gc-card-shadow-hover);padding:2.5rem 2.25rem;width:100%;max-width:400px}.login-logo{display:flex;justify-content:center;margin-bottom:1.75rem}.login-logo-img{height:28px;width:auto}.login-title{font-size:1.25rem;font-weight:700;color:var(--gc-text);margin:0 0 .35rem;text-align:center;letter-spacing:-.02em}.login-subtitle{font-size:13px;color:var(--gc-text-muted);text-align:center;margin:0 0 1.75rem}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-label{font-size:13px;font-weight:600;color:var(--gc-text-secondary)}.login-input{height:42px;padding:0 14px;border:1px solid var(--gc-border);border-radius:var(--gc-radius-sm);font-size:14px;font-family:inherit;background:var(--gc-bg);color:var(--gc-text);transition:border-color .2s,box-shadow .2s}.login-input:focus{outline:none;border-color:var(--gc-primary);box-shadow:0 0 0 3px var(--gc-primary-muted);background:var(--gc-white)}.login-error{font-size:13px;color:var(--gc-danger);background:var(--gc-danger-bg);border:1px solid #fecaca;border-radius:var(--gc-radius-sm);padding:.5rem .75rem;margin:0}.login-btn{width:100%;height:42px;font-size:14px;margin-top:.25rem}
