.navbar{position:fixed;top:0;left:0;right:0;height:64px;background:var(--card-bg);box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;justify-content:flex-start;padding:0 24px;gap:24px;z-index:1000}.navbar>*:last-child{margin-left:auto}.navbar-brand{font-size:20px;font-weight:700;color:var(--primary);text-decoration:none;display:flex;align-items:center;gap:8px}.navbar-logo{width:32px;height:32px;border-radius:50%;object-fit:cover}.navbar-title{display:inline-block}.navbar-links{display:flex;align-items:center;gap:24px}.navbar-links a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s;display:flex;align-items:center;white-space:nowrap}.navbar-links a:hover,.navbar-links a.active{color:var(--primary)}.nav-dropdown{position:relative;display:flex;align-items:center}.nav-dropdown-toggle{background:none;border:none;color:var(--text-secondary);font-weight:500;font-size:inherit;cursor:pointer;display:flex;align-items:center;gap:6px;padding:0;transition:color .2s;height:100%;white-space:nowrap}.nav-dropdown-toggle i{font-size:12px;transition:transform .2s}.nav-dropdown:hover .nav-dropdown-toggle{color:var(--primary)}.nav-dropdown:hover .nav-dropdown-toggle i{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--card-bg);border-radius:12px;box-shadow:0 8px 24px #00000026;padding:8px 0;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1000;margin-top:8px}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;margin-top:0}.nav-dropdown-menu a{display:block;padding:10px 16px;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .2s;white-space:nowrap}.nav-dropdown-menu a:hover{background:var(--bg);color:var(--text)}.nav-dropdown-menu a.active{color:var(--primary);font-weight:600}.navbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.navbar-user{position:relative;display:flex;align-items:center}.user-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text)}.account-menu-trigger{min-width:0;height:38px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--text);display:inline-flex;align-items:center;gap:6px;font:inherit;cursor:pointer;transition:background .15s ease,color .15s ease}.account-menu-trigger:hover,.account-menu-trigger.open{background:var(--bg);color:var(--primary)}.account-menu-trigger svg,.mobile-account-trigger>svg{flex:0 0 auto;transition:transform .15s ease}.account-menu-trigger.open svg,.mobile-account-trigger.open>svg{transform:rotate(180deg)}.account-menu{position:absolute;top:calc(100% + 10px);right:0;width:280px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);box-shadow:0 14px 32px #171f1d29;overflow:hidden;z-index:1100}.account-menu-identity{min-height:64px;padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.account-menu-identity>span,.mobile-account-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--bg);color:var(--text-secondary);display:grid;place-items:center}.account-menu-identity>div,.mobile-account-trigger>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.account-menu-identity strong,.mobile-account-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px}.account-menu-identity small,.mobile-account-trigger small,.account-menu-points small{margin-top:2px;color:var(--text-secondary);font-size:10px}.account-menu-points{min-height:64px;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text);display:flex;align-items:center;gap:10px;text-decoration:none;transition:background .15s ease}.account-menu-points:hover{background:var(--bg)}.account-menu-points>span{width:34px;height:34px;flex:0 0 34px;border-radius:6px;background:#e8f5f1;color:#08705e;display:grid;place-items:center}.account-menu-points>div{min-width:0;flex:1;display:flex;flex-direction:column}.account-menu-points strong{overflow:hidden;text-overflow:ellipsis;color:#08705e;font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}.account-menu-points>svg{flex:0 0 auto;color:var(--text-secondary)}.account-menu-socials{padding:12px 14px 14px}.account-menu-socials>span{display:block;margin-bottom:9px;color:var(--text-secondary);font-size:10px;font-weight:600}.account-menu-socials>div{display:grid;grid-template-columns:repeat(4,36px);gap:9px}.account-menu-socials a{width:36px;height:36px;border-radius:6px;background:var(--bg);color:var(--text-secondary);display:grid;place-items:center;text-decoration:none;font-size:17px;transition:background .15s ease,color .15s ease}.account-menu-socials a:hover{background:#e8f5f1;color:#08705e}.account-menu-logout{width:100%;min-height:44px;padding:0 14px;border:0;border-top:1px solid var(--border);background:transparent;color:#a63229;display:flex;align-items:center;gap:8px;font:inherit;font-size:12px;cursor:pointer;transition:background .15s ease}.account-menu-logout:hover{background:#fff4f2}.desktop-only{display:flex}.hamburger{display:none;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg);border:none;border-radius:10px;cursor:pointer;padding:0;z-index:1001;transition:all .2s ease}.hamburger i{font-size:20px;color:var(--text);transition:transform .3s ease}.hamburger:hover{background:var(--primary)}.hamburger:hover i{color:#fff}.hamburger.open i{transform:rotate(90deg)}.mobile-menu{display:none;position:fixed;top:64px;right:-280px;width:280px;max-height:calc(100vh - 64px);background:var(--card-bg);box-shadow:-4px 0 20px #00000026;transition:right .3s ease;z-index:999;flex-direction:column;overflow-y:auto}.mobile-menu.open{right:0;z-index:1001}.mobile-menu-header{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.mobile-login-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:var(--bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.mobile-login-btn:hover{background:var(--primary);color:#fff}.mobile-account-trigger{width:100%;min-width:0;min-height:48px;padding:7px;border:0;border-radius:6px;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;text-align:left;font:inherit;cursor:pointer}.mobile-account-trigger:hover,.mobile-account-trigger.open{background:var(--bg)}.mobile-account-panel{border-bottom:1px solid var(--border);background:var(--card-bg)}.mobile-account-panel .account-menu-socials{padding-top:11px}.mobile-account-panel .account-menu-logout{text-align:left}.mobile-menu-title{font-size:18px;font-weight:600;color:var(--text)}.mobile-nav-links{padding:16px 12px}.mobile-nav-links a{display:flex;align-items:center;gap:14px;padding:14px 16px;color:var(--text-secondary);text-decoration:none;font-weight:500;border-radius:12px;margin-bottom:4px;transition:all .2s}.mobile-nav-links a:hover{background:var(--bg);color:var(--text)}.mobile-nav-links a.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff}.mobile-nav-links a i{width:20px;text-align:center;font-size:18px}.mobile-menu-footer{padding:16px 20px;border-top:1px solid var(--border)}.mobile-menu-footer .btn{width:100%;justify-content:center}.mobile-overlay{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:#00000080;z-index:998}@media(max-width:1220px){.navbar,.navbar-links{gap:16px}.navbar-actions{gap:12px}}@media(max-width:768px){.desktop-only{display:none}.navbar{height:56px}.hamburger{display:flex}.mobile-menu{display:flex;width:260px;right:-260px;top:56px;max-height:calc(100vh - 56px)}.mobile-menu-header{padding:16px}.mobile-menu-title{font-size:16px}.mobile-nav-links{padding:12px 10px}.mobile-nav-links a{padding:12px 14px;gap:12px;font-size:14px}.mobile-nav-links a i{font-size:16px;width:18px}.mobile-overlay{display:block}}.site-footer{background:var(--background);border-top:1px solid var(--border);padding:16px 20px;margin-top:auto}.footer-content{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);text-align:center;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.footer-divider{color:var(--border);margin:0 4px}.footer-copyright,.footer-quote{color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px}@media(max-width:768px){.footer-content{flex-direction:column;gap:8px}.footer-divider{display:none}}.wechat-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.wechat-modal-content{background:var(--background);padding:24px;border-radius:12px;text-align:center;max-width:90%}.wechat-modal-content img{max-width:250px;border-radius:8px}.wechat-modal-content p{margin:16px 0;font-size:16px}.wechat-modal-content .btn{margin-top:8px}.home-page{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.three-d-card{position:relative;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:16px;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg));transition:transform .1s ease-out;z-index:10;box-shadow:0 8px 32px #0000001a}.three-d-card-content{transform:translateZ(20px);display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:28px;width:100%;height:100%;box-sizing:border-box;position:relative}.card-name-label{font-size:12px;color:#666;margin:0;text-transform:uppercase;letter-spacing:1px;position:absolute;top:10%;left:28px}.card-name{font-size:38px;color:#1a1a1a;margin:0;font-weight:700;line-height:1.2;position:absolute;top:calc(10% + 36px);left:50%;transform:translate(-50%);white-space:nowrap}.card-description{font-size:12px;color:#444;margin:0;line-height:1.5;position:absolute;top:calc(10% + 90px);left:50%;transform:translate(-50%);white-space:nowrap}.card-roles{display:flex;flex-direction:column;align-items:flex-end;gap:6px;position:absolute;bottom:28px;right:28px;left:auto}.card-role{font-size:14px;color:#333;background:#4f46e514;padding:6px 14px;border-radius:16px;white-space:nowrap}.flip-word{display:inline-block}.flip-out{animation:flipOut .5s ease-in-out forwards}.flip-in{animation:flipIn .5s ease-in-out forwards}@keyframes flipOut{0%{transform:perspective(400px) rotateX(0);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipIn{0%{transform:perspective(400px) rotateX(-90deg);opacity:0}to{transform:perspective(400px) rotateX(0);opacity:1}}.orbit-wrapper{display:flex;align-items:center;justify-content:center;width:100%}.orbit-section{position:relative;width:900px;height:900px;display:flex;align-items:center;justify-content:center}.orbit-ring{position:absolute;border-radius:50%;border:1px dashed rgba(79,70,229,.2)}.orbit-ring-1{width:550px;height:550px;animation:orbit-spin 12s linear infinite}.orbit-ring-2{width:700px;height:700px;animation:orbit-spin 18s linear infinite reverse}@keyframes orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orbit-ring-1 .orbit-icon{position:absolute;top:50%;left:50%;background:var(--card-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color);box-shadow:0 4px 16px #0003;transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg)) translate(275px) rotate(calc(var(--i) * -180deg));transition:all .3s ease}.orbit-ring-1 .orbit-icon:not(.orbit-icon-img){width:var(--size, 48px);height:var(--size, 48px);font-size:calc(var(--size, 48px) * .5)}.orbit-ring-1 .orbit-icon-img{width:var(--size, 48px);height:var(--size, 48px)}.orbit-ring-1 .orbit-icon-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}.orbit-ring-2 .orbit-icon{position:absolute;top:50%;left:50%;background:var(--card-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color);box-shadow:0 4px 16px #0003;transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg + 90deg)) translate(350px) rotate(calc(var(--i) * -180deg - 90deg));transition:all .3s ease}.orbit-ring-2 .orbit-icon:not(.orbit-icon-img){width:var(--size, 48px);height:var(--size, 48px);font-size:calc(var(--size, 48px) * .5)}.orbit-ring-2 .orbit-icon-img{width:var(--size, 48px);height:var(--size, 48px)}.orbit-ring-2 .orbit-icon-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}.orbit-ring-1 .orbit-icon:hover{transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg)) translate(275px) rotate(calc(var(--i) * -180deg)) scale(1.2)!important;box-shadow:0 8px 24px #0000004d,0 0 20px var(--color)}.orbit-ring-2 .orbit-icon:hover{transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg + 90deg)) translate(350px) rotate(calc(var(--i) * -180deg - 90deg)) scale(1.2)!important}@media(max-width:900px){.home-page{padding:10px;min-height:calc(100vh - 100px);overflow:hidden}.three-d-card{transform:scale(.65) perspective(1000px) rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg))}.three-d-card-content{transform:translateZ(10px);padding:14px}.orbit-wrapper{overflow:hidden}.orbit-section{width:480px;height:480px;transform:scale(.7)}.orbit-ring-1{width:320px;height:320px}.orbit-ring-1 .orbit-icon{transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg)) translate(160px) rotate(calc(var(--i) * -180deg))}.orbit-ring-1 .orbit-icon:hover{transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg)) translate(160px) rotate(calc(var(--i) * -180deg)) scale(1.2)!important}.orbit-ring-2{width:440px;height:440px}.orbit-ring-2 .orbit-icon{transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg + 90deg)) translate(220px) rotate(calc(var(--i) * -180deg - 90deg))}.orbit-ring-2 .orbit-icon:hover{transform:translate(-50%,-50%) rotate(calc(var(--i) * 180deg + 90deg)) translate(220px) rotate(calc(var(--i) * -180deg - 90deg)) scale(1.2)!important}.orbit-icon{width:var(--size, 40px)!important;height:var(--size, 40px)!important}.orbit-icon i{font-size:20px!important}.card-name-label{font-size:16px}.flip-words{font-size:22px!important}.card-description{font-size:14px}.role-tag{font-size:10px;padding:2px 8px}.social-links{gap:8px}.social-link{width:28px;height:28px;font-size:12px}}.toolbar{display:flex;gap:16px;margin-bottom:24px}.slogan{font-size:36px;font-weight:800;color:var(--text);margin:0;letter-spacing:-1px;line-height:1.2}.slogan-highlight{background:linear-gradient(135deg,var(--primary) 0%,#6a696dff 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.search-box{display:flex;align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:50px;padding:4px 4px 4px 16px;width:100%;box-shadow:0 2px 8px #00000014}.search-box .category-filter{border:none;background:transparent;padding:8px 12px;font-size:14px;color:var(--text);cursor:pointer;border-radius:50px;min-width:100px}.search-box .category-filter:focus{outline:none;background:var(--hover-bg)}.search-box .search-input{flex:1;border:none;background:transparent;padding:12px;font-size:14px;color:var(--text)}.search-box .search-input:focus{outline:none}.search-box .search-input::placeholder{color:var(--text-secondary)}.search-box .search-icon{color:var(--text-secondary);padding:12px;font-size:16px}.search-input{flex:1;max-width:400px}.category-select{width:200px}.bookmarks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.category-sections{display:flex;flex-direction:column;gap:32px}.category-section{background:transparent}.category-title{font-size:16px;font-weight:700;color:var(--text-secondary);margin:0 0 12px}.bookmark-card{background:var(--card-bg);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .2s;position:relative}.bookmark-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.bookmark-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;flex-shrink:0;overflow:hidden}.bookmark-icon img{width:100%;height:100%;object-fit:cover}.bookmark-info{flex:1;min-width:0}.bookmark-info h3{font-size:16px;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookmark-url{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.bookmark-category{display:inline-block;padding:2px 8px;background:var(--bg);border-radius:4px;font-size:12px;color:var(--text-secondary)}.bookmark-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.bookmark-card:hover .bookmark-actions{opacity:1}.bookmark-count{position:absolute;top:12px;right:12px;font-size:12px;color:var(--text-secondary)}.favorites-page{--favorites-tab-active: #252a31;--favorites-tab-accent: #0f766e;width:100%;min-width:0}.favorites-heading{margin:20px 0 24px;text-align:center}.favorites-heading .slogan{max-width:100%;color:#6a696d;letter-spacing:0;overflow-wrap:anywhere}.favorites-tabs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);flex:0 0 270px;width:270px;height:50px;margin:0;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--card-bg);box-shadow:0 2px 8px #0f172a12}.favorites-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:34px;padding:7px 14px;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);font:inherit;font-size:14px;font-weight:700;letter-spacing:0;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.favorites-tab:hover{color:var(--text);background:var(--hover-bg)}.favorites-tab:focus-visible{outline:2px solid var(--favorites-tab-accent);outline-offset:2px}.favorites-tab.is-active{background:var(--favorites-tab-active);color:#fff;box-shadow:0 2px 6px #0f172a33}.favorites-toolbar{display:flex;align-items:center;gap:14px;width:100%;min-width:0;max-width:1100px;margin:0 auto 24px}.favorites-toolbar .search-box{flex:1;min-width:0;min-height:50px}.favorites-toolbar .search-input{flex:1 1 0;width:0;min-width:0;max-width:none}.favorites-toolbar .search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.favorites-add-button,.favorites-clear-button,.favorites-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.favorites-toolbar .favorites-clear-button,.favorites-toolbar .favorites-add-button{flex:0 0 auto;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .18s ease,color .18s ease}.favorites-toolbar .favorites-clear-button{width:32px;height:32px;opacity:0;pointer-events:none;transition:background-color .18s ease,color .18s ease,opacity .18s ease}.favorites-toolbar .favorites-clear-button.is-visible{opacity:1;pointer-events:auto}.favorites-toolbar .favorites-add-button{width:36px;height:36px;margin-inline:2px;background:var(--favorites-tab-active);color:#fff;box-shadow:0 2px 6px #0f172a33;transition:background-color .18s ease,color .18s ease,transform .18s ease}.favorites-toolbar .favorites-clear-button:hover{background:var(--hover-bg);color:var(--text)}.favorites-toolbar .favorites-add-button:hover{background:#343b45;color:#fff;transform:translateY(-1px)}.favorites-toolbar .favorites-clear-button:focus-visible,.favorites-toolbar .favorites-add-button:focus-visible{outline:2px solid var(--favorites-tab-accent);outline-offset:1px}.favorites-tab-panel{width:100%;min-width:0;min-height:180px;animation:favorites-panel-in .14s ease-out}@keyframes favorites-panel-in{0%{opacity:.72}to{opacity:1}}.favorites-page .category-sections,.favorites-page .category-section,.favorites-page .bookmarks-grid{min-width:0;max-width:100%}.favorites-error,.favorites-form-error{color:#b42318;font-size:13px}.favorites-error{padding:32px 16px;text-align:center}.favorites-form-error{margin-top:-4px;margin-bottom:12px}.favorites-page .bookmark-card{border-radius:8px}.favorites-page .bookmark-description{margin-bottom:8px;color:var(--text-secondary);font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.favorites-page .bookmark-count{display:inline-flex;align-items:center;gap:4px}.favorites-page .bookmark-actions .btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0}.favorites-upload-button{width:fit-content;min-height:38px;cursor:pointer}.favorites-upload-button input{display:none}.favorites-page .modal-close{display:inline-flex;align-items:center;justify-content:center}@media(max-width:720px){.favorites-heading{margin-top:12px;margin-bottom:20px}.favorites-heading .slogan{font-size:24px}.favorites-tabs{flex-basis:auto;width:min(100%,360px);margin:0 auto}.favorites-tab{gap:6px;padding-inline:4px;font-size:13px}.favorites-toolbar{flex-direction:column;align-items:stretch;gap:10px}.favorites-toolbar .search-box{width:100%;max-width:100%;padding-left:8px}.favorites-toolbar .category-filter{min-width:92px;padding-inline:8px}.favorites-toolbar .search-input{min-width:0;padding-inline:8px}.favorites-page .bookmarks-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.favorites-tab,.favorites-add-button,.favorites-tab-panel{transition:none;animation:none}}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.vehicle-card{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .2s}.vehicle-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.vehicle-image{height:180px;background:var(--bg);display:flex;align-items:center;justify-content:center}.vehicle-image img{width:100%;height:100%;object-fit:cover}.vehicle-placeholder{font-size:64px;color:var(--text-secondary)}.vehicle-info{padding:20px}.vehicle-info h3{font-size:18px;margin-bottom:8px}.vehicle-info p{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.vehicle-mileage{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:14px;color:var(--primary)}.vehicle-reminder-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.vehicle-reminder-badges .badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-reminder-more{color:var(--text-secondary);font-size:12px;align-self:center}.vehicle-actions{display:flex;gap:8px;padding:0 20px 20px}.vehicle-detail{padding:20px 0}.detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.detail-info p{margin-bottom:8px}.maintenance-section{border-top:1px solid var(--border);padding-top:20px}.maintenance-section h3{margin-bottom:16px}.vehicle-cost-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.vehicle-cost-summary div{border:1px solid var(--border);padding:10px}.vehicle-cost-summary span,.reminder-row span{display:block;color:var(--text-secondary);font-size:12px}.vehicle-cost-summary strong{display:block;margin-top:4px;color:var(--primary)}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:10px 0}.reminder-actions{display:flex;align-items:center;gap:6px}@media(max-width:640px){.detail-info,.vehicle-cost-summary{grid-template-columns:1fr}.reminder-row{align-items:flex-start}}.records-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1024px){.records-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.records-stats-grid{grid-template-columns:1fr}}.records-table{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.records-table .table th{white-space:nowrap}.records-table .table td{vertical-align:middle}.records-table .btn{margin-right:4px}.records-mobile-list{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.receipt-list{display:grid;gap:6px;margin-top:8px}.receipt-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--border)}.receipt-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-import-modal{max-width:560px}.records-import-description{color:var(--text-secondary);font-size:13px;margin:6px 0 0}.records-import-content{display:grid;gap:18px;padding:20px}.records-import-template{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.records-import-template p{color:var(--text-secondary);font-size:13px;margin:6px 0 0}.records-import-dropzone{display:grid;justify-items:center;gap:8px;padding:28px 16px;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;text-align:center}.records-import-dropzone:hover{border-color:var(--primary);background:var(--bg)}.records-import-dropzone i{color:var(--primary);font-size:28px}.records-import-dropzone strong{color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-import-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px}.pagination-info{color:var(--text);font-size:14px}@media(max-width:640px){.records-desktop-table{display:none}.records-mobile-list{display:grid;gap:1px}.record-mobile-card{padding:14px;border-bottom:1px solid var(--border)}.record-mobile-header,.record-mobile-footer,.record-mobile-metrics{display:flex;align-items:center;justify-content:space-between;gap:8px}.record-mobile-header span,.record-mobile-footer>span{color:var(--text-secondary);font-size:12px}.record-mobile-metrics{justify-content:flex-start;margin:10px 0;font-weight:600}.record-mobile-footer .btn{margin-right:0}.pagination{gap:8px;padding:12px}.pagination-info{font-size:12px}}.analytics-page{--analytics-bg: #f3f6f7;--analytics-surface: #ffffff;--analytics-surface-soft: #f8fbfb;--analytics-border: rgba(35, 65, 79, .13);--analytics-border-strong: rgba(35, 65, 79, .23);--analytics-text: #18313f;--analytics-muted: #5d7480;--analytics-dim: #8a9ba2;--analytics-cyan: #1aa992;--analytics-blue: #3987c9;--analytics-amber: #c88a23;--analytics-coral: #de6b60;--analytics-purple: #766bd1;position:relative;isolation:isolate;max-width:1440px;min-height:calc(100vh - 112px);margin:0 auto;padding:28px clamp(18px,3vw,42px) 42px;overflow:hidden;color:var(--analytics-text);background:linear-gradient(rgba(98,126,138,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(98,126,138,.045) 1px,transparent 1px),var(--analytics-bg);background-size:34px 34px;border:1px solid rgba(35,65,79,.12);border-radius:18px;box-shadow:0 20px 60px #273f4b1f}.analytics-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(26,169,146,.06),transparent 20%,transparent 76%,rgba(57,135,201,.035))}.analytics-page *,.analytics-page *:before,.analytics-page *:after{box-sizing:border-box}.analytics-topbar,.analytics-brand,.analytics-top-actions,.analytics-toolbar,.analytics-filters,.analytics-filter,.analytics-panel-heading,.analytics-panel-heading-main,.analytics-panel-foot{display:flex;align-items:center}.analytics-topbar{justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--analytics-border)}.analytics-brand{gap:12px}.analytics-brand-mark{display:grid;width:42px;height:42px;place-items:center;color:#fff;background:var(--analytics-cyan);border-radius:10px;box-shadow:0 7px 18px #1aa99233}.analytics-eyebrow,.analytics-filter>span,.analytics-metric-label,.analytics-panel-eyebrow,.analytics-panel-note,.analytics-table th{color:var(--analytics-muted);font-size:11px;letter-spacing:.08em}.analytics-eyebrow{display:block;margin-bottom:4px;line-height:1.2}.analytics-brand h1{margin:0;font-size:21px;font-weight:600;line-height:1.2;letter-spacing:.01em}.analytics-top-actions{gap:12px}.analytics-sync{display:inline-flex;align-items:center;gap:8px;padding:4px 0;color:var(--analytics-muted);font-size:12px;white-space:nowrap}.analytics-sync i{width:7px;height:7px;background:var(--analytics-cyan);border-radius:50%;box-shadow:0 0 0 4px #1aa9921f}.analytics-sync.is-loading i{animation:analytics-pulse 1.4s ease-in-out infinite}.analytics-focus-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--analytics-muted);background:var(--analytics-surface);border:1px solid var(--analytics-border);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.analytics-focus-button:hover,.analytics-focus-button:focus-visible{color:var(--analytics-cyan);border-color:#1aa99280;transform:translateY(-1px)}.analytics-toolbar{flex-wrap:wrap;gap:16px 20px;padding:20px 0 24px;border-bottom:1px solid var(--analytics-border)}.analytics-filters{flex-wrap:wrap;gap:12px 18px}.analytics-filter{gap:10px}.analytics-select{min-width:148px;padding:10px 34px 10px 12px;color:var(--analytics-text);font:inherit;background-color:var(--analytics-surface);border:1px solid var(--analytics-border);border-radius:9px;outline:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.analytics-select:hover,.analytics-select:focus-visible{border-color:var(--analytics-cyan);box-shadow:0 0 0 3px #1aa9921c}.analytics-toolbar-meta{margin-left:auto;color:var(--analytics-dim);font-size:12px}.analytics-toolbar-meta strong{margin-left:8px;color:var(--analytics-muted);font-weight:500}.analytics-focus-button{min-height:38px;padding:8px 12px;border-radius:9px;font-size:12px}.analytics-focus-button.is-active{color:var(--analytics-cyan);border-color:#1aa99273;background:#1aa99214}.analytics-error{display:flex;align-items:center;gap:8px;margin-top:16px;padding:11px 13px;color:#a4473f;font-size:13px;border:1px solid rgba(222,107,96,.28);border-radius:9px;background:#de6b6014}.analytics-main{position:relative;z-index:1;padding-top:24px}.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.analytics-metric,.analytics-panel{position:relative;min-width:0;background:#ffffffed;border:1px solid var(--analytics-border);box-shadow:0 6px 18px #273f4b0e}.analytics-metric{display:flex;gap:13px;min-height:122px;padding:18px;overflow:hidden;border-radius:12px;animation:analytics-rise .5s both}.analytics-metric:nth-child(2){animation-delay:.05s}.analytics-metric:nth-child(3){animation-delay:.1s}.analytics-metric:nth-child(4){animation-delay:.15s}.analytics-metric:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--metric-accent, var(--analytics-cyan));opacity:.75}.analytics-metric-blue{--metric-accent: var(--analytics-blue)}.analytics-metric-amber{--metric-accent: var(--analytics-amber)}.analytics-metric-coral{--metric-accent: var(--analytics-coral)}.analytics-metric-purple{--metric-accent: var(--analytics-purple)}.analytics-metric-icon{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;color:var(--metric-accent, var(--analytics-cyan));background:color-mix(in srgb,var(--metric-accent, var(--analytics-cyan)) 12%,white);border-radius:9px}.analytics-metric-copy{min-width:0}.analytics-metric-label{display:block;letter-spacing:.04em}.analytics-metric-value{display:block;margin:13px 0 5px;color:var(--analytics-text);font-size:clamp(24px,2.4vw,34px);font-weight:600;line-height:1;letter-spacing:-.025em}.analytics-metric-unit{display:block;overflow-wrap:anywhere;color:var(--analytics-dim);font-size:12px;line-height:1.35}.analytics-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.analytics-panel{grid-column:span 6;padding:19px 20px;border-radius:12px;animation:analytics-rise .6s .16s both}.analytics-panel-efficiency,.analytics-panel-table{grid-column:span 12}.analytics-panel-heading{justify-content:space-between;gap:16px;min-height:35px;margin-bottom:13px}.analytics-panel-heading-main{min-width:0;gap:9px}.analytics-panel-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;color:var(--analytics-cyan);background:#1aa9921a;border-radius:8px}.analytics-panel-eyebrow{display:block;margin-bottom:3px;color:var(--analytics-dim);font-size:10px;letter-spacing:.09em;line-height:1.2}.analytics-panel h3{margin:0;color:var(--analytics-text);font-size:15px;font-weight:600;line-height:1.2}.analytics-panel-note{white-space:nowrap;letter-spacing:.02em}.analytics-chart{width:100%}.analytics-chart-trend{height:318px}.analytics-chart-medium{height:250px}.analytics-chart-donut{height:238px}.analytics-chart>div{width:100%!important;height:100%!important}.analytics-panel-foot{justify-content:space-between;gap:12px;margin-top:8px;color:var(--analytics-dim);font-size:11px}.analytics-panel-foot strong{color:var(--analytics-muted);font-weight:500}.analytics-readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:8px 0 2px}.analytics-readouts>div{display:grid;gap:8px;min-width:0;padding-right:20px;border-right:1px solid var(--analytics-border)}.analytics-readouts>div:last-child{padding-right:0;border-right:0}.analytics-readouts span{color:var(--analytics-muted);font-size:12px}.analytics-readouts strong{color:var(--analytics-text);font-size:17px;font-weight:600;white-space:nowrap}.analytics-readouts small{color:var(--analytics-muted);font-size:11px;font-weight:400}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;min-width:650px;border-collapse:collapse}.analytics-table th{padding:0 12px 12px;color:var(--analytics-dim);font-weight:500;text-align:left}.analytics-table th:not(:first-child),.analytics-table td:not(:first-child){text-align:right}.analytics-table td{padding:13px 12px;color:var(--analytics-muted);font-size:12px;border-top:1px solid var(--analytics-border)}.analytics-table td:first-child{color:var(--analytics-text)}.analytics-table tbody tr{transition:background .2s ease}.analytics-table tbody tr:hover{background:#1aa9920b}.analytics-table td strong{font-weight:600}.analytics-rank{display:inline-grid;width:21px;height:21px;margin-right:8px;place-items:center;color:var(--analytics-dim);font-size:10px;border:1px solid var(--analytics-border);border-radius:6px}.analytics-empty{margin:20px 0 4px;color:var(--analytics-muted);font-size:13px}.analytics-page-focus .analytics-secondary{display:none}@keyframes analytics-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes analytics-pulse{0%,to{opacity:.45}50%{opacity:1}}@media(max-width:1100px){.analytics-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-readouts>div:nth-child(2){padding-right:0;border-right:0}}@media(max-width:760px){.analytics-page{min-height:auto;padding:20px 14px 30px;background-size:26px 26px;border-radius:12px}.analytics-topbar{align-items:flex-start}.analytics-sync{display:none}.analytics-brand-mark{width:36px;height:36px;border-radius:9px}.analytics-brand h1{font-size:18px}.analytics-toolbar{align-items:stretch;gap:14px 12px;padding:16px 0 20px}.analytics-filters{flex:1 1 100%;gap:10px}.analytics-filter{min-width:0;flex:1 1 calc(50% - 5px);flex-direction:column;align-items:stretch;gap:6px}.analytics-select{width:100%;min-width:0;min-height:44px}.analytics-toolbar-meta{order:3;flex:1 1 auto;align-self:center;margin-left:0}.analytics-focus-button{align-self:center}.analytics-main{padding-top:20px}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}.analytics-metric{display:block;min-height:122px;padding:14px}.analytics-metric-icon{width:28px;height:28px;margin-bottom:8px}.analytics-metric-copy{width:100%}.analytics-metric-value{margin-top:8px;font-size:20px}.analytics-grid{gap:10px}.analytics-panel,.analytics-panel-efficiency,.analytics-panel-table{grid-column:span 12}.analytics-panel{padding:16px 14px}.analytics-panel-heading{align-items:flex-start}.analytics-chart-trend{height:270px}.analytics-chart-medium{height:250px}.analytics-chart-donut{height:235px}.analytics-readouts{grid-template-columns:minmax(0,1fr);gap:13px}.analytics-readouts>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid var(--analytics-border)}.analytics-readouts>div:last-child{padding-bottom:0;border-bottom:0}}@media(prefers-reduced-motion:reduce){.analytics-page *,.analytics-page *:before,.analytics-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.bill-page{max-width:1260px;padding-bottom:36px;font-size:14px}.bill-page *,.bill-dialog *{letter-spacing:0}.bill-page h1{font-size:27px;line-height:1.4}.bill-page h2,.bill-dialog h2{font-size:18px;line-height:1.5}.bill-page h3,.bill-dialog h3{font-size:15px;line-height:1.5}.bill-page h2 small{margin-left:8px;font-size:13px;font-weight:400;color:var(--text-secondary)}.bill-page-head,.bill-controls,.bill-section-heading,.bill-rule-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.bill-page-head{margin-bottom:23px}.bill-page-head p{color:var(--text-secondary);margin-top:5px}.bill-actions,.bill-tools,.bill-period,.bill-pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bill-button,.bill-icon{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8dde0;border-radius:6px;background:#fff;color:#262c30;cursor:pointer;min-height:37px;padding:7px 12px;font:inherit;line-height:1.4}.bill-button:hover:not(:disabled),.bill-icon:hover:not(:disabled){background:#f0f3f2;border-color:#95a9a2}.bill-button svg,.bill-icon svg,.bill-link svg{flex-shrink:0}.bill-button:disabled,.bill-icon:disabled,.bill-dialog button:disabled,.bill-page button:disabled{opacity:.48;cursor:not-allowed}.bill-icon{width:36px;height:36px;flex:0 0 36px;padding:0}.bill-primary{background:#263c35;color:#fff;border-color:#263c35}.bill-primary:hover:not(:disabled){background:#152d24;color:#fff;border-color:#152d24}.bill-danger{background:#b84040;border-color:#b84040;color:#fff}.bill-danger:hover:not(:disabled){background:#9f3030;color:#fff}.bill-danger-outline,.bill-danger-text{color:#b43d3d!important}.bill-link{display:inline-flex;align-items:center;gap:5px;border:0;padding:0;background:none;color:#276c56;font:inherit;text-align:left;cursor:pointer}.bill-link:hover{text-decoration:underline}.bill-muted{color:#68737a;font-size:13px}.bill-grow{flex:1;min-width:0}.bill-grow small,.bill-table td small{display:block;color:#68737a;font-size:12px}.bill-wrap{white-space:normal!important;overflow-wrap:anywhere}.bill-view-tabs{display:flex;gap:25px;border-bottom:1px solid var(--border);margin-bottom:20px}.bill-view-tabs button{background:transparent;color:#68737a;border:0;border-bottom:2px solid transparent;padding:10px 0 12px;font:inherit;cursor:pointer}.bill-view-tabs button[aria-current]{border-color:#276c56;color:#234e3e;font-weight:600}.bill-page input,.bill-page select,.bill-dialog input,.bill-dialog select,.bill-dialog textarea{font:inherit;color:#283037;background:#fff;border:1px solid #d8dde0;border-radius:5px;padding:8px 10px;min-height:37px;min-width:0;max-width:100%}.bill-page select,.bill-dialog select{padding-right:26px}.bill-page input:focus,.bill-page select:focus,.bill-dialog input:focus,.bill-dialog select:focus,.bill-dialog textarea:focus{outline:2px solid #8cb8a8;outline-offset:1px}.bill-page button:focus-visible,.bill-dialog button:focus-visible{outline:2px solid #278c6a;outline-offset:3px}.bill-controls{margin-bottom:14px}.bill-period{flex-wrap:nowrap;min-width:0}.bill-period input[type=month]{width:160px}.bill-period input[type=date]{width:157px}.bill-filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(120px,160px) minmax(160px,220px) auto;gap:9px}.bill-search{display:flex;align-items:center;position:relative}.bill-search svg{position:absolute;left:10px;color:#7a8680}.bill-search input{width:100%;padding-left:34px}.bill-advanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:14px}.bill-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:13px 0 0}.bill-filter-chips>span{display:inline-flex;align-items:center;gap:4px;font-size:12px;background:#edf3f0;color:#35624f;padding:3px 7px;border-radius:4px;overflow-wrap:anywhere}.bill-filter-chips button:not(.bill-link){border:0;display:inline-flex;background:none;color:inherit;cursor:pointer;padding:3px}.bill-return{margin-top:14px}.bill-selected{background:#edf3f0;border-color:#8fa99d}.bill-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eff4f2;border-left:3px solid #799f8b;color:#3c5c4c;padding:11px 13px;font-size:13px;margin:14px 0;overflow-wrap:anywhere}.bill-notice-error{border-color:#c25c5c;background:#fff0f0;color:#9c3434}.bill-notice-warning{background:#fff9e8;border-color:#c4a44d;color:#80631d}.bill-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:38px 18px;color:#748078;text-align:center}.bill-spin{animation:bill-spin 1s linear infinite}@keyframes bill-spin{to{transform:rotate(360deg)}}.bill-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:26px 0 23px;margin-top:8px;border-bottom:1px solid var(--border)}.bill-metrics>div{padding:0 23px;min-width:0;border-right:1px solid var(--border)}.bill-metrics>div:first-child{padding-left:0}.bill-metrics>div:last-child{border-right:0}.bill-metrics span,.bill-report-metrics span{display:block;color:#68737a;margin-bottom:5px;font-size:13px}.bill-metrics strong{display:block;font-size:25px;line-height:1.5;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.bill-metrics small{font-size:13px;font-weight:400}.bill-income,.bill-metrics .income,.bill-amount.income{color:#198365}.bill-expense,.bill-metrics .expense,.bill-amount.expense{color:#b74848}.bill-month-status{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:24px;padding:15px 0;border-bottom:1px solid var(--border)}.bill-uncategorized{display:flex;align-items:center;gap:10px;background:none;padding:0;border:0;font:inherit;cursor:pointer;text-align:left}.bill-uncategorized span{font-size:13px;color:#68737a}.bill-uncategorized strong{flex:1;font-size:13px}.bill-budget-alerts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.bill-budget-alert{display:flex;gap:6px;align-items:center;background:none;border:0;font:inherit;cursor:pointer}.bill-section-heading{margin-bottom:13px;flex-wrap:wrap}.bill-section-heading select{width:auto;max-width:180px}.bill-category-section,.bill-trend{padding:22px 0;border-bottom:1px solid var(--border)}.bill-category-analysis{display:grid;grid-template-columns:250px minmax(0,1fr);gap:35px;align-items:center}.bill-category-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 25px;max-height:215px;overflow-y:auto;padding-right:5px}.bill-category-total{display:grid;grid-template-columns:8px minmax(0,1fr) auto 42px;align-items:center;gap:8px;background:transparent;border:0;border-bottom:1px solid #edf0ef;padding:9px 0;color:#343b3f;font:inherit;text-align:left;cursor:pointer;min-width:0}.bill-category-total>span{overflow-wrap:anywhere}.bill-category-total strong{font-size:13px;font-variant-numeric:tabular-nums}.bill-category-total small{color:#68737a;text-align:right;font-size:11px}.bill-category-dot{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%}.bill-segment{display:inline-flex;align-items:stretch;background:#eef1ef;padding:3px;gap:3px;border-radius:6px}.bill-segment button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#6a746e;padding:5px 13px;font:inherit;font-size:13px;cursor:pointer;border-radius:4px}.bill-segment button[aria-pressed=true]{background:#fff;color:#264b3b;box-shadow:0 1px 3px #18322715}.bill-ledger{padding-top:23px}.bill-table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain}.bill-table{width:100%;border-collapse:collapse;font-size:13px}.bill-table th{background:#f0f3f1;font-weight:500;color:#657169;text-align:left}.bill-table th,.bill-table td{padding:11px 13px;border-bottom:1px solid #e7ece9;white-space:nowrap;vertical-align:middle}.bill-table tbody tr:hover{background:#f5f8f6}.bill-align-right{text-align:right!important}.bill-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bill-amount>span{margin-right:3px}.bill-source{font-size:12px;color:#6a7770}.bill-ledger-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;max-width:290px}.bill-ledger-title{font:inherit;color:#253e30;background:none;border:0;cursor:pointer;font-weight:600;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.bill-ledger-description{display:block;max-width:290px;white-space:normal;overflow-wrap:anywhere;color:#778078;font-size:12px}.bill-tags{display:flex;flex:1;flex-wrap:wrap;gap:4px;min-width:0;max-width:280px}.bill-tags button{border:0;color:#4b7380;background:#edf3f6;padding:1px 5px;border-radius:3px;font-size:11px;cursor:pointer;max-width:100%;white-space:normal;overflow-wrap:anywhere}.bill-future{display:block;color:#9b772e!important}.bill-pager{justify-content:flex-end;font-size:13px;color:#6a746e;padding:17px 0 0;gap:12px}.bill-pager>span:first-child{margin-right:auto}.bill-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:center;justify-content:center;background:#16221b70;padding:24px}.bill-dialog{outline:none;width:580px;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto;background:#fff;color:#26312b;padding:22px;border-radius:8px;font-size:14px;box-shadow:0 12px 48px #11271924}.bill-dialog-wide{width:1020px}.bill-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.bill-dialog-head h2{flex:1;min-width:0}.bill-dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:16px}.bill-drawer-overlay{justify-content:flex-end;padding:0}.bill-drawer{height:100dvh;max-height:100dvh;border-radius:0;padding:26px;width:480px}.bill-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:17px}.bill-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px}.bill-field>span:first-child,.bill-field>label{font-weight:500}.bill-field-full{grid-column:1 / -1}.bill-field input,.bill-field select,.bill-field textarea{width:100%}.bill-field textarea{resize:vertical}.bill-field-error{color:#b43d3d;font-size:12px;font-weight:400}.bill-more{margin-top:18px}.bill-more summary{cursor:pointer;color:#4c6f5d;font-size:13px}.bill-detail-amount{display:flex;flex-direction:column;gap:8px;padding:10px 0 25px}.bill-detail-amount .bill-amount{font-size:30px;white-space:normal;overflow-wrap:anywhere}.bill-details{margin:0 0 20px}.bill-details>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid #edf0ee}.bill-details dt{font-size:13px;color:#758078}.bill-details dd{white-space:pre-wrap;overflow-wrap:anywhere}.bill-confirm{margin-top:18px;border-top:1px solid #d8e1dc;padding-top:16px}.bill-confirm p{margin:9px 0 13px;overflow-wrap:anywhere}.bill-checkbox,.bill-radio-group label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#69766d}.bill-checkbox input,.bill-radio-group input{width:16px;height:16px;min-height:16px;accent-color:#276c56}.bill-swatches{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-height:37px}.bill-swatches button{width:23px;height:23px;border-radius:4px;border:2px solid transparent;cursor:pointer}.bill-swatches .selected{outline:2px solid #314e3b;outline-offset:2px}.bill-swatches input[type=color]{width:27px;height:27px;min-height:27px;padding:1px}.bill-category-form{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:18px}.bill-category-form>.bill-actions{justify-content:flex-end;margin-top:15px}.bill-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.bill-category-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #e5ebe7}.bill-category-row strong{font-size:14px;overflow-wrap:anywhere}.bill-category-row .bill-icon{border-color:transparent;width:31px;flex-basis:31px}.bill-status{display:inline-block;background:#eef1ef;color:#728077;padding:2px 6px;border-radius:4px;font-size:11px;white-space:nowrap}.bill-status-normal,.bill-status-ready,.bill-status-active{color:#277957;background:#e9f4ee}.bill-status-near,.bill-status-pausing,.bill-status-duplicate{color:#896922;background:#fff5d9}.bill-status-reached{color:#ad7431;background:#fff0dd}.bill-status-exceeded,.bill-status-invalid,.bill-status-needs_review{color:#b23e3e;background:#ffebeb}.bill-budget-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:12px}.bill-budget-item{min-width:0;padding:18px 0;border-bottom:1px solid #e4eae6}.bill-budget-values{display:flex;flex-wrap:wrap;gap:5px 15px;color:#717d73;font-size:12px}.bill-budget-values strong{color:#3c4d41;font-size:13px}.bill-budget-item progress{width:100%;height:6px;margin:10px 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#edf1ee;border-radius:3px}.bill-budget-item progress::-webkit-progress-bar{background:#edf1ee;border-radius:3px}.bill-budget-item progress::-webkit-progress-value{background:#759d88;border-radius:3px}.bill-budget-inputs{display:grid;grid-template-columns:minmax(0,1fr) 104px auto;gap:9px;align-items:end;margin-top:12px}.bill-budget-inputs>.bill-link{grid-column:1 / -1;font-size:12px}.bill-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 0;border-bottom:1px solid var(--border)}.bill-report-metrics strong{font-size:23px;overflow-wrap:anywhere}.bill-report-changes{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0;margin-bottom:10px;border-bottom:1px solid var(--border)}.bill-report-changes p{font-size:13px;color:#68766c}.bill-report-top{margin:8px 0 24px}.bill-report-category{display:flex;width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px;text-align:left;background:none;border:0;border-bottom:1px solid #e7ece9;padding:10px 0;color:#455b4a;font:inherit;cursor:pointer}.bill-import-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.bill-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:300px;background:#f5f8f6;border:1px dashed #b7c9bd;border-radius:6px;padding:24px}.bill-upload>span{color:#718076;font-size:13px}.bill-upload input{width:290px}.bill-import-counts{display:flex;gap:12px 25px;flex-wrap:wrap;margin:16px 0 10px}.bill-import-counts>span{color:#6b796f;font-size:13px}.bill-import-counts b{color:#2d4435;margin-left:5px;font-size:18px}.bill-import-result{padding:16px 0;border-top:1px solid #d7e4db;border-bottom:1px solid #d7e4db}.bill-import-result>strong{color:#2f7a51;font-size:17px}.bill-import-result>.bill-actions{margin-top:14px}.bill-import-table{max-height:390px}.bill-import-table .bill-table th{position:sticky;top:0;z-index:1}.bill-import-table .bill-wrap{min-width:160px;max-width:245px}.bill-import-footer{position:sticky;bottom:-22px;background:#fff;padding:14px 0 0;margin-top:14px;border-top:1px solid #e0e8e3;z-index:2}.bill-import-footer>.bill-actions{justify-content:flex-end;padding-bottom:10px}.bill-mapping{margin:18px 0;border-top:1px solid var(--border);padding-top:14px}.bill-mapping-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,230px) auto;align-items:center;gap:12px;padding:7px 0}.bill-comparison-original{padding:0 0 15px;border-bottom:1px solid var(--border)}.bill-candidate{padding:17px 0;border-bottom:1px solid var(--border)}.bill-candidate h3{margin-bottom:10px}.bill-candidate td{white-space:pre-wrap;overflow-wrap:anywhere;min-width:180px}.bill-difference{background:#fff9e8}.bill-rule{padding:16px 0;border-bottom:1px solid #e3eae6}.bill-rule-main{flex-wrap:wrap;gap:10px;margin-bottom:9px}.bill-rule-main>small{color:#738075;font-size:12px}.bill-rule-main>strong{font-size:14px}.bill-rule-history{padding-top:13px;margin-top:8px;border-top:1px dashed #d5ded8;color:#66786b;font-size:13px}.bill-rule-history h3{margin-top:12px}.bill-version{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:7px 0}.bill-recurring-preview{margin-top:18px;background:#f2f7f3;padding:14px;border-left:3px solid #79a589}.bill-recurring-preview ol{padding-left:24px;margin:10px 0}.bill-radio-group{display:flex;flex-direction:column;gap:10px;margin:15px 0}.bill-export-count{margin-top:16px;font-size:16px}@media(max-width:1000px){.bill-category-analysis{grid-template-columns:200px minmax(0,1fr);gap:20px}.bill-category-breakdown{grid-template-columns:1fr}.bill-metrics>div{padding:0 15px}.bill-metrics strong{font-size:21px}.bill-month-status{grid-template-columns:1fr;gap:13px}.bill-budget-list{grid-template-columns:1fr}}@media(max-width:640px){.bill-page{margin:0 -8px;font-size:13px}.bill-page h1{font-size:23px}.bill-page-head{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:15px}.bill-main-actions{width:100%;justify-content:flex-end}.bill-main-actions>.bill-icon{margin-right:auto}.bill-view-tabs{gap:0;justify-content:space-between;margin-bottom:15px}.bill-controls{align-items:flex-start;flex-wrap:wrap;gap:12px}.bill-tools{margin-left:auto}.bill-tools .bill-icon{background:transparent;border-color:transparent}.bill-period{width:100%}.bill-period input[type=date]{flex:1;width:0;padding:8px 5px;font-size:12px}.bill-period input[type=month]{flex:1}.bill-filters{grid-template-columns:1fr 1fr}.bill-search{grid-column:1 / -1}.bill-filters>.bill-button{grid-column:1 / -1;justify-self:end}.bill-advanced{grid-template-columns:1fr 1fr}.bill-metrics{grid-template-columns:1fr 1fr;padding:15px 0;row-gap:18px}.bill-metrics>div{padding:0 12px}.bill-metrics>div:nth-child(odd){padding-left:0}.bill-metrics>div:nth-child(2n){border:0}.bill-metrics strong{font-size:22px}.bill-month-status{gap:15px}.bill-uncategorized{flex-wrap:wrap}.bill-category-analysis{grid-template-columns:1fr;gap:0}.bill-category-analysis>.echarts-for-react{max-width:230px;width:100%;margin:0 auto}.bill-category-breakdown{max-height:none}.bill-ledger-table{min-width:0;display:block}.bill-ledger-table thead{display:none}.bill-ledger-table tbody{display:block;width:100%}.bill-ledger-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:5px 9px;padding:13px 0;border-bottom:1px solid #e7ece9}.bill-ledger-table td{min-width:0;border:0;padding:0;white-space:normal;overflow-wrap:anywhere}.bill-ledger-table td:nth-child(1){grid-column:1;grid-row:1;color:#748078;font-size:12px}.bill-ledger-table td:nth-child(2){grid-column:1 / 3;grid-row:2}.bill-ledger-table td:nth-child(3){grid-column:1 / 3;grid-row:3}.bill-ledger-table td:nth-child(4){grid-column:1;grid-row:4;color:#748078;font-size:12px}.bill-ledger-table td:nth-child(5){grid-column:2 / 4;grid-row:4;text-align:right}.bill-ledger-table td:nth-child(6){grid-column:2;grid-row:1}.bill-ledger-table td:nth-child(7){grid-column:3;grid-row:1 / 4;align-self:center}.bill-ledger-table .bill-ledger-heading,.bill-ledger-table .bill-ledger-description,.bill-ledger-table .bill-tags{max-width:100%}.bill-section-heading{gap:9px}.bill-overlay{padding:10px;align-items:center}.bill-dialog{padding:17px;max-height:calc(100dvh - 20px)}.bill-dialog-head{margin-bottom:16px}.bill-drawer-overlay{padding:0}.bill-drawer{max-height:100dvh}.bill-form-grid{gap:12px}.bill-field{font-size:12px}.bill-dialog input,.bill-dialog select,.bill-dialog textarea{font-size:14px;padding:8px}.bill-dialog-footer{gap:8px}.bill-category-list{grid-template-columns:1fr}.bill-budget-inputs{grid-template-columns:minmax(0,1fr) 88px auto}.bill-budget-inputs .bill-button{padding:8px}.bill-report-metrics{grid-template-columns:1fr;gap:12px}.bill-report-metrics>div{display:flex;justify-content:space-between;gap:10px}.bill-report-metrics strong{font-size:21px}.bill-report-changes{grid-template-columns:1fr}.bill-import-toolbar{flex-wrap:wrap}.bill-upload{padding:20px 10px;min-height:240px}.bill-mapping-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.bill-mapping-row>span{grid-column:1 / -1}.bill-import-footer{bottom:-17px}.bill-rule-main>.bill-grow{flex-basis:100%}.bill-rule-main>.bill-actions{margin-left:auto}.bill-notice{align-items:flex-start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.bill-spin{animation:none}}.stocks-page{position:relative}.stock-breadcrumb,.stock-page-subtitle,.stock-stat-label,.stock-stat-meta,.stock-section-title span,.stock-symbol,.stock-data-note,.stock-modal-description{color:var(--text-secondary)}.stock-breadcrumb{margin-bottom:6px;font-size:14px}.stock-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:20px;padding:6px 2px 0}.stock-page-subtitle{max-width:420px;margin-top:8px;line-height:1.5}.stock-header-copy{min-width:260px}.stock-header-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stock-header-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px #3b82f61f}.stock-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.stock-title-row .page-title{margin:0}.stock-header-count{padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text-secondary);font-size:12px;font-weight:600}.stock-header-actions,.stock-row-actions,.stock-transaction-toolbar{display:flex;align-items:center;gap:10px}.stock-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:760px}.stock-header-tool-group,.stock-header-primary-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.stock-header-primary-group{padding-left:10px;border-left:1px solid var(--border)}.stock-header-actions .btn,.stock-header-actions .stock-file-button{border-radius:50px;white-space:nowrap}.stock-header-tool-group .btn{min-height:36px;padding:10px 16px;border-color:transparent;background:var(--card);box-shadow:0 4px 14px #0f172a0f;color:var(--text-secondary)}.stock-header-tool-group .btn:hover{border-color:var(--border);color:var(--primary);transform:translateY(-1px)}.stock-header-tool-group .btn i{margin-right:6px;color:var(--primary)}.stock-import-group{display:inline-flex;align-items:stretch;gap:4px}.stock-import-group .stock-file-button,.stock-import-group .stock-template-button{min-height:36px;padding:10px 16px;border-radius:50px;font-size:14px}.stock-import-group .stock-template-button{min-width:62px;border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.stock-import-group .stock-template-button:hover{border-color:var(--primary);color:var(--primary)}.stock-file-button{position:relative;overflow:hidden;cursor:pointer}.stock-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.stock-quote-status-card{display:grid;gap:18px;margin-bottom:20px;padding:24px 26px 18px;border:1px solid rgba(59,130,246,.14);background:linear-gradient(110deg,rgba(239,246,255,.92),var(--card) 55%,rgba(248,250,252,.9));box-shadow:0 8px 26px #1e40af14}.stock-quote-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(148,163,184,.24)}.stock-quote-card-header .stock-header-copy{min-width:0}.stock-quote-card-header .stock-quote-status-main{margin-top:18px}.stock-quote-card-header .stock-page-subtitle{margin-bottom:0}.stock-quote-card-header .stock-header-actions{flex:0 0 auto;padding-top:2px}.stock-quote-card-header .stock-header-primary-group{padding-left:0;border-left:0}.stock-quote-card-header .stock-header-refresh,.stock-quote-card-header .stock-header-utility,.stock-quote-card-header .stock-header-add{min-height:40px;padding:10px 18px;border-radius:999px;white-space:nowrap}.stock-quote-status-body{display:grid;grid-template-columns:auto auto;justify-content:end;align-items:center;gap:24px}.stock-quote-status-main{display:flex;min-width:0;align-items:center;gap:12px}.stock-quote-status-icon{display:inline-flex;width:42px;height:42px;flex:0 0 auto;border-radius:50%;align-items:center;justify-content:center;background:#6b72801f;color:var(--text-secondary);font-size:16px}.stock-quote-status-icon.active{background:var(--success);color:#fff}.stock-quote-status-icon.refreshing{background:var(--primary);color:#fff}.stock-quote-status-copy{display:grid;min-width:0;flex:1;gap:3px}.stock-quote-status-line{display:flex;width:100%;align-items:baseline;flex-wrap:wrap;gap:8px 12px}.stock-quote-status-line .stock-provider-status-list{margin-left:auto;justify-content:flex-end}.stock-quote-status-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:5px}.stock-quote-status-secondary .stock-quote-status-meta{margin-top:0}.stock-quote-next-refresh-inline{display:inline-flex;align-items:baseline;gap:6px;padding-left:14px;border-left:1px solid var(--border);white-space:nowrap}.stock-quote-next-refresh-inline em{color:var(--text-secondary);font-size:12px;font-style:normal}.stock-quote-next-refresh-inline strong{color:var(--text);font-size:12px}.stock-quote-status-kicker,.stock-quote-next-refresh span,.stock-quote-provider-label{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.stock-quote-next-refresh{display:grid;min-width:135px;gap:5px;padding-left:24px;border-left:1px solid var(--border)}.stock-quote-next-refresh strong{font-size:14px}.stock-quote-actions{display:flex;min-width:max-content;align-items:center;gap:7px;padding-left:24px;border-left:1px solid var(--border)}.stock-quote-actions .btn{min-height:34px;border-radius:999px;white-space:nowrap}.stock-quote-providers{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.24)}.stock-quote-providers .stock-provider-status-list{justify-content:flex-end}.stock-provider-status i{margin-right:5px;font-size:7px}.stock-quote-status-meta,.stock-quote-source{margin-top:3px;color:var(--text-secondary);font-size:12px}.stock-provider-status-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.stock-provider-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;white-space:nowrap}.stock-provider-status.configured{background:#10b9811a;color:var(--success)}.stock-provider-status.missing{background:#f59e0b1f;color:#b45309}.stock-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stock-stat-card{padding:20px}.stock-stat-value{margin-top:5px;font-size:26px;font-weight:700;overflow-wrap:anywhere}.stock-stat-meta{margin-top:3px;font-size:13px}.stock-profit-up{color:var(--danger)!important}.stock-profit-down{color:var(--success)!important}.stock-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.stock-chart-card{min-width:0}.stock-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.stock-section-title h3{font-size:18px}.stock-section-title span{font-size:13px}.stock-chart-period-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc}.stock-chart-period-switch button{min-width:28px;padding:4px 8px;border:0;border-radius:999px;background:transparent;color:#64748b;cursor:pointer;font-size:12px;font-weight:700}.stock-chart-period-switch button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #0f172a24}.stock-empty-chart,.stock-empty{display:flex;min-height:220px;align-items:center;justify-content:center;color:var(--text-secondary)}.stock-data-card{padding:0;overflow:hidden}.stock-tabs{display:flex;gap:6px;padding:0 20px;border-bottom:1px solid var(--border)}.stock-tabs button{padding:16px 12px 13px;border:none;border-bottom:3px solid transparent;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer}.stock-tabs button.active{border-bottom-color:var(--primary);color:var(--text)}.stock-toolbar{display:grid;grid-template-columns:150px 130px 140px minmax(220px,1fr) auto auto;gap:12px;padding:18px 20px}.stock-toolbar .select,.stock-transaction-toolbar .select{min-width:0;width:100%}.stock-toolbar-action{min-height:38px;white-space:nowrap}.stock-pill-action{min-height:36px;padding-right:15px;padding-left:15px;border-radius:999px!important;white-space:nowrap}.stock-data-card .stock-toolbar .btn,.stock-data-card .stock-transaction-toolbar .btn,.stock-data-card .stock-table .btn,.stock-data-card .stock-analysis-actions .btn,.stock-data-card .stock-accounts-panel .btn,.stock-data-card .stock-alert-panel .btn,.stock-data-card .stock-watch-panel .btn{border-radius:999px!important}.stock-transaction-toolbar{justify-content:space-between;padding:18px 20px}.stock-transaction-toolbar>.btn,.stock-toolbar-actions .btn{border-radius:999px}.stock-toolbar-actions{display:flex;align-items:center;gap:8px}.stock-transaction-toolbar .select{max-width:180px}.stock-table-wrapper{overflow-x:auto}.stock-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 18px;color:var(--text-secondary);font-size:12px}.stock-pagination-buttons{display:flex;align-items:center;gap:5px}.stock-page-number{min-width:30px;height:30px;padding:0 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.stock-page-number:hover,.stock-page-number.active{border-color:#3b82f62e;background:#3b82f61a;color:var(--primary);font-weight:700}.stock-page-ellipsis{min-width:18px;color:var(--text-secondary);text-align:center}.stock-table{min-width:1380px}.stock-log-table{min-width:880px}.stock-table th,.stock-table td{vertical-align:middle}.stock-name-cell{display:flex;align-items:center;gap:7px}.stock-name-button{overflow:hidden;max-width:154px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-weight:700;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap}.stock-name-button:hover,.stock-name-button:focus-visible{color:var(--primary);outline:none}.stock-market-tag,.stock-transaction-tag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;border:1px solid #dbe5f0;background:#f4f7fb;color:#52657a;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.stock-market-tag[data-market=A股]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.stock-market-tag[data-market=港股]{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.stock-market-tag[data-market=美股]{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.stock-sector-tag{display:inline-flex;align-items:center;max-width:116px;overflow:hidden;padding:4px 8px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.stock-sector-tag.unclassified{border-color:#e2e8f0;background:#f8fafc;color:#64748b;font-weight:500}.stock-transaction-tag.buy,.stock-transaction-tag.dividend{background:#ef44441a;color:var(--danger)}.stock-transaction-tag.sell{background:#10b9811a;color:var(--success)}.stock-transaction-tag.fee{background:#f59e0b1f;color:#b45309}.stock-symbol{margin-top:2px;font-size:12px}.stock-quote-badge,.stock-log-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#6b72801a;color:var(--text-secondary);font-size:12px;white-space:nowrap}.stock-quote-badge.success,.stock-log-status.success{background:#10b9811a;color:var(--success)}.stock-quote-badge.fallback,.stock-log-status.partial,.stock-quote-badge.stale{background:#f59e0b1f;color:#b45309}.stock-quote-badge.error,.stock-log-status.failed{background:#ef44441a;color:var(--danger)}.stock-row-actions{white-space:nowrap}.stock-data-note{margin:0;padding:14px 20px 18px;font-size:13px}.stock-data-note-inline{color:var(--text-secondary);font-size:13px}.stock-tab-count{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;margin-left:4px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px}.stock-analysis-panel,.stock-alert-panel,.stock-watch-panel{padding-bottom:20px}.stock-analysis-actions{display:flex;justify-content:flex-end;padding:18px 20px 0}.stock-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px}.stock-review-card{display:grid;gap:5px;padding:16px}.stock-review-card span,.stock-review-card small{color:var(--text-secondary);font-size:12px}.stock-review-card strong{font-size:22px}.stock-review-section{padding:0 20px 20px}.stock-review-section+.stock-review-section{padding-top:12px}.stock-review-table,.stock-alert-table{min-width:780px}.stock-empty-cell{padding:36px!important;color:var(--text-secondary);text-align:center}.stock-concentration-grid{display:grid;gap:12px;margin-top:14px}.stock-concentration-row{display:grid;grid-template-columns:90px minmax(120px,1fr) 60px;align-items:center;gap:10px}.stock-concentration-row strong{text-align:right}.stock-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--bg)}.stock-progress i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.stock-concentration-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.stock-concentration-list span{padding:6px 9px;border-radius:999px;background:var(--bg);color:var(--text-secondary);font-size:12px}.stock-alert-panel .stock-transaction-toolbar,.stock-watch-panel .stock-transaction-toolbar{padding-top:18px}.stock-accounts-panel{padding:20px}.stock-accounts-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.stock-account-toolbar-actions,.stock-account-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.stock-account-toolbar-actions{padding:3px;border:1px solid #e1e8f0;border-radius:999px;background:#f7f9fc}.stock-account-toolbar-actions .btn{min-height:34px;padding:7px 13px;border-radius:999px;box-shadow:none;font-size:13px;font-weight:700}.stock-account-toolbar-actions .btn-secondary{border:1px solid transparent;background:transparent;color:#405268}.stock-account-toolbar-actions .btn-secondary:hover{border-color:#c9d6e3;background:#fff;color:var(--primary)}.stock-account-toolbar-actions .btn-primary{padding-left:14px;padding-right:15px;box-shadow:0 3px 8px #2563eb33}.stock-account-toolbar-actions .btn:disabled{opacity:.45;box-shadow:none}.stock-accounts-summary{display:grid;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stock-accounts-summary>div{display:grid;gap:5px;padding:14px;border-radius:8px;background:var(--bg)}.stock-accounts-summary span,.stock-account-card span{color:var(--text-secondary);font-size:12px}.stock-accounts-summary strong{font-size:20px}.stock-accounts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stock-account-card{padding:16px}.stock-account-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stock-account-card-header>div:first-child{display:grid;gap:4px;min-width:0}.stock-account-card-header>.stock-account-card-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:6px;padding:3px;border:1px solid #e4eaf1;border-radius:999px;background:#f8fafc}.stock-account-card-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:#60748a;box-shadow:none}.stock-account-card-actions .btn:first-child{width:auto;min-width:0;gap:6px;padding:0 10px;border-radius:999px;background:#eaf3ff;color:#2563eb;font-size:12px;font-weight:700}.stock-account-card-actions .btn:hover{border-color:#d4dee9;background:#fff;color:var(--primary)}.stock-account-card-actions .btn:first-child:hover{border-color:#b7d6ff;background:#dbeafe}.stock-account-card-actions .btn.btn-danger{color:#b4535a}.stock-account-card-actions .btn.btn-danger:hover{border-color:#fecaca;background:#fff1f2;color:#dc2626}.stock-account-card-actions .btn:disabled{cursor:not-allowed;opacity:.4}.stock-account-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.stock-account-metrics div{display:grid;gap:4px}.stock-account-metrics strong{overflow-wrap:anywhere;font-size:15px}.stock-account-cash{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.stock-account-cash strong{padding:4px 7px;border-radius:6px;background:var(--bg);font-size:12px}.stock-account-cash em{color:var(--text-secondary);font-size:12px;font-style:normal}.stock-account-note{margin:12px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.55}.stock-alert-rule-values{display:grid;gap:3px;min-width:110px;color:var(--text-secondary);font-size:12px}.stock-notification-list{display:grid;gap:8px;padding:0 20px 16px}.stock-notification-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid rgba(245,158,11,.22);border-radius:8px;background:#fffbebb3;color:var(--text);cursor:pointer;text-align:left}.stock-notification-item>i:first-child{color:#b45309}.stock-notification-item span{display:grid;gap:3px}.stock-notification-item small{color:var(--text-secondary);font-size:12px}.stock-import-preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stock-import-preview-summary div{display:grid;gap:3px;padding:12px;border-radius:8px;background:var(--bg);text-align:center}.stock-import-preview-summary strong{font-size:22px}.stock-import-preview-summary span{color:var(--text-secondary);font-size:12px}.stock-import-preview-list{display:grid;max-height:310px;gap:6px;overflow-y:auto}.stock-import-preview-row{display:grid;grid-template-columns:78px 58px 1fr;gap:8px;padding:9px;border-radius:6px;background:var(--bg);font-size:12px}.stock-import-preview-row.update{background:#3b82f612}.stock-import-preview-row.skip{background:#6b728014}.stock-import-preview-row.error{background:#ef444414;color:var(--danger)}.stock-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1250;background:#0f172a61}.stock-detail-drawer{position:absolute;top:0;right:0;display:grid;align-content:start;width:min(620px,100vw);height:100%;gap:18px;overflow-y:auto;padding:26px;border-left:1px solid #dfe6ee;background-color:#fff;background-color:var(--card-bg, #fff);box-shadow:-16px 0 42px #0f172a2e}.stock-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.stock-detail-header h2{margin:8px 0 2px;font-size:24px}.stock-detail-price{display:flex;align-items:baseline;gap:12px}.stock-detail-price strong{font-size:32px}.stock-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.stock-detail-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.stock-detail-section h3{margin:0;font-size:15px}.stock-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stock-detail-grid span{display:grid;gap:4px;padding:10px;border-radius:6px;background:var(--bg);color:var(--text-secondary);font-size:12px}.stock-detail-grid strong{color:var(--text);font-size:14px}.stock-detail-alert{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.stock-detail-timeline{display:grid;gap:8px}.stock-detail-timeline>div{display:grid;grid-template-columns:90px 62px 1fr auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.stock-detail-timeline span:first-child{color:var(--text-secondary)}.stock-detail-timeline em{font-style:normal;white-space:nowrap}.stock-watch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 20px}.stock-watch-card{display:grid;gap:12px;padding:16px}.stock-watch-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stock-watch-card-header strong{margin-left:7px}.stock-watch-price{display:flex;align-items:baseline;justify-content:space-between;font-size:24px;font-weight:700}.stock-watch-price span{font-size:14px}.stock-watch-target{color:var(--text-secondary);font-size:13px}.stock-watch-actions{display:flex;justify-content:flex-end}.stock-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.stock-form-full{grid-column:1 / -1}.stock-modal{max-width:680px}.stock-price-modal{max-width:880px}.stock-import-modal{max-width:560px}.stock-import-modal-content{display:grid;gap:16px}.stock-import-template-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(59,130,246,.14);border-radius:12px;background:#eff6ffb8}.stock-import-template-row div{display:grid;gap:4px}.stock-import-template-row span{color:var(--text-secondary);font-size:12px}.stock-import-dropzone{position:relative;display:grid;min-height:150px;align-content:center;justify-items:center;gap:8px;overflow:hidden;border:1px dashed var(--primary);border-radius:14px;background:var(--bg);color:var(--text-secondary);cursor:pointer}.stock-import-dropzone:hover{background:#3b82f60f}.stock-import-dropzone i{color:var(--primary);font-size:26px}.stock-import-dropzone strong{max-width:90%;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.stock-import-dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.stock-price-list{display:grid;gap:12px}.stock-provider-settings-list{display:grid;gap:8px;margin-top:18px;padding:14px;border-radius:10px;background:var(--bg)}.stock-provider-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.stock-provider-setting-row:last-child{border-bottom:0}.stock-provider-setting-row div{display:grid;gap:3px}.stock-provider-setting-row div span{color:var(--text-secondary);font-size:12px}.stock-setting-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;background:var(--bg);cursor:pointer}.stock-setting-check input{margin-top:4px}.stock-setting-check span{display:grid;gap:3px}.stock-setting-check small{color:var(--text-secondary)}.stock-refresh-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.stock-refresh-summary div{padding:14px;border-radius:10px;background:var(--bg);text-align:center}.stock-refresh-summary strong,.stock-refresh-summary span{display:block}.stock-refresh-summary strong{font-size:24px}.stock-refresh-summary span{margin-top:3px;color:var(--text-secondary);font-size:12px}.stock-refresh-result-list{display:grid;max-height:420px;gap:8px;overflow-y:auto}.stock-refresh-result-row{display:grid;grid-template-columns:minmax(140px,1.2fr) 90px minmax(130px,1fr) minmax(110px,auto);align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--border)}.stock-refresh-result-row>div:first-child{display:grid;gap:3px}.stock-refresh-result-row>div:first-child span{color:var(--text-secondary);font-size:12px}.stock-price-row{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(3,minmax(110px,1fr));align-items:end;gap:12px;padding:14px;border-radius:10px;background:var(--bg)}.stock-price-row label{display:grid;gap:5px;color:var(--text-secondary);font-size:12px}.stock-error,.stock-notice{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 16px;border-radius:10px}.stock-error{background:#ef44441a;color:var(--danger)}.stock-error button{border:none;background:transparent;color:inherit;font-size:20px;cursor:pointer}.stock-notice{position:fixed;top:80px;right:24px;z-index:1200;background:var(--primary);color:#fff;box-shadow:0 8px 24px #0000002e}@media(max-width:1100px){.stock-stats-grid,.stock-review-grid,.stock-watch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-chart-grid{grid-template-columns:1fr}.stock-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-toolbar .input{grid-column:1 / -1}.stock-quote-card-header{align-items:stretch;flex-direction:column}.stock-quote-card-header .stock-header-actions,.stock-quote-providers,.stock-quote-card-header .stock-header-primary-group{width:100%}.stock-quote-status-body{grid-template-columns:minmax(0,1fr) auto}.stock-quote-next-refresh,.stock-quote-actions{grid-column:1 / -1;justify-content:flex-start;width:100%;padding:12px 0 0;border-top:1px solid var(--border);border-left:0}.stock-provider-status-list{justify-content:flex-start}}@media(max-width:720px){.stock-quote-card-header .stock-header-primary-group,.stock-quote-card-header .stock-header-actions .btn{width:100%}.stock-quote-card-header .stock-header-primary-group{display:grid;grid-template-columns:1fr 1fr}.stock-quote-status-body{grid-template-columns:1fr}.stock-quote-next-refresh,.stock-quote-actions{grid-column:auto}.stock-quote-providers,.stock-pagination{align-items:flex-start;flex-direction:column}.stock-pagination-buttons{width:100%;justify-content:space-between}.stock-toolbar{grid-template-columns:1fr 1fr}.stock-toolbar .input{grid-column:1 / -1}.stock-form-grid,.stock-review-grid,.stock-watch-grid,.stock-accounts-grid{grid-template-columns:1fr}.stock-accounts-summary,.stock-import-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-accounts-toolbar{align-items:stretch;flex-direction:column}.stock-account-toolbar-actions{justify-content:flex-end}.stock-detail-drawer{padding:20px}.stock-detail-timeline>div{grid-template-columns:80px 56px 1fr}.stock-detail-timeline em{grid-column:3}.stock-form-full{grid-column:auto}.stock-price-row{grid-template-columns:1fr 1fr}.stock-price-row>div{grid-column:1 / -1}.stock-refresh-result-row{grid-template-columns:1fr auto}.stock-refresh-result-row>div:nth-child(3),.stock-refresh-result-row>div:nth-child(4){grid-column:1 / -1}}@media(max-width:480px){.stock-stats-grid,.stock-toolbar,.stock-price-row{grid-template-columns:1fr}.stock-header-tool-group,.stock-header-primary-group{display:grid;grid-template-columns:1fr 1fr}.stock-header-primary-group,.stock-account-metrics,.stock-detail-grid{grid-template-columns:1fr}.stock-account-card-header{align-items:stretch;flex-direction:column}.stock-account-card-actions{justify-content:flex-end}.stock-toolbar .input,.stock-price-row>div{grid-column:auto}.stock-transaction-toolbar{align-items:stretch;flex-direction:column}.stock-toolbar-actions{width:100%}.stock-toolbar-actions .btn{flex:1}.stock-transaction-toolbar .select{max-width:none}.stock-stat-value{font-size:23px}.stock-notice{left:16px;right:16px}}.stocks-page{--stock-accent: #276c56;--stock-accent-dark: #263c35;--stock-accent-soft: #edf3f0;max-width:1260px;padding-bottom:36px;font-size:14px}.stocks-page *,.stocks-page .modal *{letter-spacing:0}.stocks-page h1{font-size:27px;line-height:1.4}.stocks-page h2,.stocks-page .modal h2{font-size:18px;line-height:1.5}.stocks-page h3{font-size:15px;line-height:1.5}.stock-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.stock-page-head p{margin-top:5px;color:var(--text-secondary)}.stock-header-actions{max-width:none;flex-wrap:nowrap;gap:8px}.stock-button,.stock-icon-button,.stocks-page .btn{display:inline-flex;min-height:37px;align-items:center;justify-content:center;gap:7px;padding:7px 12px;border:1px solid #d8dde0;border-radius:6px;background:#fff;box-shadow:none;color:#262c30;cursor:pointer;font:inherit;font-weight:500;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s}.stock-icon-button{width:36px;height:36px;flex:0 0 36px;padding:0}.stock-button:hover:not(:disabled),.stock-icon-button:hover:not(:disabled),.stocks-page .btn:hover:not(:disabled){border-color:#95a9a2;background:#f0f3f2;color:#1f3e33;transform:none}.stock-button:disabled,.stock-icon-button:disabled,.stocks-page .btn:disabled{opacity:.48;cursor:not-allowed}.stock-primary,.stocks-page .btn-primary{border-color:var(--stock-accent-dark);background:var(--stock-accent-dark);color:#fff}.stock-primary:hover:not(:disabled),.stocks-page .btn-primary:hover:not(:disabled){border-color:#152d24;background:#152d24;color:#fff}.stocks-page .btn-danger{border-color:#e4c8c8;background:#fff;color:#b43d3d}.stocks-page .btn-danger:hover:not(:disabled){border-color:#d6a6a6;background:#fff0f0;color:#9f3030}.stock-button:focus-visible,.stock-icon-button:focus-visible,.stocks-page button:focus-visible{outline:2px solid #278c6a;outline-offset:3px}.stock-spin{animation:stock-spin 1s linear infinite}@keyframes stock-spin{to{transform:rotate(360deg)}}.stock-quote-status-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(280px,1fr) auto;align-items:center;gap:18px;margin:0;padding:13px 0;border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.stock-quote-status-main{gap:10px}.stock-quote-status-icon{width:32px;height:32px;border-radius:50%;background:#eef1ef;color:#68737a}.stock-quote-status-icon.active,.stock-quote-status-icon.refreshing{background:var(--stock-accent-soft);color:var(--stock-accent)}.stock-quote-status-copy{gap:1px}.stock-quote-status-copy strong{font-size:13px}.stock-quote-status-meta{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.stock-provider-status-list{justify-content:flex-start;gap:5px}.stock-provider-status{padding:3px 6px;border-radius:4px;font-size:11px}.stock-provider-status.configured{background:var(--stock-accent-soft);color:#35624f}.stock-provider-status.missing{background:#fff9e8;color:#80631d}.stock-quote-next-refresh-inline{padding-left:18px}.stock-stats-grid{gap:0;margin:0;padding:24px 0 22px;border-bottom:1px solid var(--border)}.stock-stat-card{min-width:0;padding:3px 22px 14px;border-right:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.stock-stat-card:nth-child(4n+1){padding-left:0}.stock-stat-card:nth-child(4n){padding-right:0;border-right:0}.stock-stat-card:nth-child(n+5){margin-top:18px;padding-top:18px;padding-bottom:0;border-top:1px solid var(--border)}.stock-stat-value{margin-top:4px;font-size:23px;line-height:1.45;font-weight:600;font-variant-numeric:tabular-nums}.stock-stat-label,.stock-stat-meta{font-size:13px}.stock-chart-grid{gap:0;margin:0 0 22px}.stock-chart-card{min-width:0;padding:22px 0 12px;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.stock-chart-card:nth-child(odd){padding-right:24px;border-right:1px solid var(--border)}.stock-chart-card:nth-child(2n){padding-left:24px}.stock-section-title{min-height:32px}.stock-section-title h3{font-size:15px}.stock-chart-period-switch{gap:0;padding:2px;border-color:#d8dde0;border-radius:5px;background:#f0f3f2}.stock-chart-period-switch button{min-height:28px;padding:4px 9px;border-radius:4px;color:#68737a;font-weight:500}.stock-chart-period-switch button.active{background:#fff;box-shadow:0 1px 2px #192d241f;color:#234e3e}.stock-data-card{padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.stock-tabs{gap:25px;overflow-x:auto;padding:0;scrollbar-width:thin}.stock-tabs button{flex:0 0 auto;padding:10px 0 12px;border-bottom-width:2px;font:inherit;font-weight:400;white-space:nowrap}.stock-tabs button.active,.stock-tabs button[aria-current]{border-bottom-color:var(--stock-accent);color:#234e3e;font-weight:600}.stock-tab-count{min-width:18px;border-radius:4px;background:#fff0f0;color:#a93939}.stock-toolbar{grid-template-columns:150px 130px 140px minmax(220px,1fr) auto auto;gap:9px;padding:20px 0 14px}.stock-search{position:relative;display:flex;align-items:center;min-width:0}.stock-search svg{position:absolute;left:10px;z-index:1;color:#7a8680;pointer-events:none}.stock-search .input{width:100%;padding-left:34px}.stocks-page .input,.stocks-page .select,.stocks-page input,.stocks-page select,.stocks-page textarea{min-height:37px;min-width:0;max-width:100%;padding:8px 10px;border:1px solid #d8dde0;border-radius:5px;background-color:#fff;box-shadow:none;color:#283037;font:inherit}.stocks-page .select,.stocks-page select{padding-right:28px;background-position:right 10px center}.stocks-page .input:focus,.stocks-page .select:focus,.stocks-page input:focus,.stocks-page select:focus,.stocks-page textarea:focus{outline:2px solid #8cb8a8;outline-offset:1px;border-color:#95a9a2;box-shadow:none}.stock-toolbar-action,.stock-pill-action,.stock-data-card .stock-toolbar .btn,.stock-data-card .stock-transaction-toolbar .btn,.stock-data-card .stock-table .btn,.stock-data-card .stock-analysis-actions .btn,.stock-data-card .stock-accounts-panel .btn,.stock-data-card .stock-alert-panel .btn,.stock-data-card .stock-watch-panel .btn{min-height:37px;border-radius:6px!important}.stock-transaction-toolbar{padding:18px 0 14px}.stock-table-wrapper{border-top:1px solid var(--border)}.stocks-page .table th{background:transparent;color:#68737a;font-size:12px;font-weight:600}.stocks-page .table th,.stocks-page .table td{padding:11px 10px}.stocks-page .table tbody tr:hover{background:#f4f7f5}.stock-market-tag,.stock-sector-tag,.stock-quote-badge,.stock-log-status,.stock-account-cash strong,.stock-concentration-list span{border-radius:4px}.stock-market-tag[data-market=A股]{border-color:#c9d8d1;background:#edf3f0;color:#35624f}.stock-market-tag[data-market=港股]{border-color:#c9d5df;background:#eff3f6;color:#466174}.stock-market-tag[data-market=美股]{border-color:#e7d4ad;background:#fff9e8;color:#80631d}.stock-pagination{padding-right:0;padding-left:0}.stock-page-number{border-radius:5px}.stock-page-number:hover,.stock-page-number.active{border-color:#a9beb5;background:var(--stock-accent-soft);color:var(--stock-accent)}.stock-accounts-panel,.stock-watch-grid,.stock-notification-list{padding-right:0;padding-left:0}.stock-account-toolbar-actions,.stock-account-card-header>.stock-account-card-actions{padding:0;border:0;border-radius:0;background:transparent}.stock-account-toolbar-actions .btn,.stock-account-card-actions .btn,.stock-account-card-actions .btn:first-child{border-radius:6px;background:#fff;color:#40584e;font-weight:500}.stock-account-card,.stock-review-card,.stock-watch-card{border:1px solid var(--border);border-radius:6px;box-shadow:none}.stock-account-card:hover,.stock-review-card:hover,.stock-watch-card:hover{transform:none;box-shadow:none}.stock-review-section,.stock-ledger-panel .stock-review-section{border-radius:6px}.stock-error,.stock-notice{border-radius:4px}.stock-error{border-left:3px solid #c25c5c;background:#fff0f0;color:#9c3434}.stock-notice{border-left:3px solid #799f8b;background:#eff4f2;box-shadow:0 5px 16px #192d2424;color:#3c5c4c}.stocks-page .modal,.stock-detail-drawer,.stock-import-template-row,.stock-import-dropzone,.stock-provider-settings-list,.stock-setting-check,.stock-refresh-summary div,.stock-price-row{border-radius:6px}.stock-import-template-row{border-color:#cadbd4;background:#f1f6f3}.stock-import-dropzone{border-color:var(--stock-accent)}.stock-import-dropzone:hover{background:#f1f6f3}.stock-import-dropzone i{color:var(--stock-accent)}@media(max-width:1100px){.stock-quote-status-card{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)}.stock-quote-next-refresh-inline{grid-column:1 / -1;padding:10px 0 0;border-top:1px solid var(--border);border-left:0}.stock-toolbar .stock-search{grid-column:1 / -1}}@media(max-width:720px){.stocks-page{padding-bottom:24px}.stocks-page h1{font-size:24px}.stock-page-head{align-items:flex-start}.stock-page-head .stock-button{width:36px;height:36px;padding:0;overflow:hidden;color:transparent;gap:0}.stock-page-head .stock-button svg{flex:0 0 auto;color:#fff}.stock-quote-status-card{grid-template-columns:1fr;gap:11px}.stock-provider-status-list{justify-content:flex-start}.stock-quote-next-refresh-inline{grid-column:auto}.stock-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-stat-card,.stock-stat-card:nth-child(4n+1),.stock-stat-card:nth-child(4n){margin-top:0;padding:14px;border-top:1px solid var(--border);border-right:1px solid var(--border)}.stock-stat-card:nth-child(-n+2){border-top:0}.stock-stat-card:nth-child(odd){padding-left:0}.stock-stat-card:nth-child(2n){padding-right:0;border-right:0}.stock-stat-value{font-size:20px}.stock-chart-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.stock-chart-card,.stock-chart-card:nth-child(odd),.stock-chart-card:nth-child(2n){width:auto;flex:0 0 calc(100% - 28px);padding:20px 0 10px;border-right:0;scroll-snap-align:start}.stock-toolbar{grid-template-columns:1fr 1fr;padding-top:16px}.stock-toolbar .stock-search{grid-column:1 / -1}}@media(max-width:480px){.stock-header-actions{display:flex;width:auto}.stock-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-stat-value{font-size:clamp(17px,5vw,20px)}.stock-stat-meta{font-size:12px}.stock-toolbar .stock-search{grid-column:auto}}@media(max-width:640px){.stocks-page{margin:0 -8px;font-size:13px}.stock-page-head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:15px}.stock-header-actions{width:100%;justify-content:flex-end}.stock-header-actions>.stock-icon-button:first-child{margin-right:auto}.stock-page-head .stock-button{width:auto;height:37px;padding:7px 12px;overflow:visible;color:#fff;gap:7px}.stock-stat-card{min-height:108px}.stock-quote-status-meta{overflow:visible;text-overflow:clip;white-space:normal}}.users-admin{max-width:1280px;margin:0 auto;padding:10px 0 50px;color:#20262d;letter-spacing:0}.users-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.users-heading>div>span{font-size:11px;color:#0e7664;font-weight:800}.users-heading h1{font-size:28px;line-height:1.2;margin:2px 0 0}.users-heading>button,.users-row-actions button,.users-price-row button,.users-welcome button{width:38px;height:38px;border:1px solid #d8dde2;border-radius:6px;background:#fff;color:#515b65;display:grid;place-items:center;cursor:pointer}.users-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dfe3e7;border-radius:8px;background:#fff;overflow:hidden;margin-bottom:14px}.users-summary>div{min-height:86px;padding:16px 18px;border-right:1px solid #e4e7ea;display:grid;grid-template-columns:24px 1fr;align-items:center}.users-summary>div:last-child{border-right:0}.users-summary svg{color:#0e7664}.users-summary span{font-size:12px;color:#737d87}.users-summary strong{grid-column:2;font-size:21px;line-height:1}.users-tabs{height:50px;display:flex;gap:2px;border-bottom:1px solid #dfe3e7;margin-bottom:14px}.users-tabs button{height:50px;border:0;border-bottom:2px solid transparent;background:transparent;padding:0 17px;display:flex;align-items:center;gap:7px;color:#68727c;font-weight:700;cursor:pointer}.users-tabs button.active{color:#0e7664;border-color:#0e7664}.users-message{min-height:40px;margin-bottom:12px;padding:9px 11px 9px 13px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.users-message.success{background:#edf8f4;color:#076552}.users-message.error{background:#fff0ee;color:#98261d}.users-message button{border:0;background:transparent;color:inherit;display:grid;place-items:center}.users-panel{background:#fff;border:1px solid #dfe3e7;border-radius:8px;overflow:hidden}.users-toolbar{min-height:58px;padding:10px 14px;border-bottom:1px solid #e6e9ec;display:flex;align-items:center;justify-content:space-between;gap:10px}.users-toolbar label{width:min(310px,100%);height:38px;border:1px solid #d5dbe0;border-radius:6px;display:flex;align-items:center;padding:0 10px;gap:7px;color:#818a93}.users-toolbar input{border:0;outline:0;width:100%;font:inherit}.users-toolbar select{height:38px;border:1px solid #d5dbe0;border-radius:6px;background:#fff;padding:0 32px 0 10px}.users-primary{height:40px;border:0;border-radius:6px;background:#0e7664;color:#fff;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.users-primary:disabled{background:#aab4b1}.users-table-wrap{overflow:auto}.users-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.users-table-wrap th{background:#f7f8f9;color:#737c85;text-align:left;font-size:11px;padding:10px 13px;white-space:nowrap}.users-table-wrap td{border-top:1px solid #eaedef;padding:12px 13px;white-space:nowrap}.users-table-wrap td:first-child strong{display:block}.users-table-wrap td:first-child small{color:#9aa1a8}.users-role{display:inline-flex;padding:3px 7px;border-radius:4px;background:#eceff2;color:#626b74;font-size:11px;font-weight:800}.users-role.admin{background:#fff0df;color:#95500f}.users-row-actions{display:flex;gap:6px}.users-row-actions button{width:32px;height:32px}.users-row-actions button:last-child{color:#a32c24}.users-row-actions button:disabled{opacity:.3}.users-empty{height:140px;display:grid;place-items:center;color:#89919a}.users-operation form{max-width:760px}.users-section-head{padding:17px 18px;border-bottom:1px solid #e5e8eb}.users-section-head h2{font-size:16px;margin:0}.users-section-head p{font-size:12px;color:#858d95;margin:2px 0 0}.users-form-grid{padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.users-form-grid label,.users-modal-form label{display:flex;flex-direction:column;gap:6px}.users-form-grid label.wide{grid-column:1/-1}.users-form-grid label>span,.users-modal-form label>span{font-size:12px;font-weight:700;color:#505a63}.users-form-grid input,.users-form-grid select,.users-form-grid textarea,.users-modal-form input{border:1px solid #d5dbe0;border-radius:6px;padding:10px;font:inherit;font-size:13px;background:#fff;outline:0}.users-form-grid textarea{resize:vertical}.users-form-footer{padding:13px 18px;border-top:1px solid #e5e8eb;display:flex;align-items:center;justify-content:space-between}.users-form-footer>span{font-size:11px;color:#858d95}.users-welcome{margin-bottom:12px}.users-welcome form{height:62px;padding:0 15px;display:flex;align-items:center;gap:12px}.users-welcome form>div{display:flex;align-items:center;gap:7px;font-weight:700;flex:1}.users-welcome input{width:130px;height:38px;border:1px solid #d5dbe0;border-radius:6px;padding:0 10px}.users-pricing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.users-price-group{background:#fff;border:1px solid #dfe3e7;border-radius:8px;overflow:hidden}.users-price-group>header{height:56px;padding:0 14px;border-bottom:1px solid #e6e9ec;display:flex;align-items:center;justify-content:space-between}.users-price-group h2{font-size:14px;margin:0}.users-price-group header span{font-size:11px;color:#8a929a}.users-price-row{min-height:54px;padding:8px 12px;border-bottom:1px solid #edf0f2;display:grid;grid-template-columns:minmax(0,1fr) 34px 82px 28px 34px;gap:7px;align-items:center}.users-price-row:last-child{border-bottom:0}.users-price-row>span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-price-row>input{width:82px;height:34px;border:1px solid #d6dce1;border-radius:5px;padding:0 7px}.users-price-row em{font-style:normal;font-size:11px;color:#8b939b}.users-price-row button{width:32px;height:32px}.users-toggle{position:relative;width:30px;height:18px}.users-toggle input{opacity:0;width:0;height:0}.users-toggle i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9px;background:#c5cbd0}.users-toggle i:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.15s}.users-toggle input:checked+i{background:#0e7664}.users-toggle input:checked+i:after{transform:translate(12px)}.users-table-wrap .credit{color:#087466}.users-table-wrap .debit{color:#a72c23}.users-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14191d8f;z-index:2100;display:grid;place-items:center;padding:16px}.users-modal{width:min(460px,100%);max-height:90vh;overflow:auto;border-radius:8px;background:#fff}.users-modal>header{height:58px;padding:0 17px;border-bottom:1px solid #e3e7ea;display:flex;align-items:center;justify-content:space-between}.users-modal h2{font-size:17px;margin:0}.users-modal>header button{width:34px;height:34px;border:0;background:transparent;display:grid;place-items:center}.users-modal-form{padding:18px;display:flex;flex-direction:column;gap:15px}.users-modal-form p{font-size:12px;color:#777f87}.users-delete{padding:22px;color:#3f474f}.users-delete>svg{color:#ae392e}.users-delete p{font-size:14px;margin:12px 0}.users-delete strong{display:block;padding:9px;background:#fff0ee;color:#98261d;font-size:12px}.users-delete>div{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.users-delete button{height:38px;border:1px solid #d5dbe0;border-radius:6px;background:#fff;padding:0 14px;display:flex;align-items:center;gap:6px}.users-delete button.danger{border:0;background:#b83229;color:#fff}.users-delete button:disabled{opacity:.4}@media(max-width:860px){.users-summary{grid-template-columns:repeat(2,1fr)}.users-summary>div:nth-child(2){border-right:0}.users-summary>div:nth-child(-n+2){border-bottom:1px solid #e4e7ea}.users-pricing-list{grid-template-columns:1fr}}@media(max-width:600px){.users-heading h1{font-size:24px}.users-tabs{overflow-x:auto}.users-tabs button{flex:0 0 auto;padding:0 12px}.users-form-grid{grid-template-columns:1fr}.users-form-grid label.wide{grid-column:auto}.users-form-footer{align-items:flex-start;flex-direction:column;gap:10px}.users-form-footer button{width:100%}.users-toolbar{align-items:stretch;flex-direction:column}.users-toolbar label{width:100%}.users-summary strong{font-size:18px}.users-price-row{grid-template-columns:minmax(100px,1fr) 32px 68px 24px 32px}.users-price-row>input{width:68px}.users-welcome form>div span{font-size:12px}.users-welcome input{width:80px}}.users-pricing-overview{margin-bottom:12px;padding:2px 2px 12px;border-bottom:1px solid #dfe3e7}.users-pricing-overview>header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px}.users-pricing-overview h2{font-size:15px;margin:0}.users-pricing-overview p{font-size:11px;color:#7b858e;margin:3px 0 0}.users-pricing-overview a{height:38px;flex:0 0 auto;border:1px solid #cbd7d3;border-radius:6px;background:#f0f8f6;color:#086b59;padding:0 11px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:12px;font-weight:800}.users-price-row.users-price-readonly{min-height:62px;grid-template-columns:minmax(0,1fr) auto 74px;gap:12px}.users-price-identity{min-width:0;display:flex;flex-direction:column}.users-price-identity strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-price-identity small{font-size:10px;color:#818b94;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-price-status{display:inline-flex;align-items:center;gap:4px;color:#8a6060;font-size:10px!important;font-weight:800}.users-price-status.active{color:#08705e}.users-price-points{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;color:#20262d;font-size:16px;font-variant-numeric:tabular-nums}.users-price-points small{color:#858e96;font-size:10px;font-weight:600}.users-pricing-empty{min-height:120px;grid-column:1/-1;border:1px solid #dfe3e7;border-radius:8px;background:#fff;display:grid;place-items:center;color:#89929a;font-size:12px}@media(max-width:600px){.users-pricing-overview>header{align-items:flex-start;flex-direction:column}.users-pricing-overview a{width:100%;justify-content:center}.users-price-row.users-price-readonly{grid-template-columns:minmax(0,1fr) auto}.users-price-points{grid-column:2}.users-price-status{grid-column:1;grid-row:2}}.users-audit-stack{display:flex;flex-direction:column;gap:12px}.users-refund-button{height:30px;padding:0 10px;border:1px solid #0e7664;border-radius:5px;background:#edf8f4;color:#086554;font-weight:700;cursor:pointer}.users-refund-button:disabled{border-color:#d8dde1;background:#f2f4f5;color:#9aa1a8;cursor:not-allowed}.users-job-user strong,.users-job-user small{display:inline}.users-job-user small{margin-left:7px;color:#8a939c;font-size:10px;font-variant-numeric:tabular-nums}.users-modal.users-modal-wide{width:min(1120px,100%);overflow:hidden}.users-modal-wide>header h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-ledger-detail{display:flex;flex-direction:column;max-height:calc(90vh - 58px);min-height:390px;overflow:hidden}.users-ledger-summary{display:grid;flex:0 0 auto;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e2e6e9;background:#f7f9f9}.users-ledger-summary>div{min-width:0;min-height:72px;padding:13px 16px;border-right:1px solid #e2e6e9;display:flex;flex-direction:column;justify-content:center;gap:4px}.users-ledger-summary>div:last-child{border-right:0}.users-ledger-summary span{color:#747e87;font-size:11px}.users-ledger-summary strong{color:#20262d;font-size:19px;font-variant-numeric:tabular-nums}.users-ledger-table{flex:1 1 auto;min-height:160px}.users-ledger-table table{min-width:980px}.users-ledger-table td{height:53px}.users-ledger-balance strong,.users-ledger-balance small{display:block}.users-ledger-balance small{margin-top:2px;color:#8a939c;font-size:10px}.users-ledger-reason{max-width:230px;overflow:hidden;text-overflow:ellipsis}.users-ledger-state{min-height:230px;flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:8px;color:#7a848d;font-size:13px}.users-ledger-state.error{color:#98261d}.users-ledger-state button{height:32px;margin-left:4px;padding:0 10px;border:1px solid #d8b0ac;border-radius:5px;background:#fff;color:inherit;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.users-ledger-pagination{min-height:54px;flex:0 0 auto;padding:9px 14px;border-top:1px solid #e2e6e9;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px}.users-ledger-pagination span{min-width:170px;color:#68727c;font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.users-ledger-pagination button{width:34px;height:34px;flex:0 0 34px;border:1px solid #cfd6db;border-radius:6px;background:#fff;color:#39434c;display:grid;place-items:center;cursor:pointer}.users-ledger-pagination button:disabled{border-color:#e1e5e8;background:#f4f6f7;color:#aab1b7;cursor:not-allowed}@media(max-width:680px){.users-ledger-detail{min-height:min(520px,calc(90vh - 58px))}.users-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.users-ledger-summary>div{min-height:60px}.users-ledger-summary>div:nth-child(2){border-right:0}.users-ledger-summary>div:nth-child(-n+2){border-bottom:1px solid #e2e6e9}.users-ledger-pagination{gap:8px}.users-ledger-pagination span{min-width:0;flex:1}}.ai-admin-shell{color:#20262d;letter-spacing:0}.ai-admin-header{min-height:74px;padding:0 2px 16px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #dfe3e7}.ai-admin-header>div>span{font-size:10px;font-weight:800;color:#b54708}.ai-admin-header h1{font-size:28px;line-height:1.2;margin:2px 0}.ai-admin-header p{font-size:12px;color:#737d87;margin:0}.ai-admin-header>button,.ai-admin-master>header>button,.ai-admin-model-master>header>button,.ai-admin-routing>header>button{width:36px;height:36px;border:1px solid #d6dce1;border-radius:6px;background:#fff;color:#53606a;display:grid;place-items:center;cursor:pointer}.ai-admin-tabs{height:48px;display:flex;align-items:stretch;border-bottom:1px solid #dfe3e7;margin-bottom:14px;overflow-x:auto}.ai-admin-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:#69737d;padding:0 15px;display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer}.ai-admin-tabs button.active{color:#0e7664;border-color:#0e7664}.ai-admin-notice{min-height:40px;padding:9px 11px 9px 13px;margin-bottom:12px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.ai-admin-notice.success{background:#edf8f4;color:#076552}.ai-admin-notice.error{background:#fff0ee;color:#98261d}.ai-admin-notice button{border:0;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer}.ai-admin-loading{height:260px;border:1px solid #dfe3e7;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#7f8992;font-size:12px}.ai-admin-provider-grid,.ai-admin-model-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.65fr);border:1px solid #dfe3e7;border-radius:8px;background:#fff;overflow:hidden}.ai-admin-master,.ai-admin-model-master{min-width:0;border-right:1px solid #dfe3e7;background:#f8f9fa}.ai-admin-master>header,.ai-admin-model-master>header{height:58px;padding:0 13px 0 16px;border-bottom:1px solid #e1e5e8;display:flex;align-items:center;justify-content:space-between}.ai-admin-master>header>div,.ai-admin-model-master>header>div{display:flex;align-items:baseline;gap:7px}.ai-admin-master h3,.ai-admin-model-master h3{font-size:14px;margin:0}.ai-admin-master header span,.ai-admin-model-master header span{font-size:10px;color:#8a939c}.ai-admin-master-list{max-height:690px;overflow:auto}.ai-admin-master-list>button{width:100%;min-height:92px;padding:12px 13px;border:0;border-bottom:1px solid #e5e8eb;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:9px;row-gap:6px;text-align:left;color:#242b31;cursor:pointer}.ai-admin-master-list>button:hover,.ai-admin-master-list>button.active{background:#edf7f4}.ai-admin-master-list>button.active{box-shadow:inset 3px 0 #0e7664}.ai-admin-provider-icon{grid-row:1/3;width:34px;height:34px;border-radius:6px;background:#e8ecef;color:#58636c;display:grid;place-items:center}.ai-admin-master-list>button.active .ai-admin-provider-icon{background:#d6eee7;color:#08705e}.ai-admin-provider-copy{min-width:0;display:flex;flex-direction:column}.ai-admin-provider-copy strong{font-size:13px;overflow-wrap:anywhere}.ai-admin-provider-copy small{font-size:10px;color:#818b94;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-admin-state{display:inline-flex;align-items:center;justify-content:center;height:21px;padding:0 6px;border-radius:4px;background:#eef0f2;color:#717a83;font-size:10px;font-style:normal;font-weight:800}.ai-admin-state.enabled{background:#def2eb;color:#076653}.ai-admin-provider-meta{grid-column:2/4;font-size:10px;color:#7c858e;display:flex;align-items:center;gap:4px}.ai-admin-detail{min-width:0;background:#fff}.ai-admin-detail-head{min-height:76px;padding:13px 18px;border-bottom:1px solid #e3e7ea;display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-admin-detail-head>div{min-width:0}.ai-admin-detail-head>div>span{font-size:9px;font-weight:800;color:#b54708}.ai-admin-detail-head h3{font-size:17px;margin:2px 0;overflow-wrap:anywhere}.ai-admin-detail-head small{font-size:10px;color:#818a93}.ai-admin-quiet{height:34px;border:1px solid #d6dce1;border-radius:5px;background:#fff;padding:0 12px;cursor:pointer}.ai-admin-form{display:flex;flex-direction:column}.ai-admin-fields{padding:17px 18px;display:grid;gap:13px}.ai-admin-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-admin-fields label,.ai-admin-capability-settings label{min-width:0;display:flex;flex-direction:column;gap:5px}.ai-admin-fields label.wide,.ai-admin-capability-settings label.wide{grid-column:1/-1}.ai-admin-fields label>span,.ai-admin-capability-settings label>span{font-size:11px;font-weight:700;color:#505a63}.ai-admin-fields input,.ai-admin-fields select,.ai-admin-fields textarea,.ai-admin-capability-settings input,.ai-admin-capability-settings select,.ai-admin-capability-settings textarea{width:100%;border:1px solid #d5dbe0;border-radius:5px;background:#fff;color:#252c32;padding:9px 10px;font:inherit;font-size:12px;outline:0}.ai-admin-fields input,.ai-admin-fields select,.ai-admin-capability-settings input,.ai-admin-capability-settings select{height:38px}.ai-admin-fields textarea,.ai-admin-capability-settings textarea{resize:vertical;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-admin-fields input:focus,.ai-admin-fields select:focus,.ai-admin-fields textarea:focus,.ai-admin-capability-settings input:focus,.ai-admin-capability-settings select:focus,.ai-admin-capability-settings textarea:focus{border-color:#0e7664;box-shadow:0 0 0 3px #0e76641a}.ai-admin-fields input:disabled,.ai-admin-fields select:disabled{background:#f2f4f5;color:#858d95}.ai-admin-fields em{font-size:10px;font-style:normal;color:#a32920}.ai-admin-form>footer,.ai-admin-routing>footer{min-height:62px;padding:11px 18px;border-top:1px solid #e3e7ea;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-admin-form>footer>span,.ai-admin-routing>footer>span{font-size:10px;color:#7e8891}.ai-admin-primary{height:38px!important;border:0!important;border-radius:6px!important;background:#0e7664!important;color:#fff!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-weight:700!important;cursor:pointer}.ai-admin-primary:disabled{background:#aab4b1!important;cursor:not-allowed}.ai-admin-secret{min-height:66px;padding:11px 18px;border-top:1px solid #e5e8eb;display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1.2fr) auto;align-items:center;gap:12px}.ai-admin-secret>div{display:flex;align-items:center;gap:9px}.ai-admin-secret>div svg{color:#8b5b16}.ai-admin-secret>div div{display:flex;flex-direction:column}.ai-admin-secret strong{font-size:12px}.ai-admin-secret span{font-size:10px;color:#818a93}.ai-admin-secret>label{height:38px;border:1px solid #d5dbe0;border-radius:5px;display:flex;align-items:center;overflow:hidden}.ai-admin-secret input{height:100%;min-width:0;flex:1;border:0;outline:0;padding:0 10px;font-size:12px}.ai-admin-secret label button{width:36px;height:36px;border:0;background:#fff;display:grid;place-items:center;color:#69737c}.ai-admin-secret>button{height:38px;border:1px solid #d3d9de;border-radius:5px;background:#fff;padding:0 12px;display:flex;align-items:center;gap:6px;font-weight:700}.ai-admin-actions{padding:12px 18px;border-top:1px solid #e3e7ea;display:flex;flex-wrap:wrap;gap:7px}.ai-admin-actions button,.ai-admin-routing footer button{min-height:34px;border:1px solid #d4dae0;border-radius:5px;background:#fff;color:#4e5963;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700;cursor:pointer}.ai-admin-actions button.danger{border-color:#ecc9c5;color:#a22b22;background:#fff8f7}.ai-admin-actions button:disabled,.ai-admin-routing footer button:disabled{opacity:.45;cursor:not-allowed}.ai-admin-empty{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8a939c;font-size:11px}.ai-admin-placeholder{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#89939c;font-size:12px}.ai-admin-models-view{display:flex;flex-direction:column;gap:13px}.ai-admin-provider-filter{padding:12px 13px;border-bottom:1px solid #e2e6e9;display:flex;flex-direction:column;gap:5px}.ai-admin-provider-filter span{font-size:10px;font-weight:700;color:#6e7881}.ai-admin-provider-filter select{height:36px;border:1px solid #d5dbe0;border-radius:5px;background:#fff;padding:0 8px}.ai-admin-model-list{max-height:720px;overflow:auto}.ai-admin-model-list>button{width:100%;min-height:60px;padding:9px 13px;border:0;border-bottom:1px solid #e3e7ea;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.ai-admin-model-list>button.active{background:#edf7f4;box-shadow:inset 3px 0 #0e7664}.ai-admin-model-list>button>span{min-width:0;display:flex;flex-direction:column}.ai-admin-model-list strong{font-size:12px;overflow-wrap:anywhere}.ai-admin-model-list small{font-size:10px;color:#879099;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-admin-capabilities-head{min-height:58px;padding:10px 18px;border-top:1px solid #e3e7ea;border-bottom:1px solid #e3e7ea;display:flex;align-items:center;justify-content:space-between}.ai-admin-capabilities-head h4{font-size:13px;margin:0}.ai-admin-capabilities-head span{font-size:10px;color:#858e97}.ai-admin-capabilities-head button,.ai-admin-add-row{height:32px;border:1px solid #cbd5d1;border-radius:5px;background:#f1f8f6;color:#096957;padding:0 9px;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700}.ai-admin-capabilities{max-height:620px;overflow:auto}.ai-admin-capability{border-bottom:1px solid #dfe4e7}.ai-admin-capability>header{height:46px;padding:0 14px 0 18px;background:#f7f8f9;display:flex;align-items:center;justify-content:space-between}.ai-admin-capability>header>label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.ai-admin-capability>header>div{display:flex;gap:4px}.ai-admin-capability>header button,.ai-admin-variant button{width:28px;height:28px;border:1px solid #d7dce1;border-radius:4px;background:#fff;display:grid;place-items:center;color:#69727b}.ai-admin-capability-settings{padding:12px 18px;display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(130px,1fr) 100px;gap:10px}.ai-admin-variants{padding:0 18px 14px;overflow:auto}.ai-admin-variant{min-width:680px;min-height:42px;border-top:1px solid #e5e8eb;display:grid;grid-template-columns:1fr 1.1fr 1.5fr 80px 50px 32px;align-items:center;gap:7px}.ai-admin-variant.labels{min-height:28px;border-top:0;color:#7d8790;font-size:9px;font-weight:800}.ai-admin-variant input{min-width:0;height:32px;border:1px solid #d7dce1;border-radius:4px;padding:0 7px;font-size:11px}.ai-admin-variant input[type=checkbox]{width:16px;height:16px}.ai-admin-variant input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-admin-add-row{margin-top:8px}.ai-admin-routing,.ai-admin-log-view{border:1px solid #dfe3e7;border-radius:8px;background:#fff;overflow:hidden}.ai-admin-routing>header,.ai-admin-log-view>header{min-height:62px;padding:10px 14px 10px 18px;border-bottom:1px solid #e4e8eb;display:flex;align-items:center;justify-content:space-between}.ai-admin-routing>header>div,.ai-admin-log-view>header>div{display:flex;align-items:center;gap:9px}.ai-admin-routing h3,.ai-admin-log-view h3{font-size:14px;margin:0}.ai-admin-routing header span,.ai-admin-log-view header span{font-size:10px;color:#838c95}.ai-admin-routing-body{padding:14px 18px;display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1fr) minmax(260px,1.4fr);gap:14px}.ai-admin-routing-body>label,.ai-admin-fallbacks{display:flex;flex-direction:column;gap:6px}.ai-admin-routing-body>label>span,.ai-admin-fallbacks>span{font-size:10px;font-weight:700;color:#606b74}.ai-admin-routing-body select{height:38px;border:1px solid #d5dbe0;border-radius:5px;background:#fff;padding:0 9px}.ai-admin-fallbacks>div{border:1px solid #dfe3e7;border-radius:5px;max-height:150px;overflow:auto}.ai-admin-fallbacks>div>div{min-height:36px;padding:4px 7px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f2}.ai-admin-fallbacks>div>div:last-child{border-bottom:0}.ai-admin-fallbacks label{display:flex;align-items:center;gap:6px;font-size:11px}.ai-admin-fallback-order{display:flex;align-items:center;gap:3px;font-size:9px;color:#7b858e}.ai-admin-fallback-order button{width:24px;height:24px;border:0;background:transparent;display:grid;place-items:center}.ai-admin-routing>footer>div{display:flex;gap:7px}.ai-admin-release-list>article{min-height:88px;padding:13px 16px;border-bottom:1px solid #e5e8eb;display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:13px;align-items:center}.ai-admin-release-revision,.ai-admin-release-copy{display:flex;flex-direction:column;gap:3px}.ai-admin-release-revision strong{font-size:17px}.ai-admin-release-revision span,.ai-admin-release-copy>span{font-size:10px;color:#818b94}.ai-admin-release-copy>strong{font-size:13px}.ai-admin-release-copy>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ai-admin-release-copy em{font-size:9px;font-style:normal;background:#eef1f3;color:#65707a;border-radius:3px;padding:3px 5px}.ai-admin-release-list>article>button,.ai-admin-load-more{height:34px;border:1px solid #d4dae0;border-radius:5px;background:#fff;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:700}.ai-admin-audit-table{overflow:auto}.ai-admin-audit-table table{width:100%;border-collapse:collapse;font-size:11px}.ai-admin-audit-table th{padding:9px 12px;background:#f7f8f9;color:#737d86;text-align:left;white-space:nowrap}.ai-admin-audit-table td{padding:11px 12px;border-top:1px solid #e8ebee;white-space:nowrap}.ai-admin-result{padding:3px 6px;border-radius:4px;background:#fff0ee;color:#9a2a21}.ai-admin-result.succeeded{background:#e4f5ef;color:#076754}.ai-admin-load-more{margin:12px auto}.ai-admin-spin{animation:ai-admin-spin 1s linear infinite}@keyframes ai-admin-spin{to{transform:rotate(360deg)}}@media(max-width:980px){.ai-admin-provider-grid,.ai-admin-model-grid{grid-template-columns:240px minmax(0,1fr)}.ai-admin-fields.two{grid-template-columns:1fr}.ai-admin-fields label.wide{grid-column:auto}.ai-admin-secret{grid-template-columns:1fr}.ai-admin-routing-body{grid-template-columns:1fr 1fr}.ai-admin-fallbacks{grid-column:1/-1}}@media(max-width:700px){.ai-admin-header h1{font-size:24px}.ai-admin-header p{max-width:240px}.ai-admin-provider-grid,.ai-admin-model-grid{display:block}.ai-admin-master,.ai-admin-model-master{border-right:0;border-bottom:1px solid #dfe3e7}.ai-admin-master-list,.ai-admin-model-list{max-height:260px}.ai-admin-detail-head,.ai-admin-fields,.ai-admin-form>footer,.ai-admin-secret,.ai-admin-actions,.ai-admin-capability-settings,.ai-admin-variants{padding-left:13px;padding-right:13px}.ai-admin-capability-settings{grid-template-columns:1fr 1fr}.ai-admin-capability-settings label.wide{grid-column:1/-1}.ai-admin-routing-body{grid-template-columns:1fr;padding:13px}.ai-admin-fallbacks{grid-column:auto}.ai-admin-routing>footer{align-items:flex-start;flex-direction:column}.ai-admin-routing>footer>div{width:100%}.ai-admin-routing>footer button{flex:1}.ai-admin-release-list>article{grid-template-columns:62px minmax(0,1fr)}.ai-admin-release-list>article>button{grid-column:1/-1;width:100%}.ai-admin-tabs button{padding:0 11px}.ai-admin-tabs button svg{display:none}}.ai-admin-log-view>header>select{height:34px;border:1px solid #d5dbe0;border-radius:5px;background:#fff;padding:0 8px;font-size:11px}.ai-admin-runtime{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #dfe4e7;border-radius:5px;display:flex;flex-wrap:wrap;gap:10px 18px}.ai-admin-runtime legend{padding:0 5px;color:#505a63;font-size:11px;font-weight:700}.ai-admin-runtime label{flex-direction:row;align-items:center;margin:0}.ai-admin-runtime label input{width:16px;height:16px}.ai-admin-advanced{grid-column:1/-1;border:1px solid #e1e5e8;border-radius:5px;background:#fafbfb}.ai-admin-advanced summary{padding:9px 10px;color:#68737c;font-size:11px;font-weight:700;cursor:pointer}.ai-admin-advanced>label{padding:0 10px 10px}.ai-admin-advanced textarea{margin-top:5px}.ai-config-page{width:100%;max-width:1440px;margin:0 auto;padding:10px 0 50px;letter-spacing:0}@media(max-width:700px){.ai-config-page{padding-top:4px}}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--background, #f8fafc)}@media(min-width:1024px){.login-page{grid-template-columns:1fr 1fr}}.login-left{display:none;position:relative;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#f8f7fb,#aab2c4,#636c7b);padding:48px;color:#fff;overflow:hidden}@media(min-width:1024px){.login-left{display:flex}}.brand-header{position:relative;z-index:20;display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600}.brand-icon{width:32px;height:32px;border-radius:8px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.characters-container{position:relative;z-index:20;display:flex;align-items:flex-end;justify-content:center;height:600px}.characters-wrapper{position:relative;width:550px;height:400px}.character{position:absolute;bottom:0;border-radius:10px;transition:all .7s ease-in-out;transform-origin:bottom center}.purple-char{left:70px;width:180px;height:400px;background:#6c3ff5;z-index:1}.black-char{left:240px;width:120px;height:310px;background:#2d2d2d;border-radius:8px 8px 0 0;z-index:2}.orange-char{left:0;width:240px;height:200px;background:#ff9b6b;border-radius:120px 120px 0 0;z-index:3}.yellow-char{left:310px;width:140px;height:230px;background:#e8d754;border-radius:70px 70px 0 0;z-index:4}.eyes-container{position:absolute;display:flex;gap:24px;transition:all .7s ease-in-out}.eyeball{border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .15s ease-out}.eyeball.blinking{height:2px}.eyeball div{border-radius:50%}.pupil-container{position:absolute;display:flex;gap:32px;transition:all .2s ease-out}.pupil{border-radius:50%}.mouth-line{position:absolute;width:80px;height:4px;background:#2d2d2d;border-radius:2px;transition:all .2s ease-out}.footer-links{position:relative;z-index:20;display:flex;justify-content:center;gap:32px;font-size:14px;color:#fff9;margin-top:100px;margin-right:400px}.footer-links a{color:#fff9;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.login-right{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--background, #f8fafc)}.login-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:0;box-shadow:none}.mobile-brand{display:none;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:600;margin-bottom:48px}@media(max-width:1023px){.mobile-brand{display:flex;margin-bottom:32px}}.form-header{text-align:center;margin-bottom:40px}.form-header h1{font-size:30px;font-weight:700;margin-bottom:8px;color:#1e293b}.form-header p{color:#64748b;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:#334155}.input{width:100%;height:48px;padding:0 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s;background:#fff;box-sizing:border-box}.input:focus{outline:none;border-color:#6c3ff5;box-shadow:0 0 0 3px #6c3ff51a}.input::placeholder{color:#94a3b8}.password-input-wrapper{position:relative}.password-input-wrapper .input{padding-right:48px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;padding:4px;transition:color .2s}.password-toggle:hover{color:#334155}.select{width:100%;height:48px;padding:0 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.select:focus{outline:none;border-color:#6c3ff5}.error-message{padding:12px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#ef4444;font-size:14px;text-align:center}.login-card .btn{width:100%;height:48px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.login-card .btn-primary{background:#181e25;color:#fff}.login-card .btn-primary:hover:not(:disabled){background:#5b31e4}.login-card .btn-primary:disabled{background:#a78bfa;cursor:not-allowed}.toggle-mode{text-align:center;margin-top:32px;font-size:14px;color:#64748b}.toggle-mode button{background:none;border:none;color:#6c3ff5;font-weight:500;cursor:pointer;margin-left:4px;padding:0;font-size:14px}.toggle-mode button:hover{text-decoration:underline}.login-card>form{padding:0 8px}.ai-workbench{max-width:1440px;margin:0 auto;padding:10px 0 52px;color:#20262d;letter-spacing:0}.ai-heading{min-height:62px;margin-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.ai-heading>div:first-child>span{font-size:10px;font-weight:800;color:#b54708}.ai-heading h1{font-size:28px;line-height:1.2;margin:2px 0 0}.ai-heading-actions{display:flex;align-items:center;gap:7px}.ai-heading-actions>button{height:40px;min-width:40px;border:1px solid #d5dbe0;border-radius:6px;background:#fff;color:#525d67;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.ai-heading-actions>button>span{font-size:10px;font-weight:800}.ai-balance{height:40px;min-width:118px;border:1px solid #c9d9d3;border-radius:6px;background:#edf8f4;color:#086b59;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px}.ai-balance b{font-size:16px}.ai-balance span{font-size:10px;color:#56756e}.ai-page-error{min-height:42px;margin-bottom:12px;padding:9px 10px 9px 13px;border-left:3px solid #b42318;background:#fff1ef;color:#8f281f;display:flex;align-items:center;gap:8px;font-size:12px}.ai-page-error span{flex:1}.ai-page-error button{width:28px;height:28px;border:0;background:transparent;color:inherit;display:grid;place-items:center}.ai-page-loading{height:480px;border:1px solid #dfe4e8;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#818b94;font-size:11px}.ai-workspace{display:grid;grid-template-columns:190px minmax(360px,.9fr) minmax(400px,1.1fr);align-items:start;border:1px solid #dfe4e8;border-radius:8px;background:#fff;overflow:hidden}.ai-feature-rail{min-width:0;min-height:646px;border-right:1px solid #dfe4e8;background:#f7f8f9}.ai-feature-rail>header{height:70px;padding:0 15px;border-bottom:1px solid #dfe4e8;display:flex;flex-direction:column;justify-content:center}.ai-feature-rail>header span,.ai-editor>header span,.ai-result-stage>header span{font-size:9px;font-weight:800;color:#b54708}.ai-feature-rail>header strong{font-size:15px}.ai-feature-rail>div{padding:7px}.ai-feature-rail button{width:100%;min-height:58px;border:0;border-radius:6px;background:transparent;color:#57616b;padding:8px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;text-align:left;cursor:pointer}.ai-feature-rail button:hover{background:#eef1f2}.ai-feature-rail button.active{background:#e1f1ec;color:#076653;box-shadow:inset 3px 0 #0e7664}.ai-feature-rail button:disabled{opacity:.45;cursor:not-allowed}.ai-feature-rail button>span{min-width:0;display:flex;flex-direction:column}.ai-feature-rail button strong{font-size:11px;overflow-wrap:anywhere}.ai-feature-rail button small{font-size:9px;color:#858e97}.ai-editor{min-width:0;min-height:646px;border-right:1px solid #dfe4e8;display:flex;flex-direction:column}.ai-editor>header,.ai-result-stage>header{height:70px;padding:0 16px;border-bottom:1px solid #e3e7ea;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-editor>header h2,.ai-result-stage>header h2{font-size:16px;margin:2px 0 0;overflow-wrap:anywhere}.ai-quote{height:30px;border-radius:5px;background:#fff4e5;color:#92500f;padding:0 9px;display:flex;align-items:center;gap:5px;font-size:11px}.ai-model-selector{padding:14px 16px;border-bottom:1px solid #e5e8eb;background:#fbfcfc}.ai-model-label{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:#58636d;font-size:10px;font-weight:800}.ai-model-selector>label{position:relative;display:block}.ai-model-selector select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;border:1px solid #cfd6dc;border-radius:6px;background:#fff;color:#252c32;padding:0 36px 0 10px;font:inherit;font-size:12px;font-weight:700;outline:0}.ai-model-selector label>svg{position:absolute;right:11px;top:13px;pointer-events:none;color:#707a83}.ai-model-selector select:focus{border-color:#0e7664;box-shadow:0 0 0 3px #0e76641a}.ai-model-summary{margin-top:6px;display:flex;justify-content:space-between;font-size:9px;color:#7c868f}.ai-model-summary strong{color:#8e5018}.ai-model-selector p{margin:6px 0 0;font-size:10px;line-height:1.5;color:#7d8790}.ai-dynamic-fields{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ai-control{min-width:0;display:flex;flex-direction:column;gap:6px}.ai-control-wide{grid-column:1/-1}.ai-control>span{font-size:11px;font-weight:700;color:#505a63}.ai-control>span em{margin-left:5px;color:#a8332a;font-size:9px;font-style:normal}.ai-control>span b{float:right;color:#08705e}.ai-control textarea,.ai-control select{width:100%;border:1px solid #d4dae0;border-radius:6px;background:#fff;color:#252c32;padding:9px 10px;font:inherit;font-size:12px;outline:0}.ai-control textarea{min-height:92px;resize:vertical;line-height:1.55}.ai-control select{height:40px}.ai-control textarea:focus,.ai-control select:focus{border-color:#0e7664;box-shadow:0 0 0 3px #0e76641a}.ai-control>small{margin-top:-3px;text-align:right;color:#929aa2;font-size:9px}.ai-segments{height:40px;border:1px solid #d4dae0;border-radius:6px;display:flex;overflow:auto}.ai-segments button{min-width:0;flex:1 0 max-content;border:0;border-right:1px solid #d9dee3;background:#fff;color:#626c75;padding:0 9px;font-size:10px;cursor:pointer}.ai-segments button:last-child{border-right:0}.ai-segments button.active{background:#28302f;color:#fff}.ai-stepper{height:40px;border:1px solid #d4dae0;border-radius:6px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;overflow:hidden}.ai-stepper button{height:38px;border:0;background:#f7f8f9;display:grid;place-items:center;color:#54606a}.ai-stepper button:disabled{opacity:.35}.ai-stepper strong{text-align:center;font-size:12px}.ai-wardrobe-picker{display:grid;grid-template-columns:repeat(6,minmax(48px,1fr));gap:6px;max-height:196px;overflow:auto}.ai-wardrobe-picker button{position:relative;aspect-ratio:1;border:2px solid transparent;border-radius:5px;background:#eef1f3;padding:0;overflow:hidden}.ai-wardrobe-picker button.selected{border-color:#0e7664}.ai-wardrobe-picker img{width:100%;height:100%;display:block;object-fit:cover}.ai-wardrobe-empty{grid-column:1/-1;height:80px;display:grid;place-items:center;color:#8b949d;font-size:10px}.ai-upload-field{padding:0 16px 16px}.ai-upload-field>header{margin-bottom:7px;display:flex;align-items:center;justify-content:space-between}.ai-upload-field>header>div{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.ai-upload-field>header small{font-size:9px;color:#7e8891}.ai-upload-previews{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));gap:7px}.ai-upload-previews figure,.ai-upload-add{position:relative;aspect-ratio:1;border:1px solid #d7dde2;border-radius:6px;background:#f4f6f7;margin:0;overflow:hidden}.ai-upload-previews figure img{width:100%;height:100%;object-fit:cover;display:block}.ai-upload-previews figure button{position:absolute;right:4px;top:4px;width:26px;height:26px;border:0;border-radius:50%;background:#1e2327cc;color:#fff;display:grid;place-items:center}.ai-upload-add{border-style:dashed;color:#66717b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px}.ai-editor>footer{min-height:66px;margin-top:auto;padding:11px 16px;border-top:1px solid #e3e7ea;display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-editor>footer>span{font-size:9px;color:#818a93}.ai-editor>footer>button{height:40px;min-width:122px;border:0;border-radius:6px;background:#0e7664;color:#fff;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.ai-editor>footer>button:disabled{background:#aab4b1;cursor:not-allowed}.ai-inline-error{margin:13px 16px 0;padding:9px 10px;border-left:3px solid #b42318;background:#fff1ef;color:#90281f;display:flex;align-items:center;gap:7px;font-size:11px}.ai-result-stage{min-width:0;min-height:646px;background:#fcfcfb}.ai-result-stage>header>button{width:36px;height:36px;border:1px solid #d5dbe0;border-radius:6px;background:#fff;color:#a33128;display:grid;place-items:center}.ai-stage-empty{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#838d96;text-align:center}.ai-stage-empty>span:first-child{width:52px;height:52px;border:1px solid #dbe1e4;border-radius:50%;background:#fff;display:grid;place-items:center;color:#b05c15}.ai-stage-empty strong{font-size:12px}.ai-stage-empty small{font-size:9px}.ai-stage-body{padding:15px}.ai-stage-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.ai-stage-status>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#858e97;font-size:9px}.ai-status{width:max-content;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:#746456}.ai-status-succeeded{color:#08705e}.ai-status-failed,.ai-status-expired{color:#a42d24}.ai-status-processing,.ai-status-submitting,.ai-status-reconciling{color:#9a5617}.ai-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-output-grid figure{position:relative;aspect-ratio:1;margin:0;border:1px solid #e0e4e7;border-radius:6px;background:#eef0f2;overflow:hidden}.ai-output-grid img,.ai-output-grid video{width:100%;height:100%;display:block;object-fit:contain}.ai-output-grid a{position:absolute;right:7px;bottom:7px;width:32px;height:32px;border-radius:50%;background:#1f2428d6;color:#fff;display:grid;place-items:center}.ai-no-media{height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#858f98;font-size:10px}.ai-recognition{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dfe4e8;border-radius:6px;overflow:hidden}.ai-recognition div{padding:14px;border-right:1px solid #dfe4e8}.ai-recognition div:last-child{border-right:0}.ai-recognition dt{font-size:9px;color:#858f98}.ai-recognition dd{margin:4px 0 0;font-size:14px;font-weight:800}.ai-suggestion{margin:11px 0 0;padding:11px;border-left:3px solid #0e7664;background:#f0f6f4;font-size:11px;line-height:1.65}.ai-progress{height:3px;margin-top:14px;background:#e4e9e7;overflow:hidden}.ai-progress span{display:block;width:32%;height:100%;background:#0e7664;animation:ai-progress 1.5s ease-in-out infinite}.ai-history-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2050;border:0;background:#171c2059}.ai-history-drawer{position:fixed;z-index:2060;right:0;top:0;width:min(440px,100vw);height:100vh;background:#fff;box-shadow:-12px 0 28px #181d2129;transform:translate(102%);transition:transform .2s ease;display:flex;flex-direction:column}.ai-history-drawer.open{transform:translate(0)}.ai-history-drawer>header{height:66px;padding:0 13px 0 17px;border-bottom:1px solid #dfe4e8;display:flex;align-items:center;justify-content:space-between}.ai-history-drawer>header>div{display:flex;align-items:center;gap:9px}.ai-history-drawer h2{font-size:15px;margin:0}.ai-history-drawer header span{font-size:9px;color:#838d96}.ai-history-drawer header div:last-child{gap:5px}.ai-history-drawer header button{width:34px;height:34px;border:1px solid #d7dde2;border-radius:5px;background:#fff;display:grid;place-items:center}.ai-history-items{flex:1;overflow:auto}.ai-history-items article{min-height:74px;border-bottom:1px solid #e7eaed;display:grid;grid-template-columns:minmax(0,1fr) 42px}.ai-history-items article.active{background:#edf7f4}.ai-history-items article>button:first-child{min-width:0;border:0;background:transparent;padding:11px 4px 11px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;text-align:left;color:#293036}.ai-history-items article>button:first-child>span:first-child{min-width:0;display:flex;flex-direction:column}.ai-history-items article strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history-items article small{font-size:9px;color:#858e97;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history-items article b{grid-column:2;font-size:10px;text-align:right}.ai-history-reuse{align-self:center;width:32px;height:32px;border:1px solid #d8dde2;border-radius:5px;background:#fff;color:#5e6972;display:grid;place-items:center}.ai-spin{animation:ai-spin 1s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-progress{0%{transform:translate(-100%)}to{transform:translate(420%)}}@media(max-width:1180px){.ai-workspace{grid-template-columns:180px minmax(0,1fr)}.ai-editor{border-right:0}.ai-result-stage{grid-column:2;border-top:1px solid #dfe4e8}.ai-feature-rail{grid-row:1/3}.ai-result-stage,.ai-editor{min-height:520px}.ai-stage-empty{min-height:440px}}@media(max-width:760px){.ai-workbench{padding-top:2px}.ai-heading h1{font-size:24px}.ai-heading-actions>button:first-child{display:none}.ai-balance{min-width:100px}.ai-workspace{display:block}.ai-feature-rail{min-height:0;border-right:0;border-bottom:1px solid #dfe4e8}.ai-feature-rail>header{height:48px}.ai-feature-rail>div{display:flex;overflow-x:auto}.ai-feature-rail button{flex:0 0 126px;min-height:54px}.ai-feature-rail button.active{box-shadow:inset 0 -3px #0e7664}.ai-editor{min-height:0;border-right:0}.ai-result-stage{min-height:360px;border-top:1px solid #dfe4e8}.ai-stage-empty{min-height:290px}.ai-dynamic-fields{grid-template-columns:1fr;padding:13px}.ai-control-wide{grid-column:auto}.ai-model-selector,.ai-upload-field{padding-left:13px;padding-right:13px}.ai-editor>header,.ai-result-stage>header{padding:0 13px}.ai-editor>footer{align-items:flex-start;flex-direction:column;padding:12px 13px}.ai-editor>footer>button{width:100%}.ai-wardrobe-picker{grid-template-columns:repeat(4,minmax(50px,1fr))}.ai-output-grid,.ai-recognition{grid-template-columns:1fr}.ai-recognition div{border-right:0;border-bottom:1px solid #dfe4e8}.ai-recognition div:last-child{border-bottom:0}}@media(max-width:390px){.ai-heading-actions>button:nth-child(2){min-width:38px;padding:0}.ai-heading-actions>button:nth-child(2)>span{display:none}.ai-balance{min-width:92px}.ai-segments button{padding:0 7px}.ai-upload-previews{grid-template-columns:repeat(4,minmax(48px,1fr))}}.wardrobe-page{padding:24px;min-height:calc(100vh - 64px)}.wardrobe-page .page-header{margin-bottom:24px}.wardrobe-page .page-title{font-size:28px;font-weight:700;color:#111827;margin:0}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #E5E7EB}.tab-btn{padding:12px 24px;background:none;border:none;font-size:15px;font-weight:500;color:#6b7280;cursor:pointer;position:relative;transition:color .2s}.tab-btn:hover,.tab-btn.active{color:#818cf8}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#818cf8}.filters-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;align-items:center}.filter-select{padding:8px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:14px;color:#374151;background:#fff;min-width:120px}.filter-input{padding:8px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:14px;min-width:120px;max-width:180px}.add-btn{padding:8px 16px;background:#818cf8;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.add-btn:hover{background:#6366f1}.category-tabs{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.category-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f3f4f6;border-radius:20px;cursor:pointer;transition:background .2s}.category-tab:hover{background:#e5e7eb}.category-name{font-size:14px;color:#374151}.category-count{background:#818cf8;color:#fff;padding:2px 8px;border-radius:10px;font-size:12px}.clothes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.clothing-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.clothing-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.clothing-image{width:100%;height:180px;overflow:hidden;background:#f3f4f6}.clothing-image img{width:100%;height:100%;object-fit:cover}.clothing-info{padding:12px}.clothing-rating{color:#fbbf24;font-size:14px;margin-bottom:4px}.clothing-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280;margin-bottom:4px}.color-dot{width:12px;height:12px;border-radius:50%;border:1px solid #E5E7EB}.clothing-seasons{display:flex;gap:4px;flex-wrap:wrap}.season-tag{padding:2px 6px;background:#e0e7ff;color:#6366f1;border-radius:4px;font-size:11px}.clothing-actions{display:flex;gap:8px;padding:0 12px 12px}.clothing-actions button{flex:1;padding:6px;border:1px solid #E5E7EB;background:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.clothing-actions button:hover{background:#f3f4f6}.clothing-actions .delete-btn{color:#ef4444;border-color:#fecaca}.clothing-actions .delete-btn:hover{background:#fef2f2}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.ai-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ai-controls{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.mode-selector{display:flex;gap:8px;margin-bottom:24px}.mode-btn{flex:1;padding:12px;border:2px solid #E5E7EB;background:#fff;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.mode-btn:hover{border-color:#818cf8}.mode-btn.active{border-color:#818cf8;background:#818cf8;color:#fff}.select-clothes-section{margin-bottom:24px}.select-clothes-section h3{font-size:14px;font-weight:500;color:#374151;margin-bottom:12px}.selectable-clothes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:200px;overflow-y:auto}.selectable-item{position:relative;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s}.selectable-item img{width:100%;height:60px;object-fit:cover}.selectable-item.selected{border-color:#818cf8}.selectable-item .item-type{font-size:10px;text-align:center;padding:2px;background:#00000080;color:#fff}.selected-summary{margin-top:12px;padding:8px 12px;background:#eef2ff;border-radius:6px;font-size:13px;color:#4f46e5;display:flex;justify-content:space-between;align-items:center}.selected-summary button{background:none;border:none;color:#ef4444;font-size:12px;cursor:pointer}.ai-options{margin-bottom:24px}.option-group{margin-bottom:16px}.option-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.option-buttons{display:flex;flex-wrap:wrap;gap:8px}.option-buttons button{padding:6px 14px;border:1px solid #E5E7EB;background:#fff;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .2s}.option-buttons button:hover{border-color:#818cf8;color:#818cf8}.option-buttons button.active{border-color:#818cf8;background:#818cf8;color:#fff}.prompt-input{width:100%;padding:10px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:14px;box-sizing:border-box}.prompt-input:focus{outline:none;border-color:#818cf8}.generate-btn{width:100%;padding:14px;background:linear-gradient(135deg,#818cf8,#a78bfa);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #818cf866}.ai-results{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;min-height:400px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #E5E7EB;border-top-color:#818cf8;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:#6b7280;font-size:14px}.result-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;min-height:400px}.result-section h3{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.result-image{width:100%;border-radius:12px;overflow:hidden;margin-bottom:16px}.result-image img{width:100%;height:auto;display:block}.outfit-suggestion{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;margin-top:12px}.outfit-suggestion h4{font-size:14px;font-weight:600;color:#fff;margin:0 0 8px}.outfit-suggestion p{font-size:14px;color:#ffffffe6;margin:0;line-height:1.6}.result-suggestion{padding:16px;background:#f9fafb;border-radius:8px}.result-suggestion h4{font-size:14px;font-weight:600;color:#374151;margin:0 0 8px}.result-suggestion p{font-size:14px;color:#6b7280;margin:0;line-height:1.6}.empty-results{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px}.empty-results p{color:#9ca3af;font-size:14px;margin:4px 0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:24px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content h2{font-size:20px;font-weight:600;color:#111827;margin:0 0 24px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#818cf8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.image-upload-area{width:100%;height:200px;border:2px dashed #E5E7EB;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.image-upload-area:hover{border-color:#818cf8}.image-upload-area img{width:100%;height:100%;object-fit:cover}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9ca3af}.color-options{display:flex;gap:8px;flex-wrap:wrap}.color-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#374151;box-shadow:0 0 0 2px #fff,0 0 0 4px #818cf8}.rating-options{display:flex;gap:4px}.star-btn{background:none;border:none;font-size:24px;color:#d1d5db;cursor:pointer;transition:color .2s}.star-btn.active{color:#fbbf24}.season-options{display:flex;gap:16px;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer}.checkbox-label input{width:auto}.form-actions{display:flex;gap:12px;margin-top:24px}.cancel-btn{flex:1;padding:12px;border:1px solid #E5E7EB;background:#fff;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer}.submit-btn{flex:2;padding:12px;border:none;background:#818cf8;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.submit-btn:hover:not(:disabled){background:#6366f1}.submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.ai-content,.showcase-content{grid-template-columns:1fr!important}.ai-controls,.showcase-controls{padding:16px}.ai-actions,.showcase-actions{flex-direction:column}.generate-btn,.clear-btn,.generate-btn-small{width:100%}}.showcase-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}.showcase-controls{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.showcase-section h3,.showcase-prompt h3{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.showcase-prompt textarea{width:100%;padding:12px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit}.showcase-prompt textarea:focus{outline:none;border-color:#6366f1}.showcase-actions{display:flex;gap:12px}.generate-btn{padding:12px 24px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.generate-btn:hover:not(:disabled){background:#4f46e5}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.clear-btn{padding:12px 24px;background:#fff;color:#6b7280;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#f9fafb}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #E5E7EB;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.result-image{display:flex;flex-direction:column;align-items:center;gap:16px}.result-image img{max-width:100%;border-radius:12px;box-shadow:0 4px 12px #0000001a}.download-btn{padding:8px 20px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.download-btn:hover{background:#059669}.empty-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#9ca3af}.empty-results .empty-icon{font-size:48px;margin-bottom:16px}.empty-results p{margin:4px 0;font-size:14px}.wardrobe-recognize-btn{width:100%;height:40px;margin-top:10px;border:1px solid #0e7664;border-radius:6px;background:#edf8f4;color:#0b6959;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.wardrobe-recognize-btn:disabled{opacity:.6;cursor:wait}.wardrobe-page{max-width:1320px;margin:0 auto;padding:10px 0 50px;color:#20262d;letter-spacing:0}.wardrobe-page .page-header{margin-bottom:18px}.wardrobe-page .page-title{font-size:28px;line-height:1.2;color:#20262d}.wardrobe-page>.tabs{height:50px;gap:2px;margin-bottom:14px;border-bottom:1px solid #dfe3e7}.wardrobe-page>.tabs .tab-btn{height:50px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-bottom:2px solid transparent;color:#68727c;font-size:14px;font-weight:700;white-space:nowrap}.wardrobe-page>.tabs .tab-btn:hover,.wardrobe-page>.tabs .tab-btn.active{color:#0e7664}.wardrobe-page>.tabs .tab-btn.active{border-color:#0e7664}.wardrobe-page>.tabs .tab-btn.active:after{display:none}.wardrobe-page .filters-bar{gap:8px;margin-bottom:14px}.wardrobe-page .filter-select,.wardrobe-page .filter-input{height:40px;padding:0 11px;border-color:#d7dce2;border-radius:6px;color:#3c454e;outline:0}.wardrobe-page .filter-select:focus,.wardrobe-page .filter-input:focus{border-color:#0e7664;box-shadow:0 0 0 3px #0e76641a}.wardrobe-page .add-btn{height:40px;padding:0 14px;border-radius:6px;background:#0e7664;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.wardrobe-page .add-btn:hover{background:#095f52}.wardrobe-page .category-tabs{gap:8px;margin-bottom:18px}.wardrobe-page .category-tab{min-height:38px;padding:0 12px;border:1px solid #dfe3e7;border-radius:6px;background:#fff;cursor:default}.wardrobe-page .category-tab:hover{background:#fff}.wardrobe-page .category-count{min-width:24px;padding:2px 7px;border-radius:4px;background:#e8f6f1;color:#087466;text-align:center;font-weight:700}.wardrobe-page .clothes-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.wardrobe-page .clothing-card{border:1px solid #dfe3e7;border-radius:8px;box-shadow:none}.wardrobe-page .clothing-card:hover{transform:none;border-color:#bfc7ce;box-shadow:none}.wardrobe-page .clothing-image{height:auto;aspect-ratio:1;background:#eef1f3}.wardrobe-image-fallback{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#eef1f3;color:#8a949d}.clothing-image>.wardrobe-image-fallback{height:100%;aspect-ratio:auto}.wardrobe-page .season-tag{border-radius:4px;background:#edf8f4;color:#0b6959}.wardrobe-page .clothing-actions{gap:6px}.wardrobe-page .clothing-actions button{height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:5px;color:#434c55}.wardrobe-page .clothing-actions .delete-btn{color:#a72c23;border-color:#edc7c3}.wardrobe-page .wardrobe-ai-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:14px}.wardrobe-page .ai-controls,.wardrobe-page .showcase-controls,.wardrobe-page .wardrobe-ai-summary{padding:18px;border:1px solid #dfe4e9;border-radius:8px;background:#fff;box-shadow:none}.wardrobe-page .mode-selector{height:42px;gap:0;margin-bottom:18px;border:1px solid #d6dce1;border-radius:6px;overflow:hidden}.wardrobe-page .mode-btn{height:40px;padding:0 12px;border:0;border-right:1px solid #d6dce1;border-radius:0;color:#5f6872;font-size:13px}.wardrobe-page .mode-btn:last-child{border-right:0}.wardrobe-page .mode-btn:hover{border-color:#d6dce1;color:#20262d}.wardrobe-page .mode-btn.active{background:#20262d;color:#fff}.wardrobe-page .select-clothes-section,.wardrobe-page .ai-options{margin-bottom:18px}.wardrobe-page .select-clothes-section h3,.wardrobe-page .showcase-section h3,.wardrobe-page .showcase-prompt h3{margin:0 0 9px;color:#3f4851;font-size:12px;font-weight:700}.wardrobe-page .selectable-clothes{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:210px;padding:2px}.wardrobe-page .selectable-item{display:block;padding:0;border:2px solid transparent;border-radius:6px;background:#eef1f3}.wardrobe-page .selectable-item.selected{border-color:#0e7664}.wardrobe-page .selectable-item img{height:auto;aspect-ratio:1;display:block}.wardrobe-page .selected-summary{background:#edf8f4;color:#0b6959}.wardrobe-page .option-group{margin-bottom:14px}.wardrobe-page .option-group label{margin-bottom:6px;color:#505a63;font-size:12px;font-weight:700}.wardrobe-page .option-buttons{gap:6px}.wardrobe-page .option-buttons button{min-width:44px;height:36px;padding:0 11px;border-color:#d6dce1;border-radius:5px;color:#5f6872}.wardrobe-page .option-buttons button:hover{border-color:#9ca8a3;color:#20262d}.wardrobe-page .option-buttons button.active{border-color:#20262d;background:#20262d;color:#fff}.wardrobe-page .prompt-input,.wardrobe-page .showcase-prompt textarea{border-color:#d7dde2;border-radius:6px;outline:0}.wardrobe-page .prompt-input:focus,.wardrobe-page .showcase-prompt textarea:focus{border-color:#0e7664;box-shadow:0 0 0 3px #0e76641a}.wardrobe-page .showcase-prompt{margin-top:18px}.wardrobe-page .showcase-actions{margin-top:16px}.wardrobe-page .generate-btn{min-height:42px;padding:0 15px;border-radius:6px;background:#0e7664;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.wardrobe-page .generate-btn:hover:not(:disabled){transform:none;background:#095f52;box-shadow:none}.wardrobe-page .generate-btn:disabled{background:#aeb7b5}.wardrobe-page .clear-btn{min-height:42px;padding:0 15px;border-radius:6px}.wardrobe-ai-summary{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.wardrobe-ai-summary-icon{width:52px;height:52px;margin-bottom:12px;border-radius:8px;background:#edf8f4;color:#0e7664;display:grid;place-items:center}.wardrobe-ai-summary>span{color:#8a929b;font-size:10px;font-weight:800}.wardrobe-ai-summary h2{margin:3px 0 18px;font-size:18px}.wardrobe-ai-summary dl{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e2e6e9;border-radius:6px;overflow:hidden;text-align:left}.wardrobe-ai-summary dl>div{padding:10px 12px;border-right:1px solid #e2e6e9;border-bottom:1px solid #e2e6e9}.wardrobe-ai-summary dl>div:nth-child(2n){border-right:0}.wardrobe-ai-summary dl>div:nth-last-child(-n+2){border-bottom:0}.wardrobe-ai-summary dt{font-size:10px;color:#8b939b}.wardrobe-ai-summary dd{margin:2px 0 0;font-size:13px;font-weight:700}.wardrobe-ai-preview{width:100%;min-height:100px;margin-top:12px;padding:8px;border:1px dashed #cdd4d9;border-radius:6px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;place-items:center;color:#8b949c}.wardrobe-ai-preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}.wardrobe-ai-preview .wardrobe-image-fallback{border-radius:4px}.wardrobe-page .modal-content{border-radius:8px}.wardrobe-page .image-upload-area{border-width:1px;border-radius:6px}.wardrobe-page .image-upload-area:hover,.wardrobe-page .form-group input:focus,.wardrobe-page .form-group select:focus,.wardrobe-page .form-group textarea:focus{border-color:#0e7664}.wardrobe-page .color-btn.active{box-shadow:0 0 0 2px #fff,0 0 0 4px #0e7664}.wardrobe-page .submit-btn{border-radius:6px;background:#0e7664}.wardrobe-page .submit-btn:hover:not(:disabled){background:#095f52}@media(max-width:900px){.wardrobe-page .wardrobe-ai-shell{grid-template-columns:1fr}.wardrobe-ai-summary{min-height:300px}}@media(max-width:600px){.wardrobe-page{padding:2px 0 32px}.wardrobe-page .page-title{font-size:24px}.wardrobe-page>.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.wardrobe-page>.tabs .tab-btn{min-width:0;padding:0 5px;font-size:12px;gap:4px}.wardrobe-page .filters-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-page .filter-select,.wardrobe-page .filter-input{width:100%;min-width:0;max-width:none}.wardrobe-page .add-btn{width:max-content}.wardrobe-page .category-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.wardrobe-page .category-tab{flex:0 0 auto}.wardrobe-page .clothes-grid{grid-template-columns:1fr}.wardrobe-page .selectable-clothes{grid-template-columns:repeat(4,minmax(0,1fr))}.wardrobe-page .ai-controls,.wardrobe-page .showcase-controls,.wardrobe-page .wardrobe-ai-summary{padding:14px}.wardrobe-ai-summary dl{grid-template-columns:1fr 1fr}.wardrobe-ai-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.wardrobe-page .modal-content{padding:18px}.wardrobe-page .form-row{grid-template-columns:1fr;gap:0}}.points-page{max-width:1180px;margin:0 auto;padding:12px 0 48px;letter-spacing:0}.points-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.points-heading h1{font-size:28px;line-height:1.2;margin:2px 0 0;color:#171b20}.points-kicker{font-size:11px;font-weight:800;color:#0f766e;letter-spacing:0}.points-icon-button{width:40px;height:40px;border:1px solid #d9dee5;background:#fff;color:#313944;border-radius:6px;display:grid;place-items:center;cursor:pointer}.points-icon-button:disabled{opacity:.5}.points-summary{display:grid;grid-template-columns:1.5fr repeat(4,1fr);background:#171b20;color:#fff;border-radius:8px;overflow:hidden;margin-bottom:20px}.points-summary>div{min-height:108px;padding:20px;border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center}.points-summary>div:first-child{border-left:0}.points-summary span{font-size:12px;color:#b9c1ca}.points-summary strong{font-size:23px;line-height:1.2;margin-top:8px}.points-balance-main{background:#0f766e}.points-balance-main svg{margin-bottom:4px}.points-balance-main span{color:#d9fffa}.points-ledger{background:#fff;border:1px solid #e1e5ea;border-radius:8px}.points-ledger-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e8ebef}.points-ledger-toolbar h2{font-size:17px;margin:0;color:#171b20}.points-ledger-toolbar p{font-size:12px;color:#7a838e;margin:2px 0 0}.points-ledger-toolbar select{height:38px;min-width:150px;border:1px solid #d7dce2;border-radius:6px;background:#fff;padding:0 32px 0 11px;color:#363d45}.points-entry-list{padding:0 20px}.points-entry{display:grid;grid-template-columns:38px minmax(0,1fr) 100px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #edf0f3}.points-entry:last-child{border-bottom:0}.points-entry-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff0ee;color:#b42318}.points-entry-icon.credit{background:#e8f6f1;color:#087a64}.points-entry-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}.points-entry-copy strong{font-size:14px;color:#20262d}.points-entry-copy span{font-size:13px;color:#66707b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.points-entry-copy time{width:100%;font-size:11px;color:#9aa1aa}.points-entry-value{text-align:right;display:flex;flex-direction:column}.points-entry-value strong{font-size:16px}.points-entry-value strong.credit{color:#087a64}.points-entry-value strong.debit{color:#b42318}.points-entry-value span{font-size:11px;color:#9299a2}.points-empty,.points-loading{min-height:220px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#838c96;font-size:13px}.points-alert{margin:16px 20px;padding:10px 12px;border-left:3px solid #b42318;background:#fff5f4;color:#8f1d14;font-size:13px}.points-more{display:block;margin:4px auto 18px;height:36px;padding:0 18px;border:1px solid #d4dae0;border-radius:6px;background:#fff;color:#303840;cursor:pointer}@media(max-width:800px){.points-page{padding:4px 0 32px}.points-summary{grid-template-columns:repeat(2,1fr)}.points-summary>div{min-height:88px;border-bottom:1px solid rgba(255,255,255,.12)}.points-summary>div:first-child{grid-column:1/-1}.points-ledger-toolbar{align-items:flex-start;gap:14px}.points-entry-list{padding:0 14px}.points-entry{grid-template-columns:34px minmax(0,1fr) 74px}.points-entry-copy span{width:100%}}@media(max-width:430px){.points-heading h1{font-size:24px}.points-ledger-toolbar{flex-direction:column}.points-ledger-toolbar select{width:100%}.points-summary>div{padding:15px}.points-summary strong{font-size:20px}}.pet-module-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding:14px 16px;background:#ffffffeb;border:1px solid rgba(255,159,67,.18);border-radius:18px;box-shadow:0 8px 24px #2c3e500f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pet-module-nav-brand,.pet-module-nav-links,.pet-module-nav-link{display:flex;align-items:center}.pet-module-nav-brand{gap:10px;min-width:170px;color:#102a43}.pet-module-nav-brand strong,.pet-module-nav-brand small{display:block}.pet-module-nav-brand strong{font-size:15px;line-height:1.4}.pet-module-nav-brand small{margin-top:2px;color:#829ab1;font-size:11px}.pet-module-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#fff;background:linear-gradient(135deg,#ff9f43,#ff7675);border-radius:12px;box-shadow:0 6px 14px #ff9f433d}.pet-module-nav-links{flex:1;justify-content:flex-end;gap:6px}.pet-module-nav-link{gap:7px;padding:9px 12px;color:#627d98;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;transition:.2s ease}.pet-module-nav-link:hover,.pet-module-nav-link.active{color:#8f4e00;background:#fff3e8}.pet-module-nav-link.active{box-shadow:inset 0 0 0 1px #ff9f4333}@media(max-width:760px){.pet-module-nav{align-items:stretch;flex-direction:column;gap:12px}.pet-module-nav-links{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.pet-module-nav-link{flex:0 0 auto;white-space:nowrap}}:root{--pet-primary: #ff9f43;--pet-primary-dark: #8f4e00;--pet-primary-light: #ffb77a;--pet-success: #2ecc71;--pet-warning: #ff7675;--pet-info: #3498db;--pet-teal: #48c9b0;--pet-surface: #f7f9ff;--pet-surface-dim: #c9dcf3;--pet-surface-bright: #f7f9ff;--pet-surface-container: #e3efff;--pet-surface-container-low: #edf4ff;--pet-surface-container-high: #d9eaff;--pet-on-surface: #091d2e;--pet-on-surface-variant: #544437;--pet-outline: #877365;--pet-radius-sm: 8px;--pet-radius-md: 16px;--pet-radius-lg: 24px;--pet-radius-full: 9999px;--pet-shadow-sm: 0px 4px 20px rgba(44, 62, 80, .05);--pet-shadow-md: 0px 12px 32px rgba(44, 62, 80, .12)}.pet-page{padding:24px;max-width:1280px;margin:0 auto;background:var(--pet-surface);min-height:100vh}.pet-page-header{margin-bottom:32px}.pet-page-header h1{font-size:28px;font-weight:700;color:var(--pet-on-surface);margin-bottom:8px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pet-page-header p{font-size:14px;color:var(--pet-on-surface-variant);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pet-card{background:#fff;border-radius:var(--pet-radius-md);padding:24px;box-shadow:var(--pet-shadow-sm);border:1px solid #e2e8f0}.pet-card-header{font-size:18px;font-weight:600;color:var(--pet-on-surface);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--pet-surface-container)}.pet-btn{padding:10px 20px;border-radius:var(--pet-radius-full);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:8px}.pet-btn-primary{background:var(--pet-primary);color:#fff}.pet-btn-primary:hover{background:var(--pet-primary-dark);box-shadow:var(--pet-shadow-md);transform:translateY(-2px)}.pet-btn-secondary{background:var(--pet-surface-container-low);color:var(--pet-primary-dark);border:2px solid var(--pet-primary)}.pet-btn-secondary:hover{background:var(--pet-primary);color:#fff}.pet-status-chip{padding:4px 12px;border-radius:var(--pet-radius-full);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.pet-status-success{background:#2ecc711a;color:var(--pet-success)}.pet-status-warning{background:#ff76751a;color:var(--pet-warning)}.pet-status-info{background:#3498db1a;color:var(--pet-info)}.pet-progress{width:100%;height:8px;background:var(--pet-surface-container);border-radius:var(--pet-radius-full);overflow:hidden}.pet-progress-bar{height:100%;background:linear-gradient(90deg,var(--pet-primary) 0%,var(--pet-primary-light) 100%);border-radius:var(--pet-radius-full);transition:width .3s ease}.pet-grid{display:grid;gap:24px}.pet-grid-2{grid-template-columns:repeat(2,1fr)}.pet-grid-3{grid-template-columns:repeat(3,1fr)}.pet-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.pet-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.pet-grid-2,.pet-grid-3,.pet-grid-4{grid-template-columns:1fr}.pet-page{padding:16px}}.pet-input{width:100%;padding:12px 16px;border:2px solid var(--pet-surface-container-high);border-radius:var(--pet-radius-sm);font-size:14px;color:var(--pet-on-surface);transition:all .2s;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pet-input:focus{outline:none;border-color:var(--pet-primary);box-shadow:0 0 0 3px #ff9f431a}.pet-select{width:100%;padding:12px 16px;border:2px solid var(--pet-surface-container-high);border-radius:var(--pet-radius-sm);font-size:14px;color:var(--pet-on-surface);background:#fff;cursor:pointer;transition:all .2s;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pet-select:focus{outline:none;border-color:var(--pet-primary);box-shadow:0 0 0 3px #ff9f431a}.pet-empty{text-align:center;padding:48px 24px}.pet-empty i{font-size:64px;color:var(--pet-primary);margin-bottom:24px}.pet-empty h3{font-size:20px;font-weight:600;color:var(--pet-on-surface);margin-bottom:12px}.pet-empty p{font-size:14px;color:var(--pet-on-surface-variant)}.pet-toolbar{display:flex;gap:16px;margin-bottom:24px;align-items:center}.pet-search{flex:1;position:relative;display:flex;align-items:center}.pet-search i{position:absolute;left:16px;color:var(--pet-on-surface-variant);z-index:1}.pet-search input{padding-left:44px}.notification-badge{background:var(--pet-warning);color:#fff;padding:2px 8px;border-radius:var(--pet-radius-full);font-size:11px;font-weight:600;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;vertical-align:middle}.pet-management-page .pet-card{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);height:500px!important;display:flex;flex-direction:column;background:#fff;border:1px solid #E2E8F0;box-shadow:0 4px 20px #2c3e500d;border-radius:16px}.pet-management-page .pet-card.medical-card,.pet-management-page .pet-card.stock-card,.pet-management-page .pet-card.task-card,.pet-management-page .pet-card.activity-card{height:500px!important}.pet-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #2c3e501f!important}.pet-card-action-btn{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#2196f3;font-size:14px;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 4px #2196f31a}.pet-card-action-btn:hover{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;transform:scale(1.05);box-shadow:0 4px 8px #2196f333}.pet-card-action-btn:active{transform:scale(.95)}.pet-card-action-btn i{transition:transform .2s ease}.pet-card-action-btn:hover i{transform:rotate(90deg)}.pet-card-header{flex-shrink:0;padding:20px 24px;border-bottom:1px solid #F1F5F9;display:flex;align-items:center;gap:12px}.pet-card-header-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pet-card-header-icon i{font-size:18px}.pet-card-header-title{flex:1;min-width:0}.pet-card-header-title h3{font-size:16px;font-weight:600;color:#091d2e;margin:0;line-height:1.4}.pet-card-header-title p{font-size:12px;color:#64748b;margin:2px 0 0;line-height:1.4}.pet-card-content{flex:1;overflow-y:auto;padding:16px 24px;min-height:0;scrollbar-width:thin;scrollbar-color:#94A3B8 #F1F5F9}.pet-card-content::-webkit-scrollbar{width:8px}.pet-card-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.pet-card-content::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:4px;border:2px solid #F1F5F9}.pet-card-content::-webkit-scrollbar-thumb:hover{background:#64748b}.pet-card-content::-webkit-scrollbar-thumb:active{background:#475569}.pet-card-header i{margin-right:8px;font-size:16px}.pet-card-header>div>div:first-child{display:flex!important;align-items:center!important;justify-content:center!important}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8fafc;border-radius:12px;transition:all .2s;border:1px solid #E2E8F0}.activity-item:hover{background:#f1f5f9;transform:translate(4px);border-color:#cbd5e1}.activity-icon{width:36px;height:36px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #2c3e5014}.activity-icon i{font-size:14px;color:#64748b}.activity-content{flex:1;min-width:0}.activity-action{font-size:14px;font-weight:500;color:#091d2e;margin:0 0 4px}.activity-detail{font-size:13px;color:#64748b;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-time{font-size:12px;color:#94a3b8;white-space:nowrap}.stats-grid{margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:20px}.stat-icon{width:64px;height:64px;border-radius:var(--pet-radius-md);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.cats-icon{background:#ff9f431a;color:var(--pet-primary)}.medical-icon{background:#48c9b01a;color:var(--pet-teal)}.stock-icon{background:#ff76751a;color:var(--pet-warning)}.stat-content h3{font-size:14px;font-weight:500;color:var(--pet-on-surface-variant);margin-bottom:8px}.stat-value{font-size:32px;font-weight:700;color:var(--pet-on-surface);margin-bottom:4px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.stat-label{font-size:12px;color:var(--pet-on-surface-variant)}.stock-progress-container{margin-top:12px}.stock-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.stock-progress-label{font-size:13px;font-weight:600;color:#091d2e}.stock-progress-threshold{font-size:12px;color:#64748b;padding:2px 8px;background:#f1f5f9;border-radius:6px}.stock-progress-bar{width:100%;height:12px;background:#f1f5f9;border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #0000001a}.stock-progress-fill{height:100%;border-radius:6px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stock-progress-fill.critical{background:linear-gradient(90deg,#ff7675,#d63031);animation:pulse-critical 2s ease-in-out infinite}.stock-progress-fill.warning{background:linear-gradient(90deg,#fdcb6e,#f39c12);animation:pulse-warning 2s ease-in-out infinite}.stock-progress-fill.low{background:linear-gradient(90deg,#74b9ff,#0984e3)}@keyframes pulse-critical{0%,to{opacity:1;box-shadow:0 0 8px #ff767599}50%{opacity:.8;box-shadow:0 0 12px #ff7675cc}}@keyframes pulse-warning{0%,to{opacity:1;box-shadow:0 0 6px #fdcb6e66}50%{opacity:.9;box-shadow:0 0 10px #fdcb6e99}}.stock-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:6px 6px 0 0}.pet-card-content{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;min-height:0}.task-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--pet-surface-container-low);border-radius:var(--pet-radius-sm);transition:all .2s}.task-item.completed{opacity:.6;background:var(--pet-surface-container)}.task-checkbox{position:relative;cursor:pointer;width:20px;height:20px;flex-shrink:0}.task-checkbox input{position:absolute;opacity:0;cursor:pointer}.checkmark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:#fff;border:2px solid var(--pet-surface-container-high);border-radius:50%;transition:all .2s}.task-checkbox input:checked~.checkmark{background-color:var(--pet-success);border-color:var(--pet-success)}.checkmark:after{content:"";position:absolute;display:none}.task-checkbox input:checked~.checkmark:after{display:block;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.task-content{flex:1;display:flex;flex-direction:column;gap:6px}.task-row-1{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-row-2{display:flex;align-items:center;gap:12px}.task-text{font-size:14px;color:var(--pet-on-surface);font-weight:500;flex:1}.task-item.completed .task-text{text-decoration:line-through;color:var(--pet-success)}.task-priority{padding:4px 12px;border-radius:12px;font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease}.task-priority.priority-high{background:linear-gradient(135deg,#ef444433,#ef44441a);color:#ef4444;border:1px solid rgba(239,68,68,.3);box-shadow:0 2px 4px #ef44441a}.task-priority.priority-high:hover{background:linear-gradient(135deg,#ef44444d,#ef444426);transform:translateY(-1px);box-shadow:0 3px 6px #ef444426}.task-priority.priority-medium{background:linear-gradient(135deg,#fb923c33,#fb923c1a);color:#fb923c;border:1px solid rgba(251,146,60,.3);box-shadow:0 2px 4px #fb923c1a}.task-priority.priority-medium:hover{background:linear-gradient(135deg,#fb923c4d,#fb923c26);transform:translateY(-1px);box-shadow:0 3px 6px #fb923c26}.task-priority.priority-low{background:linear-gradient(135deg,#22c55e33,#22c55e1a);color:#22c55e;border:1px solid rgba(34,197,94,.3);box-shadow:0 2px 4px #22c55e1a}.task-priority.priority-low:hover{background:linear-gradient(135deg,#22c55e4d,#22c55e26);transform:translateY(-1px);box-shadow:0 3px 6px #22c55e26}.task-status-completed{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;background:#22c55e26;color:#22c55e;white-space:nowrap;flex-shrink:0}.task-meta{font-size:12px;color:#64748b;display:flex;align-items:center;gap:4px}.task-meta i{font-size:10px}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;gap:12px;align-items:flex-start}.activity-icon{width:40px;height:40px;border-radius:var(--pet-radius-sm);background:var(--pet-surface-container);display:flex;align-items:center;justify-content:center;color:var(--pet-primary);flex-shrink:0}.activity-content{flex:1}.activity-text{font-size:14px;color:var(--pet-on-surface);margin-bottom:4px}.activity-time{font-size:12px;color:var(--pet-on-surface-variant)}.environment-grid{margin-top:16px}.environment-item{padding:16px;background:var(--pet-surface-container-low);border-radius:var(--pet-radius-sm)}.environment-item h4{font-size:14px;font-weight:600;color:var(--pet-on-surface);margin-bottom:12px}.environment-data{display:flex;gap:20px}.data-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--pet-on-surface)}.data-item i{color:var(--pet-primary)}.add-task-btn{margin-left:auto;padding:6px 16px;font-size:13px}.task-delete-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--pet-on-surface-variant);transition:all .2s;opacity:0}.task-item:hover .task-delete-btn{opacity:1}.task-delete-btn:hover{background:var(--pet-warning);color:#fff}.pet-loading{text-align:center;padding:40px 20px;color:var(--pet-on-surface-variant);font-size:16px}.pet-empty{text-align:center;padding:40px 20px;color:var(--pet-on-surface-variant)}.pet-empty i{font-size:48px;color:var(--pet-primary);margin-bottom:16px;display:block;opacity:.5}.pet-empty p{font-size:16px}@media(max-width:768px){.pet-toolbar{flex-direction:column}.pet-search{width:100%}.stat-card{flex-direction:column;text-align:center}.stat-icon{margin-bottom:12px}}.pet-modal{background:#fff;border-radius:var(--pet-radius-md);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--pet-shadow-lg);animation:slideUp .3s}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--pet-surface-container);flex-shrink:0}.modal-header h2{margin:0;font-size:20px;color:var(--pet-on-surface)}.close-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--pet-on-surface-variant);transition:all .2s}.close-btn:hover{background:var(--pet-surface-container);color:var(--pet-on-surface)}.empty-notifications{text-align:center;padding:40px 20px;color:var(--pet-on-surface-variant)}.empty-notifications i{font-size:48px;color:var(--pet-success);margin-bottom:16px;display:block}.empty-notifications p{font-size:16px}.notification-list{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;padding-right:8px}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.notification-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.notification-item{display:flex;gap:16px;padding:16px;background:var(--pet-surface-container-low);border-radius:var(--pet-radius-sm);border-left:4px solid var(--pet-primary);transition:all .2s}.notification-item:hover{background:var(--pet-surface-container)}.notification-item.notification-warning{border-left-color:var(--pet-warning)}.notification-item.notification-info{border-left-color:var(--pet-primary)}.notification-icon{width:40px;height:40px;border-radius:50%;background:var(--pet-surface-container);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-warning .notification-icon{background:#ff76751a;color:var(--pet-warning)}.notification-info .notification-icon{background:#ff9f431a;color:var(--pet-primary)}.notification-content{flex:1}.notification-content h4{font-size:14px;font-weight:600;color:var(--pet-on-surface);margin-bottom:4px}.notification-content p{font-size:13px;color:var(--pet-on-surface-variant);margin:0}.notification-time{font-size:12px;color:var(--pet-on-surface-variant);white-space:nowrap}.pet-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.pet-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;height:100%;padding:0;border:none}.pet-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.pet-card-image{height:200px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.pet-card-image img{width:100%;height:100%;object-fit:cover}.pet-image-placeholder{font-size:64px;color:#999}.pet-card-info{padding:16px;flex:1;display:flex;flex-direction:column}.pet-name-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pet-name-row h3{font-size:18px;margin:0;color:#333;flex:1}.pet-name-en{font-size:14px;color:#666;font-weight:400}.pet-status-chip{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0}.pet-status-success{background:#d4edda;color:#155724}.pet-status-warning{background:#fff3cd;color:#856404}.pet-status-info{background:#d1ecf1;color:#0c5460}.pet-breed{color:#666;font-size:14px;margin-bottom:6px}.pet-basic-info{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;margin-bottom:10px}.pet-reminder{margin-top:8px;padding-top:8px;border-top:1px solid #eee;font-size:14px;color:#ff9f43;display:flex;align-items:center;gap:8px}.reminder-soon{color:#ff7675;font-weight:600}.reminder-soon i{animation:bellRing 1s infinite}@keyframes bellRing{0%,to{transform:rotate(0)}25%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}.pet-card-actions{display:flex;gap:8px;padding:12px 16px;justify-content:flex-end;background:#f8f9fa;border-top:1px solid #e9ecef;flex-shrink:0}.pet-card-actions button{min-width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.pet-loading,.empty{text-align:center;padding:40px 20px;color:#999;font-size:16px}.pet-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s;overflow:hidden}.pet-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 16px #00000026;animation:slideUp .3s;align-items:center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;flex-shrink:0;width:100%}.modal-content{padding:24px;overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none;width:100%}.modal-content::-webkit-scrollbar{display:none}.avatar-upload{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px}.avatar-preview{width:120px;height:120px;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid #ff9f43}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-preview i{font-size:40px;color:#999}textarea.pet-input{resize:vertical;min-height:80px}.pet-btn-sm{padding:6px 12px;font-size:12px}.pet-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;animation:fadeIn .2s}.pet-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;background:#fff;box-shadow:-4px 0 16px #0000001a;animation:slideIn .3s;overflow-y:auto}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:10}.drawer-header h2{margin:0;font-size:18px;color:#333}.drawer-content{padding:24px}.detail-section{margin-bottom:24px}.detail-section h3{font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:12px;color:#999}.detail-item span{font-size:14px;color:#333}.notes-text{font-size:14px;color:#666;line-height:1.6}.detail-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #eee}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:768px){.pet-cards{grid-template-columns:1fr}.pet-drawer{width:100%}.form-grid,.detail-grid{grid-template-columns:1fr}}.stat-card{position:relative;padding:20px;min-height:140px}.stat-icon{position:absolute;top:16px;left:16px;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.stat-trend{position:absolute;top:16px;right:16px;font-size:12px;font-weight:600}.trend-up{color:#ff7675}.trend-down{color:#48c9b0}.trend-flat{color:#999}.alert-level{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.alert-normal{background:#ff9f4326;color:#ff9f43}.alert-urgent{background:#ff767526;color:#ff7675}.alert-critical{background:#d6303026;color:#d63030}.stat-content{position:absolute;bottom:20px;left:20px;right:20px}.stat-content h3{font-size:14px;font-weight:500;color:#64748b;margin:0 0 8px}.stat-value{font-size:24px;font-weight:700;color:#091d2e;margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;align-items:baseline;gap:4px}.stat-unit{font-size:14px;font-weight:500;color:#64748b}.consumption-icon{background:#ff9f431a;color:#ff9f43}.pending-icon{background:#3498db1a;color:#3498db}.items-icon{background:#48c9b01a;color:#48c9b0}.alert-icon{background:#ff76751a;color:#ff7675}.category-tabs{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.category-tab{padding:10px 20px;border-radius:20px;background:#fff;border:2px solid #e0e0e0;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.category-tab:hover{border-color:#ff9f43;color:#ff9f43}.category-tab.active{background:#ff9f43;border-color:#ff9f43;color:#fff}.inventory-list{display:flex;flex-direction:column;gap:16px}.inventory-item{display:grid;grid-template-columns:1fr 200px 160px auto;gap:16px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;align-items:center;transition:all .2s}.inventory-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.inventory-info{flex:1}.inventory-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.inventory-header h4{font-size:16px;font-weight:600;color:#333;margin:0}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.status-danger{background:#ffe0e0;color:#d32f2f}.status-warning{background:#fff3cd;color:#f57c00}.status-success{background:#d4edda;color:#388e3c}.inventory-meta{display:flex;gap:16px;font-size:13px;color:#666}.sku{font-family:Courier New,monospace;background:#f5f5f5;padding:2px 8px;border-radius:4px}.category{color:#999}.inventory-stock{display:flex;flex-direction:column;gap:8px;min-width:200px}.stock-numbers{display:flex;align-items:baseline;gap:4px;font-size:14px}.current{font-size:18px;font-weight:600;color:#333}.separator{color:#999}.max{color:#666}.unit{color:#999;font-size:13px}.pet-progress{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden}.pet-progress-bar{height:100%;border-radius:4px;transition:width .3s}.pet-progress-bar.danger{background:linear-gradient(90deg,#ff7675,#f99)}.pet-progress-bar.warning{background:linear-gradient(90deg,#ff9f43,#ffb380)}.pet-progress-bar.success{background:linear-gradient(90deg,#48c9b0,#7bed9f)}.inventory-details{display:flex;flex-direction:row;gap:16px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item .label{font-size:12px;color:#999}.detail-item .value{font-size:14px;color:#333}.inventory-actions{display:flex;gap:8px}.pet-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.pet-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 16px #00000026;animation:slideUp .3s}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;flex-shrink:0}.modal-header h2{margin:0;font-size:20px;color:#333}.close-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.close-btn:hover{background:#f5f5f5;color:#333}.modal-content{padding:24px;overflow-y:auto;flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-item{display:flex;flex-direction:column;gap:8px}.form-item.full-width{grid-column:1 / -1}.form-item label{font-size:14px;font-weight:500;color:#333}.pet-input{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .2s}.pet-input:focus{outline:none;border-color:#ff9f43;box-shadow:0 0 0 3px #ff9f431a}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #eee}.pet-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.pet-btn-primary{background:#ff9f43;color:#fff}.pet-btn-primary:hover{background:#ff8c2a}.pet-btn-success{background:#48c9b0;color:#fff}.pet-btn-success:hover{background:#3db9a0}.pet-btn-info{background:#3498db;color:#fff}.pet-btn-info:hover{background:#2980b9}.pet-btn-secondary{background:#f5f5f5;color:#333}.pet-btn-secondary:hover{background:#e0e0e0}.pet-btn-danger{background:#ff7675;color:#fff}.pet-btn-danger:hover{background:#ff6b6a}.pet-btn-icon{width:36px;height:36px;padding:0;justify-content:center;border-radius:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.inventory-item{grid-template-columns:1fr;gap:16px}.inventory-stock,.inventory-details,.inventory-actions{width:100%}}@media(max-width:768px){.category-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.category-tab{flex-shrink:0}.form-grid{grid-template-columns:1fr}}.empty-records{text-align:center;padding:60px 20px;color:#999}.empty-records i{font-size:64px;color:#ddd;margin-bottom:16px;display:block}.empty-records p{font-size:16px}.records-list{display:flex;flex-direction:column;gap:16px}.record-item{display:flex;gap:16px;padding:16px;background:#f9f9f9;border-radius:8px;border-left:4px solid #ddd;transition:all .2s}.record-item:hover{background:#f5f5f5;box-shadow:0 2px 4px #0000001a}.record-inbound{border-left-color:#48c9b0}.record-outbound{border-left-color:#3498db}.record-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.record-inbound .record-icon{background:#48c9b01a;color:#48c9b0}.record-outbound .record-icon{background:#3498db1a;color:#3498db}.record-content{flex:1}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.record-type{font-size:14px;font-weight:600;color:#333}.record-quantity{font-size:16px;font-weight:600}.record-inbound .record-quantity{color:#48c9b0}.record-outbound .record-quantity{color:#3498db}.record-purpose,.record-notes{font-size:13px;color:#666;margin-top:4px}.record-purpose .label,.record-notes .label{color:#999}.record-date{font-size:12px;color:#999;white-space:nowrap;align-self:flex-start;margin-top:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px;margin-top:20px}.pagination-info{color:#64748b;font-size:14px}.pet-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.pet-page-header{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:32px 40px;margin-bottom:32px;box-shadow:0 8px 32px #00000014}.pet-page-header h1{font-size:32px;font-weight:700;color:#2d3748;margin-bottom:8px;letter-spacing:-.5px}.pet-page-header p{font-size:16px;color:#718096;font-weight:500}.pet-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:none;box-shadow:0 4px 24px #0000000f,0 1px 2px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.pet-card:hover{box-shadow:0 8px 40px #0000001f,0 2px 4px #00000014;transform:translateY(-2px)}.pet-card-header{background:linear-gradient(135deg,#ff9f431a,#ff9f430d);padding:20px 24px;border-bottom:1px solid rgba(255,159,67,.1);font-size:18px;font-weight:600;color:#2d3748;display:flex;align-items:center;gap:12px}.pet-card-header i{color:#ff9f43;font-size:20px}.pet-grid-3-1{display:grid;grid-template-columns:3fr 1fr;gap:24px;margin-bottom:32px}@media(max-width:1024px){.pet-grid-3-1{grid-template-columns:1fr}}.pet-grid-1-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}@media(max-width:1024px){.pet-grid-1-2{grid-template-columns:1fr}}.pet-right-column{display:flex;flex-direction:column;gap:24px}.pet-card-half{flex:1}.pet-card-photo-only{flex:2;padding:0;overflow:hidden;border-radius:20px;min-height:280px;max-height:350px}.pet-card-photo-only .weekly-best-pet{height:100%;border-radius:20px}.pet-card-insights-only{flex:1;padding:20px;overflow:hidden;border-radius:20px;min-height:140px;max-height:175px}.pet-card-insights-only .ai-insights{height:100%;max-height:none;overflow-y:auto}@media(max-width:1024px){.pet-right-column{flex-direction:row}.pet-card-half{min-height:auto;max-height:none}}@media(max-width:768px){.pet-right-column{flex-direction:column}}.time-range-selector{display:flex;gap:12px;margin-left:auto}.range-btn{padding:8px 20px;border-radius:12px;background:#fffc;border:1px solid rgba(255,159,67,.2);color:#718096;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.range-btn:hover{background:#ff9f431a;color:#ff9f43;border-color:#ff9f434d}.range-btn.active{background:linear-gradient(135deg,#ff9f43,#ff8c2a);color:#fff;border-color:transparent;box-shadow:0 4px 12px #ff9f434d}.chart-container{padding:24px}.line-chart{display:flex;gap:20px;height:280px;margin-bottom:20px}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:13px;color:#718096;padding:12px 0;font-weight:500}.chart-area{flex:1;position:relative;padding:12px 0;background:linear-gradient(180deg,#ff9f4305,#ff9f4300);border-radius:12px}.line-chart-svg{width:100%;height:100%;position:absolute;top:0;left:0}.line-chart-area{opacity:.6;transition:opacity .2s;animation:fadeInArea .8s ease-out}.line-chart-area:hover{opacity:.8}.line-chart-line{fill:none;stroke:#ff9f43;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 6px rgba(255,159,67,.3));animation:drawLine 1s ease-out}@keyframes fadeInArea{0%{opacity:0}to{opacity:.6}}@keyframes drawLine{0%{stroke-dasharray:1000;stroke-dashoffset:1000}to{stroke-dasharray:1000;stroke-dashoffset:0}}.line-chart-point{fill:#ff9f43;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;transition:all .2s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));animation:fadeInPoint .5s ease-out}.line-chart-point:hover{r:4;fill:#ff8c2a}@keyframes fadeInPoint{0%{opacity:0;r:0}to{opacity:1;r:3}}.line-chart-label{position:absolute;transform:translate(-50%,100%);font-size:12px;font-weight:600;color:#2d3748;pointer-events:none;margin-bottom:12px;animation:fadeInLabel .6s ease-out}@keyframes fadeInLabel{0%{opacity:0;transform:translate(-50%,120%)}to{opacity:1;transform:translate(-50%,100%)}}.label-value{background:#fff;padding:4px 8px;border-radius:6px;box-shadow:0 2px 4px #00000014;border:1px solid rgba(255,159,67,.2)}.chart-legend{text-align:center;font-size:15px;color:#2d3748;font-weight:500}.chart-legend strong{color:#ff9f43;font-size:20px;font-weight:700}.expense-chart{display:flex;gap:40px;align-items:center;padding:24px}.donut-chart{position:relative;width:200px;height:200px;flex-shrink:0}.donut-svg{width:100%;height:100%;transform:rotate(0)}.donut-segment{transition:all .3s;cursor:pointer}.donut-segment:hover{opacity:.8;transform:scale(1.05)}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.total-label{font-size:13px;color:#718096;margin-bottom:4px;font-weight:500}.total-value{font-size:24px;font-weight:700;color:#2d3748}.expense-legend{flex:1;display:flex;flex-direction:column;gap:16px}.legend-item{display:flex;align-items:center;gap:16px;font-size:15px;padding:8px 12px;background:#ffffff80;border-radius:12px;transition:all .2s}.legend-item:hover{background:#fffc;transform:translate(4px)}.legend-color{width:16px;height:16px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.legend-label{flex:1;color:#2d3748;font-weight:600}.legend-value{color:#2d3748;font-weight:700}.legend-percentage{color:#718096;font-size:14px;min-width:50px;text-align:right;font-weight:500}.health-stats-container{display:flex;flex-direction:column;gap:20px;padding:20px}.health-stats{display:flex;flex-direction:column;gap:16px}.health-item{display:flex;flex-direction:column;gap:8px;padding:12px;background:#ffffff80;border-radius:16px;transition:all .2s}.health-item:hover{background:#fffc;transform:translate(4px)}.health-header{display:flex;justify-content:space-between;align-items:center}.health-label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#2d3748}.health-label i{font-size:18px}.health-count{font-size:16px;font-weight:700;color:#2d3748}.health-percentage{font-size:13px;color:#718096;text-align:right;font-weight:500}.pet-progress{height:8px;background:#0000000d;border-radius:8px;overflow:hidden}.pet-progress-bar{height:100%;border-radius:8px;transition:width .3s ease}.pet-progress-bar.success{background:linear-gradient(90deg,#48bb78,#38a169)}.pet-progress-bar.warning{background:linear-gradient(90deg,#ff9f43,#ff8c2a)}.pet-progress-bar.info{background:linear-gradient(90deg,#4299e1,#3182ce)}.health-insights{border-top:2px solid rgba(255,159,67,.1);padding-top:16px}.health-insights-header{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:#2d3748;margin-bottom:12px}.health-insights-header i{color:#ff9f43;font-size:18px}.health-insights-list{display:flex;flex-direction:column;gap:12px}.health-insight-item{display:flex;gap:12px;padding:12px;border-radius:16px;border-left:4px solid;transition:all .2s;background:#ffffff80}.health-insight-item:hover{box-shadow:0 4px 12px #00000014;transform:translate(4px)}.health-insight-item.insight-warning{border-left-color:#f56565}.health-insight-item.insight-success{border-left-color:#48bb78}.health-insight-item.insight-info{border-left-color:#4299e1}.health-insight-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.health-insight-item.insight-warning .health-insight-icon{background:#f565651a;color:#f56565}.health-insight-item.insight-success .health-insight-icon{background:#48bb781a;color:#48bb78}.health-insight-item.insight-info .health-insight-icon{background:#4299e11a;color:#4299e1}.health-insight-content{flex:1}.health-insight-content h4{font-size:16px;font-weight:600;color:#2d3748;margin-bottom:8px}.health-insight-content p{font-size:14px;color:#718096;line-height:1.6}.ai-insights{display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:#94A3B8 #F1F5F9}.ai-insights::-webkit-scrollbar{width:8px}.ai-insights::-webkit-scrollbar-track{background:#ffffff80;border-radius:8px}.ai-insights::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e0,#a0aec0);border-radius:8px}.ai-insights::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a0aec0,#718096)}.insight-card{display:flex;gap:12px;padding:12px;border-radius:16px;border-left:4px solid;transition:all .3s;background:#ffffff80}.insight-card:hover{box-shadow:0 4px 16px #0000001a;transform:translate(4px);background:#fffc}.insight-warning{border-left-color:#f56565}.insight-success{border-left-color:#48bb78}.insight-info{border-left-color:#4299e1}.insight-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.insight-warning .insight-icon{background:#f565651a;color:#f56565}.insight-success .insight-icon{background:#48bb781a;color:#48bb78}.insight-info .insight-icon{background:#4299e11a;color:#4299e1}.insight-content{flex:1}.insight-content h4{font-size:14px;font-weight:600;color:#2d3748;margin-bottom:6px}.insight-content p{font-size:13px;color:#718096;line-height:1.5}.weekly-best-pet{position:relative;width:100%;height:100%;overflow:hidden;border-radius:20px}.best-pet-photo{position:relative;width:100%;height:100%;min-height:280px}.best-pet-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.best-pet-photo:hover img{transform:scale(1.1)}.photo-placeholder{width:100%;height:100%;min-height:280px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff9f4333,#ff9f431a);color:#ff9f43;font-size:64px}.best-pet-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.8) 100%);padding:20px 16px}.best-pet-info-bottom{text-align:left}.best-pet-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#ff9f43,#ff8c2a);color:#fff;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:8px;box-shadow:0 4px 12px #ff9f4366;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.best-pet-badge i{font-size:14px;color:gold}.best-pet-name{font-size:16px;font-weight:700;color:#fff;margin-bottom:6px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.best-pet-comment{font-size:12px;color:#fffffff2;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pet-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#718096;font-size:16px;text-align:center}.pet-empty i{font-size:48px;color:#cbd5e0;margin-bottom:16px}.pet-empty p{font-size:15px;color:#718096;font-weight:500}.pet-loading{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:#718096;font-size:16px;font-weight:500}@media(max-width:768px){.pet-page-header{padding:24px 20px;border-radius:16px}.pet-page-header h1{font-size:24px}.pet-page-header p{font-size:14px}.time-range-selector{width:100%;margin-left:0;margin-top:16px;justify-content:center}.range-btn{padding:6px 16px;font-size:13px}.expense-chart{flex-direction:column;align-items:center;padding:16px}.donut-chart{width:180px;height:180px}.expense-legend{width:100%}.line-chart{height:200px}.chart-container,.health-stats-container{padding:16px}.health-item{padding:12px}.best-pet-photo{min-height:200px}.photo-placeholder{min-height:200px;font-size:48px}.best-pet-overlay{padding:16px 12px}.best-pet-name{font-size:16px}.best-pet-comment{font-size:12px}}:root{--journey-ink: #17201c;--journey-muted: #68736d;--journey-green: #1d6b52;--journey-green-dark: #12513e;--journey-mint: #e5f1eb;--journey-paper: #f5f4ef;--journey-line: #dfe3de;--journey-blue: #e9f4f6;--journey-amber: #fbf0dc;--journey-coral: #f7e7e2;--journey-white: #fff;--journey-shadow: 0 12px 34px rgba(26, 42, 34, .1)}.spin{animation:journey-spin .8s linear infinite}@keyframes journey-spin{to{transform:rotate(360deg)}}.journey-primary,.journey-secondary,.journey-quiet,.journey-back{min-height:38px;border:0;border-radius:6px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:13px;font-weight:700;letter-spacing:0;cursor:pointer}.journey-primary{background:var(--journey-green);color:#fff}.journey-primary:hover{background:var(--journey-green-dark)}.journey-secondary{border:1px solid #cbd3ce;background:#fff;color:var(--journey-ink)}.journey-secondary:hover{border-color:var(--journey-green);color:var(--journey-green)}.journey-quiet,.journey-back{background:transparent;color:var(--journey-muted)}.journey-primary:disabled,.journey-secondary:disabled{cursor:not-allowed;opacity:.5}.journey-kicker{color:var(--journey-green);display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0}.journey-library{max-width:1220px;padding:12px 0 54px}.journey-library-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.journey-library-header p{margin:0;color:var(--journey-muted);font-size:14px;line-height:1.6}.journey-library-header .journey-primary{min-height:42px}.journey-invitations{margin-bottom:26px;padding:16px 18px;border-left:3px solid var(--journey-green);background:var(--journey-mint)}.journey-section-title{display:flex;align-items:center;gap:9px;color:var(--journey-ink)}.journey-section-title>div{display:flex;flex-direction:column}.journey-section-title span{color:var(--journey-muted);font-size:11px;font-weight:500}.journey-invite{min-height:54px;border-top:1px solid rgba(29,107,82,.14);display:flex;align-items:center;justify-content:space-between;gap:16px}.journey-invite:first-of-type{margin-top:10px}.journey-invite>div:first-child{display:flex;flex-direction:column}.journey-invite>div:first-child span{color:var(--journey-muted);font-size:12px}.journey-invite>div:last-child{display:flex;gap:6px}.journey-library-tools{border-bottom:1px solid var(--journey-line);display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.journey-tabs{display:flex;gap:22px}.journey-tabs button{height:45px;padding:0 2px;border:0;border-bottom:2px solid transparent;background:none;color:var(--journey-muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.journey-tabs button.active{border-color:var(--journey-green);color:var(--journey-green)}.journey-search{width:min(280px,40vw);height:36px;margin-bottom:8px;border:1px solid var(--journey-line);background:#fff;display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--journey-muted)}.journey-search input{min-width:0;flex:1;border:0;outline:0;font:inherit;font-size:13px}.journey-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.journey-trip-card{min-height:260px;padding:18px;border:1px solid var(--journey-line);border-radius:7px;background:#fff;text-align:left;color:var(--journey-ink);cursor:pointer;display:flex;flex-direction:column;transition:border-color .18s,box-shadow .18s,transform .18s}.journey-trip-card:hover{transform:translateY(-2px);border-color:#aebbb4;box-shadow:var(--journey-shadow)}.journey-trip-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--journey-muted);font-size:11px}.journey-status{min-height:24px;padding:2px 8px;border-radius:4px;display:inline-flex;align-items:center;background:var(--journey-mint);color:var(--journey-green-dark);font-size:11px;font-weight:800}.journey-status.active{background:#dff1ea;color:#096548}.journey-status.completed{background:#edf0f2;color:#51606a}.journey-status.archived{background:#f2ede9;color:#79675a}.journey-trip-glyph{width:45px;height:45px;margin:25px 0 14px;display:grid;place-items:center;background:var(--journey-paper);color:var(--journey-green);border-radius:50%}.journey-trip-card h2{font-size:19px;line-height:1.35;letter-spacing:0}.journey-trip-card>p{color:var(--journey-muted);font-size:13px}.journey-trip-meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--journey-muted);font-size:11px}.journey-trip-meta span{display:inline-flex;align-items:center;gap:5px}.journey-trip-foot{border-top:1px solid var(--journey-line);margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;color:var(--journey-muted);font-size:11px}.journey-skeleton{height:260px;border-radius:7px;background:linear-gradient(90deg,#f0f1ef 25%,#fafafa 37%,#f0f1ef 63%);background-size:400% 100%;animation:journey-skeleton 1.2s ease infinite}@keyframes journey-skeleton{0%{background-position:100% 0}to{background-position:0 0}}.journey-empty{min-height:390px;border:1px dashed #c9d0cc;background:#ffffffb3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.journey-empty-mark{width:62px;height:62px;margin-bottom:17px;border-radius:50%;display:grid;place-items:center;background:var(--journey-mint);color:var(--journey-green)}.journey-empty h2{font-size:21px;letter-spacing:0}.journey-empty p{margin:5px 0 18px;color:var(--journey-muted);font-size:13px}.journey-error{min-height:48px;margin-bottom:16px;padding:10px 13px;display:flex;align-items:center;gap:9px;background:var(--journey-coral);color:#793b2f;font-size:13px}.journey-error span{flex:1}.journey-error button{border:0;background:transparent;color:inherit;display:flex;gap:5px;cursor:pointer;font-weight:700}.journey-new{max-width:1050px;padding-top:10px}.journey-back{margin-bottom:26px;padding-left:0}.journey-new-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:72px;align-items:start}.journey-new-intro{padding-top:40px}.journey-new-intro h1{max-width:360px;margin-top:10px;color:var(--journey-ink);font-size:34px;line-height:1.2;letter-spacing:0}.journey-new-intro p{margin-top:12px;color:var(--journey-muted)}.journey-form{padding:28px;border:1px solid var(--journey-line);background:#fff;box-shadow:0 14px 36px #18201c0f}.journey-form label,.journey-dialog label{display:flex;flex-direction:column;gap:6px;margin-bottom:17px;color:var(--journey-ink);font-size:12px;font-weight:700}.journey-form input,.journey-form select,.journey-dialog input,.journey-dialog select,.journey-invite-form input,.journey-invite-form select{width:100%;min-width:0;height:42px;border:1px solid #cfd5d1;border-radius:4px;padding:0 11px;background:#fff;color:var(--journey-ink);font:inherit;font-size:14px;outline:0}.journey-form input:focus,.journey-form select:focus,.journey-dialog input:focus,.journey-dialog select:focus{border-color:var(--journey-green);box-shadow:0 0 0 3px #1d6b521a}.journey-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.journey-submit{width:100%;min-height:44px}.journey-inline-error{padding:10px 12px;margin-bottom:12px;background:var(--journey-coral);color:#7b372d;display:flex;gap:7px;align-items:flex-start;font-size:12px}.journey-shell{height:calc(100vh - 64px);min-height:620px;margin:-24px;background:var(--journey-paper);color:var(--journey-ink);display:flex;flex-direction:column;overflow:hidden}.app.journey-immersive .main-content{padding:0}.app.journey-immersive .journey-shell{margin:0}.journey-workspace-header{height:64px;flex:0 0 64px;border-bottom:1px solid var(--journey-line);background:#ffffffed;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;padding:0 18px;z-index:20}.journey-workspace-brand{min-width:0;display:flex;align-items:center;gap:10px}.journey-wordmark{display:inline-flex;align-items:center;gap:9px;color:var(--journey-ink);text-decoration:none;font-size:17px}.journey-wordmark>span{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;background:var(--journey-green);color:#fff}.journey-switcher{position:relative;justify-self:center}.journey-switcher-trigger{min-width:230px;max-width:360px;border:0;background:transparent;color:var(--journey-ink);display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font:inherit}.journey-switcher-trigger>span{min-width:0;display:flex;flex-direction:column;text-align:center}.journey-switcher-trigger small{color:var(--journey-muted);font-size:9px;font-weight:700}.journey-switcher-trigger strong{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.journey-popover-shield{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:transparent;z-index:39}.journey-switcher-popover{position:absolute;top:calc(100% + 15px);left:50%;transform:translate(-50%);width:min(380px,calc(100vw - 28px));border:1px solid var(--journey-line);border-radius:7px;background:#fff;box-shadow:var(--journey-shadow);z-index:40;overflow:hidden}.journey-switcher-title{min-height:52px;padding:0 14px;border-bottom:1px solid var(--journey-line);display:flex;align-items:center;justify-content:space-between}.journey-switcher-title a{color:var(--journey-green);display:inline-flex;align-items:center;gap:4px;text-decoration:none;font-size:12px;font-weight:700}.journey-switcher-tools{padding:9px 9px 7px;border-bottom:1px solid var(--journey-line);display:grid;gap:7px}.journey-switcher-tools>label{height:34px;padding:0 9px;border:1px solid #d9dedb;border-radius:4px;color:var(--journey-muted);display:flex;align-items:center;gap:7px}.journey-switcher-tools input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:11px}.journey-switcher-tools>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.journey-switcher-tools>div button{min-height:28px;padding:3px 5px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);font-size:9px;font-weight:750;cursor:pointer}.journey-switcher-tools>div button.active{background:var(--journey-mint);color:var(--journey-green)}.journey-switcher-list{max-height:330px;overflow:auto;padding:5px}.journey-switcher-list button{width:100%;min-height:69px;padding:8px 10px;border:0;border-radius:4px;background:#fff;color:var(--journey-ink);display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left}.journey-switcher-list button:hover,.journey-switcher-list button.active{background:var(--journey-mint)}.journey-switcher-list button>span{min-width:0;flex:1;display:flex;flex-direction:column}.journey-switcher-list strong,.journey-switcher-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-switcher-list strong{font-size:13px}.journey-switcher-list small{color:var(--journey-muted);font-size:10px}.journey-switcher-status{flex:0 0 auto;padding:3px 5px;border-radius:3px;background:#edf1ef;color:var(--journey-muted);font-size:8px;font-style:normal;font-weight:750}.journey-switcher-status.active{background:#dceee6;color:var(--journey-green)}.journey-switcher-status.completed{background:#e8e9e8;color:#5f6863}.journey-switcher-status.archived{background:#f0ebe4;color:#786c60}.journey-switcher-empty{min-height:84px;color:var(--journey-muted);display:grid;place-items:center;font-size:11px}.journey-switcher-invitations{min-height:51px;padding:7px 13px;border-top:1px solid var(--journey-line);color:var(--journey-ink);display:flex;align-items:center;gap:8px;text-decoration:none}.journey-switcher-invitations>span{min-width:0;flex:1;display:flex;flex-direction:column}.journey-switcher-invitations strong{font-size:11px}.journey-switcher-invitations small{color:var(--journey-muted);font-size:9px}.journey-switcher-all{height:46px;border-top:1px solid var(--journey-line);color:var(--journey-ink);display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:700;text-decoration:none}.journey-workspace-actions{justify-self:end;display:flex;align-items:center;gap:7px}.journey-workspace-actions>button,.journey-map-panel header button,.journey-day header>button,.journey-special-view header>button{width:36px;height:36px;border:0;border-radius:5px;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-workspace-actions>button:hover{background:var(--journey-mint);color:var(--journey-green)}.journey-members{position:relative}.journey-members-trigger{min-width:70px;height:36px;padding:0 8px;border:1px solid var(--journey-line);border-radius:5px;background:#fff;color:var(--journey-muted);display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.journey-members-trigger:hover,.journey-members-trigger[aria-expanded=true]{border-color:#a9c0b5;background:var(--journey-mint);color:var(--journey-green)}.journey-members-trigger>strong{color:currentColor;font-size:10px;white-space:nowrap}.journey-member-preview{display:flex;align-items:center;padding-left:4px}.journey-member-preview>span{width:21px;height:21px;margin-left:-5px;border:2px solid white;border-radius:50%;background:#dcebe4;color:var(--journey-green-dark);display:grid;place-items:center;font-size:8px;font-weight:800}.journey-members-popover{position:absolute;top:calc(100% + 13px);right:0;z-index:40;width:min(300px,calc(100vw - 20px));border:1px solid var(--journey-line);border-radius:7px;background:#fff;box-shadow:var(--journey-shadow);overflow:hidden}.journey-members-popover>header{min-height:53px;padding:0 12px 0 14px;border-bottom:1px solid var(--journey-line);display:flex;align-items:center;justify-content:space-between}.journey-members-popover>header>div{display:flex;flex-direction:column}.journey-members-popover>header strong{font-size:12px}.journey-members-popover>header span{color:var(--journey-muted);font-size:9px}.journey-members-popover>header button{width:30px;height:30px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-members-popover>header button:hover{background:var(--journey-paper);color:var(--journey-green)}.journey-members-popover .journey-member-list{max-height:260px;padding:4px 13px;overflow-y:auto}.journey-members-popover .journey-member-list>div:last-child{border-bottom:0}.journey-members-popover>a{min-height:43px;padding:0 13px;border-top:1px solid var(--journey-line);color:var(--journey-green);display:flex;align-items:center;gap:7px;text-decoration:none;font-size:10px;font-weight:750}.journey-members-popover>a svg:last-child{margin-left:auto}.journey-workspace-banner,.journey-workspace-notice{min-height:38px;padding:8px 15px;display:flex;align-items:center;gap:8px;font-size:12px;z-index:19}.journey-workspace-banner{background:var(--journey-coral);color:#73382e}.journey-workspace-notice{background:#e4f3ea;color:var(--journey-green-dark)}.journey-workspace-banner button,.journey-workspace-notice button{margin-left:auto;border:0;background:transparent;color:inherit;cursor:pointer}.journey-publish-notice{min-height:54px;padding:9px 15px;background:#e4f3ea;color:var(--journey-green-dark);display:flex;align-items:center;gap:9px;z-index:19}.journey-publish-notice>div:first-of-type{min-width:0;flex:1;display:flex;flex-direction:column}.journey-publish-notice strong{font-size:12px}.journey-publish-notice span{margin-top:2px;color:#4d6b5f;font-size:9px}.journey-publish-notice-actions{display:flex;align-items:center;gap:5px}.journey-publish-notice-actions button{min-height:31px;padding:0 8px;border:1px solid #b8d1c5;border-radius:4px;background:#ffffffad;color:var(--journey-green-dark);display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:750;cursor:pointer}.journey-publish-notice-actions button:last-child{width:31px;padding:0;border-color:transparent;background:transparent}.journey-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(300px,340px) minmax(520px,1fr) minmax(360px,40vw);overflow:hidden}.journey-agent{position:relative;min-width:0;border-right:1px solid var(--journey-line);background:#f6f2e9;display:flex;flex-direction:column;overflow:hidden}.journey-agent>header{min-height:82px;padding:14px 18px;border-bottom:1px solid var(--journey-line);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.journey-agent>header>div>span{display:flex;align-items:center;gap:7px;color:var(--journey-green);font-size:10px;font-weight:800}.journey-agent>header h2{margin-top:5px;font-size:14px;line-height:1.35;letter-spacing:0}.journey-online{color:var(--journey-green);font-size:10px;font-style:normal;display:flex;align-items:center;gap:5px}.journey-online:before{content:"";width:6px;height:6px;border-radius:50%;background:#398c6f}.journey-online.readonly{color:var(--journey-muted)}.journey-online.readonly:before{background:#9ca59f}.journey-agent-body{flex:1;min-height:0;padding:14px;overflow-y:auto}.journey-agent-note{width:fit-content;max-width:100%;margin:0 auto 24px;padding:6px 9px;border-radius:4px;background:#e5f1ebe6;color:#456156;display:flex;align-items:center;gap:6px;font-size:9px}.journey-agent-welcome{display:flex;align-items:flex-start;gap:9px}.journey-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:6px;display:grid;place-items:center;background:var(--journey-green);color:#fff}.journey-agent-welcome>div:last-child{padding:10px 11px;border:1px solid rgba(210,208,199,.7);background:#ffffffbf}.journey-agent-welcome strong{font-size:11px}.journey-agent-welcome p{margin-top:5px;color:#4d5651;font-size:12px;line-height:1.75}.journey-run-state{padding:16px;border:1px solid #cdd9d2;background:#fff;display:flex;align-items:center;gap:12px;color:var(--journey-green)}.journey-run-state>div{display:flex;flex-direction:column}.journey-run-state span{margin-top:2px;color:var(--journey-muted);font-size:10px}.journey-proposal{border:1px solid #cad6d0;border-radius:6px;background:#fff;padding:14px;box-shadow:0 8px 22px #1934280f}.journey-proposal-title{display:flex;gap:9px;color:var(--journey-green)}.journey-proposal-title>div{display:flex;flex-direction:column}.journey-proposal-title strong{font-size:12px}.journey-proposal-title span{color:var(--journey-muted);font-size:9px}.journey-proposal>p{margin:12px 0;font-size:12px;line-height:1.65}.journey-proposal ul{list-style:none;display:grid;gap:7px}.journey-proposal li{display:flex;align-items:center;gap:7px;color:#4d5b54;font-size:10px}.journey-proposal-risks{margin-top:12px;padding:8px;background:var(--journey-amber);color:#715327;display:flex;align-items:flex-start;gap:6px;font-size:10px}.journey-proposal-actions{margin-top:13px;display:flex;flex-wrap:wrap;gap:6px}.journey-proposal-actions button{min-height:34px;padding:0 10px;font-size:11px}.journey-source-list{margin-top:16px;display:grid;gap:6px}.journey-source-list>strong{font-size:10px;color:var(--journey-muted)}.journey-source-list label{min-height:32px;padding:4px 8px;background:#fff9;display:flex;align-items:center;gap:7px;font-size:10px;cursor:pointer}.journey-source-list label span{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-agent-composer{margin:10px;padding:9px;border:1px solid #b8beb9;border-radius:7px;background:#fff;box-shadow:0 5px 15px #28322c0d}.journey-agent-composer :disabled{cursor:not-allowed;opacity:.58}.journey-source-entry{height:30px;border-bottom:1px solid #edf0ed;display:flex;align-items:center}.journey-source-entry input{min-width:0;flex:1;border:0;outline:0;font:inherit;font-size:10px}.journey-source-entry button{width:27px;height:27px;border:0;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-agent-composer textarea{width:100%;height:62px;padding:8px 2px;resize:none;border:0;outline:0;color:var(--journey-ink);font:inherit;font-size:12px;line-height:1.5}.journey-composer-tools{display:flex;align-items:center;gap:6px}.journey-composer-tools>button:first-child{width:30px;height:30px;border:0;border-radius:4px;background:var(--journey-paper);color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-composer-tools select{min-width:0;flex:1;height:30px;border:0;outline:0;background:transparent;color:var(--journey-muted);font-size:10px}.journey-balance{white-space:nowrap;color:#69562e;display:flex;align-items:center;gap:3px;font-size:10px;font-weight:700}.journey-send{width:31px;height:31px;flex:0 0 31px;border:0;border-radius:6px;background:var(--journey-green);color:#fff;display:grid;place-items:center;cursor:pointer}.journey-send:disabled{opacity:.4;cursor:not-allowed}.journey-quote-confirm{min-height:31px;padding:0 8px;border:0;border-radius:5px;background:var(--journey-green);color:#fff;display:flex;align-items:center;gap:4px;font-size:9px;font-weight:800;cursor:pointer}.journey-agent-unavailable{display:block;margin-top:5px;color:#9a4d3b;font-size:9px}.journey-agent>header h2{max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-agent-header-actions{flex:0 0 auto;display:flex;gap:3px}.journey-agent-header-actions button,.journey-agent-thread-panel-title button{width:30px;height:30px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-agent-header-actions button:hover,.journey-agent-thread-panel-title button:hover{background:#fff;color:var(--journey-green)}.journey-agent-header-actions button:disabled{opacity:.45;cursor:not-allowed}.journey-agent-thread-panel{position:absolute;top:82px;right:0;bottom:0;left:0;z-index:28;padding:12px;background:#faf9f5fa;display:flex;flex-direction:column;box-shadow:12px 18px 30px #212f271f}.journey-agent-thread-panel-title{min-height:36px;display:flex;align-items:center;justify-content:space-between}.journey-agent-thread-panel-title strong{font-size:13px}.journey-agent-archived-toggle{min-height:34px;color:var(--journey-muted);display:flex;align-items:center;gap:6px;font-size:10px}.journey-agent-thread-list{min-height:0;flex:1;overflow-y:auto;display:grid;align-content:start;gap:5px}.journey-agent-thread-list>div{min-height:58px;border:1px solid transparent;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.journey-agent-thread-list>div.active{border-color:#b9cdc3;background:#fff}.journey-agent-thread-list>div.archived{opacity:.58}.journey-agent-thread-main{min-width:0;height:100%;padding:8px;border:0;background:transparent;color:var(--journey-ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;cursor:pointer}.journey-agent-thread-main strong,.journey-agent-thread-main span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-agent-thread-main strong{font-size:11px}.journey-agent-thread-main span{margin-top:3px;color:var(--journey-muted);font-size:9px}.journey-agent-thread-list>div>div{padding-right:5px;display:flex}.journey-agent-thread-list>div>div button{width:25px;height:25px;border:0;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-agent-thread-empty{padding:38px 0;color:var(--journey-muted);font-size:11px;text-align:center}.journey-agent-loading{min-height:90px;color:var(--journey-muted);display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px}.journey-agent-load-more{height:28px;margin:0 auto 12px;border:0;background:transparent;color:var(--journey-green);display:block;font-size:10px;cursor:pointer}.journey-agent-messages{display:flex;flex-direction:column;gap:15px}.journey-agent-message{min-width:0;display:flex;align-items:flex-start;gap:7px}.journey-agent-message.user{justify-content:flex-end}.journey-agent-message-avatar{width:27px;height:27px;flex:0 0 27px;border-radius:5px;background:var(--journey-green);color:#fff;display:grid;place-items:center}.journey-agent-message-content{min-width:0;max-width:calc(100% - 34px);color:var(--journey-ink);font-size:12px;line-height:1.65}.journey-agent-message-content>span{white-space:pre-wrap;overflow-wrap:anywhere}.journey-agent-message.user .journey-agent-message-content{max-width:86%;padding:9px 11px;border-radius:6px 2px 6px 6px;background:var(--journey-green);color:#fff}.journey-agent-message.status-sending{opacity:.65}.journey-agent-message.status-streaming{margin-top:15px}.journey-agent-message.status-streaming .journey-agent-message-content>span:empty:after{content:"正在思考";color:var(--journey-muted)}.journey-agent-streaming .journey-agent-message-content>small{display:flex;align-items:center;gap:4px}.journey-agent-streaming .journey-agent-message-content>small button{width:20px;height:20px;margin-left:2px;border:0;border-radius:3px;background:#f4e6e1;color:#914b39;display:inline-grid;place-items:center;cursor:pointer}.journey-agent-message-content>small{margin-top:3px;display:block;color:inherit;font-size:8px;opacity:.7}.journey-preview-marker{filter:hue-rotate(35deg) saturate(1.6);opacity:.78}.journey-agent-message.status-failed .journey-agent-message-content>span{color:#9a4d3b}.journey-agent-retry{min-height:29px;margin-top:7px;padding:0 8px;border:1px solid #d7b8ad;border-radius:4px;background:#fff8f5;color:#914b39;display:flex;align-items:center;gap:5px;font-size:10px;cursor:pointer}.journey-agent-live{margin-top:16px;min-height:54px;padding:9px;border:1px solid #cad8d1;background:#fffc;color:var(--journey-green);display:grid;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:8px}.journey-agent-live>div{min-width:0;display:flex;flex-direction:column}.journey-agent-live strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.journey-agent-live span{margin-top:2px;color:var(--journey-muted);font-size:9px}.journey-agent-live>button{width:28px;height:28px;border:0;border-radius:4px;background:#f4e6e1;color:#914b39;display:grid;place-items:center;cursor:pointer}.journey-agent-proposal{margin-top:10px;width:100%;padding:11px;border:1px solid #cad6d0;border-radius:6px;background:#fff;box-shadow:0 7px 18px #1934280d}.journey-agent-proposal.state-applied{border-color:#93b4a5;background:#f3f8f5}.journey-agent-proposal.state-rejected,.journey-agent-proposal.state-stale{opacity:.67}.journey-agent-proposal-heading{color:var(--journey-green);display:flex;align-items:flex-start;gap:7px}.journey-agent-proposal-heading>div{min-width:0;display:flex;flex-direction:column}.journey-agent-proposal-heading strong{font-size:11px}.journey-agent-proposal-heading span{color:var(--journey-muted);font-size:8px}.journey-agent-proposal>p{margin:9px 0;color:var(--journey-ink);font-size:11px;line-height:1.55}.journey-agent-operation-list{display:grid;gap:4px}.journey-agent-operation-list>span{color:#53635b;display:flex;align-items:center;gap:5px;font-size:9px}.journey-agent-proposal-risk{margin-top:9px;padding:7px;background:var(--journey-amber);color:#715327;display:flex;align-items:flex-start;gap:5px;font-size:9px}.journey-agent-proposal-validation{margin-top:9px;padding:7px;border-top:1px solid #cad6d0;color:#715327;display:flex;align-items:flex-start;gap:7px;font-size:10px}.journey-agent-proposal-validation>div{min-width:0;display:grid;gap:3px;overflow-wrap:anywhere}.journey-agent-proposal-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}.journey-agent-proposal-question{flex-basis:100%;color:var(--journey-ink);font-size:11px;font-weight:700}.journey-agent-proposal-actions button{min-height:31px;padding:0 8px;font-size:9px}.journey-agent-proposal-loading{margin-top:8px;color:var(--journey-muted);display:flex;align-items:center;gap:5px;font-size:9px}.journey-agent-message-error{margin-top:7px;color:#9a4d3b;font-size:9px}.journey-agent-body>.journey-inline-error{margin-top:12px;justify-content:space-between}.journey-agent-body>.journey-inline-error button{margin-left:auto;border:0;background:transparent;color:inherit;cursor:pointer}.journey-agent-source-drawer{max-height:190px;margin-bottom:6px;overflow-y:auto;border-bottom:1px solid #e3e7e4}.journey-agent-source-drawer .journey-source-list{margin:6px 0}.journey-agent-no-source{padding:7px;color:var(--journey-muted);font-size:9px}.journey-composer-tools>button{position:relative;width:30px;height:30px;flex:0 0 30px;border:0;border-radius:4px;background:var(--journey-paper);color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-composer-tools>button.active{background:var(--journey-mint);color:var(--journey-green)}.journey-composer-tools>button i{position:absolute;top:-4px;right:-3px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:#b9513d;color:#fff;display:grid;place-items:center;font-size:8px;font-style:normal}.journey-composer-tools>.journey-send{background:var(--journey-green);color:#fff}.journey-agent-cost{margin-top:5px;color:var(--journey-muted);display:flex;justify-content:space-between;gap:8px;font-size:8px}.journey-agent-cost span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-roadbook{min-width:0;background:#fbfbf8;display:flex;flex-direction:column;overflow:hidden}.journey-roadbook-toolbar{min-height:114px;flex:0 0 auto;padding:18px 20px;border-bottom:1px solid var(--journey-line);display:flex;align-items:center;justify-content:space-between;gap:16px}.journey-roadbook-heading{min-width:0}.journey-roadbook-toolbar h1{margin-top:4px;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:24px;line-height:1.2;letter-spacing:0}.journey-roadbook-toolbar p{margin-top:5px;color:var(--journey-muted);font-size:10px}.journey-publication-state{width:fit-content;max-width:100%;min-height:25px;margin-top:8px;padding:3px 4px 3px 7px;border-radius:4px;display:flex;align-items:center;gap:5px;font-size:9px}.journey-publication-state.current{background:var(--journey-mint);color:var(--journey-green-dark)}.journey-publication-state.dirty{background:var(--journey-amber);color:#78592a}.journey-publication-state>span{min-width:0;display:flex;align-items:center;gap:5px;white-space:nowrap}.journey-publication-state small{color:currentColor;opacity:.66;font-size:8px}.journey-publication-state button{min-height:19px;padding:0 5px;border:0;border-left:1px solid currentColor;background:transparent;color:currentColor;display:inline-flex;align-items:center;gap:3px;font-size:8px;font-weight:750;cursor:pointer}.journey-roadbook-scroll{min-height:0;flex:1;padding:14px 20px 40px;overflow-y:auto}.journey-readonly-banner{min-height:38px;margin-bottom:12px;padding:8px 11px;border:1px solid #d8d9d5;background:#f1f2ef;color:#5e6862;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700}.journey-readiness{margin-bottom:12px;padding:12px 14px;border:1px solid var(--journey-line);border-radius:6px;background:#fff}.journey-readiness-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.journey-readiness-top>span{display:flex;align-items:center;gap:6px}.journey-readiness-top strong{color:var(--journey-green)}.journey-readiness-top small{color:var(--journey-muted);font-size:9px}.journey-progress{height:4px;margin-top:9px;background:#e5e9e6;overflow:hidden}.journey-progress i{height:100%;display:block;background:var(--journey-green);transition:width .3s ease}.journey-blockers{margin-bottom:12px;border-left:3px solid #b9513d;background:#fff8f6}.journey-blockers>header{min-height:48px;padding:9px 12px;display:flex;align-items:center;gap:8px;color:#8b382d}.journey-blockers>header>div,.journey-blocker>div{min-width:0;display:flex;flex:1;flex-direction:column}.journey-blockers>header strong{font-size:11px}.journey-blockers>header span,.journey-blocker span{color:var(--journey-muted);font-size:9px}.journey-blocker{min-height:54px;margin:0 12px;padding:8px 0;border-top:1px solid #eddcd7;display:flex;align-items:center;gap:10px}.journey-blocker strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.journey-blocker span{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-blocker .journey-secondary,.journey-blockers footer .journey-secondary{min-height:30px;padding:0 8px;flex:0 0 auto;font-size:9px}.journey-blocker-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.journey-blockers footer{padding:9px 12px 12px;border-top:1px solid #eddcd7;display:flex;justify-content:flex-end}.journey-preparation{margin-bottom:18px;padding:14px;border:1px solid var(--journey-line);border-radius:6px;background:#fff}.journey-preparation-block{margin-top:13px;padding-top:13px;border-top:1px solid var(--journey-line)}.journey-preparation-heading{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}.journey-preparation-heading>div{min-width:0;display:flex;flex-direction:column;gap:2px}.journey-preparation-heading strong{color:var(--journey-ink);font-size:12px}.journey-preparation-heading span{color:var(--journey-muted);font-size:9px}.journey-preparation-heading .journey-secondary{min-height:30px;padding:0 8px;flex:0 0 auto;font-size:9px}.journey-preparation textarea{width:100%;min-height:92px;margin-top:8px;border:1px solid #d5dad7;border-radius:4px;padding:10px 11px;resize:vertical;background:#fcfdfa;color:var(--journey-ink);font:inherit;font-size:11px;line-height:1.55;outline:0}.journey-preparation textarea:focus{border-color:var(--journey-green);box-shadow:0 0 0 3px #1d6b521a}.journey-preparation-notes{min-height:44px;margin-top:8px;padding:9px 0;color:var(--journey-ink);font-size:11px;line-height:1.6;white-space:pre-wrap}.journey-save-ok,.journey-save-error{margin-top:5px;display:block;font-size:9px}.journey-save-ok{color:var(--journey-green)}.journey-save-error{color:#a84d27}.journey-warning{min-height:46px;margin-top:8px;padding:8px 10px;display:flex;align-items:center;gap:8px;border-left:2px solid #b96753;background:var(--journey-coral)}.journey-warning.warning-1{border-color:#bd8a35;background:var(--journey-amber)}.journey-warning>div{min-width:0;display:flex;flex-direction:column}.journey-warning strong{font-size:10px}.journey-warning span{color:var(--journey-muted);font-size:8px}.journey-checklist{margin-top:7px}.journey-checklist-group+.journey-checklist-group{margin-top:10px}.journey-checklist-group h3{margin:0;padding:6px 0 4px;color:var(--journey-muted);font-size:9px;font-weight:800}.journey-checklist-row{min-height:50px;border-top:1px solid #edf0ed;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px}.journey-checklist-row.completed .journey-checklist-main>strong{color:var(--journey-muted);text-decoration:line-through}.journey-checklist-toggle{width:28px;height:32px;border:0;background:transparent;color:var(--journey-green);display:grid;place-items:center;cursor:pointer}.journey-checklist-toggle:disabled{color:#a5aca8;cursor:not-allowed}.journey-checklist-main{min-width:0;display:flex;flex-direction:column;gap:5px}.journey-checklist-main>strong{overflow-wrap:anywhere;font-size:10px}.journey-checklist-main>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:var(--journey-muted);font-size:8px}.journey-checklist-main i{padding:2px 5px;border-radius:3px;background:#eef2ef;color:#596760;font-style:normal}.journey-checklist-main i.required{background:#fff0e9;color:#9b4a2f}.journey-checklist-actions{display:flex;gap:2px}.journey-checklist-actions button{width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-checklist-actions button:hover,.journey-checklist-actions button:focus-visible{background:var(--journey-mint);color:var(--journey-green);outline:0}.journey-checklist-actions button:last-child:hover,.journey-checklist-actions button:last-child:focus-visible{background:#fff0ed;color:#a13f31}.journey-checklist-empty{min-height:68px;margin-top:7px;border-top:1px solid #edf0ed;color:var(--journey-muted);display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px}.journey-preparation-warnings{margin-top:12px;padding-top:5px;border-top:1px solid var(--journey-line)}.journey-reservation-summary{min-height:54px;margin-top:8px;padding:8px 10px;border-left:2px solid #bd8a35;background:var(--journey-amber);display:flex;align-items:center;gap:8px}.journey-reservation-summary>div{min-width:0;flex:1;display:flex;flex-direction:column}.journey-reservation-summary strong{font-size:10px}.journey-reservation-summary span{color:var(--journey-muted);font-size:8px}.journey-reservation-summary .journey-secondary{min-height:30px;padding:0 8px;flex:0 0 auto;font-size:9px}.journey-day-tabs{margin-bottom:12px;display:flex;gap:7px;overflow-x:auto}.journey-day-tabs button{min-width:76px;height:46px;border:1px solid var(--journey-line);border-radius:5px;background:#fff;color:var(--journey-muted);display:flex;align-items:center;gap:7px;padding:0 8px;cursor:pointer}.journey-day-tabs button.active{border-color:var(--journey-green);background:var(--journey-mint);color:var(--journey-green-dark)}.journey-day-tabs button.empty{border-style:dashed;background:#fafaf7}.journey-day-tabs button.empty:not(.active){color:#8d9691}.journey-day-tabs button>span{font-size:14px;font-weight:800}.journey-day-tabs button small{font-size:9px}.journey-day{padding-bottom:30px}.journey-day>header{min-height:56px;display:flex;align-items:center;gap:10px}.journey-day-number{width:38px;height:38px;flex:0 0 38px;border:1px solid #abc0b6;border-radius:8px;display:grid;place-items:center;color:var(--journey-green);font-size:15px;font-weight:800}.journey-day>header>div:nth-child(2){min-width:0;flex:1}.journey-day h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:0}.journey-day header p{color:var(--journey-muted);font-size:9px}.journey-stop{width:100%;min-height:82px;border:1px solid var(--journey-line);border-radius:7px;background:#fff;color:var(--journey-ink);display:grid;grid-template-columns:minmax(0,1fr);align-items:center;overflow:hidden;transition:border-color .15s,box-shadow .15s}.journey-stop.editable{grid-template-columns:minmax(0,1fr) 96px}.journey-stop:hover,.journey-stop:focus-within,.journey-stop.selected{border-color:#8eae9f;box-shadow:0 5px 16px #1d443314}.journey-stop-select{width:100%;min-width:0;min-height:80px;border:0;padding:10px;background:transparent;color:inherit;display:grid;grid-template-columns:15px 57px 25px minmax(0,1fr);align-items:center;gap:8px;text-align:left;cursor:pointer}.journey-stop-edit{width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-stop-edit:hover,.journey-stop-edit:focus-visible{background:var(--journey-mint);color:var(--journey-green);outline:0}.journey-stop-actions{display:flex;gap:1px;align-items:center;padding-right:4px}.journey-stop-actions button{width:29px;height:32px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-stop-actions button:hover,.journey-stop-actions button:focus-visible{background:var(--journey-mint);color:var(--journey-green);outline:0}.journey-stop-actions button:last-child:hover{background:#fbe5df;color:#99513f}.journey-stop-actions button:disabled{opacity:.35;cursor:not-allowed}.journey-stop-source{color:#42705a;font-size:9px;overflow-wrap:anywhere}.journey-grip{color:#b0b7b3}.journey-stop-time{display:flex;flex-direction:column}.journey-stop-time strong{font-size:11px}.journey-stop-time span{color:var(--journey-muted);font-size:8px}.journey-stop-index{width:23px;height:23px;border-radius:50%;background:var(--journey-green);color:#fff;display:flex;align-items:center;justify-content:center;gap:1px;font-size:8px}.journey-stop-index.type-food{background:#d47744}.journey-stop-index.type-hotel{background:#4e7180}.journey-stop-index.type-transport{background:#806d9c}.journey-stop-main{min-width:0;display:flex;flex-direction:column}.journey-stop-main>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px;font-size:12px}.journey-stop-main>span{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--journey-muted);font-size:9px}.journey-stop-main small{margin-top:6px;display:flex;gap:5px}.journey-stop-main small span{padding:2px 5px;border-radius:3px;background:#f0f2ef;color:#63716a;font-size:8px}.journey-stop-main .journey-stop-contact{margin-top:4px;color:#356653;align-items:center;font-size:8px}.journey-segment{width:calc(100% - 111px);min-height:50px;margin-left:111px;border:0;border-left:2px solid #cbd5d0;padding:6px 8px;background:transparent;color:var(--journey-muted);display:grid;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:7px;text-align:left;font:inherit}.journey-segment.editable{cursor:pointer}.journey-segment.editable:hover,.journey-segment.editable:focus-visible{border-left-color:var(--journey-green);background:#f3f7f4;color:var(--journey-green);outline:0}.journey-segment-icon{width:26px;height:26px;border-radius:50%;background:#e9eeeb;color:#53665c;display:grid;place-items:center}.journey-segment-main{min-width:0;display:flex;flex-direction:column;gap:2px}.journey-segment-main strong{color:var(--journey-ink);font-size:10px}.journey-segment-meta{color:var(--journey-muted);font-size:8px}.journey-segment-summary{color:var(--journey-muted);font-size:8px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.journey-segment-main i{color:#8a6a2c;font-size:8px;font-style:normal}.journey-segment-main i.status-unavailable{color:#a84d3d}.journey-cross-day-bridge{margin-top:6px;padding:8px 0 2px;border-top:1px dashed #cbd5d0}.journey-cross-day-bridge>span{display:block;margin:0 0 2px 111px;color:var(--journey-muted);font-size:9px}.journey-add-stop{width:100%;height:42px;margin-top:10px;border:1px dashed #aebbb4;background:transparent;color:var(--journey-green);display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.journey-no-days,.journey-empty-inline{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--journey-muted);text-align:center}.journey-no-days h2{color:var(--journey-ink);font-size:15px}.journey-no-days p{font-size:10px}.journey-map-panel{min-width:0;border-left:1px solid var(--journey-line);background:#edf0ec;display:flex;flex-direction:column;overflow:hidden}.journey-map-panel>header{min-height:82px;flex:0 0 auto;padding:12px 17px;border-bottom:1px solid var(--journey-line);background:#ffffffeb;display:flex;align-items:center;justify-content:space-between;gap:10px}.journey-map-heading{min-width:0}.journey-map-panel h2{margin-top:3px;font-size:13px;letter-spacing:0}.journey-map-actions{flex:0 0 auto;display:flex;align-items:center;gap:5px}.journey-map-panel>header .journey-heat-toggle{width:auto;min-width:112px;height:42px;padding:0 9px;border:1px solid #d2dbd6;border-radius:6px;background:#f8faf8;color:#4f5f57;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;box-shadow:0 1px 2px #16221c0a;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.journey-map-panel>header .journey-heat-toggle:hover,.journey-map-panel>header .journey-heat-toggle:focus-visible{border-color:#92ab9f;background:#fff;outline:0;box-shadow:0 4px 12px #16221c14}.journey-map-panel>header .journey-heat-toggle.active{border-color:#e2b078;background:#fff4e8;color:#9b4d1f;box-shadow:inset 0 0 0 1px #ff912e0f}.journey-map-panel>header .journey-heat-toggle:disabled{cursor:not-allowed;opacity:.48}.journey-heat-toggle>span{font-size:9px;font-weight:750;white-space:nowrap}.journey-heat-toggle>i{position:relative;width:28px;height:16px;flex:0 0 28px;border-radius:9px;background:#c6cfca;transition:background .18s ease}.journey-heat-toggle>i:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #141f193d;transition:transform .18s ease}.journey-heat-toggle.active>i{background:#ff8b24}.journey-heat-toggle.active>i:after{transform:translate(12px)}.journey-weather{position:relative}.journey-map-panel>header .journey-weather-trigger{width:116px;height:42px;padding:0 9px;border:1px solid #d2dbd6;background:#f8faf8;color:var(--journey-ink);display:flex;align-items:center;justify-content:flex-start;gap:7px}.journey-map-panel>header .journey-weather-trigger:hover,.journey-map-panel>header .journey-weather-trigger:focus-visible{border-color:#92ab9f;background:#fff;outline:0}.journey-weather-trigger>span{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.journey-weather-trigger strong,.journey-weather-trigger small{width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.journey-weather-trigger strong{font-size:10px}.journey-weather-trigger small{color:var(--journey-muted);font-size:8px}.journey-weather-trigger.state-not_published,.journey-weather-trigger.state-unavailable{color:#6f6f65}.journey-weather-popover{position:absolute;top:48px;right:0;z-index:180;width:246px;padding:11px 12px;border:1px solid var(--journey-line);border-radius:6px;background:#fff;box-shadow:0 16px 38px #16221c2e}.journey-weather-popover>header{min-height:36px;padding-bottom:8px;border-bottom:1px solid #edf0ed;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.journey-weather-popover>header>div{min-width:0;display:flex;flex-direction:column}.journey-weather-popover>header strong{font-size:12px}.journey-weather-popover>header span,.journey-weather-popover>small{color:var(--journey-muted);font-size:8px}.journey-map-panel .journey-weather-popover>header button{width:28px;height:28px;flex:0 0 28px}.journey-weather-popover p{margin:8px 0 0;color:#3e4b45;font-size:9px}.journey-weather-popover>small{display:block;margin-top:9px}.journey-map-legend{min-height:12px;margin-top:5px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px}.journey-map-legend>span{display:inline-flex;align-items:center;gap:4px;color:var(--journey-muted);font-size:8px;line-height:1;white-space:nowrap}.journey-map-legend i{width:16px;height:3px;flex:0 0 16px;border-radius:2px;box-shadow:0 0 0 1px #fffffff5}.journey-map-canvas{position:relative;min-height:0;flex:1}.journey-map-host{position:absolute;top:0;right:0;bottom:0;left:0}.journey-map-fallback{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#e6e9e3}.journey-fallback-grid{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;opacity:.52;background-image:linear-gradient(33deg,transparent 0 46%,white 47% 50%,transparent 51%),linear-gradient(112deg,transparent 0 45%,#fff 46% 49%,transparent 50%),linear-gradient(0deg,transparent 0 58%,#cae2e5 59% 68%,transparent 69%);background-size:180px 130px,220px 170px,100% 100%;transform:rotate(-4deg) scale(1.1)}.journey-map-fallback svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.journey-map-fallback svg path{fill:none;stroke:var(--journey-green);stroke-width:1;stroke-linecap:round;stroke-dasharray:3 2;opacity:.8}.journey-roadbook-map-marker,.journey-map-pin{width:36px;height:42px;color:#fff;cursor:pointer;transition:transform .16s ease,filter .16s ease}.journey-roadbook-map-marker{position:relative;filter:drop-shadow(0 4px 7px rgba(16,43,31,.25))}.journey-map-pin{position:absolute;z-index:3;border:0;padding:0;background:transparent;filter:drop-shadow(0 4px 7px rgba(16,43,31,.25))}.journey-roadbook-map-marker>span,.journey-map-pin>span{position:absolute;top:0;left:3px;z-index:1;width:30px;height:30px;border:3px solid white;border-radius:50%;background:var(--journey-green);box-shadow:0 0 0 1px #134c3847,inset 0 -2px #00000014;display:grid;place-items:center;font-size:11px;font-weight:850;line-height:1}.journey-roadbook-map-marker>i,.journey-map-pin>i{position:absolute;top:23px;left:13px;width:10px;height:10px;border:0;border-right:2px solid white;border-bottom:2px solid white;border-radius:0 0 3px;background:var(--journey-green);box-shadow:2px 2px 2px #102b1f29;transform:rotate(45deg)}.journey-roadbook-map-marker.selected,.journey-map-pin.selected{z-index:4;transform:translateY(-2px) scale(1.08);filter:drop-shadow(0 7px 11px rgba(94,46,31,.32))}.journey-roadbook-map-marker.selected>span,.journey-map-pin.selected>span{background:#d9694a;box-shadow:0 0 0 1px #bd563b,0 0 0 5px #d9694a3b,inset 0 -2px #00000014}.journey-roadbook-map-marker.selected>i,.journey-map-pin.selected>i{background:#d9694a}.journey-map-pin:hover,.journey-map-pin:focus-visible{transform:translateY(-2px);outline:0;filter:drop-shadow(0 7px 10px rgba(16,43,31,.3))}.journey-map-pin.pin-1{left:18%;top:69%}.journey-map-pin.pin-2{left:49%;top:45%}.journey-map-pin.pin-3{left:70%;top:24%}.journey-map-pin.pin-4{left:42%;top:19%}.journey-map-pin.pin-5{left:77%;top:62%}.journey-map-state{position:absolute;left:12px;bottom:12px;z-index:4;max-width:calc(100% - 24px);padding:7px 9px;background:#ffffffeb;color:var(--journey-muted);display:flex;align-items:center;gap:6px;font-size:9px}.journey-discovery-toolbar{position:absolute;top:10px;right:10px;left:10px;z-index:130;display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}.journey-discovery-scopes,.journey-discovery-categories{max-width:100%;padding:3px;border:1px solid rgba(208,216,211,.92);border-radius:6px;background:#fffffff5;box-shadow:0 7px 20px #16221c1f;display:flex;align-items:center;gap:2px;overflow-x:auto;pointer-events:auto;scrollbar-width:none}.journey-discovery-scopes::-webkit-scrollbar,.journey-discovery-categories::-webkit-scrollbar{display:none}.journey-discovery-scopes button,.journey-discovery-categories button{min-height:30px;flex:0 0 auto;border:0;border-radius:4px;padding:0 9px;background:transparent;color:#526159;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:9px;font-weight:750;white-space:nowrap;cursor:pointer}.journey-discovery-scopes button:hover,.journey-discovery-categories button:hover{background:#edf3ef}.journey-discovery-scopes button.active{background:var(--journey-green);color:#fff}.journey-discovery-categories button.active{background:#202b26;color:#fff}.journey-discovery-scopes button:disabled{color:#abb2ae;cursor:not-allowed}.journey-discovery-panel{position:absolute;top:90px;right:10px;bottom:10px;z-index:125;width:min(360px,calc(100% - 20px));border:1px solid rgba(206,214,209,.96);border-radius:7px;background:#fffffff7;box-shadow:0 18px 42px #14231b30;display:flex;flex-direction:column;overflow:hidden}.journey-discovery-panel>header{min-height:58px;flex:0 0 58px;padding:9px 10px 9px 12px;border-bottom:1px solid #e6ebe8;display:flex;align-items:center;justify-content:space-between;gap:10px}.journey-discovery-panel>header>div:first-child{min-width:0;display:flex;flex-direction:column}.journey-discovery-panel>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.journey-discovery-panel>header span{color:var(--journey-muted);font-size:8px}.journey-discovery-panel>header>div:last-child{flex:0 0 auto;display:flex;align-items:center;gap:2px}.journey-map-panel .journey-discovery-panel>header button{width:30px;height:30px}.journey-discovery-warning{min-height:32px;padding:7px 10px;border-bottom:1px solid #eadfbd;background:#fff8e7;color:#806627;display:flex;align-items:center;gap:6px;font-size:8px}.journey-discovery-list{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}.journey-discovery-row{border-bottom:1px solid #edf0ee;padding:9px 10px;background:#fff}.journey-discovery-row.selected{background:#f2f7f4}.journey-discovery-row>button{width:100%;min-height:54px;border:0;padding:0;background:transparent;color:var(--journey-ink);display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:9px;text-align:left;cursor:pointer}.journey-discovery-row>button>img,.journey-discovery-rank{width:52px;height:52px;border-radius:5px;object-fit:cover}.journey-discovery-rank{background:#e8eee9;color:var(--journey-green);display:grid;place-items:center;font-size:15px;font-weight:850}.journey-discovery-row>button>div{min-width:0;display:flex;flex-direction:column;gap:2px}.journey-discovery-row strong,.journey-discovery-row small,.journey-discovery-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-discovery-row strong{font-size:11px}.journey-discovery-row small{color:var(--journey-muted);font-size:8px}.journey-discovery-row em{color:#76642f;font-size:8px;font-style:normal}.journey-discovery-row-links,.journey-discovery-row-actions{margin:7px 0 0 61px;display:flex;align-items:center;gap:5px}.journey-discovery-row-links a,.journey-discovery-row-actions button{min-height:26px;border:0;border-radius:4px;padding:0 7px;background:#eef2ef;color:#4d6056;display:inline-flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:8px;font-weight:750;text-decoration:none;cursor:pointer}.journey-discovery-row-actions button:first-child{background:var(--journey-green);color:#fff}.journey-discovery-row-actions button:hover,.journey-discovery-row-links a:hover{filter:brightness(.96)}.journey-discovery-state{min-height:160px;padding:20px;color:var(--journey-muted);display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;text-align:center}.journey-discovery-state.error{color:#9a4938}.journey-discovery-marker{width:21px;height:21px;border:2px solid white;border-radius:50%;background:var(--marker-color);box-shadow:0 3px 9px #0a140f47;display:grid;place-items:center}.journey-discovery-marker span{width:5px;height:5px;border-radius:50%;background:#fff}.journey-map-selected-marker{width:32px;height:32px;border:4px solid white;border-radius:50%;background:var(--journey-green);box-shadow:0 0 0 4px #1d6b523d,0 6px 18px #0c261a57;display:grid;place-items:center}.journey-map-selected-marker span{width:9px;height:9px;border-radius:50%;background:#ff8a68}.journey-map-pick-marker{width:24px;height:24px;border:2px solid white;border-radius:50%;background:#202b26;box-shadow:0 0 0 3px #202b262e,0 5px 14px #0c181247;display:grid;place-items:center}.journey-map-pick-marker span{width:6px;height:6px;border-radius:50%;background:#fff}.journey-heat-state{position:absolute;left:10px;bottom:10px;z-index:116;max-width:calc(100% - 20px);min-height:34px;padding:7px 8px 7px 10px;border:1px solid rgba(206,214,209,.94);border-radius:6px;background:#fffffff5;color:#526159;box-shadow:0 7px 20px #16221c1f;display:flex;align-items:center;gap:6px;font-size:9px}.journey-heat-state.error{border-color:#e7c0b6;color:#9a4938}.journey-heat-state span{min-width:0;overflow-wrap:anywhere}.journey-heat-state button{width:25px;height:25px;flex:0 0 25px;border:0;border-radius:4px;background:#f5eee9;color:inherit;display:grid;place-items:center;cursor:pointer}.journey-heat-legend{position:absolute;left:10px;bottom:10px;z-index:116;width:142px;padding:9px 10px;border:1px solid rgba(206,214,209,.94);border-radius:6px;background:#fffffff0;box-shadow:0 7px 20px #16221c24;display:grid;grid-template-columns:1fr 1fr;gap:7px 8px;pointer-events:none}.journey-heat-legend header{grid-column:1 / -1;padding-bottom:6px;border-bottom:1px solid #e7ebe8;display:flex;justify-content:space-between;align-items:baseline;gap:6px}.journey-heat-legend header strong{font-size:10px}.journey-heat-legend header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--journey-muted);font-size:7px}.journey-heat-legend>span{color:#4f5c55;display:flex;align-items:center;gap:5px;font-size:8px;white-space:nowrap}.journey-heat-legend>span i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6}.journey-heat-label{display:block;max-width:150px;overflow:hidden;color:#17231d;filter:drop-shadow(0 1px 1px rgba(255,255,255,.72));text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:780;line-height:18px;letter-spacing:0;-webkit-text-stroke:3px rgba(255,255,255,.94);paint-order:stroke fill;cursor:pointer;animation:journey-heat-label-enter .18s ease-out both}.journey-heat-label.align-left{transform:translate(-100%)}.journey-heat-label.align-center{transform:translate(-50%)}@keyframes journey-heat-label-enter{0%{opacity:0}to{opacity:1}}.journey-map-summary .journey-map-heat-score{color:#a14d22;font-weight:700}.journey-map-summary{min-height:61px;margin:10px;padding:9px;border:1px solid var(--journey-line);border-radius:7px;background:#fff;display:flex;align-items:center;gap:10px;box-shadow:var(--journey-shadow)}.journey-map-number{width:31px;height:31px;flex:0 0 31px;border-radius:5px;background:var(--journey-green);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.journey-map-summary>div{min-width:0;flex:1;display:flex;flex-direction:column}.journey-map-summary strong,.journey-map-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-map-summary strong{font-size:11px}.journey-map-summary small{color:var(--journey-muted);font-size:8px}.journey-map-summary small.reservation{color:#8a5b19;display:inline-flex;align-items:center;gap:3px}.journey-map-summary .journey-map-summary-actions{flex:0 0 auto;flex-direction:row;align-items:center;gap:3px}.journey-map-summary .journey-map-summary-actions a,.journey-map-summary .journey-map-summary-actions button{min-width:29px;height:29px;border:0;border-radius:4px;padding:0 7px;background:#edf3ef;color:var(--journey-green);display:flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:8px;font-weight:750;text-decoration:none;cursor:pointer}.journey-map-summary .journey-map-summary-actions a:hover,.journey-map-summary .journey-map-summary-actions button:hover{background:var(--journey-mint)}.journey-map-summary .journey-map-summary-actions .journey-map-summary-clear{background:#f5efec;color:#99513f}.journey-map-summary .journey-map-summary-actions .journey-map-summary-clear:hover,.journey-map-summary .journey-map-summary-actions .journey-map-summary-clear:focus-visible{background:#fbe5df;outline:0}.journey-map-place-summary{border-color:#acc7ba}.journey-map-place-summary>div:nth-child(2){gap:2px}.journey-map-pick-state.error .journey-map-number{background:#a84d3d}.journey-published-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(520px,.9fr) minmax(420px,1.1fr);overflow:hidden}.journey-published-view{min-width:0;background:#fbfbf8;display:flex;flex-direction:column;overflow:hidden}.journey-published-header{min-height:114px;flex:0 0 auto;padding:17px 20px;border-bottom:1px solid var(--journey-line);background:#ffffffdb;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px}.journey-published-header>button{width:36px;height:36px;border:0;border-radius:5px;background:var(--journey-paper);color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-published-header>div:nth-child(2){min-width:0}.journey-published-header h1{max-width:100%;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px;letter-spacing:0}.journey-published-header p{margin-top:4px;color:var(--journey-muted);font-size:10px}.journey-published-meta{align-items:flex-end;display:flex;flex-direction:column;color:var(--journey-muted);font-size:9px;white-space:nowrap}.journey-published-meta time{margin-top:3px}.journey-published-scroll{min-height:0;flex:1;padding:14px 20px 40px;overflow-y:auto}.journey-published-note{min-height:46px;margin-bottom:12px;padding:8px 11px;border-left:3px solid var(--journey-green);background:var(--journey-mint);color:var(--journey-green-dark);display:flex;align-items:center;gap:8px}.journey-published-note>div{min-width:0;display:flex;flex-direction:column}.journey-published-note strong{font-size:10px}.journey-published-note span{color:#587068;font-size:9px}.journey-published-day{padding-bottom:30px}.journey-today-header{padding:15px 4px 22px}.journey-today-header h1{margin-top:5px;font-size:22px;letter-spacing:0}.journey-today-header p{color:var(--journey-muted);font-size:11px}.journey-today-next{margin-bottom:14px;padding:18px;border-left:4px solid var(--journey-green);background:var(--journey-mint)}.journey-today-next>span{color:var(--journey-green);font-size:10px;font-weight:800}.journey-today-next strong{display:block;margin-top:4px;font-size:19px}.journey-today-next p{color:var(--journey-muted);font-size:11px}.journey-today-next a{width:fit-content;margin-top:12px;min-height:34px;padding:0 10px;border-radius:5px;background:var(--journey-green);color:#fff;display:flex;align-items:center;gap:5px;text-decoration:none;font-size:11px;font-weight:700}.journey-today-view .journey-stop{margin-bottom:9px}.journey-tablet-switch,.journey-mobile-nav{display:none}.journey-workspace-loading,.journey-workspace-error{min-height:calc(100vh - 160px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--journey-muted)}.journey-workspace-error h2{font-size:16px}.journey-special-view{width:min(860px,calc(100% - 40px));margin:0 auto;padding:30px 0 60px;overflow-y:auto}.journey-special-view>header{min-height:70px;display:flex;align-items:center;gap:12px}.journey-special-view>header h1{margin-top:3px;font-size:22px;letter-spacing:0}.journey-special-view>section{margin-top:16px;padding:20px;border:1px solid var(--journey-line);background:#fff}.journey-special-view>section>h2{margin-bottom:14px;font-size:14px}.journey-member-list{display:grid;gap:4px}.journey-member-list>div{min-height:52px;border-bottom:1px solid #edf0ed;display:flex;align-items:center;gap:10px}.journey-member-avatar{width:31px;height:31px;border-radius:50%;background:var(--journey-mint);color:var(--journey-green);display:grid;place-items:center;font-size:11px;font-weight:800}.journey-member-list>div>div{flex:1;display:flex;flex-direction:column}.journey-member-list strong{font-size:12px}.journey-member-list small{color:var(--journey-muted);font-size:9px}.journey-member-list svg{color:var(--journey-green)}.journey-member-actions{flex:0 0 auto!important;flex-direction:row!important;align-items:center;gap:6px}.journey-member-actions select{width:92px;min-height:32px;padding:5px 24px 5px 8px;font-size:10px}.journey-member-actions button{width:32px;height:32px;border:1px solid var(--journey-line);border-radius:4px;background:#fff;color:#a24032;display:grid;place-items:center;cursor:pointer}.journey-member-actions button svg{color:currentColor}.journey-member-actions button:hover{border-color:#d8a69c;background:#fff7f5}.journey-member-actions button:disabled,.journey-member-actions select:disabled{cursor:wait;opacity:.55}.journey-invite-form{margin-top:14px;display:grid;grid-template-columns:1fr 120px auto;gap:8px}.journey-setting-row{min-height:66px;border-top:1px solid #edf0ed;display:flex;align-items:center;justify-content:space-between;gap:18px}.journey-setting-row:first-of-type{border-top:0}.journey-setting-row>div{display:flex;flex-direction:column}.journey-setting-row strong{font-size:12px}.journey-setting-row span{color:var(--journey-muted);font-size:10px}.journey-enabled{padding:4px 7px;border-radius:4px;background:var(--journey-mint);color:var(--journey-green)!important;display:flex;align-items:center;gap:4px;font-weight:700}.journey-danger{border-color:#e8c5bc!important}.journey-danger>p{margin:-5px 0 16px;color:#83564d;font-size:11px}.journey-delete-confirm{display:grid;grid-template-columns:minmax(120px,1fr) minmax(220px,1.4fr);align-items:center;gap:14px}.journey-delete-confirm>span{min-width:0;color:var(--journey-muted);font-size:11px;overflow-wrap:anywhere}.journey-delete-button{min-height:36px;margin-top:12px;padding:7px 12px;border:1px solid #b45140;border-radius:5px;background:#b45140;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:750;cursor:pointer}.journey-delete-button:disabled{border-color:#e1c5bf;background:#e1c5bf;cursor:not-allowed}.journey-settings-message{position:fixed;right:20px;bottom:20px;padding:10px 14px;background:var(--journey-ink);color:#fff;font-size:11px}.journey-revision-list{padding:5px!important}.journey-revision-list a{min-height:62px;padding:9px 12px;border-bottom:1px solid #edf0ed;color:var(--journey-ink);display:flex;align-items:center;gap:12px;text-decoration:none}.journey-revision-list a>span{width:38px;height:32px;border-radius:4px;background:var(--journey-mint);color:var(--journey-green);display:grid;place-items:center;font-size:10px;font-weight:800}.journey-revision-list a>div{min-width:0;flex:1;display:flex;flex-direction:column}.journey-revision-list strong{font-size:11px}.journey-revision-list small{color:var(--journey-muted);font-size:9px}.journey-revision-meta{display:flex;gap:10px;color:var(--journey-muted);font-size:10px}.journey-revision-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.journey-revision-heading h2{margin-top:8px;font-size:16px}.journey-special-view pre{max-height:50vh;margin-top:15px;padding:14px;overflow:auto;background:#151b18;color:#dfeae4;font-size:10px;line-height:1.55}.journey-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;padding:20px;background:#0e18137a;display:grid;place-items:center}.journey-dialog{width:min(520px,100%);max-height:90vh;overflow-y:auto;padding:20px;border-radius:7px;background:#fff;box-shadow:0 24px 70px #00000040}.journey-dialog>header{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.journey-dialog>header>div{display:flex;flex-direction:column}.journey-dialog>header span{color:var(--journey-muted);font-size:10px}.journey-dialog>header strong{font-size:16px}.journey-dialog>header button{width:34px;height:34px;border:0;background:var(--journey-paper);display:grid;place-items:center;cursor:pointer}.journey-dialog footer{display:flex;justify-content:flex-end;gap:7px}.journey-dialog input:disabled,.journey-dialog select:disabled{background:#f1f3f1;color:#89918d;cursor:not-allowed}.journey-dialog textarea{width:100%;min-height:82px;border:1px solid #cfd5d1;border-radius:4px;padding:9px 11px;resize:vertical;background:#fff;color:var(--journey-ink);font:inherit;font-size:12px;line-height:1.5;outline:0}.journey-dialog textarea:focus{border-color:var(--journey-green);box-shadow:0 0 0 3px #1d6b521a}.journey-dialog textarea:disabled{background:#f1f3f1;color:#89918d;cursor:not-allowed}.journey-stop-day-select{width:min(320px,calc(100vw - 110px));height:34px;margin-top:4px;border:1px solid #cfd5d1;border-radius:4px;padding:0 28px 0 9px;background:#fff;color:var(--journey-ink);font:inherit;font-size:11px;font-weight:700}.journey-stop-provenance{min-height:34px;margin:-3px 0 16px;border-left:2px solid #4f806c;padding:7px 9px;background:#f0f6f2;color:#456357;display:flex;align-items:center;gap:6px;font-size:9px;line-height:1.45}.journey-reservation-dialog{width:min(640px,100%)}.journey-reservation-tools{margin-bottom:14px;padding:9px 10px;border-left:2px solid var(--journey-green);background:#f1f6f3;display:flex;align-items:center;justify-content:space-between;gap:10px}.journey-reservation-tools>span{color:#486357;font-size:10px;font-weight:750}.journey-reservation-tools>div{display:flex;align-items:center;gap:5px}.journey-reservation-tools button{min-height:28px;padding:0 7px;font-size:9px}.journey-reservation-groups{max-height:52vh;margin-bottom:16px;overflow-y:auto;border-top:1px solid var(--journey-line)}.journey-reservation-groups section+section{margin-top:9px}.journey-reservation-groups h3{margin:0;padding:10px 2px 6px;color:var(--journey-muted);font-size:10px}.journey-reservation-row{min-height:58px;padding:7px 2px;border-top:1px solid #edf0ed;display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px}.journey-reservation-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.journey-reservation-row strong,.journey-reservation-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-reservation-row strong{font-size:11px}.journey-reservation-row span{color:var(--journey-muted);font-size:9px}.journey-reservation-row select{height:36px}.journey-reservation-locked{min-height:32px;padding:0 8px;background:#f1f3f1;color:#7c8580!important;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-weight:700}.journey-dialog .journey-check-option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin:-3px 0 17px;padding:11px;border:1px solid #dce3df;border-radius:5px;background:#f7f9f7;cursor:pointer}.journey-dialog .journey-check-option>input{width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--journey-green)}.journey-dialog .journey-check-option>span{min-width:0;display:flex;flex-direction:column;gap:2px}.journey-dialog .journey-check-option strong{font-size:12px}.journey-dialog .journey-check-option small{color:var(--journey-muted);font-size:10px;font-weight:500}.journey-route-mode-note{min-height:44px;margin:-2px 0 16px;border-left:2px solid #6d8f80;padding:8px 10px;background:#f1f6f3;color:#486357;display:flex;align-items:center;gap:8px;font-size:10px;line-height:1.4}.journey-dialog .journey-stop-lock{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin:-3px 0 17px;padding:11px;border:1px solid #dce3df;border-radius:5px;background:#f7f9f7;cursor:pointer}.journey-dialog .journey-stop-lock>input{width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--journey-green)}.journey-dialog .journey-stop-lock>span{min-width:0;display:flex;flex-direction:column;gap:2px}.journey-dialog .journey-stop-lock strong{font-size:12px}.journey-dialog .journey-stop-lock small{color:var(--journey-muted);font-size:10px;font-weight:500}.journey-place-search{margin-bottom:17px}.journey-place-search>span{display:block;margin-bottom:6px;color:var(--journey-ink);font-size:12px;font-weight:700}.journey-place-search-control{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px}.journey-place-search-control input{width:100%;min-width:0;height:42px;border:1px solid #cfd5d1;border-radius:4px;padding:0 11px;color:var(--journey-ink);font:inherit;font-size:14px;outline:0}.journey-place-search-control input:focus{border-color:var(--journey-green);box-shadow:0 0 0 3px #1d6b521a}.journey-place-search-control button{width:42px;height:42px;border:0;border-radius:4px;background:var(--journey-green);color:#fff;display:grid;place-items:center;cursor:pointer}.journey-place-search-control button:disabled{cursor:wait;opacity:.65}.journey-place-results{max-height:190px;margin-top:7px;overflow-y:auto;border:1px solid #dfe3e0;border-radius:4px}.journey-place-results>button{width:100%;min-height:54px;border:0;border-bottom:1px solid #ecefec;padding:8px 10px;background:#fff;color:var(--journey-ink);display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;text-align:left;cursor:pointer}.journey-place-results>button:last-child{border-bottom:0}.journey-place-results>button:hover{background:#f4f8f5}.journey-place-results span,.journey-place-confirmed span{min-width:0;display:flex;flex-direction:column;gap:2px}.journey-place-results strong,.journey-place-results small,.journey-place-confirmed strong,.journey-place-confirmed small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-place-results strong,.journey-place-confirmed strong{font-size:13px}.journey-place-results small,.journey-place-confirmed small{color:var(--journey-muted);font-size:11px}.journey-place-confirmed{min-height:54px;margin-top:7px;border:1px solid rgba(29,107,82,.28);border-radius:4px;padding:8px 10px;background:#f1f7f3;color:var(--journey-green);display:grid;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:8px}.journey-place-confirmed>button{width:28px;height:28px;border:0;background:transparent;color:var(--journey-muted);display:grid;place-items:center;cursor:pointer}.journey-place-error{min-height:34px;margin:-5px 0 14px;padding:7px 9px;border-radius:4px;background:#fff4ed;color:#a84d27;display:flex;align-items:center;gap:7px;font-size:12px}@media(max-width:1279px){.journey-shell{padding-bottom:52px}.journey-workspace{position:relative;grid-template-columns:minmax(0,1fr)}.journey-agent{display:none}.journey-workspace.agent-open .journey-agent{position:absolute;inset:0 auto 0 0;z-index:25;width:min(340px,44vw);display:flex;box-shadow:18px 0 35px #192d2329}.journey-map-panel{display:none}.journey-published-workspace{grid-template-columns:minmax(460px,1fr) minmax(360px,.8fr)}.journey-published-workspace .journey-map-panel{display:flex}.journey-workspace.tablet-map .journey-roadbook{display:none}.journey-workspace.tablet-map .journey-map-panel{display:flex}.journey-tablet-switch{position:absolute;left:50%;bottom:8px;z-index:30;transform:translate(-50%);height:38px;padding:3px;border:1px solid var(--journey-line);border-radius:6px;background:#fff;box-shadow:var(--journey-shadow);display:flex}.journey-tablet-switch button{min-width:82px;border:0;border-radius:4px;background:transparent;color:var(--journey-muted);display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:700;cursor:pointer}.journey-tablet-switch button.active{background:var(--journey-green);color:#fff}}@media(max-width:900px){.journey-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-new-layout{gap:36px}.journey-workspace-header{grid-template-columns:150px 1fr 150px}.journey-wordmark strong,.journey-member-preview{display:none}.journey-map-panel>header .journey-weather-trigger{width:104px}.journey-weather-trigger strong,.journey-weather-trigger small{width:65px}}@media(max-width:767px){.app.journey-immersive .main-content{margin-top:56px}.journey-library{padding:4px 0 36px}.journey-library-header{gap:12px;margin-bottom:18px}.journey-library-header>.journey-primary{width:42px;min-height:42px;padding:0;font-size:0}.journey-library-header>.journey-primary svg{width:19px;height:19px}.journey-library-tools{align-items:stretch;flex-direction:column-reverse;gap:5px;border:0}.journey-tabs{border-bottom:1px solid var(--journey-line)}.journey-search{width:100%;margin:0}.journey-library-grid{grid-template-columns:1fr}.journey-trip-card{min-height:230px}.journey-invite{align-items:flex-start;flex-direction:column;padding:10px 0}.journey-new-layout{grid-template-columns:1fr;gap:22px}.journey-new-intro{padding-top:0}.journey-new-intro h1{font-size:27px}.journey-form{padding:18px 14px}.journey-form-row{grid-template-columns:1fr;gap:0}.journey-blocker{align-items:flex-start;flex-direction:column}.journey-blocker-actions{width:100%}.journey-blocker-actions .journey-secondary{flex:1}.journey-reservation-summary{align-items:flex-start;flex-wrap:wrap}.journey-reservation-summary .journey-secondary{width:100%}.journey-reservation-tools{align-items:flex-start;flex-direction:column}.journey-reservation-tools>div{width:100%}.journey-reservation-tools button{flex:1}.journey-reservation-row{grid-template-columns:minmax(0,1fr) 124px;gap:8px}.journey-shell{height:calc(100dvh - 56px);min-height:520px;padding-bottom:58px}.journey-workspace-header{height:55px;flex-basis:55px;grid-template-columns:42px minmax(0,1fr) 80px;padding:0 8px}.journey-wordmark>span{width:32px;height:32px}.journey-switcher{min-width:0;width:100%}.journey-switcher-trigger{min-width:0;width:100%;max-width:none;gap:5px}.journey-switcher-trigger strong{max-width:calc(100vw - 175px);font-size:12px}.journey-switcher-popover{position:fixed;top:56px;right:0;bottom:0;left:0;width:100%;border:0;border-radius:0;transform:none;display:flex;flex-direction:column}.journey-switcher-list{max-height:none;flex:1}.journey-switcher-list button{min-height:72px}.journey-workspace-actions{gap:2px}.journey-workspace-brand .journey-status,.journey-workspace-actions>.journey-revisions-button{display:none}.journey-workspace-actions>button{width:34px}.journey-publish-notice{align-items:flex-start;flex-wrap:wrap;padding:9px 10px}.journey-publish-notice>svg{margin-top:5px}.journey-publish-notice-actions{width:100%;padding-left:27px}.journey-publish-notice-actions button{flex:1}.journey-publish-notice-actions button:last-child{flex:0 0 31px}.journey-members-trigger{min-width:42px;padding:0 6px;gap:3px}.journey-members-trigger>strong{font-size:9px}.journey-members-popover{position:fixed;top:56px;right:8px}.journey-workspace{display:block;position:relative;overflow:hidden}.journey-agent,.journey-roadbook,.journey-map-panel{position:absolute;top:0;right:0;bottom:0;left:0;border:0;display:none}.journey-workspace.agent-open .journey-agent{width:auto;box-shadow:none}.journey-workspace.mobile-today .journey-roadbook,.journey-workspace.mobile-roadbook .journey-roadbook,.journey-workspace.mobile-map .journey-map-panel,.journey-workspace.agent-open .journey-agent{display:flex}.journey-workspace.agent-open .journey-roadbook,.journey-workspace.agent-open .journey-map-panel{display:none}.journey-roadbook-toolbar{min-height:94px;padding:12px 14px}.journey-roadbook-toolbar h1{max-width:55vw;font-size:19px}.journey-roadbook-toolbar .journey-primary{width:37px;min-height:37px;padding:0;font-size:0}.journey-roadbook-toolbar .journey-primary svg{width:16px}.journey-publication-state small{display:none}.journey-roadbook-scroll{padding:12px 12px 28px}.journey-readiness-top{align-items:flex-start}.journey-readiness-top small{max-width:120px;text-align:right}.journey-stop.editable{grid-template-columns:minmax(0,1fr) 91px}.journey-stop-select{min-height:78px;grid-template-columns:50px 23px minmax(0,1fr);gap:7px;padding:9px 7px}.journey-stop-actions button{width:28px}.journey-grip{display:none}.journey-segment{width:calc(100% - 84px);margin-left:84px}.journey-preparation{padding:12px 10px}.journey-preparation-heading{align-items:flex-start}.journey-checklist-row{grid-template-columns:28px minmax(0,1fr) auto}.journey-checklist-actions button{width:26px}.journey-map-panel>header{height:67px;flex-basis:67px}.journey-map-panel>header{padding:7px 9px}.journey-map-heading h2{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-map-legend{display:none}.journey-map-panel>header .journey-weather-trigger{width:98px;height:38px;padding:0 7px}.journey-map-panel>header .journey-heat-toggle{min-width:58px;width:58px;height:38px;padding:0 5px;gap:5px}.journey-heat-toggle>span{display:none}.journey-heat-toggle>i{width:24px;flex-basis:24px}.journey-weather-trigger strong,.journey-weather-trigger small{width:61px}.journey-weather-popover{position:fixed;top:63px;right:8px;width:min(270px,calc(100vw - 16px))}.journey-discovery-toolbar{top:8px;right:8px;left:8px;align-items:stretch}.journey-discovery-scopes,.journey-discovery-categories{justify-content:flex-start}.journey-discovery-panel{top:auto;right:0;bottom:0;left:0;width:100%;height:min(56dvh,470px);border-width:1px 0 0;border-radius:7px 7px 0 0;box-shadow:0 -14px 36px #14231b2e}.journey-discovery-panel>header{position:relative;padding-top:13px}.journey-discovery-panel>header:before{content:"";position:absolute;top:5px;left:50%;width:34px;height:3px;border-radius:2px;background:#c7ceca;transform:translate(-50%)}.journey-discovery-row>button{grid-template-columns:48px minmax(0,1fr)}.journey-discovery-row>button>img,.journey-discovery-rank{width:48px;height:48px}.journey-discovery-row-links,.journey-discovery-row-actions{margin-left:57px}.journey-heat-state,.journey-heat-legend{left:8px;bottom:8px}.journey-heat-label{max-width:112px;font-size:10px}.journey-tablet-switch{display:none}.journey-published-workspace{display:block;overflow-y:auto}.journey-published-workspace .journey-published-view{min-height:560px;overflow:visible}.journey-published-workspace .journey-map-panel{position:relative;inset:auto;min-height:420px;display:flex}.journey-published-header{min-height:116px;padding:12px;grid-template-columns:34px minmax(0,1fr)}.journey-published-header>button{width:34px;height:34px}.journey-published-header h1{font-size:19px}.journey-published-meta{grid-column:2;align-items:flex-start;flex-direction:row;gap:7px}.journey-published-meta time{margin-top:0}.journey-published-scroll{overflow:visible;padding:12px 12px 28px}.journey-mobile-nav{position:absolute;left:0;right:0;bottom:0;z-index:35;height:58px;border-top:1px solid var(--journey-line);background:#fffffff7;display:grid;grid-template-columns:repeat(4,1fr)}.journey-mobile-nav button{border:0;background:transparent;color:var(--journey-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;font-weight:700}.journey-mobile-nav button.active{color:var(--journey-green)}.journey-special-view{width:calc(100% - 24px);padding:12px 0 30px}.journey-special-view>section{padding:14px}.journey-invite-form{grid-template-columns:1fr}.journey-setting-row{align-items:flex-start;flex-direction:column;padding:12px 0;gap:8px}.journey-delete-confirm{grid-template-columns:1fr;gap:6px}.journey-delete-button{width:100%}.journey-revision-heading{flex-direction:column}.journey-dialog{padding:16px 13px}}@media(max-width:420px){.journey-library-header p{max-width:230px}.journey-agent>header{min-height:72px}.journey-agent-composer{margin:7px}.journey-composer-tools select{max-width:112px}.journey-quote-confirm{max-width:126px;line-height:1.2}.journey-stop-main>strong{white-space:normal;overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.journey-heat-toggle>i,.journey-heat-toggle>i:after{transition:none}.journey-roadbook-map-marker,.journey-map-pin{transition:none}.journey-heat-label{animation:none}}.journey-meal-policy{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.journey-meal-policy button{border:1px solid var(--journey-line);background:transparent;color:var(--journey-muted);border-radius:999px;padding:2px 7px;font-size:10px;cursor:pointer}.journey-meal-policy button.skipped{background:#f4eee7;color:#9a4d3b;border-color:#d8b7a7}.journey-proposal-roadbook{padding:16px;border-top:3px solid #268278;background:#f4faf8}.journey-proposal-roadbook>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.journey-proposal-roadbook>header h2{margin:4px 0;font-size:17px;overflow-wrap:anywhere}.journey-proposal-roadbook>header button{flex:0 0 auto;border:0;background:transparent;color:var(--journey-green);cursor:pointer}.journey-preview-legend{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;font-size:10px;color:var(--journey-muted)}.journey-preview-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#97a49e}.journey-preview-legend .added:before{background:#268278}.journey-preview-legend .modified:before{background:#c67a2d}.journey-preview-legend .removed:before{background:#b7554d}.journey-preview-legend .unresolved:before{background:#879297}.journey-preview-legend .recompute:before{background:#3374a8}.journey-proposal-day-title{display:flex;justify-content:space-between;gap:12px;margin:14px 0 8px;color:var(--journey-ink);font-size:12px}.journey-proposal-stop-list{display:grid;gap:5px;margin-top:10px}.journey-proposal-stop{width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border:1px solid var(--journey-line);border-radius:5px;background:#fff;text-align:left;color:var(--journey-ink);cursor:pointer}.journey-proposal-stop>div{min-width:0}.journey-proposal-stop strong{display:block;font-size:12px;overflow-wrap:anywhere}.journey-proposal-stop small{display:block;margin-top:3px;color:var(--journey-muted);font-size:10px;overflow-wrap:anywhere}.journey-proposal-stop em{color:var(--journey-muted);font-size:10px;font-style:normal}.journey-proposal-stop.added{border-left:3px solid #268278}.journey-proposal-stop.modified{border-left:3px solid #c67a2d}.journey-proposal-stop.removed{border-left:3px solid #b7554d;color:#a0463c}.journey-proposal-stop.unresolved{border-style:dashed}.journey-proposal-stop.selected{outline:2px solid #268278}.journey-proposal-stop-dot{width:9px;height:9px;border-radius:50%;background:#879297}.journey-proposal-stop-dot.type-hotel{background:#3374a8}.journey-proposal-stop-dot.type-food{background:#d9654b}.journey-preview-segment{margin:5px 12px 7px 18px;padding-left:10px;border-left:2px dashed #3374a8;color:#516877;font-size:10px}.journey-preview-segment small{display:block}.journey-preview-issues p{margin:6px 0;padding:6px 9px;font-size:11px;background:#edf4f1}.journey-preview-issues p.blocking{background:#fbe9e6;color:#973e36}.journey-preview-actions{position:sticky;bottom:0;z-index:12;display:flex;flex-wrap:wrap;gap:7px;padding:12px 0;background:#f4faf8}.journey-preview-actions button{min-height:36px}.journey-plan-overview{display:grid;gap:7px;margin:10px 0;font-size:10px}.journey-plan-overview>div>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.journey-plan-overview button{min-width:0;padding:5px 7px;border:1px solid #dae4de;border-radius:4px;background:#f5faf7;color:var(--journey-green);cursor:pointer;overflow-wrap:anywhere}.journey-plan-overview>div>div>span{min-width:0;padding:5px 7px;border:1px solid #dae4de;border-radius:4px;background:#f5faf7;color:var(--journey-green);overflow-wrap:anywhere}.journey-plan-overview button:disabled{opacity:.5}.journey-plan-overview button svg,.journey-plan-overview span svg{vertical-align:middle}.journey-hotel-search{display:grid;gap:8px;margin-top:8px;padding:10px;border:1px solid #d5e2dc;border-radius:5px;background:#f5faf7}.journey-hotel-panel.active .journey-hotel-search{border-color:#448873;box-shadow:inset 3px 0 #448873}.journey-hotel-search>header{display:flex;justify-content:space-between}.journey-hotel-search>header strong{color:var(--journey-green);font-size:12px}.journey-hotel-search form{display:grid;gap:8px}.journey-hotel-search label{display:grid;gap:4px;font-size:11px}.journey-hotel-search input,.journey-hotel-search select{min-width:0;padding:7px;border:1px solid #cbd5cf;border-radius:4px}.journey-agent-hotels{min-width:0;width:100%;display:grid;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid #d5e2dc}.journey-hotel-result-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.journey-hotel-result-heading strong{font-size:12px}.journey-agent-hotels>small,.journey-agent-hotels>p,.journey-hotel-result-heading span{color:var(--journey-muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}.journey-agent-hotels>p{margin:0}.journey-hotel-list{min-width:0;border-top:1px solid #d5e2dc}.journey-agent-hotel{min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid #d5e2dc}.journey-agent-hotel>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.journey-hotel-address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.journey-agent-hotel>small,.journey-hotel-address,.journey-hotel-rate>span,.journey-hotel-prices small{color:var(--journey-muted);font-size:10px;line-height:1.45}.journey-hotel-rate{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px}.journey-hotel-rate strong{color:#a4482c;font-size:13px;overflow-wrap:anywhere}.journey-hotel-rate strong small{color:var(--journey-muted);font-size:10px;font-weight:400}.journey-hotel-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.journey-hotel-buttons button,.journey-hotel-more{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border:1px solid #cbd8d0;border-radius:4px;background:#fff;color:var(--journey-green);font-size:10px;cursor:pointer}.journey-hotel-buttons button:last-child:not(:first-child){background:#e6f1eb}.journey-hotel-buttons button:disabled{opacity:.55;cursor:wait}.journey-hotel-buttons .expanded,.journey-hotel-more .expanded{transform:rotate(180deg)}.journey-hotel-more{width:100%;border:0;background:transparent}.journey-hotel-prices{min-width:0;display:grid;gap:0;margin-top:4px;padding:3px 0 0 9px;border-left:2px solid #b8cfc1}.journey-hotel-price-row{min-width:0;padding:7px 0;border-top:1px solid #e3e9e4}.journey-hotel-price-row:first-child{border-top:0}.journey-hotel-price-row>div{min-width:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 8px}.journey-hotel-price-row b,.journey-hotel-price-row strong{font-size:10px;overflow-wrap:anywhere}.journey-hotel-price-row strong{color:#a4482c}.journey-hotel-price-row small{display:block;overflow-wrap:anywhere}.journey-hotel-price-row a{display:inline-block;margin-top:3px;color:var(--journey-green);font-size:10px}.journey-hotel-search form>button{min-height:32px;border:0;border-radius:4px;background:#dcefe8;color:var(--journey-green);cursor:pointer}.journey-preview-marker .journey-roadbook-map-marker,.journey-preview-marker-changed .journey-roadbook-map-marker,.journey-roadbook-map-marker.journey-preview-marker{background:#268278}.journey-roadbook-map-marker.journey-preview-marker-changed{background:#c67a2d}.journey-roadbook-map-marker.journey-preview-marker-removed{background:#b7554d;opacity:.55}.journey-map-pin.journey-preview-marker>span,.journey-map-pin.journey-preview-marker>i{background:#268278}.journey-map-pin.journey-preview-marker-removed{opacity:.5}.journey-map-pin.journey-preview-marker-removed>span,.journey-map-pin.journey-preview-marker-removed>i{background:#b7554d}@media(max-width:767px){.journey-proposal-roadbook{padding-bottom:94px}.journey-preview-actions{position:fixed;left:0;right:0;bottom:58px;z-index:34;padding:9px 12px;border-top:1px solid #b8d3c7;box-shadow:0 -5px 14px #1635261a}.journey-preview-actions .journey-primary{flex:1;min-width:0;font-size:11px;overflow-wrap:anywhere}.journey-preview-actions .journey-secondary{flex:0 0 auto}}.trips-root{--trip-ink:#243b32;--trip-muted:#7b827b;--trip-green:#296c53;--trip-paper:#f5f4ef;--trip-line:#e2e6df;color:var(--trip-ink);font-family:inherit}.trips-root *,.trip-dialog *{box-sizing:border-box}.trips-root button,.trip-dialog button{font-family:inherit;cursor:pointer}.trips-root button:disabled,.trip-dialog button:disabled{cursor:not-allowed;opacity:.45}.trips-root button:focus-visible,.trips-root a:focus-visible,.trip-dialog button:focus-visible{outline:2px solid #43836b;outline-offset:3px}.trips-root h1,.trips-root h2,.trips-root h3,.trips-root h4,.trips-root p{margin:0}.trip-primary,.trip-secondary{min-height:36px;padding:8px 13px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:650;text-decoration:none}.trip-primary{border:1px solid #296c53;color:#fff;background:#296c53}.trip-primary:hover:not(:disabled){background:#215a45}.trip-secondary{color:#345448;border:1px solid #dce3dc;background:#fff}.trip-secondary:hover:not(:disabled){border-color:#8cab9b;background:#f3f7f2}.trip-icon{width:31px;height:31px;flex:0 0 31px;border:0;border-radius:6px;color:#778279;background:transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.trip-icon:hover,.trip-icon.active{background:#edf2eb;color:#296c53}.trip-text-button{border:0;padding:3px 0;background:none;color:#296c53;font-size:11px;display:inline-flex;align-items:center;gap:3px}.trip-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.5px;color:#648071;font-weight:650}.trip-help{font-size:11px;line-height:1.8;color:#7b827b;margin:9px 0!important}.trip-source{font-size:11px;color:#929a91;line-height:1.6;margin:8px 0!important}.trip-loading{min-height:150px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:13px;color:#728375}.trip-spin{animation:trip-spin 1s linear infinite}@keyframes trip-spin{to{transform:rotate(360deg)}}.trip-notice{flex:0 0 auto;padding:9px 15px;background:#edf5ed;display:flex;align-items:flex-start;gap:7px;color:#3e6a51;font-size:12px;line-height:1.6}.trip-notice>svg{flex:0 0 auto;margin-top:2px}.trip-notice>span{flex:1}.trip-notice .trip-icon{width:23px;height:23px;flex-basis:23px}.trip-notice.error{background:#fcf0e9;color:#995c42}.trip-load-error{padding:40px;display:flex;flex-wrap:wrap;gap:12px}.trip-load-error .trip-notice{width:100%}.trip-library{max-width:1200px;margin:0 auto;padding:24px 0 50px}.trip-library-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:42px}.trip-library-header h1{font-size:31px;font-weight:650;letter-spacing:-1px;margin:13px 0 10px}.trip-library-header p{font-size:13px;color:#7b827b}.trip-library-header .trip-primary{padding:12px 17px}.trip-library-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--trip-line);margin-bottom:24px;gap:12px}.trip-tabs{display:flex;gap:25px}.trip-tabs button{border:0;border-bottom:2px solid transparent;padding:15px 1px;background:none;color:#879084;font-size:13px}.trip-tabs button.active{color:var(--trip-green);border-color:var(--trip-green);font-weight:650}.trip-search{display:flex;align-items:center;gap:8px;color:#899287;border:1px solid var(--trip-line);border-radius:7px;padding:8px 10px;background:#fff;margin-bottom:7px}.trip-search input{border:0;background:none;outline:none;font:inherit;font-size:12px;min-width:0;width:190px}.trip-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.trip-library-card{padding:0;border:1px solid #e0e5de;border-radius:12px;background:#fff;text-align:left;overflow:hidden;transition:transform .18s,box-shadow .18s;color:var(--trip-ink)}.trip-library-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #233d3210}.trip-card-landscape{height:140px;background:radial-gradient(ellipse at 10% 120%,#94b29d 0 40%,transparent 41%),radial-gradient(ellipse at 80% 110%,#b5c8b8 0 48%,transparent 49%),#e5ebe1;position:relative;display:flex;align-items:center;justify-content:center;color:#5e836d}.trip-card-landscape.tone-1{background:radial-gradient(ellipse at 15% 135%,#c2b09b 0 45%,transparent 46%),radial-gradient(ellipse at 85% 120%,#dac9b1 0 47%,transparent 48%),#f0e9dc;color:#9e8a6e}.trip-card-landscape.tone-2{background:radial-gradient(ellipse at 15% 135%,#90a9ad 0 45%,transparent 46%),radial-gradient(ellipse at 85% 120%,#b1c4c7 0 47%,transparent 48%),#e6eeed;color:#6d9295}.trip-card-landscape>span{position:absolute;top:13px;left:14px;padding:4px 7px;font-size:11px;border-radius:4px;background:#ffffffbf;color:#59705f}.trip-card-content{padding:20px}.trip-card-content h2{font-size:17px;margin-bottom:11px}.trip-card-content p{display:flex;align-items:center;gap:5px;font-size:12px;color:#7a887e;min-height:19px}.trip-card-content footer{border-top:1px solid #eef0e9;margin-top:20px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;color:#8a958b;font-size:11px}.trip-card-content footer span{display:flex;align-items:center;gap:5px}.trip-library-empty{padding:70px 20px;text-align:center}.trip-library-empty>div{margin:0 auto 22px;width:76px;height:76px;border-radius:50%;background:#eaf0e6;color:#66856d;display:grid;place-items:center}.trip-library-empty h2{font-size:22px;font-weight:550}.trip-library-empty p{margin:12px 0 23px;color:#85907f;font-size:13px}.trip-workspace{margin:-24px;height:calc(100dvh - 64px);min-height:520px;background:var(--trip-paper);display:flex;flex-direction:column;overflow:hidden}.app.journey-immersive .trip-workspace{margin:0}.trip-workspace-header{height:62px;flex:0 0 62px;padding:0 18px;display:grid;grid-template-columns:1fr 1.25fr 1fr;border-bottom:1px solid #e2e6df;background:#fffefa;gap:10px}.trip-brand{display:flex;align-items:center;gap:9px;color:#304e3e;text-decoration:none}.trip-brand>span{width:30px;height:30px;border-radius:8px;background:#2c6d55;color:#fff;display:grid;place-items:center}.trip-brand>strong{font-size:16px;font-weight:650}.trip-brand>small,.trip-brand>svg{font-size:11px;color:#96a193}.trip-brand>svg{margin-left:9px}.trip-current-title{align-self:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;min-width:0}.trip-current-title>strong{font-size:13px;max-width:calc(100% - 38px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.trip-current-title>small{width:100%;text-align:center;font-size:11px;color:#94a18f}.trip-current-title .trip-icon{width:25px;height:22px;flex-basis:25px}.trip-workspace-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px}.trip-columns{min-height:0;flex:1;display:grid;grid-template-columns:minmax(285px,320px) minmax(390px,1fr) minmax(300px,.95fr);overflow:hidden}.trip-workspace.hide-agent .trip-columns{grid-template-columns:minmax(420px,1fr) minmax(320px,1fr)}.trip-workspace.hide-agent .trip-agent-panel{display:none}.trip-workspace.hide-map .trip-columns{grid-template-columns:minmax(285px,320px) minmax(420px,1fr)}.trip-workspace.hide-map .trip-map-panel{display:none}.trip-workspace.hide-map.hide-agent .trip-columns{grid-template-columns:1fr}.trip-agent-panel,.trip-roadbook-panel,.trip-map-panel{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.trip-agent-panel{background:#f6f5f0;border-right:1px solid var(--trip-line)}.trip-panel-heading{height:74px;flex:0 0 74px;padding:15px 17px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--trip-line)}.trip-panel-heading h2{font-size:13px;font-weight:650}.trip-panel-heading p{margin-top:5px;font-size:11px;color:#919b8b}.trip-panel-heading>div:not(.trip-agent-avatar){min-width:0;flex:1}.trip-agent-avatar{width:35px;height:35px;border-radius:10px;color:#3e795d;background:#e5ecdf;display:grid;place-items:center;flex:0 0 35px}.trip-online{font-size:11px;color:#669469;white-space:nowrap}.trip-online:before{content:"";display:inline-block;width:4px;height:4px;background:#7eaa79;border-radius:50%;margin-right:4px;vertical-align:middle}.trip-online.unavailable{color:#aaa58a}.trip-online.unavailable:before{background:#c0b996}.trip-agent-scroll{min-height:0;flex:1;overflow:auto;padding:23px 16px 16px;overscroll-behavior:contain}.trip-welcome .trip-eyebrow{font-size:11px}.trip-welcome h3{margin:15px 0 10px;font-size:21px;font-weight:550;letter-spacing:-.5px}.trip-welcome p{line-height:1.9;font-size:12px;color:#7c897c}.trip-welcome>div{display:grid;gap:8px;margin-top:23px}.trip-welcome>div button{display:flex;justify-content:space-between;align-items:center;gap:7px;text-align:left;border:1px solid #e2e7db;background:#fcfcf8;border-radius:8px;padding:10px;color:#6b816b;font-size:11px;line-height:1.6}.trip-welcome>div button:hover{background:#f0f4e9}.trip-welcome>div svg{transform:rotate(-90deg);flex:0 0 auto}.trip-message{margin-bottom:20px}.trip-message-label{display:block;font-size:11px;color:#94a28e;margin:0 2px 6px}.trip-message.user .trip-message-label{text-align:right}.trip-message-bubble{padding:12px;border:1px solid #e4e8df;background:#fffefa;border-radius:0 10px 10px;overflow-wrap:anywhere}.trip-message-bubble>p{white-space:pre-wrap;font-size:12px;line-height:1.9;color:#53664f}.trip-message.user .trip-message-bubble{margin-left:22px;background:#e8eee2;border-color:#dfe7d8;border-radius:10px 0 10px 10px}.trip-message.system .trip-message-bubble{background:transparent;border-style:dashed;padding:8px}.trip-message.system .trip-message-bubble p{font-size:11px;color:#8d9785}.trip-generation-card{border-top:1px solid #e2e8db;margin-top:12px;padding-top:12px}.trip-generation-card>strong{display:flex;align-items:center;gap:5px;font-size:11px;color:#587b52}.trip-generation-card ul{padding-left:17px;font-size:11px;color:#899073;line-height:1.8;margin:8px 0}.trip-generation-card .trip-primary{margin-top:10px;width:100%}.trip-generation-card>small{display:block;margin-top:6px;font-size:11px;text-align:center;color:#929c87}.trip-generation-card.stale{opacity:.6}.trip-agent-working{display:flex;align-items:center;gap:9px;font-size:11px;color:#7d9373}.trip-agent-working .trip-icon{margin-left:auto}.trip-working-dots{display:inline-flex;gap:3px}.trip-working-dots i{width:4px;height:4px;border-radius:50%;background:#88a176;animation:trip-pulse 1.2s infinite alternate}.trip-working-dots i:nth-child(2){animation-delay:.2s}.trip-working-dots i:nth-child(3){animation-delay:.4s}@keyframes trip-pulse{to{opacity:.25;transform:translateY(-2px)}}.trip-agent-tools{display:flex;justify-content:space-around;gap:2px;padding:7px 11px}.trip-agent-tools button{display:flex;align-items:center;gap:4px;border:0;padding:5px 4px;background:none;color:#7c8e72;font-size:11px}.trip-composer{margin:0 12px;padding:9px 10px;border:1px solid #d4ddcb;border-radius:9px;background:#fffefa;box-shadow:0 2px 5px #273d2505}.trip-composer textarea{width:100%;height:75px;border:0;resize:none;background:none;font:inherit;font-size:12px;line-height:1.8;color:#52684b;outline:none}.trip-composer textarea::placeholder{color:#a4ad99}.trip-composer>div{display:flex;align-items:center;justify-content:space-between}.trip-composer select{max-width:185px;border:0;background:none;color:#8c9980;font-size:11px;outline:none}.trip-send{width:31px;height:31px;border:0;border-radius:7px;background:#377657;color:#fff;display:grid;place-items:center}.trip-composer-foot{flex:0 0 auto;text-align:center;font-size:11px;line-height:1.7;color:#a2aa93;padding:7px 10px 10px}.trip-more{display:block;margin:0 auto 15px}.trip-roadbook-panel{background:#fffefa;border-right:1px solid var(--trip-line)}.trip-roadbook-scroll{padding:28px 27px 18px;overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}.trip-roadbook-heading,.trip-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.trip-roadbook-heading h2{font-size:24px;letter-spacing:-.6px;font-weight:600;margin-top:8px}.trip-brief-summary{margin-top:28px}.trip-brief-summary .trip-section-heading h2{font-size:15px;margin:0}.trip-brief-summary .trip-section-heading .trip-eyebrow{display:none}.trip-brief-summary .trip-secondary{font-size:11px;min-height:29px;padding:5px 8px}.trip-summary-rows{margin-top:15px;display:grid;gap:0}.trip-summary-rows>div{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid #eff0e8}.trip-summary-rows>div>svg{color:#96a589;flex:0 0 17px;margin-top:2px}.trip-summary-rows>div>span{font-size:11px;color:#97a18b;flex:0 0 41px;line-height:1.8}.trip-summary-rows>div>strong{font-size:12px;font-weight:500;color:#687d5e;line-height:1.8}.trip-summary-rows>div>strong.pending{color:#b0b7a2}.trip-preferences{border-radius:7px;padding:11px;margin-top:15px;background:#f5f6ee;font-size:11px;color:#7c8a6e;line-height:1.8}.trip-preferences b{margin-right:10px;color:#688259;font-weight:550}.trip-chosen-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 10px}.trip-chosen-heading h3{font-size:12px;font-weight:600}.trip-chosen-heading h3 span{color:#a0ad91;margin-left:6px}.trip-chosen-list>div{display:flex;align-items:center;border:1px solid #e6eadd;border-radius:7px;margin-bottom:7px;padding:8px}.trip-chosen-list>div>button:first-child{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;background:none;border:0;color:#6c815d}.trip-chosen-list strong,.trip-chosen-list small{display:block;font-size:11px;line-height:1.6}.trip-chosen-list small{font-size:11px;color:#9da98b}.trip-chosen-list .trip-text-button{font-size:11px}.trip-roadbook-empty{margin-top:25px;padding:27px 20px;background:#f8f8f0;border:1px dashed #dfe4d0;border-radius:9px;text-align:center}.trip-roadbook-empty h3{font-size:14px;font-weight:500;margin:18px 0 9px}.trip-roadbook-empty p{max-width:310px;margin:auto;font-size:11px;color:#97a286;line-height:1.9}.trip-roadbook-empty .trip-secondary{margin-top:18px;background:#fffdf8;font-size:11px}.trip-empty-path{display:flex;width:145px;margin:auto;align-items:center;gap:8px;color:#9dae8c}.trip-empty-path i{width:9px;height:9px;background:#d4e0c6;border:2px solid #a7bd92;border-radius:50%}.trip-empty-path span{flex:1;border-top:1px dashed #bbcbab;transform:rotate(-6deg)}.trip-roadbook-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:13px;color:#899b7f;font-size:11px;line-height:1.8}.trip-roadbook-meta span{display:flex;align-items:center;gap:4px}.trip-day-tabs{display:flex;gap:8px;overflow:auto;padding:22px 0 16px;border-bottom:1px solid #e7ebdc}.trip-day-tabs button{padding:9px 12px;min-width:67px;border:1px solid #e6ebde;border-radius:7px;background:#fbfcf6;color:#9caa8d}.trip-day-tabs button strong,.trip-day-tabs button span{display:block;font-size:11px}.trip-day-tabs button span{font-size:11px;margin-top:4px}.trip-day-tabs button.active{background:#edf3e6;border-color:#b9cdaa;color:#527a3e}.trip-day-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 0 17px}.trip-day-heading span{font-size:11px;color:#98a887}.trip-day-heading h3{margin-top:4px;font-size:19px;font-weight:550}.trip-stay-card{border:1px solid #e3eadb;border-radius:8px;background:#f3f6ed;margin-bottom:17px;overflow:hidden}.trip-stay-card.selected{border-color:#8faa76}.trip-stay-card>button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:13px;text-align:left;color:#68814e}.trip-stay-card>button>span{flex:1}.trip-stay-card strong{display:block;font-size:12px;margin:3px 0}.trip-stay-card small{display:block;font-size:11px;color:#95a47f;line-height:1.7}.trip-stay-card>div{padding:0 13px 9px;display:flex;justify-content:flex-end;gap:13px}.trip-stay-card .trip-text-button{font-size:11px}.trip-meal-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.trip-meal-chips span{display:flex;align-items:center;gap:4px;background:#f5f4e9;border-radius:4px;padding:5px 7px;font-size:11px;color:#999779}.trip-day-empty{text-align:center;padding:35px 15px;color:#acb69b}.trip-day-empty p{font-size:13px;margin:12px 0 6px;color:#819770}.trip-day-empty small{font-size:11px}.trip-stop{display:flex;gap:11px;align-items:stretch;position:relative;scroll-margin-top:12px}.trip-stop-axis{display:flex;flex-direction:column;align-items:center;flex:0 0 23px;padding-top:12px}.trip-stop-axis span{width:23px;height:23px;display:grid;place-items:center;border:1px solid #cfddc1;border-radius:50%;background:#f3f7ec;color:#75915e;font-size:11px}.trip-stop-axis i{width:1px;flex:1;background:#e3ead9;margin-top:8px;min-height:25px}.trip-stop-card{flex:1;min-width:0;border:1px solid #e5ebdd;border-radius:8px;position:relative;background:#fffef9}.trip-stop.selected .trip-stop-card{border-color:#9cb783;box-shadow:0 0 0 2px #c1d5aa22}.trip-stop-main{display:block;width:100%;text-align:left;border:0;background:none;padding:13px 14px;color:#526a3f}.trip-stop-type{display:flex;gap:4px;align-items:center;font-size:11px;color:#9eaa8b;padding-right:45px}.trip-stop-main h4{font-size:14px;font-weight:600;margin:6px 0 9px}.trip-stop-metadata{display:flex;flex-wrap:wrap;gap:10px;color:#8f9c7c;font-size:11px;line-height:1.8}.trip-stop-metadata span{display:flex;align-items:center;gap:4px}.trip-stop-main p{display:flex;gap:4px;align-items:flex-start;font-size:11px;line-height:1.8;color:#9ba58a;margin-top:6px}.trip-stop-main p svg{flex:0 0 auto;margin-top:2px}.trip-stop-main p.pending{color:#b2ad8c}.trip-stop-main p.trip-stop-notes{display:block;font-size:11px;line-height:1.8;color:#829271;border-top:1px solid #f0f2e7;padding-top:8px;white-space:pre-wrap}.trip-stop-controls{position:absolute;top:6px;right:5px;display:flex}.trip-stop-controls .trip-icon{width:24px;height:24px;flex-basis:24px}.trip-stop-menu{position:absolute;top:28px;right:0;z-index:12;padding:5px;min-width:135px;border:1px solid #dce5d1;border-radius:7px;background:#fff;box-shadow:0 6px 19px #1e321321}.trip-stop-menu button{width:100%;display:flex;gap:6px;align-items:center;border:0;background:none;color:#66814d;padding:8px;font-size:11px;text-align:left;border-radius:4px}.trip-stop-menu button:hover{background:#f2f6eb}.trips-root .danger,.trip-dialog .danger{color:#b38162}.trip-leg{display:flex;align-items:center;gap:6px;border:0;background:none;padding:13px 0 14px 41px;color:#9ba88c;font-size:11px;max-width:100%;text-align:left;line-height:1.7}.trip-leg small{color:#b4ad80;font-size:11px}.trip-day-actions{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 24px 34px}.trip-day-actions .trip-secondary{font-size:11px;padding:6px 9px;min-height:31px}.trip-issues{padding:13px;margin:18px 0;border:1px solid #ebe8d3;border-radius:7px;background:#fcfaed}.trip-issues strong{font-size:11px;color:#a39665}.trip-issues p{font-size:11px;color:#aaa07c;margin-top:6px;line-height:1.8}.trip-roadbook-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e1;padding:14px 0 0;color:#aab499;font-size:11px}.trip-roadbook-footer .trip-text-button{font-size:11px}.trip-preview-banner{background:#eaf2e0;border-bottom:1px solid #d5e2c4;padding:13px 16px;flex:0 0 auto}.trip-preview-banner strong{display:block;font-size:12px;color:#5c7b43}.trip-preview-banner span{display:block;font-size:11px;color:#8e9f78;line-height:1.7;margin-top:4px}.trip-preview-banner>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.trip-preview-banner .trip-primary,.trip-preview-banner .trip-secondary{font-size:11px;min-height:29px;padding:5px 8px}.trip-unplaced{border-top:1px dashed #dce5ce;padding-top:15px;margin:15px 0}.trip-unplaced h3{font-size:12px;margin-bottom:9px}.trip-unplaced>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:11px;color:#819569}.trip-map-panel{background:#eff2e9}.trip-map-panel .trip-panel-heading{background:#fafbf4}.trip-map-canvas-wrap{position:relative;min-height:0;flex:1}.trip-map-canvas{width:100%;height:100%}.trip-map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#a8b99a;background:radial-gradient(ellipse at 30% 80%,#e0e8d4 0 30%,transparent 31%),linear-gradient(125deg,#f0f3e8,#e9eddf);padding:40px;text-align:center}.trip-map-placeholder h3{font-size:16px;font-weight:500;color:#789166}.trip-map-placeholder p{font-size:11px;line-height:1.9;max-width:220px;color:#9aac89}.trip-map-placeholder small{font-size:11px}.trip-map-toolbar{position:absolute;top:14px;left:12px;right:12px;z-index:4;display:flex;flex-wrap:wrap;gap:4px}.trip-map-toolbar button{flex:1;display:flex;justify-content:center;align-items:center;gap:4px;padding:8px 5px;border:1px solid #dfe6d3;border-radius:6px;color:#78925f;background:#fffffff2;box-shadow:0 2px 6px #4053260c;font-size:11px;white-space:nowrap}.trip-map-toolbar button.active{border-color:#acc693;background:#e8f1dc;color:#5d823a}.trip-map-bottom-tools{position:absolute;right:13px;bottom:14px;z-index:4;display:flex;gap:7px;align-items:center}.trip-map-bottom-tools label{background:#fffffff2;padding:7px 9px;border:1px solid #e0e7d4;border-radius:6px;font-size:11px;color:#92a27b;display:flex;gap:4px;align-items:center}.trip-map-bottom-tools input{accent-color:#7b9c5c}.trip-map-bottom-tools .trip-icon{background:#fffffff2;border:1px solid #e0e7d4}.trip-map-marker{min-width:28px;height:33px;background:#39815a;border:2px solid #fff;color:#fff;border-radius:13px 13px 13px 0;box-shadow:0 2px 8px #31532333;font-size:11px;font-weight:700}.trip-map-marker.selected{background:#cc7b48;box-shadow:0 0 0 4px #d9966035}.trip-map-marker.preview{background:#ae8c57}.trip-map-marker.hotel{background:#6787a5}.trip-map-selection{flex:0 0 67px;min-height:67px;display:flex;align-items:center;gap:10px;background:#fffffb;padding:11px 16px;border-top:1px solid #dde5d0;color:#7d975f}.trip-map-selection>div{flex:1;min-width:0}.trip-map-selection strong,.trip-map-selection span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-map-selection strong{font-size:12px;color:#5d7847}.trip-map-selection span{font-size:11px;color:#a0af8b;margin-top:5px}.trip-map-selection.muted{flex-basis:53px;min-height:53px}.trip-heat-legend{position:absolute;bottom:15px;left:14px;background:#ffffffec;padding:8px;border-radius:5px;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:4px;max-width:160px;color:#8c9a79;font-size:11px}.trip-heat-legend i{width:64px;height:5px;border-radius:3px;background:linear-gradient(to right,#54b7b4,#edac42,#e8565f)}.trip-heat-legend small{flex-basis:100%;line-height:1.5;font-size:11px;margin-top:3px}.trip-map-drawer{position:absolute;top:62px;left:12px;right:12px;bottom:64px;z-index:5;overflow:auto;border:1px solid #dfe6d2;border-radius:8px;background:#fffef9f5;box-shadow:0 8px 28px #40562417;padding:12px}.trip-map-drawer>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.trip-map-drawer>header strong{font-size:12px;color:#6f8953}.trip-search-categories{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.trip-search-categories button{border:1px solid #e4ead9;border-radius:4px;background:#fff;color:#92a27b;padding:5px 9px;font-size:11px}.trip-search-categories button.active{background:#eff5e4;border-color:#adc690;color:#688b41}.trip-weather{padding:25px 0;display:flex;align-items:center;flex-direction:column;gap:15px;color:#899d67}.trip-weather strong{font-size:18px;font-weight:500}.trip-weather span{font-size:24px;color:#627d3f}.trip-weather p{font-size:11px}.trip-weather small{font-size:11px;color:#a8b58f}.trip-candidates{display:grid;gap:10px;margin-top:14px}.trip-candidate{border:1px solid #e0e8d3;border-radius:7px;padding:12px;background:#fffef9}.trip-candidate-title{display:flex;align-items:flex-start;gap:8px;color:#7a945b}.trip-candidate-title>svg{flex:0 0 18px;margin-top:2px}.trip-candidate-title>div{min-width:0}.trip-candidate-title strong{display:block;font-size:12px;line-height:1.7;color:#5e7c42}.trip-candidate-title small{display:block;font-size:11px;line-height:1.7;color:#9aab7e;margin-top:3px}.trip-candidate-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px;color:#9bac7d;font-size:11px}.trip-candidate-meta span{display:flex;align-items:center;gap:3px}.trip-hotel-price{margin:12px 0;font-size:11px;color:#afae82}.trip-hotel-price strong{font-size:20px;font-weight:600;color:#b08b5a}.trip-hotel-price small{display:block;margin-top:4px;font-size:11px}.trip-candidate-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.trip-candidate-actions .trip-primary,.trip-candidate-actions .trip-secondary{min-height:29px;padding:5px 7px;font-size:11px}.trip-quotes{margin-top:12px;border-top:1px solid #e6ecd9}.trip-quotes>div{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px 0;border-bottom:1px solid #eef2e6}.trip-quotes strong,.trip-quotes span{font-size:11px;color:#879a65}.trip-quotes small{grid-column:1/-1;color:#a5b488;font-size:11px;line-height:1.7}.trip-quotes a{display:flex;align-items:center;gap:3px;font-size:11px;color:#6c9145;text-decoration:none}.trip-readonly{padding:9px 15px;background:#f4f0e2;font-size:11px;color:#a49b74;display:flex;justify-content:space-between;align-items:center}.trip-mobile-tabs{display:none}.trip-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;padding:0;width:min(500px,calc(100vw - 28px));max-height:calc(100dvh - 40px);color:#34533b;background:#fffef9;border:1px solid #dce5d3;border-radius:12px;box-shadow:0 30px 100px #21391d33;font-family:inherit}.trip-dialog.wide{width:min(670px,calc(100vw - 28px))}.trip-dialog::backdrop{background:#20371f55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.trip-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border-bottom:1px solid #e8eddc;position:sticky;top:0;background:#fffef9;z-index:1}.trip-dialog>header h2{font-size:17px;font-weight:600;margin:0}.trip-form{padding:20px 22px}.trip-form>p{font-size:12px;line-height:1.9;color:#82966b}.trip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trip-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.trip-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}.trip-field>span{font-size:11px;color:#778d60;font-weight:550}.trip-field input,.trip-field textarea,.trip-field select,.trip-inline-input input,.trip-inline-input select{border:1px solid #dce5d0;border-radius:6px;background:#fffffd;padding:9px 10px;min-height:38px;width:100%;min-width:0;color:#526f3b;font:inherit;font-size:12px;outline:none}.trip-field input:focus,.trip-field textarea:focus,.trip-field select:focus,.trip-inline-input input:focus{border-color:#97b578;box-shadow:0 0 0 2px #aec88e20}.trip-field textarea{resize:vertical;line-height:1.8}.trip-mode-field{border:1px solid #e2ead6;border-radius:7px;padding:10px 12px;margin:0 0 17px;display:flex;flex-wrap:wrap;gap:14px}.trip-mode-field legend{font-size:11px;padding:0 5px;color:#859d67}.trip-mode-field label,.trip-check{display:flex;gap:5px;align-items:center;font-size:11px;color:#8b9e70}.trip-mode-field input,.trip-check input{accent-color:#779d4c}.trip-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:21px;padding-top:16px;border-top:1px solid #e8eedc}.trip-inline-input{display:flex;gap:7px;align-items:center}.trip-inline-input .trip-primary,.trip-inline-input .trip-secondary{flex:0 0 auto}.trip-place-options{max-height:220px;overflow:auto;border:1px solid #e3ebd5;border-radius:6px;margin:-5px 0 17px}.trip-place-options button{display:flex;gap:8px;align-items:center;width:100%;border:0;background:none;color:#8ea96a;padding:10px;text-align:left;border-bottom:1px solid #f0f4e8}.trip-place-options button:hover{background:#f4f8ec}.trip-place-options strong,.trip-place-options small{display:block;font-size:11px}.trip-place-options small{font-size:11px;color:#a8b990;margin-top:3px}.trip-located{display:flex;align-items:center;gap:7px;background:#f0f6e6;border-radius:6px;padding:9px;margin:-5px 0 16px;color:#81a25b;font-size:11px}.trip-located>span{flex:1}.trip-located small{display:block;font-size:11px;color:#a7b98a;margin-top:3px}.trip-move-list{display:grid;gap:8px}.trip-move-list button{justify-content:space-between}@media(max-width:1250px)and (min-width:901px){.trip-columns{grid-template-columns:290px minmax(360px,1fr)}.trip-map-panel{display:none}.trip-workspace.hide-agent .trip-columns{grid-template-columns:minmax(360px,1fr) minmax(300px,.9fr)}.trip-workspace.hide-agent:not(.hide-map) .trip-map-panel{display:flex}.trip-workspace.hide-map .trip-columns{grid-template-columns:290px minmax(360px,1fr)}}@media(max-width:900px){.trip-workspace{height:calc(100dvh - 64px);min-height:0}.trip-workspace-header{grid-template-columns:auto 1fr auto;height:56px;flex-basis:56px;padding:0 12px}.trip-brand>small,.trip-brand>svg{display:none}.trip-workspace-actions>button:not(:last-child){display:none}.trip-columns,.trip-workspace.hide-agent .trip-columns,.trip-workspace.hide-map .trip-columns{display:flex}.trip-agent-panel,.trip-roadbook-panel,.trip-map-panel{display:none;width:100%;border-right:0;flex:1}.trip-workspace.tab-agent .trip-agent-panel,.trip-workspace.tab-roadbook .trip-roadbook-panel,.trip-workspace.tab-map .trip-map-panel{display:flex}.trip-mobile-tabs{display:flex;flex:0 0 auto;height:58px;padding-bottom:env(safe-area-inset-bottom,0);background:#fffffa;border-top:1px solid #e3ecd5}.trip-mobile-tabs button{border:0;background:none;color:#a2b78b;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:11px}.trip-mobile-tabs button.active{color:#56823d;background:#f1f7e7}.trip-agent-scroll{padding:20px}.trip-roadbook-scroll{padding:22px 20px}.trip-composer textarea{height:62px}.trip-panel-heading{height:65px;flex-basis:65px}.trip-composer-foot{padding-bottom:6px}.trip-library{padding:12px 0}.trip-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.trip-library-header h1{font-size:26px}}@media(max-width:550px){.trip-library-header{align-items:flex-start;gap:10px;margin-bottom:22px}.trip-library-header .trip-primary{font-size:11px;padding:9px;white-space:nowrap}.trip-library-header h1{font-size:23px}.trip-library-header p{font-size:11px;line-height:1.8}.trip-library-header .trip-eyebrow{font-size:11px}.trip-library-grid{grid-template-columns:1fr}.trip-search{width:135px}.trip-search input{width:100%;font-size:11px}.trip-tabs{gap:15px}.trip-tabs button{font-size:11px}.trip-card-landscape{height:130px}.trip-fields.three{grid-template-columns:1fr 1fr}.trip-form{padding:17px}.trip-dialog>header{padding:14px 17px}.trip-fields{gap:10px}.trip-field input,.trip-field select,.trip-field textarea{font-size:13px}.trip-roadbook-heading h2{font-size:22px}.trip-current-title>strong{max-width:calc(100% - 25px);font-size:12px}.trip-brand>strong{font-size:14px}.trip-brand>span{width:26px;height:26px}}@media(prefers-reduced-motion:reduce){.trip-spin,.trip-working-dots i{animation:none}.trip-library-card{transition:none}}.trip-diff{border:1px solid #dce6d5;padding:12px;margin:15px 0;border-radius:7px;background:#f4f7ee;font-size:12px}.trip-diff ul{padding:0;list-style:none;display:grid;gap:10px;margin:12px 0 0}.trip-diff b{margin-right:8px;color:#426948}.trip-diff small{display:block;margin-top:4px;color:#69745e;line-height:1.7}.trip-date-impact{font-size:12px;line-height:1.8;color:#715d3c}.trips-root{--trip-muted:#657261}.trip-help,.trip-source,.trip-stop-metadata,.trip-stop-main p,.trip-candidate-title small,.trip-candidate-meta,.trip-panel-heading p,.trip-roadbook-footer,.trip-stay-card small,.trip-map-selection span,.trip-chosen-list small{color:#687961}:root{--primary: #181E25;--primary-light: #3D4A56;--primary-dark: #0F1216;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--bg: #F9FAFB;--card-bg: #FFFFFF;--text: #111827;--text-secondary: #6B7280;--border: #E5E7EB}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{margin-top:64px;flex:1;padding:24px}.page{max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.page-title{font-size:28px;font-weight:700;color:var(--text)}.card{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #00000026}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background:var(--hover-bg);border-color:var(--text-secondary)}.btn-secondary{background:var(--border);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{padding:6px 12px;font-size:14px}.input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;transition:border-color .2s}.input:focus{outline:none;border-color:var(--primary)}.select{width:100%;padding:12px 40px 12px 16px;border:1px solid var(--border);border-radius:50px;font-size:14px;color:var(--text);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.select:hover{border-color:var(--primary);box-shadow:0 2px 4px #00000014}.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2e8b5726}.select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}@media(max-width:768px){.select{padding:14px 44px 14px 16px;font-size:16px;min-height:48px}}.label{display:block;margin-bottom:6px;font-weight:500;color:var(--text)}.form-group{margin-bottom:16px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.table th{background:var(--bg);font-weight:600;color:var(--text-secondary)}.table tr:hover{background:var(--bg)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:var(--card-bg);border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.stats-card{text-align:center;padding:24px}.stats-value{font-size:32px;font-weight:700;color:var(--primary)}.stats-label{color:var(--text-secondary);margin-top:8px}.stats-change{font-size:12px;margin-top:4px}.empty{text-align:center;padding:48px;color:var(--text-secondary)}.loading{display:flex;align-items:center;justify-content:center;padding:48px}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border)}.tab{padding:12px 20px;background:none;border:none;cursor:pointer;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:var(--primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-success{background:#10b9811a;color:var(--success)}.badge-danger{background:#ef44441a;color:var(--danger)}.badge-warning{background:#f59e0b1a;color:var(--warning)}.badge-primary{background:#3b82f61a;color:#3b82f6}.badge-secondary{background:#6b72801a;color:#6b7280}.badge-info{background:#06b6d41a;color:#06b6d4}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;justify-content:center}.gap-2{gap:8px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mr-2{margin-right:8px}.ml-2{margin-left:8px}.text-center{text-align:center}.text-right{text-align:right}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}
