:root{--primary: #f59e0b;--primary-dark: #d97706;--primary-light: #fbbf24;--primary-bg: #fffbeb;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--info: #0891b2;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-500: #6b7280;--gray-700: #374151;--gray-900: #111827;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 12px rgba(0,0,0,.1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,sans-serif;background:var(--gray-100);color:var(--gray-900);line-height:1.6;font-size:16px}.app{display:flex;flex-direction:column;min-height:100vh}.top-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--gray-200);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}.top-header-title{font-size:1rem;font-weight:700;color:var(--gray-900);display:flex;align-items:center;gap:.5rem}.top-header-title .carrier-name{font-size:.85rem;color:var(--gray-500);font-weight:400}.notification-bell{position:relative;background:none;border:none;font-size:1.4rem;cursor:pointer;padding:.3rem}.notification-badge{position:absolute;top:-2px;right:-4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;border-radius:50%;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;display:flex;border-top:1px solid var(--gray-200);z-index:100;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 8px #0000000f}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.7rem;color:var(--gray-500);text-decoration:none;gap:.15rem;transition:color .15s}.bottom-nav a .nav-icon{font-size:1.3rem;line-height:1}.bottom-nav a.active{color:var(--primary-dark)}.bottom-nav a.active .nav-icon{transform:scale(1.1)}.main{flex:1;padding:1rem;padding-bottom:80px;max-width:100%}.page-title{font-size:1.2rem;font-weight:700;margin-bottom:1rem;color:var(--gray-900)}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:.75rem}.card-title{font-size:.9rem;font-weight:600;margin-bottom:.6rem;color:var(--gray-700)}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.kpi{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:.8rem;text-align:center}.kpi-icon{font-size:1.5rem;margin-bottom:.2rem}.kpi-value{font-size:1.8rem;font-weight:700;color:var(--primary-dark);line-height:1.2}.kpi-label{font-size:.75rem;color:var(--gray-500);margin-top:.1rem}.kpi.warning .kpi-value{color:var(--danger)}.kpi.info .kpi-value{color:var(--info)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600}.badge-offered{background:#fef3c7;color:#92400e}.badge-accepted{background:#d1fae5;color:#065f46}.badge-declined{background:#fee2e2;color:#991b1b}.badge-in_transit{background:#dbeafe;color:#1e40af}.badge-completed{background:#d1fae5;color:#065f46}.badge-settled{background:var(--gray-100);color:var(--gray-500)}.badge-unassigned{background:var(--gray-200);color:var(--gray-700)}.badge-dispatch{background:#dbeafe;color:#1e40af}.badge-settle{background:#d1fae5;color:#065f46}.badge-comply{background:#fef3c7;color:#92400e}.badge-system{background:var(--gray-200);color:var(--gray-700)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.2rem;border-radius:10px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s,transform .1s;gap:.4rem}.btn:hover{opacity:.85}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{background:#fff;color:var(--gray-700);border:1px solid var(--gray-300)}.btn-sm{min-height:36px;padding:.4rem .8rem;font-size:.82rem}.btn-block{width:100%}.list-item{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:.8rem 1rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.4rem}.list-item-header{display:flex;justify-content:space-between;align-items:flex-start}.list-item-title{font-size:.9rem;font-weight:600;color:var(--gray-900)}.list-item-sub{font-size:.78rem;color:var(--gray-500)}.list-item-actions{display:flex;gap:.5rem;margin-top:.3rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--gray-700);margin-bottom:.3rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--gray-300);border-radius:10px;font-size:16px;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #f59e0b33}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#78350f,#d97706,#f59e0b);padding:1rem}.login-card{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:380px;box-shadow:0 8px 32px #0003}.login-card h1{text-align:center;margin-bottom:.2rem;color:var(--primary-dark);font-size:1.4rem}.login-card p{text-align:center;color:var(--gray-500);font-size:.85rem;margin-bottom:1.5rem}.login-error{background:#fee2e2;color:#991b1b;padding:.6rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;text-align:center}.notification-item{padding:.8rem 1rem;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-item:active{background:var(--gray-50)}.notification-item.unread{background:var(--primary-bg)}.notification-item .notif-title{font-size:.88rem;font-weight:600;margin-bottom:.2rem}.notification-item.unread .notif-title:before{content:"";display:inline-block;width:8px;height:8px;background:var(--primary);border-radius:50%;margin-right:.4rem;vertical-align:middle}.notification-item .notif-body{font-size:.8rem;color:var(--gray-500);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item .notif-meta{font-size:.72rem;color:var(--gray-500);margin-top:.2rem;display:flex;gap:.5rem}.empty-state{text-align:center;padding:2rem 1rem;color:var(--gray-500)}.empty-state .empty-icon{font-size:3rem;margin-bottom:.5rem}.empty-state p{font-size:.9rem}.toast{background:var(--success);color:#fff;padding:.6rem 1rem;border-radius:10px;margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.toast.error{background:var(--danger)}.toast button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.1rem;padding:0 .3rem}.menu-list{list-style:none}.menu-item{display:flex;align-items:center;gap:.8rem;padding:1rem;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .15s;font-size:.95rem}.menu-item:active{background:var(--gray-50)}.menu-item .menu-icon{font-size:1.3rem}.menu-item .menu-label{flex:1}.menu-item .menu-arrow{color:var(--gray-300)}.menu-item.danger{color:var(--danger)}.dashboard-grid{display:flex;flex-direction:column;gap:0}.dashboard-col{flex:1}@media(min-width:768px){.main{max-width:100%;padding:1.5rem 2rem}.top-header{padding:.75rem 2rem}.kpi-grid{grid-template-columns:repeat(3,1fr)}.list-item{flex-direction:row;align-items:center}.list-item-header{flex:1}.list-item-actions{margin-top:0}.bottom-nav{max-width:600px;left:50%;transform:translate(-50%);border-radius:16px 16px 0 0}}@media(min-width:1024px){.main{max-width:100%;padding:2rem 4rem}.top-header{padding:.75rem 4rem}.dashboard-grid{flex-direction:row;gap:1.5rem}.dashboard-col{flex:1;min-width:0}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem}.kpi{padding:1.2rem}.kpi-value{font-size:2.2rem}.kpi-label{font-size:.85rem}.card{padding:1.5rem;margin-bottom:1rem}.page-title{font-size:1.4rem}.list-item{padding:1rem 1.2rem}.form-group input,.form-group select,.form-group textarea{padding:.7rem 1rem}.bottom-nav{max-width:800px}.two-col-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}}
