:root{--brand-blue: #2563EB;--brand-blue-light: #3B82F6;--brand-blue-dark: #1E40AF;--bg-page: #f3f4f6;--card-bg: #ffffff;--card-radius: 16px;--card-shadow: 0 14px 30px rgba(37, 99, 235, .15);--border-subtle: #e5e7eb;--text-muted: #6b7280}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-page);color:#111827}.app-shell{min-height:100vh;background:linear-gradient(135deg,#eff6ff,#f3f4f6,#e0e7ff)}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 2.5rem}.page-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}.page-title{font-size:1.6rem;font-weight:600}.page-subtitle{font-size:.9rem;color:var(--text-muted)}.card{background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:1.25rem 1.5rem}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.card-subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}.grid-2{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:1.25rem}@media (max-width: 900px){.grid-2{grid-template-columns:minmax(0,1fr)}}.form-field{display:flex;flex-direction:column;margin-bottom:.75rem}.form-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.25rem}.form-input,.form-select,.form-number{border-radius:999px;border:1px solid var(--border-subtle);padding:.45rem .75rem;font-size:.9rem;outline:none;background:#fff}.form-input:focus,.form-select:focus,.form-number:focus{border-color:var(--brand-blue-light);box-shadow:0 0 0 1px #3b82f666}.primary-button{background:var(--brand-blue);color:#fff;border:none;border-radius:999px;padding:.5rem 1.4rem;font-size:.9rem;font-weight:500;cursor:pointer}.primary-button:hover:not(:disabled){background:var(--brand-blue-dark)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:transparent;border-radius:999px;border:1px solid var(--border-subtle);padding:.35rem 1rem;font-size:.85rem;cursor:pointer}.banner-error{background:#fee2e2;color:#b91c1c;border-radius:999px;padding:.4rem .8rem;font-size:.8rem;margin-bottom:.75rem}.banner-success{background:#dcfce7;color:#166534;border-radius:999px;padding:.4rem .8rem;font-size:.8rem;margin-bottom:.75rem}.pill{display:inline-flex;align-items:center;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500}.pill--active{background:#22c55e1f;color:#16a34a}.pill--inactive{background:#ef44441f;color:#ef4444}.pill--status{background:#2563eb1a;color:#1d4ed8}.table-lite{width:100%;border-collapse:collapse;font-size:.85rem}.table-lite th,.table-lite td{padding:.4rem .3rem}.table-lite th{text-align:left;font-weight:600;color:var(--text-muted)}.table-lite tbody tr:nth-child(2n){background:#f9fafb}.stop-list{display:flex;flex-direction:column;gap:.6rem}.stop-card{border-radius:12px;border:1px solid #e5e7eb;padding:.6rem .75rem;background:#f9fafb;display:flex;justify-content:space-between;align-items:center}.stop-card--next{border:2px solid var(--brand-blue);background:#2563eb0d}.stop-main{display:flex;flex-direction:column;gap:.1rem}.stop-title{font-size:.95rem;font-weight:500}.stop-subtitle{font-size:.8rem;color:var(--text-muted)}.stop-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.navbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000d}.nav-left{display:flex;align-items:center;gap:.9rem}.nav-logo{height:42px;width:auto}.nav-brand{font-weight:700;font-size:1.1rem;color:var(--brand-blue);letter-spacing:-.01em;line-height:1.3}.nav-brand span{font-size:1rem}.nav-right{display:flex;align-items:center;gap:1rem}.nav-links{display:flex;gap:.9rem}.nav-link{color:var(--brand-blue);text-decoration:none;font-size:.92rem;font-weight:600}.nav-user{display:flex;align-items:center;gap:.75rem}.nav-username{font-size:.92rem;color:#374151;font-weight:500}.nav-role{color:#9ca3af}.nav-logout{border:none;background:var(--brand-blue);color:#fff;padding:.5rem 1rem;cursor:pointer;border-radius:10px;font-size:.88rem;font-weight:600}.primary-button:active,.secondary-button:active{transform:scale(.96);transition:transform .1s ease}.primary-button,.secondary-button{transition:all .2s ease;position:relative;overflow:hidden}.primary-button:hover:not(:disabled){background:var(--brand-blue-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.secondary-button:hover{background:#f3f4f6;border-color:var(--brand-blue);transform:translateY(-1px)}.primary-button:after,.secondary-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.primary-button:active:after,.secondary-button:active:after{width:300px;height:300px;opacity:0;transition:width .6s,height .6s,opacity .6s}.card{transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #2563eb33}.stop-card{transition:all .2s ease}.stop-card:active{transform:scale(.98)}.form-input:focus,.form-select:focus,.form-number:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb26;transition:all .2s ease}.form-input,.form-select,.form-number{transition:all .2s ease}a{transition:color .2s ease}a:hover{color:var(--brand-blue-light)}.pill{transition:transform .2s ease;cursor:default}.pill:hover{transform:scale(1.05)}button{transition:all .2s ease}@media (max-width: 640px){.navbar{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.85rem 1rem}.nav-left{gap:.75rem}.nav-logo{height:36px}.nav-brand{font-size:1rem}.nav-brand span{font-size:.95rem}.nav-right{width:100%;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.nav-user{width:100%;justify-content:space-between}.nav-logout{width:auto;padding:.5rem .9rem}.page{padding:1rem .8rem 2rem}.card{padding:1rem;box-shadow:0 10px 24px #2563eb26}.stop-card{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.8rem .9rem}.stop-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.primary-button{padding:.45rem 1rem;font-size:.9rem}.stop-title{font-size:1rem}.stop-subtitle{font-size:.85rem}}
