.track-shell{max-width:1300px;margin:auto;padding:0 0 24px}.track-toolbar,.track-actions,.track-row,.track-filters{display:flex;gap:12px;align-items:center}.track-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.track-toolbar h2{font-size:1.45rem;margin:0 0 6px}.track-toolbar p,.track-hint{color:var(--ink-soft,#66708a);font-size:.86rem;line-height:1.55}.track-actions{flex-wrap:wrap}.track-filters{flex-wrap:wrap;margin-bottom:16px;align-items:end}.track-filters label,.track-form label,.track-select-label{display:flex;flex-direction:column;gap:7px;font-size:.84rem;font-weight:650;min-width:0}.track-filters input,.track-filters select,.track-form input:not([type=checkbox]),.track-form select,.track-form textarea,.track-select-label select{width:100%;min-height:44px;border:1px solid var(--line,#dce1ec);border-radius:10px;padding:10px 12px;background:var(--surface,#fff);color:var(--ink,#26305c);font:inherit;box-sizing:border-box}.track-map{height:380px;min-height:240px;border-radius:18px;background:#e9eef5;border:1px solid var(--line,#dce1ec);overflow:hidden;z-index:0}.track-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.track-panel{padding:20px;background:var(--surface,#fff);border:1px solid var(--line,#e5e8f1);border-radius:18px;margin:18px 0;box-shadow:0 3px 12px #232a5205;min-width:0}.track-panel h3{font-size:1.03rem;margin:0 0 14px}.track-row{justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line,#eceef6);align-items:flex-start}.track-row:last-child{border-bottom:0}.track-row>div{min-width:0}.track-row strong,.track-row span,.track-row small{display:block;overflow-wrap:anywhere}.track-row strong{font-size:.93rem}.track-row span{font-size:.85rem;margin-top:5px}.track-row small{font-size:.76rem;color:var(--ink-soft,#66708a);margin-top:5px}.track-row .btn{flex-shrink:0}.track-empty{color:var(--ink-soft,#7c849d);padding:22px 8px;text-align:center;font-size:.88rem;line-height:1.5}.track-timeline{display:grid;grid-template-columns:65px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line,#eceef6);font-size:.9rem}.track-timeline time{color:var(--ink-soft,#66708a);font-size:.82rem}.track-details summary{cursor:pointer;padding:12px 0;font-weight:650;min-height:44px}.track-details>div,.track-details>form{animation:track-reveal .22s ease-out}.track-form{display:grid;gap:16px}.track-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.track-form label.track-check{display:flex;flex-direction:row;align-items:center;gap:10px;line-height:1.5}.track-check input{width:20px;height:20px;flex-shrink:0}.track-form textarea{min-height:90px;resize:vertical}.track-code{font-size:1.8rem;font-weight:750;letter-spacing:.15em;color:var(--primary,#4a7cff);padding:18px 0;overflow-wrap:anywhere}.track-select-label{max-width:500px;margin-bottom:12px}.track-shell .btn{min-height:42px}.track-panel details p{line-height:1.6}.track-map .leaflet-control-attribution{font-size:10px}.track-map .leaflet-popup-content{line-height:1.6}@keyframes track-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.track-columns{grid-template-columns:1fr;gap:0}.track-map{height:310px}.track-panel{padding:16px;margin:12px 0}.track-toolbar{align-items:flex-start}.track-actions{width:100%}.track-actions .btn{flex:1}.track-filters label{flex:1;min-width:125px}.track-row{gap:8px}.track-form-pair{grid-template-columns:1fr}.track-form .modal-actions{flex-wrap:wrap}.track-toolbar h2{font-size:1.25rem}.track-code{font-size:1.35rem}.track-timeline{grid-template-columns:55px 1fr}}@media(prefers-reduced-motion:reduce){.track-details>div,.track-details>form{animation:none}}
.track-live{--track-purple:#7663d8;--track-lilac:#f0ecfb;max-width:1280px}.track-live .track-toolbar{margin-bottom:16px}.track-eyebrow{font-size:.68rem;letter-spacing:.12em;color:#8e7bb8;font-weight:800}.track-live .track-toolbar h2{font-size:1.5rem;letter-spacing:-.035em;margin-top:4px}.track-live .track-toolbar p{margin:0}.track-live .btn-primary{background:#7663d8;border-color:#7663d8}.track-map-frame{position:relative;border-radius:23px;overflow:hidden;border:1px solid #e5e1ee;box-shadow:0 12px 38px #2c1b5910;background:#f0edf6}.track-live .track-map{height:490px;border:0;border-radius:0;z-index:0;background:#eeebf2}.track-map-top,.track-map-bottom{position:absolute;left:15px;right:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:450;pointer-events:none}.track-map-top{top:15px}.track-map-bottom{bottom:26px;right:56px}.track-map-top>*,.track-map-bottom>*{pointer-events:auto}.track-map-live,.track-map-button,.track-map-bottom>span{background:#fffffff2;box-shadow:0 4px 18px #1b173d15;border:1px solid #ffffffa6;border-radius:12px;padding:11px 14px;color:#40395d;font-weight:700;font-size:.79rem;backdrop-filter:blur(12px)}.track-map-live{display:inline-flex;align-items:center;gap:8px}.track-map-live i{width:7px;height:7px;border-radius:50%;background:#5aaf8b;box-shadow:0 0 0 4px #5aaf8b15}.track-map-button{min-height:44px;cursor:pointer;font-family:inherit;transition:transform .18s,background .18s}.track-map-button:hover{background:#f5f1ff;transform:translateY(-1px)}.track-map-top .track-map-button{font-size:1.4rem;width:44px;padding:4px}.track-map-bottom>span{font-size:.73rem;font-weight:600;padding:8px 12px}.track-live .leaflet-control-attribution{background:#ffffffdb!important;font-size:9px!important;padding:2px 5px!important}.track-live .leaflet-control-zoom{border:0!important;box-shadow:0 4px 14px #1b173d17!important;border-radius:12px;overflow:hidden}.track-live .leaflet-control-zoom a{border-color:#eee9f5!important;color:#675487;background:white!important}.track-map-unavailable{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;box-sizing:border-box;color:#6e6481}.track-map-unavailable strong{font-size:1.15rem;color:#55436e}.track-map-unavailable p{max-width:360px;line-height:1.7;font-size:.86rem}.track-notice{padding:12px 15px;border-radius:12px;margin-bottom:14px;background:#eeeffa;color:#5a5588;font-size:.86rem;line-height:1.6;animation:track-reveal .2s both}.track-notice-error{background:#fff4e1;color:#8c6829}.track-notice[hidden]{display:none!important}.track-people-strip{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;padding:16px 1px 12px;min-width:0;scrollbar-color:#c8bde4 transparent}.track-person-chip{display:flex;align-items:center;gap:10px;position:relative;min-width:170px;padding:11px 16px 11px 11px;border:1px solid #e8e2f1;border-radius:16px;background:white;color:#49415e;font-family:inherit;text-align:left;flex:none;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}.track-person-chip.selected{background:#f4f0ff;border-color:#a895de;box-shadow:0 3px 13px #7663d816}.track-person-chip b{display:block;font-size:.85rem}.track-person-chip small{display:block;font-size:.7rem;color:#8a7f99;margin-top:5px}.track-avatar,.track-all-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:50%;background:var(--avatar-color,#7663d8);color:white;font-weight:750;font-size:.9rem;flex:none;overflow:hidden}.track-avatar>img{width:100%;height:100%;object-fit:cover}.track-avatar>span{line-height:1;font-size:inherit}.track-avatar-small{width:30px;height:30px;font-size:.75rem}.track-all-avatar{background:#eee7fb;color:#8970bb;font-size:1.6rem}.track-online-dot{position:absolute;right:11px;top:12px;width:6px;height:6px;background:#c6c0cd;border-radius:50%}.track-online-dot.online{background:#65b58d}.track-dashboard-panel{background:white;border:1px solid #e7e2ef;border-radius:21px;overflow:hidden;box-shadow:0 5px 24px #23183f04;margin-top:4px}.track-tabs{display:flex;gap:5px;padding:9px;border-bottom:1px solid #eeeaf4;background:#faf9fc}.track-tabs button{border:0;border-radius:12px;min-height:44px;flex:1;font:inherit;font-size:.86rem;font-weight:650;cursor:pointer;background:transparent;color:#988aa9;transition:color .2s,background .2s,box-shadow .2s}.track-tabs button.selected{color:#7762b7;background:#fff;box-shadow:0 2px 8px #3a28540c}.track-panel-content{padding:21px 23px;animation:track-reveal .22s both}.track-panel-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.track-panel-title h3{margin:0;font-size:1.02rem;color:#4a3e60}.track-panel-title p{margin:5px 0 0;color:#95889f;font-size:.79rem;line-height:1.6}.track-person-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #f0ecf5}.track-person-row:last-of-type{border:0}.track-person-copy{min-width:0;flex:1}.track-person-copy strong,.track-person-copy span,.track-person-copy small{display:block;overflow-wrap:anywhere}.track-person-copy strong{font-size:.91rem;color:#4c405e}.track-person-copy span{font-size:.83rem;margin-top:5px;color:#81728d}.track-person-copy small{font-size:.74rem;color:#a092aa;margin-top:5px;line-height:1.6}.track-row-buttons{display:flex;gap:6px;align-items:center;flex:none}.track-small-button{font:inherit;font-size:.74rem;font-weight:650;border:1px solid #e8e1f0;border-radius:10px;background:#faf7fd;color:#846f9d;min-height:38px;padding:8px 11px;cursor:pointer;transition:background .2s,border-color .2s;flex:none}.track-small-button:hover{background:#eee7fa;border-color:#b8a4d6}.track-inline-vehicle{display:flex!important;align-items:center;gap:7px;font-size:.72rem!important}.track-vehicle-symbol{font-size:1.25rem!important;line-height:1.2}.track-vehicle-avatar{width:30px;height:30px;object-fit:cover;border-radius:9px}.track-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.track-place-card{display:flex;gap:11px;align-items:flex-start;padding:17px;border:1px solid #ebe5f2;border-radius:15px;background:#fdfcfe;min-width:0}.track-place-card-icon{width:35px;height:35px;background:#f1ecfa;border-radius:11px;color:#9075bc;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex:none}.track-place-card>div{flex:1;min-width:0}.track-place-card strong,.track-place-card span,.track-place-card small{display:block;overflow-wrap:anywhere}.track-place-card strong{font-size:.9rem;color:#59476e}.track-place-card>div>span{font-size:.77rem;color:#97879e;margin-top:6px;line-height:1.6}.track-place-card small{font-size:.7rem;color:#aa9bb0;margin-top:8px;line-height:1.6}.track-history-filters{display:flex;gap:13px;align-items:flex-end;margin-bottom:23px}.track-history-filters label{display:grid;gap:7px;min-width:0;font-size:.76rem;font-weight:650;color:#8c7d99}.track-history-filters input,.track-history-filters select{font:inherit;min-height:44px;padding:10px 12px;border:1px solid #e4dced;background:white;border-radius:10px;color:#68547d;min-width:0}.track-journey-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:26px}.track-journey-grid h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#aa99b5;margin:0 0 13px}.track-journey-card{display:flex;align-items:center;gap:12px;padding:16px 12px;border:1px solid #eee7f4;border-radius:14px;background:#fdfbfe;margin-bottom:10px}.track-journey-card.selected{border-color:#ae96d8;background:#f2ecfb}.track-trip-icon{width:35px;flex:none;display:flex;justify-content:center}.track-journey-card .track-row-buttons{flex-direction:column}.track-journey-card .track-person-copy strong{font-size:.85rem}.track-journey-card .track-person-copy span{font-size:.75rem}.track-live .track-timeline{position:relative;padding-left:20px;border-bottom:0;grid-template-columns:58px 1fr;font-size:.8rem;line-height:1.65}.track-live .track-timeline:before{content:'';position:absolute;left:5px;top:0;bottom:0;width:1px;background:#e8e0f0}.track-timeline-dot{position:absolute;left:1px;top:17px;width:9px;height:9px;border-radius:50%;background:#d9c9e8;border:2px solid white;box-sizing:border-box}.track-timeline-dot.arrival{background:#8aba9b}.track-live .track-timeline time{font-size:.7rem;color:#b29fbe}.track-live .track-timeline span{color:#9984a8}.track-live .track-timeline strong,.track-live .track-timeline b{font-weight:650;color:#756083}.track-person-divicon,.track-place-divicon,.track-chosen-divicon{background:transparent;border:0}.track-person-pin{position:relative;width:56px;height:64px;filter:drop-shadow(0 4px 7px #35224540)}.track-person-pin>.track-avatar{width:48px;height:48px;border:4px solid white;box-sizing:border-box;font-size:.85rem;z-index:2}.track-person-pin>i{position:absolute;bottom:9px;left:20px;width:15px;height:15px;background:white;transform:rotate(45deg);z-index:1;border-radius:2px}.track-person-stale{filter:grayscale(.8);opacity:.7}.track-pin-vehicle{position:absolute;right:-1px;bottom:11px;width:25px;height:25px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #2d174a24;z-index:3}.track-pin-vehicle .track-vehicle-symbol{font-size:.95rem!important}.track-pin-vehicle .track-vehicle-avatar{width:22px;height:22px;border-radius:50%}.track-place-pin{display:flex;width:30px;height:30px;align-items:center;justify-content:center;background:#fff;border:2px solid #cab9e2;border-radius:10px;color:#9b80bf;font-size:1.1rem;box-shadow:0 3px 8px #6a4b8e24}.track-chosen-pin{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#8970c8;border:4px solid white;color:white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 10px #4c2d7545;font-size:.7rem}.track-place-search{position:relative;display:grid;gap:8px;z-index:5}.track-place-search>label{font-size:.85rem;font-weight:650}.track-search-input{display:flex;align-items:center;border:1px solid #d9d0e5;border-radius:12px;background:#faf8fd;padding:3px 6px 3px 12px;gap:8px}.track-search-input>span{font-size:1.6rem;color:#b4a0c6;line-height:1}.track-search-input input{border:0!important;box-shadow:none!important;background:transparent!important;padding-left:3px!important}.track-search-input .track-small-button{min-height:36px;background:white;border-color:#e7dff0}.track-suggestions{display:grid;max-height:240px;overflow:auto;border:1px solid #e4dced;border-radius:12px;background:white;box-shadow:0 7px 23px #40235912}.track-suggestions[hidden]{display:none!important}.track-suggestions button{font:inherit;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;text-align:left;border:0;border-bottom:1px solid #f1edf5;color:#756083;background:white;cursor:pointer;min-height:52px}.track-suggestions button:last-child{border-bottom:0}.track-suggestions button:hover,.track-suggestions button.selected{background:#f4effb}.track-suggestion-icon{font-size:1.4rem;color:#ad97c3}.track-suggestions b,.track-suggestions small{display:block}.track-suggestions b{font-size:.84rem}.track-suggestions small{font-size:.74rem;line-height:1.6;margin-top:4px;color:#a08dae}.track-place-map{height:290px;border:1px solid #e3dced;border-radius:15px;overflow:hidden;background:#f0edf4;z-index:1}.track-map-picker-hint{font-size:.76rem;color:#a18dae;line-height:1.6;margin:-7px 0 0}.track-radius-value{color:#947ab6;font-weight:400;margin-left:6px}.track-form input[type=range]{accent-color:#8e75c1;border:0;padding:0;background:transparent;box-shadow:none;min-height:32px}.track-form-status{font-size:.82rem;color:#947744;line-height:1.6;margin:0}.track-form-status:empty{display:none}.track-avatar-editor{display:flex;justify-content:center;padding:8px}.track-avatar-editor .track-avatar{width:80px;height:80px;font-size:1.65rem;box-shadow:0 0 0 7px #f2edf9}.track-transport-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eee7f5}.track-transport-row>div{flex:1;min-width:0}.track-transport-row strong,.track-transport-row small{display:block}.track-transport-row strong{font-size:.9rem}.track-transport-row small{font-size:.75rem;color:#a38daf;margin-top:5px}.track-transport-row>.track-vehicle-symbol{font-size:1.65rem!important}.track-trip-summary{display:grid;gap:7px;background:#f5f0fb;padding:15px;border-radius:12px;color:#725a88}.track-trip-summary span{font-size:.82rem}.track-driving-events{font-size:.81rem;line-height:1.7;color:#8f7a9e}.track-live .track-empty{padding:26px 10px;color:#a08aae;font-size:.83rem}
@media(max-width:900px){.track-journey-grid{grid-template-columns:1fr;gap:24px}.track-place-grid{grid-template-columns:1fr}.track-live .track-map{height:440px}.track-panel-content{padding:18px}.track-journey-card .track-row-buttons{flex-direction:row}}
@media(max-width:600px){.track-live .track-toolbar{gap:13px}.track-live .track-toolbar h2{font-size:1.25rem}.track-live .track-toolbar p{font-size:.8rem}.track-map-frame{border-radius:18px}.track-live .track-map{height:390px;max-height:55dvh;min-height:300px}.track-map-top{left:11px;right:11px;top:11px}.track-map-bottom{left:11px;right:52px;bottom:25px}.track-map-live{font-size:.72rem;padding:9px 11px}.track-map-bottom>span{max-width:52%;font-size:.67rem;padding:8px 9px;line-height:1.4}.track-map-bottom>.track-map-button{font-size:.72rem;padding:9px 11px}.track-people-strip{gap:8px;padding:13px 0 10px}.track-person-chip{min-width:145px;padding:9px 13px 9px 9px;gap:9px;border-radius:14px}.track-person-chip .track-avatar,.track-person-chip .track-all-avatar{width:36px;height:36px;font-size:.75rem}.track-person-chip b{font-size:.76rem}.track-person-chip small{font-size:.65rem}.track-person-chip .track-all-avatar{font-size:1.4rem}.track-person-chip .track-online-dot{right:8px;top:9px}.track-dashboard-panel{border-radius:18px}.track-panel-content{padding:15px}.track-tabs{padding:7px}.track-tabs button{font-size:.78rem}.track-panel-title{align-items:flex-start;gap:10px}.track-panel-title h3{font-size:.93rem}.track-panel-title p{font-size:.73rem}.track-panel-title .btn{font-size:.73rem;min-height:40px;padding:8px 10px;flex:none}.track-person-row{gap:10px;padding:15px 0}.track-person-row>.track-avatar{width:37px;height:37px;font-size:.74rem}.track-person-copy strong{font-size:.83rem}.track-person-copy span{font-size:.75rem}.track-person-copy small{font-size:.67rem}.track-person-row .track-row-buttons{flex-direction:column;gap:5px}.track-small-button{font-size:.69rem;padding:7px 9px;min-height:36px}.track-place-card{gap:9px;padding:13px}.track-place-card-icon{width:30px;height:30px;font-size:1.1rem}.track-place-card strong{font-size:.83rem}.track-place-card>div>span{font-size:.71rem}.track-place-card small{font-size:.64rem}.track-history-filters{gap:9px}.track-history-filters label{flex:1;font-size:.7rem}.track-history-filters input,.track-history-filters select{max-width:100%;width:100%;font-size:16px}.track-journey-card{gap:9px;padding:12px 9px;flex-wrap:wrap}.track-journey-card .track-row-buttons{width:100%;padding-left:44px;justify-content:flex-start}.track-journey-card .track-small-button{min-height:36px;flex:1}.track-place-map{height:260px}.track-map-picker-hint{font-size:.72rem}.track-form .track-search-input input{font-size:16px}.track-form .track-search-input .track-small-button{font-size:.7rem}.track-avatar-editor .track-avatar{width:68px;height:68px}.track-live .track-actions .btn{font-size:.8rem;min-height:44px}.track-notice{font-size:.78rem}.track-live .track-timeline{font-size:.74rem;grid-template-columns:50px 1fr}.track-live .track-timeline time{font-size:.64rem}}
/* Keep map overlays inside the map's layer, below application dialogs. */
.track-map-frame{isolation:isolate;z-index:0}
@media(prefers-reduced-motion:reduce){.track-map-button,.track-person-chip,.track-tabs button,.track-small-button{transition:none}.track-notice,.track-panel-content{animation:none}}
.track-live .leaflet-tile-pane,.track-place-map .leaflet-tile-pane{filter:saturate(.68) brightness(1.025)}.track-tile-notice{position:absolute;left:12px;right:12px;top:64px;z-index:440;border:1px solid #e6d9b7;border-radius:12px;padding:10px 12px;background:#fff9ebed;color:#75603d;font:600 12px/1.5 system-ui;pointer-events:none;box-shadow:0 4px 16px #3a2b2010}.track-place-map .track-tile-notice{top:12px;left:50px}
.track-panel-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.track-live .track-toolbar{display:none}.track-panel-title .track-panel-actions{max-width:58%;gap:5px}.track-panel-title .track-panel-actions .btn{font-size:.67rem;min-height:38px;padding:7px 9px}.track-live .track-map{max-height:58dvh}}
