:root{--ry-primary-50: #EFF4FF;--ry-primary-100: #DDE7FF;--ry-primary-200: #BCCEFF;--ry-primary-300: #8FAEFF;--ry-primary-400: #5C85FF;--ry-primary-500: #2962FF;--ry-primary-600: #1E4FE0;--ry-primary-700: #1A3FB8;--ry-primary-800: #163393;--ry-primary-900: #112770;--ry-primary: var(--ry-primary-500);--ry-primary-hover: var(--ry-primary-600);--ry-primary-active: var(--ry-primary-700);--ry-primary-bg: var(--ry-primary-50);--ry-gray-25: #FBFCFD;--ry-gray-50: #F5F7FA;--ry-gray-100: #EDF0F4;--ry-gray-200: #E2E6ED;--ry-gray-300: #CDD3DD;--ry-gray-400: #9AA3B2;--ry-gray-500: #6B7488;--ry-gray-600: #4B5468;--ry-gray-700: #343C4F;--ry-gray-800: #1F2535;--ry-gray-900: #0F1421;--ry-success: #16A34A;--ry-success-bg: #ECFDF5;--ry-warning: #F59E0B;--ry-warning-bg: #FFFBEB;--ry-danger: #DC2626;--ry-danger-bg: #FEF2F2;--ry-info: #0EA5E9;--ry-info-bg: #F0F9FF;--ry-bg: var(--ry-gray-50);--ry-bg-elevated: #FFFFFF;--ry-bg-subtle: var(--ry-gray-25);--ry-border: var(--ry-gray-200);--ry-border-strong: var(--ry-gray-300);--ry-divider: var(--ry-gray-100);--ry-text: var(--ry-gray-800);--ry-text-secondary: var(--ry-gray-600);--ry-text-tertiary: var(--ry-gray-500);--ry-text-disabled: var(--ry-gray-400);--ry-text-inverse: #FFFFFF;--ry-font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ry-font-mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ry-fs-xs: 12px;--ry-fs-sm: 13px;--ry-fs-base: 14px;--ry-fs-md: 15px;--ry-fs-lg: 16px;--ry-fs-xl: 18px;--ry-fs-2xl: 20px;--ry-fs-3xl: 24px;--ry-fs-4xl: 30px;--ry-fs-5xl: 38px;--ry-fw-normal: 400;--ry-fw-medium: 500;--ry-fw-semibold: 600;--ry-fw-bold: 700;--ry-lh-tight: 1.25;--ry-lh-normal: 1.5;--ry-lh-relaxed: 1.65;--ry-sp-1: 4px;--ry-sp-2: 8px;--ry-sp-3: 12px;--ry-sp-4: 16px;--ry-sp-5: 20px;--ry-sp-6: 24px;--ry-sp-8: 32px;--ry-sp-10: 40px;--ry-sp-12: 48px;--ry-sp-16: 64px;--ry-radius-sm: 4px;--ry-radius: 6px;--ry-radius-md: 8px;--ry-radius-lg: 12px;--ry-radius-xl: 16px;--ry-radius-full: 9999px;--ry-shadow-xs: 0 1px 2px rgba(15, 20, 33, .04);--ry-shadow-sm: 0 1px 3px rgba(15, 20, 33, .06), 0 1px 2px rgba(15, 20, 33, .04);--ry-shadow: 0 4px 12px rgba(15, 20, 33, .06), 0 1px 3px rgba(15, 20, 33, .04);--ry-shadow-md: 0 8px 24px rgba(15, 20, 33, .08), 0 2px 6px rgba(15, 20, 33, .04);--ry-shadow-lg: 0 16px 40px rgba(15, 20, 33, .12), 0 4px 12px rgba(15, 20, 33, .06);--ry-shadow-focus: 0 0 0 3px rgba(41, 98, 255, .18);--ry-control-h-sm: 28px;--ry-control-h: 36px;--ry-control-h-lg: 44px;--ry-z-dropdown: 1000;--ry-z-sticky: 1020;--ry-z-fixed: 1030;--ry-z-modal-backdrop: 1040;--ry-z-modal: 1050;--ry-z-popover: 1060;--ry-z-tooltip: 1070;--ry-z-toast: 1080;--ry-transition: .15s cubic-bezier(.4, 0, .2, 1);--ry-transition-slow: .24s cubic-bezier(.4, 0, .2, 1)}.ry-scope,.ry-scope *{box-sizing:border-box}.ry-scope{font-family:var(--ry-font-family);font-size:var(--ry-fs-base);line-height:var(--ry-lh-normal);color:var(--ry-text);background:var(--ry-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" on,"lnum" on}.ry-scope button{font-family:inherit}.ry-scope input,.ry-scope textarea,.ry-scope select{font-family:inherit;color:inherit}.ry-scope h1,.ry-scope h2,.ry-scope h3,.ry-scope h4,.ry-scope h5,.ry-scope h6{margin:0;font-weight:var(--ry-fw-semibold)}.ry-scope p{margin:0}.ry-scope a{color:var(--ry-primary);text-decoration:none}.ry-scope a:hover{color:var(--ry-primary-hover)}.ry-tnum{font-variant-numeric:tabular-nums}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--ry-bg)}.ry-shell{min-height:100%;display:flex}.ry-side{width:232px;flex:0 0 232px;display:flex;flex-direction:column;gap:var(--ry-sp-6);padding:var(--ry-sp-5) var(--ry-sp-4);background:var(--ry-bg-elevated);border-right:1px solid var(--ry-border)}.ry-side-brand{display:flex;align-items:center;gap:var(--ry-sp-3);min-height:40px}.ry-side-logo{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--ry-radius);color:var(--ry-text-inverse);background:var(--ry-primary);font-weight:var(--ry-fw-bold)}.ry-side-name{font-size:var(--ry-fs-lg);font-weight:var(--ry-fw-semibold)}.ry-side-nav{display:grid;gap:var(--ry-sp-2)}.ry-nav-item{height:40px;display:flex;align-items:center;gap:var(--ry-sp-3);padding:0 var(--ry-sp-3);border-radius:var(--ry-radius);color:var(--ry-text-secondary);cursor:pointer;transition:background var(--ry-transition),color var(--ry-transition)}.ry-nav-item:hover{color:var(--ry-text);background:var(--ry-bg-subtle)}.ry-nav-item--active{color:var(--ry-primary);background:var(--ry-primary-bg);font-weight:var(--ry-fw-medium)}.ry-main{flex:1;min-width:0;overflow:auto}.ry-topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--ry-sp-4);padding:0 var(--ry-sp-8);background:var(--ry-bg-elevated);border-bottom:1px solid var(--ry-border)}.ry-topbar-title{font-size:var(--ry-fs-lg);font-weight:var(--ry-fw-semibold)}.ry-topbar-meta{margin-top:var(--ry-sp-1);color:var(--ry-text-tertiary);font-size:var(--ry-fs-sm)}.ry-dev-badge{display:inline-flex;align-items:center;height:28px;padding:0 var(--ry-sp-3);border-radius:var(--ry-radius-full);color:var(--ry-warning);background:var(--ry-warning-bg);font-size:var(--ry-fs-sm);font-weight:var(--ry-fw-medium)}.ry-btn{min-height:var(--ry-control-h);display:inline-flex;align-items:center;justify-content:center;gap:var(--ry-sp-2);padding:0 var(--ry-sp-4);border:1px solid var(--ry-border-strong);border-radius:var(--ry-radius);color:var(--ry-text);background:var(--ry-bg-elevated);font-size:var(--ry-fs-base);font-weight:var(--ry-fw-medium);cursor:pointer;transition:background var(--ry-transition),border-color var(--ry-transition),color var(--ry-transition)}.ry-btn:hover{border-color:var(--ry-primary-300);color:var(--ry-primary)}.ry-btn--primary{border-color:var(--ry-primary);color:var(--ry-text-inverse);background:var(--ry-primary)}.ry-btn--primary:hover{border-color:var(--ry-primary-hover);color:var(--ry-text-inverse);background:var(--ry-primary-hover)}.ry-btn--text{border-color:transparent;color:var(--ry-primary);background:transparent}.ry-card{border:1px solid var(--ry-border);border-radius:var(--ry-radius-md);background:var(--ry-bg-elevated);box-shadow:var(--ry-shadow-sm)}.ry-card--hover{transition:border-color var(--ry-transition),box-shadow var(--ry-transition),transform var(--ry-transition)}.ry-card--hover:hover{border-color:var(--ry-primary-200);box-shadow:var(--ry-shadow);transform:translateY(-1px)}.ry-card-head{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--ry-sp-4);padding:0 var(--ry-sp-5);border-bottom:1px solid var(--ry-divider)}.ry-card-title{font-weight:var(--ry-fw-semibold)}.ry-card-body{padding:var(--ry-sp-5)}.ry-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-elevated)}.ry-table{width:100%;min-width:680px;border-collapse:collapse}.ry-table th,.ry-table td{padding:var(--ry-sp-3) var(--ry-sp-4);border-bottom:1px solid var(--ry-divider);vertical-align:middle}.ry-table th{color:var(--ry-text-secondary);background:var(--ry-bg-subtle);font-size:var(--ry-fs-sm);font-weight:var(--ry-fw-medium);white-space:nowrap}.ry-table tr:last-child td{border-bottom:0}.ry-table-empty{height:96px;color:var(--ry-text-tertiary);text-align:center}.ry-qr{display:inline-grid;place-items:center;padding:var(--ry-sp-2);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-elevated)}.ry-qr img{display:block}.ry-qr-placeholder{display:grid;place-items:center;color:var(--ry-text-tertiary);background:var(--ry-bg-subtle);font-size:var(--ry-fs-sm)}.ry-field{display:grid;gap:var(--ry-sp-2)}.ry-label{color:var(--ry-text-secondary);font-size:var(--ry-fs-sm);font-weight:var(--ry-fw-medium)}.ry-label--required:after{content:"*";margin-left:var(--ry-sp-1);color:var(--ry-danger)}.ry-input-wrap{position:relative}.ry-input{width:100%;min-height:var(--ry-control-h);border:1px solid var(--ry-border-strong);border-radius:var(--ry-radius);padding:0 var(--ry-sp-3);background:var(--ry-bg-elevated);outline:none;font-size:var(--ry-fs-base);transition:border-color var(--ry-transition),box-shadow var(--ry-transition)}.ry-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--ry-text)}.ry-input:focus{border-color:var(--ry-primary);box-shadow:var(--ry-shadow-focus)}.ry-input--prefix{padding-left:var(--ry-sp-10)}.ry-input--suffix{padding-right:var(--ry-sp-10)}.ry-input-icon{position:absolute;top:50%;z-index:1;display:inline-flex;color:var(--ry-text-tertiary);transform:translateY(-50%)}.ry-input-icon--prefix{left:var(--ry-sp-3)}.ry-input-icon--suffix{right:var(--ry-sp-3)}.ry-textarea{min-height:104px;padding:var(--ry-sp-3);resize:vertical}.ry-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--ry-sp-2);border-radius:var(--ry-radius-sm);color:var(--ry-text-secondary);background:var(--ry-gray-100);font-size:var(--ry-fs-xs);font-weight:var(--ry-fw-medium);white-space:nowrap}.ry-tag--primary{color:var(--ry-primary);background:var(--ry-primary-bg)}.ry-tag--success{color:var(--ry-success);background:var(--ry-success-bg)}.ry-tag--warning{color:var(--ry-warning);background:var(--ry-warning-bg)}.ry-tag--info{color:var(--ry-info);background:var(--ry-info-bg)}.module-shell{min-height:100%;display:flex}.module-side{width:200px;flex:0 0 200px;display:flex;flex-direction:column;gap:var(--ry-sp-4);padding:var(--ry-sp-5) var(--ry-sp-3);background:var(--ry-bg-elevated);border-right:1px solid var(--ry-border)}.module-side-head{display:flex;flex-direction:column;gap:var(--ry-sp-2);padding:0 var(--ry-sp-2)}.module-back{display:inline-flex;align-items:center;gap:var(--ry-sp-1);height:28px;padding:0;border:0;color:var(--ry-text-tertiary);background:transparent;font-size:var(--ry-fs-sm);cursor:pointer;transition:color var(--ry-transition)}.module-back:hover{color:var(--ry-primary)}.module-side-title{font-size:var(--ry-fs-lg);font-weight:var(--ry-fw-semibold);color:var(--ry-text)}.module-side-nav{display:grid;gap:var(--ry-sp-1)}.module-main{flex:1;min-width:0;overflow:auto}.app-page,.setting-page{padding:var(--ry-sp-6) var(--ry-sp-8) var(--ry-sp-10)}.app-page-head{margin-bottom:var(--ry-sp-6)}.app-page-head h1{margin-top:var(--ry-sp-3);font-size:var(--ry-fs-3xl);line-height:var(--ry-lh-tight)}.app-page-head p{max-width:760px;margin-top:var(--ry-sp-2);color:var(--ry-text-secondary)}.app-launcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-5)}.app-launcher-card{width:100%;min-height:136px;display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:var(--ry-sp-4);padding:var(--ry-sp-5);border:0;background:transparent;text-align:left;cursor:pointer}.app-launcher-icon,.app-module-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--ry-radius-md);color:var(--ry-primary);background:var(--ry-primary-bg)}.app-launcher-content{min-width:0;display:grid;gap:var(--ry-sp-2)}.app-launcher-title,.app-module-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ry-sp-2);color:var(--ry-text);font-size:var(--ry-fs-lg);font-weight:var(--ry-fw-semibold)}.app-launcher-desc,.app-module-card p{color:var(--ry-text-secondary);line-height:var(--ry-lh-relaxed)}.app-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-5)}.app-module-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--ry-sp-4);padding:var(--ry-sp-5)}.underground-page,.logistics-page{padding:var(--ry-sp-6) var(--ry-sp-8) var(--ry-sp-10)}.logistics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ry-sp-6);margin-bottom:var(--ry-sp-6)}.logistics-head h1{margin-top:var(--ry-sp-3);font-size:var(--ry-fs-3xl);line-height:var(--ry-lh-tight)}.logistics-head p{margin-top:var(--ry-sp-2);color:var(--ry-text-secondary)}.logistics-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ry-sp-5)}.logistics-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-4)}.logistics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-6)}.logistics-metric{min-height:108px;display:grid;align-content:center;gap:var(--ry-sp-1);padding:var(--ry-sp-5);border:1px solid var(--ry-border);border-radius:var(--ry-radius-md);background:var(--ry-bg-elevated)}.logistics-metric span{color:var(--ry-text-secondary)}.logistics-metric strong{font-size:var(--ry-fs-4xl);line-height:var(--ry-lh-tight)}.logistics-message{margin-top:var(--ry-sp-3);color:var(--ry-success);font-size:var(--ry-fs-sm)}.logistics-muted{color:var(--ry-text-tertiary);font-size:var(--ry-fs-sm);line-height:var(--ry-lh-relaxed);word-break:break-all}.logistics-qr-panel{display:grid;grid-template-columns:192px minmax(0,1fr);gap:var(--ry-sp-5);align-items:center}.logistics-qr-title{margin-bottom:var(--ry-sp-2);font-weight:var(--ry-fw-semibold)}.underground-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ry-sp-6);margin-bottom:var(--ry-sp-6)}.underground-head h1{margin-top:var(--ry-sp-3);font-size:var(--ry-fs-3xl);line-height:var(--ry-lh-tight)}.underground-head p{margin-top:var(--ry-sp-2);color:var(--ry-text-secondary)}.underground-tabs{display:flex;flex-wrap:wrap;gap:var(--ry-sp-2);margin:calc(-1 * var(--ry-sp-2)) 0 var(--ry-sp-6);padding:var(--ry-sp-1);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-elevated)}.underground-tab{min-height:34px;padding:0 var(--ry-sp-4);border:0;border-radius:var(--ry-radius-sm);color:var(--ry-text-secondary);background:transparent;cursor:pointer}.underground-tab--active{color:var(--ry-text-inverse);background:var(--ry-primary)}.underground-shift{display:inline-flex;padding:var(--ry-sp-1);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-elevated)}.underground-shift-btn{height:32px;min-width:64px;border:0;border-radius:var(--ry-radius-sm);color:var(--ry-text-secondary);background:transparent;cursor:pointer}.underground-shift-btn--active{color:var(--ry-text-inverse);background:var(--ry-primary)}.underground-head-actions{display:flex;flex-wrap:wrap;gap:var(--ry-sp-3);justify-content:flex-end}.underground-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-6)}.underground-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-6)}.underground-context div,.setting-context div{display:grid;gap:var(--ry-sp-1);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.underground-context span,.setting-context span{color:var(--ry-text-tertiary);font-size:var(--ry-fs-xs)}.underground-context strong,.setting-context strong{color:var(--ry-text);font-weight:var(--ry-fw-semibold)}.underground-metric{min-height:108px;display:grid;align-content:center;gap:var(--ry-sp-1);padding:var(--ry-sp-5);border:1px solid var(--ry-border);border-radius:var(--ry-radius-md);background:var(--ry-bg-elevated)}.underground-metric span{color:var(--ry-text-secondary)}.underground-metric strong{font-size:var(--ry-fs-4xl);line-height:var(--ry-lh-tight)}.underground-metric em{color:var(--ry-text-tertiary);font-style:normal}.underground-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ry-sp-5)}.underground-grid--bottom{margin-top:var(--ry-sp-5)}.underground-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-4)}.underground-actions{display:flex;flex-wrap:wrap;gap:var(--ry-sp-3);margin-top:var(--ry-sp-5)}.underground-task-list{display:grid;gap:var(--ry-sp-3)}.underground-task{display:flex;align-items:center;justify-content:space-between;gap:var(--ry-sp-4);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.underground-task--clickable{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.underground-task--clickable:hover{border-color:var(--ry-primary);background:var(--ry-primary-bg)}.underground-task-main{min-width:0}.underground-task-title{display:flex;align-items:center;gap:var(--ry-sp-2);font-weight:var(--ry-fw-semibold)}.underground-task-meta{margin-top:var(--ry-sp-2);color:var(--ry-text-secondary);font-size:var(--ry-fs-sm)}.underground-confirm-panel{display:grid;gap:var(--ry-sp-4);margin-top:var(--ry-sp-4);padding:var(--ry-sp-4);border:1px solid var(--ry-warning);border-radius:var(--ry-radius);background:var(--ry-warning-bg)}.underground-confirm-panel>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ry-sp-2)}.underground-confirm-panel span{color:var(--ry-text-secondary);font-size:var(--ry-fs-sm)}.underground-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ry-sp-4)}.underground-detail-grid div{display:grid;gap:var(--ry-sp-1);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.underground-detail-grid span{color:var(--ry-text-tertiary);font-size:var(--ry-fs-xs)}.underground-detail-grid strong{min-width:0;color:var(--ry-text);font-weight:var(--ry-fw-semibold);word-break:break-all}.underground-status-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ry-sp-3);margin-top:var(--ry-sp-5)}.underground-status-step{display:grid;justify-items:center;gap:var(--ry-sp-2);padding:var(--ry-sp-3);border:1px solid var(--ry-border);border-radius:var(--ry-radius);color:var(--ry-text-tertiary);background:var(--ry-bg-subtle);text-align:center}.underground-status-step span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--ry-bg-elevated);font-size:var(--ry-fs-sm);font-weight:var(--ry-fw-semibold)}.underground-status-step strong{font-size:var(--ry-fs-sm)}.underground-status-step--active{border-color:var(--ry-primary);color:var(--ry-primary);background:var(--ry-primary-bg)}.underground-status-step--active span{color:var(--ry-text-inverse);background:var(--ry-primary)}.underground-progress-line{display:flex;justify-content:space-between;gap:var(--ry-sp-4);margin-top:var(--ry-sp-4);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);color:var(--ry-text-secondary);background:var(--ry-bg-subtle)}.underground-progress-line strong{color:var(--ry-text)}.setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-5);margin:var(--ry-sp-5) 0}.setting-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ry-sp-4)}.setting-list,.setting-team-list{display:grid;gap:var(--ry-sp-4)}.setting-row{display:grid;grid-template-columns:24px minmax(0,1fr) 120px 64px;align-items:end;gap:var(--ry-sp-3);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.setting-team-row{display:grid;grid-template-columns:24px minmax(140px,1fr) 100px minmax(120px,1fr) minmax(120px,1fr) 64px;align-items:end;gap:var(--ry-sp-3);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.setting-status{height:var(--ry-control-h);border:1px solid var(--ry-border-strong);border-radius:var(--ry-radius);color:var(--ry-text-secondary);background:var(--ry-bg-elevated);cursor:pointer}.setting-status--active{border-color:var(--ry-success);color:var(--ry-success);background:var(--ry-success-bg)}.setting-actions{display:flex;justify-content:flex-end;margin-top:var(--ry-sp-5)}.transport-demo-page{min-height:100%;padding:var(--ry-sp-6) var(--ry-sp-8) var(--ry-sp-10)}.transport-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ry-sp-5);margin-bottom:var(--ry-sp-5)}.transport-demo-head h1{margin-top:var(--ry-sp-3);font-size:var(--ry-fs-3xl);line-height:var(--ry-lh-tight)}.transport-demo-head p{max-width:920px;margin-top:var(--ry-sp-2);color:var(--ry-text-secondary);line-height:var(--ry-lh-relaxed);overflow-wrap:anywhere}.transport-demo-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ry-sp-3)}.transport-demo-switch{min-height:36px;display:inline-flex;align-items:center;gap:var(--ry-sp-2);color:var(--ry-text-secondary);font-size:var(--ry-fs-sm)}.transport-demo-flowbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--ry-sp-3);margin-bottom:var(--ry-sp-4)}.transport-demo-flowbar-step{min-height:92px;display:grid;align-content:center;justify-items:center;gap:var(--ry-sp-1);padding:var(--ry-sp-3);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-elevated);text-align:center}.transport-demo-flowbar-step span{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--ry-radius-full);color:var(--ry-text-secondary);background:var(--ry-bg-subtle);font-size:var(--ry-fs-sm);font-weight:var(--ry-fw-semibold)}.transport-demo-flowbar-step strong{color:var(--ry-text);line-height:var(--ry-lh-tight)}.transport-demo-flowbar-step small{color:var(--ry-text-tertiary)}.transport-demo-flowbar-step--done{border-color:var(--ry-primary-200);background:var(--ry-primary-bg)}.transport-demo-flowbar-step--done span,.transport-demo-flowbar-step--active span{color:var(--ry-text-inverse);background:var(--ry-primary)}.transport-demo-flowbar-step--active{box-shadow:0 0 0 2px var(--ry-primary-100)}.transport-demo-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--ry-sp-5);margin-bottom:var(--ry-sp-4);padding:var(--ry-sp-5);border:1px solid var(--ry-primary-200);border-radius:var(--ry-radius-md);background:var(--ry-primary-bg)}.transport-demo-guide h2{margin:var(--ry-sp-3) 0 var(--ry-sp-2);font-size:var(--ry-fs-2xl);line-height:var(--ry-lh-tight)}.transport-demo-guide p{margin:0;color:var(--ry-text-secondary);line-height:var(--ry-lh-relaxed);overflow-wrap:anywhere}.transport-demo-guide small{display:block;margin-top:var(--ry-sp-2);color:var(--ry-text-tertiary);line-height:var(--ry-lh-relaxed)}.transport-demo-guide-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ry-sp-3)}.transport-demo-tabs{display:flex;flex-wrap:wrap;gap:var(--ry-sp-2);margin-bottom:var(--ry-sp-6);padding:var(--ry-sp-1);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-elevated)}.transport-demo-tab{min-height:36px;padding:0 var(--ry-sp-4);border:0;border-radius:var(--ry-radius-sm);color:var(--ry-text-secondary);background:transparent;cursor:pointer}.transport-demo-tab--active{color:var(--ry-text-inverse);background:var(--ry-primary)}.transport-demo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-5)}.transport-demo-metric{min-height:104px;display:grid;align-content:center;gap:var(--ry-sp-1);padding:var(--ry-sp-5);border:1px solid var(--ry-border);border-radius:var(--ry-radius-md);background:var(--ry-bg-elevated)}.transport-demo-metric span,.transport-demo-muted{color:var(--ry-text-secondary);line-height:var(--ry-lh-relaxed)}.transport-demo-metric strong{font-size:var(--ry-fs-4xl);line-height:var(--ry-lh-tight)}.transport-demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ry-sp-5)}.transport-demo-overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--ry-sp-5)}.transport-demo-source-list,.transport-demo-value-list{display:grid;gap:var(--ry-sp-3)}.transport-demo-source-item,.transport-demo-value-list span{display:grid;gap:var(--ry-sp-2);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.transport-demo-source-item strong{color:var(--ry-text)}.transport-demo-source-item span,.transport-demo-value-list span{color:var(--ry-text-secondary);line-height:var(--ry-lh-relaxed)}.transport-demo-process{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--ry-sp-3)}.transport-demo-process-step{min-height:148px;display:grid;align-content:start;gap:var(--ry-sp-3);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.transport-demo-process-step>span,.transport-demo-dispatch-step span{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--ry-radius-full);color:var(--ry-text-inverse);background:var(--ry-primary);font-size:var(--ry-fs-sm);font-weight:var(--ry-fw-semibold)}.transport-demo-process-step strong,.transport-demo-dispatch-step strong{color:var(--ry-text);line-height:var(--ry-lh-tight)}.transport-demo-process-step p{margin:var(--ry-sp-2) 0 0;color:var(--ry-text-secondary);font-size:var(--ry-fs-sm);line-height:var(--ry-lh-relaxed)}.transport-demo-dispatch-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ry-sp-3);margin:var(--ry-sp-4) 0 var(--ry-sp-5)}.transport-demo-dispatch-step{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:var(--ry-sp-3);min-height:72px;padding:var(--ry-sp-4);border:1px solid var(--ry-primary-200);border-radius:var(--ry-radius);background:var(--ry-primary-bg)}.transport-demo-review-box{display:grid;gap:var(--ry-sp-2);margin-bottom:var(--ry-sp-4);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.transport-demo-review-box span{color:var(--ry-text-secondary);line-height:var(--ry-lh-relaxed)}.transport-demo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-4);margin-bottom:var(--ry-sp-4)}.transport-demo-actions{display:flex;flex-wrap:wrap;gap:var(--ry-sp-3);margin-bottom:var(--ry-sp-4)}.transport-demo-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--ry-sp-3)}.transport-demo-flow-step{display:grid;gap:var(--ry-sp-2);padding:var(--ry-sp-3);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.transport-demo-flow-step span{width:24px;height:24px;display:grid;place-items:center;border-radius:var(--ry-radius-full);color:var(--ry-text-secondary);background:var(--ry-bg-elevated);font-size:var(--ry-fs-xs)}.transport-demo-flow-step--done{border-color:var(--ry-primary-200);background:var(--ry-primary-bg)}.transport-demo-flow-step--done span{color:var(--ry-text-inverse);background:var(--ry-primary)}.transport-demo-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ry-sp-3);color:var(--ry-text-secondary)}.transport-demo-readout{display:grid;gap:var(--ry-sp-3);color:var(--ry-text-secondary)}.transport-demo-readout strong{color:var(--ry-text);font-size:var(--ry-fs-xl)}.transport-demo-readout--large{margin-top:var(--ry-sp-5);padding:var(--ry-sp-5);border-radius:var(--ry-radius);background:var(--ry-bg-subtle)}.transport-demo-readout--large strong{font-size:var(--ry-fs-3xl);line-height:var(--ry-lh-tight)}.transport-demo-qr-panel{display:grid;grid-template-columns:172px minmax(0,1fr);gap:var(--ry-sp-5);align-items:center}.transport-demo-qr-panel div:last-child{display:grid;gap:var(--ry-sp-3)}.transport-demo-qr-panel span,.transport-demo-token{color:var(--ry-text-tertiary);font-size:var(--ry-fs-sm);line-height:var(--ry-lh-relaxed);word-break:break-all}.transport-demo-driver-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:var(--ry-sp-5);align-items:start}.transport-demo-phone{overflow:hidden;border:1px solid var(--ry-border);border-radius:var(--ry-radius-md);background:var(--ry-bg-elevated);box-shadow:var(--ry-shadow-sm)}.transport-demo-phone-head{height:48px;display:flex;align-items:center;padding:0 var(--ry-sp-5);border-bottom:1px solid var(--ry-border);font-weight:var(--ry-fw-semibold)}.transport-demo-phone-body{display:grid;justify-items:start;gap:var(--ry-sp-4);padding:var(--ry-sp-5)}.transport-demo-phone-body h2{margin:0;font-size:var(--ry-fs-xl)}.transport-demo-phone-body p{margin:0;color:var(--ry-text-secondary)}.transport-demo-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ry-sp-3)}.transport-demo-task{display:grid;gap:var(--ry-sp-2);padding:var(--ry-sp-4);border:1px solid var(--ry-border);border-radius:var(--ry-radius);background:var(--ry-bg-subtle);text-align:left;cursor:pointer}.transport-demo-task span{color:var(--ry-text-secondary);font-size:var(--ry-fs-sm)}.transport-demo-task--active{border-color:var(--ry-primary);background:var(--ry-primary-bg)}@media (max-width: 960px){.ry-shell{display:block;padding-bottom:72px}.ry-side{position:fixed;left:0;right:0;bottom:0;z-index:var(--ry-z-fixed);width:auto;height:72px;display:block;padding:var(--ry-sp-2);border-top:1px solid var(--ry-border);border-right:0}.ry-side-brand{display:none}.ry-side-nav{height:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ry-sp-1)}.ry-nav-item{height:48px;flex-direction:column;justify-content:center;gap:var(--ry-sp-1);padding:0;font-size:11px}.module-shell{display:block;padding-bottom:64px}.module-side{position:fixed;left:0;right:0;bottom:0;z-index:var(--ry-z-fixed);width:auto;height:64px;flex-direction:row;align-items:center;gap:0;padding:var(--ry-sp-1);border-top:1px solid var(--ry-border);border-right:0}.module-side-head{display:none}.module-side-nav{display:flex;width:100%;gap:0;grid-template-columns:unset}.module-side-nav .ry-nav-item{flex:1;height:48px;flex-direction:column;justify-content:center;gap:var(--ry-sp-1);padding:0;font-size:11px}.ry-topbar{padding:0 var(--ry-sp-4)}.app-page,.setting-page,.underground-page,.logistics-page,.transport-demo-page{padding:var(--ry-sp-5) var(--ry-sp-4) var(--ry-sp-8)}.app-launcher-grid,.app-module-grid,.setting-grid,.setting-context{grid-template-columns:1fr}.underground-head,.logistics-head{align-items:flex-start;flex-direction:column}.underground-head-actions{width:100%}.underground-head-actions .ry-btn{flex:1 1 0}.underground-metrics,.logistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.underground-grid,.underground-context,.underground-form-grid,.underground-status-flow,.logistics-grid,.logistics-form-grid,.logistics-qr-panel,.transport-demo-overview-grid,.transport-demo-grid,.transport-demo-form-grid,.transport-demo-qr-panel,.transport-demo-driver-grid,.transport-demo-task-list,.transport-demo-process,.transport-demo-dispatch-steps{grid-template-columns:1fr}.transport-demo-head{flex-direction:column}.transport-demo-head-actions,.transport-demo-guide,.transport-demo-guide-actions{width:100%}.transport-demo-head-actions,.transport-demo-guide-actions{justify-content:stretch}.transport-demo-head-actions .ry-btn,.transport-demo-guide-actions .ry-btn{flex:1 1 100%}.transport-demo-switch{flex:1 1 100%;justify-content:space-between}.transport-demo-flowbar,.transport-demo-guide{grid-template-columns:1fr}.transport-demo-flowbar-step{min-height:72px;grid-template-columns:32px minmax(0,1fr) auto;justify-items:start;text-align:left}.transport-demo-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));box-sizing:border-box;width:100%}.transport-demo-tab{padding:0 var(--ry-sp-2)}.transport-demo-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-demo-flow,.setting-row,.setting-team-row{grid-template-columns:1fr}}@media (max-width: 520px){.underground-head h1,.app-page-head h1{font-size:var(--ry-fs-2xl)}.app-launcher-card{grid-template-columns:40px minmax(0,1fr) 18px;min-height:120px;padding:var(--ry-sp-4)}.app-launcher-icon,.app-module-icon{width:40px;height:40px}.underground-metrics,.logistics-metrics,.transport-demo-metrics{grid-template-columns:1fr}.underground-metric,.logistics-metric{min-height:88px}.underground-task{align-items:flex-start;flex-direction:column}.underground-task--clickable{display:grid;grid-template-columns:minmax(0,1fr) auto}}
