body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.logo{height:32px;margin:16px;color:#fff;font-size:18px;font-weight:700;text-align:center}.site-layout .site-layout-background{background:#fff}.ant-layout-sider-children .ant-menu-item-selected{background-color:#1890ff!important}@media (max-width:768px){.ant-table{overflow-x:auto}.ant-card{margin-bottom:16px}}.app-container{min-height:100vh}.site-layout{padding:0 50px}.site-layout-background{padding:24px;min-height:360px;background:#fff}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:#f0f2f5}.login-form{width:300px;padding:24px;background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15)}@media (prefers-color-scheme:dark){#root,.ant-card,.ant-card-body,.ant-card-head,.ant-layout,.ant-layout-content,.ant-layout-footer,.ant-layout-header,.ant-table,.ant-table-container,.ant-table-tbody>tr>td,.ant-table-thead>tr>th,.ant-table-wrapper,body,html{background-color:#fff!important;color:rgba(0,0,0,.85)!important}.ant-table-thead>tr>th{background-color:#f5f5f5!important}.ant-table-tbody>tr:hover>td{background-color:#e6f7ff!important}.ant-tabs,.ant-tabs-nav,.ant-tabs-tab{background-color:#fff!important;color:rgba(0,0,0,.65)!important}.ant-tabs-tab-active{color:#1890ff!important}.ant-btn:not(.ant-btn-primary){background-color:#fff!important;border-color:#d9d9d9!important;color:rgba(0,0,0,.65)!important}.mobile-form-container,.mobile-navigation,.mobile-player-count,.mobile-player-filters,.mobile-player-header,.mobile-player-list,.mobile-player-search,.mobile-players,.mobile-rankings,.mobile-rankings-header,.mobile-rankings-list,.mobile-rankings-update-time,.mobile-side-menu,.mobile-test,.mobile-test-card,.mobile-test-header,.mobile-tournament,.mobile-tournament-header,.mobile-tournament-info,.mobile-tournament-rankings,.mobile-tournament-stats,.mobile-tournament-tabs,.ranking-rules{background-color:#fff!important;color:rgba(0,0,0,.85)!important}.mobile-player-search-input,input[type=search],input[type=text]{background-color:#f5f5f5!important;color:#333!important;border-color:#e8e8e8!important}.mobile-player-filter{background-color:#f0f0f0!important;color:#666!important}.mobile-player-filter.active{background-color:#ff5722!important;color:#fff!important}div,h1,h2,h3,h4,h5,h6,p,span{color:rgba(0,0,0,.85)!important}.ant-btn-primary,.ant-tabs-ink-bar,.ant-tag{background-color:initial!important}.anticon{color:initial!important}}.tier-row-s{background-color:rgba(245,34,45,.1)!important}.tier-row-t0{background-color:rgba(114,46,209,.1)!important}.tier-row-t1{background-color:rgba(250,140,22,.1)!important}.tier-row-t2{background-color:rgba(82,196,26,.1)!important}.tier-row-t3{background-color:rgba(24,144,255,.1)!important}.tier-row-new{background-color:hsla(0,0%,85.1%,.1)!important}.tier-tag-s{background-color:#f5222d!important;color:#fff!important}.tier-tag-t0{background-color:#722ed1!important;color:#fff!important}.tier-tag-t1{background-color:#fa8c16!important;color:#fff!important}.tier-tag-t2{background-color:#52c41a!important;color:#fff!important}.tier-tag-t3{background-color:#1890ff!important;color:#fff!important}.tier-tag-new{background-color:#d9d9d9!important;color:#fff!important}.tier-row-new:hover td,.tier-row-s:hover td,.tier-row-t0:hover td,.tier-row-t1:hover td,.tier-row-t2:hover td,.tier-row-t3:hover td{background-color:rgba(0,0,0,.05)!important}.app{min-height:100vh;display:flex;flex-direction:column}.mobile-app{max-width:100%;overflow-x:hidden;background-color:#f5f5f5}.main-content{flex:1 1;padding:0;background-color:#f5f5f5}.mobile-component-wrapper{border-radius:8px;background-color:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:16px}.mobile-card{border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.mobile-card-title{font-size:18px;font-weight:600;margin-bottom:12px}.mobile-button-group{display:flex;grid-gap:8px;gap:8px;margin:16px 0}.mobile-button{background-color:#1a6eb0;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer}.mobile-button.secondary{background-color:#f0f0f0;color:#333}@media (max-width:768px){.main-content{padding:0}.mobile-content{padding-bottom:60px}}.navbar{background-color:#1890ff;padding:12px 16px;color:#fff}.navbar-brand{font-size:20px;font-weight:700;text-decoration:none;color:#fff}.nav-links{display:flex;grid-gap:16px;gap:16px;margin-top:8px}.nav-link{color:hsla(0,0%,100%,.8);text-decoration:none;padding:4px 8px;border-radius:4px;transition:all .3s}.nav-link.active,.nav-link:hover{color:#fff;background-color:hsla(0,0%,100%,.1)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:#666}.error{padding:16px;margin:16px;color:#f5222d;background-color:#fff1f0;border:1px solid #ffa39e;border-radius:4px}.not-found{text-align:center;padding:48px 16px}.not-found h2{font-size:24px;color:#1890ff;margin-bottom:16px}.not-found p{color:#666}.mobile-action-bar{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:12px 16px;box-shadow:0 -2px 8px rgba(0,0,0,.1);z-index:100;display:flex;justify-content:space-around}.mobile-form-group{margin-bottom:16px}.mobile-form-label{display:block;margin-bottom:6px;color:#333;font-size:.9rem}.mobile-form-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem}@media (prefers-color-scheme:dark){.App,.mobile-app{background-color:#1a1a1a;color:#fff}.mobile-card,.mobile-component-wrapper{background-color:#2a2a2a;color:#f0f0f0}.mobile-card-title{color:#f0f0f0}.mobile-button.secondary{background-color:#2a2a2a;color:#f0f0f0}.mobile-action-bar{background-color:#1a1a1a}}.mobile-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:16px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;width:100%}.mobile-card:active{transform:scale(.98)}.mobile-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0}.mobile-card-title{margin:0;font-size:16px;font-weight:500;color:#333}.mobile-card-extra{font-size:14px;color:#666}.mobile-card-content{padding:16px}@media (max-width:576px){.mobile-card{border-radius:6px;margin-bottom:12px}.mobile-card-header{padding:10px 12px}.mobile-card-content{padding:12px}}@media (prefers-color-scheme:dark){.mobile-card{background-color:#1f1f1f;box-shadow:0 2px 8px rgba(0,0,0,.2)}.mobile-card-header{border-bottom:1px solid #333}.mobile-card-title{color:#e0e0e0}.mobile-card-extra{color:#aaa}}.mobile-match-list{padding:12px 12px 72px}.mobile-match-card{margin-bottom:16px}.mobile-match-players{font-size:15px;font-weight:500;margin-bottom:8px;color:#333}.mobile-match-score{font-size:14px;color:#666;margin-bottom:6px}.mobile-match-location{font-size:13px;color:#888}.mobile-loading{height:200px}.mobile-error{height:200px;color:#f44336}.mobile-no-data{display:flex;justify-content:center;align-items:center;height:200px;color:#666;font-size:16px}@media (prefers-color-scheme:dark){.mobile-match-players{color:#e0e0e0}.mobile-match-score{color:#aaa}.mobile-match-location{color:#888}.mobile-loading,.mobile-no-data{color:#aaa}.mobile-error{color:#ff6b6b}}.mobile-player-detail{min-height:100vh;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:#f5f5f5;padding-bottom:20px;position:relative}.content-container{display:flex;flex-direction:column;grid-gap:12px;gap:12px;padding:0 0 20px}.mobile-player-detail{padding-top:0}.nav-bar{top:60px;z-index:99;min-height:44px;width:100%;box-sizing:border-box;margin-top:0}.nav-back{position:relative;z-index:10;flex-shrink:0}.nav-title{text-align:center;position:absolute;left:50%;transform:translateX(-50%);pointer-events:none;z-index:1;max-width:calc(100% - 240px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-actions{grid-gap:8px;gap:8px;margin-left:auto;position:relative;z-index:10;min-width:100px}.nav-action-item,.nav-actions{display:flex!important;align-items:center;flex-shrink:0}.nav-action-item{padding:6px 12px;cursor:pointer;color:#333;font-size:18px;grid-gap:4px;gap:4px;transition:all .3s;border-radius:6px;white-space:nowrap;visibility:visible!important;opacity:1!important;min-width:-moz-fit-content;min-width:fit-content}.nav-action-item:hover{color:#1890ff;background-color:#f0f8ff}.nav-action-item:active{opacity:.7;background-color:#e6f7ff}.nav-action-edit{color:#1890ff!important;font-weight:500;background-color:#e6f7ff!important;border:1px solid #91d5ff!important;padding:4px 10px!important;font-size:14px!important;display:flex!important;visibility:visible!important;opacity:1!important}.nav-action-edit:hover{color:#096dd9;background-color:#bae7ff;border-color:#40a9ff}.nav-action-text{font-size:13px;margin-left:4px;font-weight:500;display:inline-block!important;visibility:visible!important}.basic-info-card{margin:12px;padding:16px;background-color:#fff;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.player-info{flex-direction:row;align-items:center;justify-content:flex-start;padding:12px;background-color:#fff;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.player-avatar{margin-right:12px;flex-shrink:0}.player-info-container{display:flex;flex-direction:row;flex:1 1;align-items:center;justify-content:space-between}.player-name{font-size:18px;font-weight:600;margin:0}.player-tags{display:flex;flex-direction:row;grid-gap:8px;gap:8px;flex-wrap:wrap}.player-gender{display:inline-flex;padding:4px 12px;border-radius:20px;font-size:14px;font-weight:500;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.1)}.player-gender.male{background:linear-gradient(90deg,#e6f7ff,#bae7ff);color:#096dd9}.player-gender.female{background:linear-gradient(90deg,#fff0f6,#ffadd2);color:#c41d7f}.player-tier{display:inline-flex;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:500;align-items:center;justify-content:center}.tag-text{margin-left:6px}.player-tier.unranked{background:#f5f5f5;color:#999}.player-tier.s{background:#fff1f0;color:#ff4d4f}.player-tier.t1{background:#fff7e6;color:#fa8c16}.player-tier.t2{background:#f6ffed;color:#52c41a}.player-tier.t3{background:#e6f7ff;color:#1890ff}.player-level{text-align:right}.level-text{font-size:18px;font-weight:600;color:#333}.level-text.has-level{color:#999}.rating-rank{font-size:14px;color:#999;margin-top:4px}.player-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;background-color:#f9f9f9;padding:16px;border-radius:12px;margin:16px 0}.stat-item{text-align:center}.stat-value{font-size:20px;line-height:1.2}.stat-label{font-size:12px;margin-top:4px}.rating-cards{background-color:#fff;border-radius:12px;padding:16px}.rating-cards,.section-header{margin-bottom:16px}.section-header .section-title{margin:0}.section-title{font-size:16px}.rating-current{font-size:14px;color:#1890ff;font-weight:500}.rating-change{font-weight:500}.rating-chart{margin:0 -16px;padding:0 8px}.rating-chart .recharts-wrapper{margin:0 auto}.rating-chart .recharts-tooltip-wrapper{background:hsla(0,0%,100%,.96)!important;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:8px;white-space:pre-line;font-size:12px;line-height:1.5}.rating-chart .recharts-tooltip-label{color:#333;font-weight:500;margin-bottom:4px}.rating-chart .recharts-tooltip-item{color:#666;padding:2px 0}.rating-chart .recharts-cartesian-grid-horizontal line,.rating-chart .recharts-cartesian-grid-vertical line{stroke:#f0f0f0}.rating-chart .recharts-xAxis .recharts-cartesian-axis-tick-value,.rating-chart .recharts-yAxis .recharts-cartesian-axis-tick-value{fill:#666}.no-data{text-align:center;padding:32px 0;font-size:14px}.mobile-error,.mobile-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5}.error-content,.loading-content{text-align:center;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);width:100%;max-width:320px;margin:0 16px}.loading-text{font-size:18px;font-weight:500;color:#333;margin-bottom:8px}.loading-subtext{font-size:14px;color:#999}.error-title{font-size:18px;font-weight:500;color:#ff4d4f;margin-bottom:8px}.error-message{color:#666}.back-button{width:100%;padding:12px;background:#1890ff}.back-button:hover{background:#40a9ff}.special-opponents{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.opponent-item{padding:16px;border-radius:8px;text-align:center}.opponent-item.nemesis{background:#fff2f0;border:1px solid #ffccc7}.opponent-item.favorite{background:#f6ffed;border:1px solid #b7eb8f}.opponent-label{font-size:12px;margin-bottom:4px}.opponent-item.nemesis .opponent-label{color:#ff4d4f}.opponent-item.favorite .opponent-label{color:#52c41a}.opponent-name{font-size:16px;margin-bottom:4px}.opponent-stats{font-size:12px;color:#666}.recent-matches-section{background:#fff;border-radius:0;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:12px;margin-bottom:12px}.section-title{font-size:15px;margin-bottom:10px}.matches-list{display:flex;flex-direction:column;grid-gap:10px;gap:10px}.match-item{background:#f5f5f5;border-radius:6px;padding:12px;border-left:4px solid #ddd}.match-item.win-match{border-left-color:#52c41a}.match-item.loss-match{border-left-color:#ff4d4f}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.match-type-result{display:flex;align-items:center;grid-gap:8px;gap:8px}.match-type{background:#eee}.match-type.singles{background-color:#e6f7ff;color:#1890ff}.match-type.doubles{background-color:#fff7e6;color:#fa8c16}.match-result .win{color:#52c41a;background:#f6ffed}.match-result .loss,.match-result .win{padding:2px 10px;border-radius:10px;font-weight:500}.match-result .loss{color:#ff4d4f;background:#fff2f0}.match-content{border-top:1px dashed #eee;padding-top:8px}.match-opponent-singles{display:flex;align-items:center;justify-content:space-between}.opponent-label{color:#666;font-size:13px;margin-right:6px}.opponent-name{font-weight:600;font-size:14px;flex:1 1}.match-opponent-doubles{display:flex;flex-direction:column;grid-gap:6px;gap:6px}.team-info{display:flex;align-items:center;justify-content:space-between}.team-label{color:#666;font-size:13px;margin-right:6px;width:40px}.team-member{font-weight:600;color:#333;font-size:14px;flex:1 1}.match-score{font-weight:600;text-align:right}.match-type-tabs{display:flex;background:#fff;padding:12px 16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.tab-item{flex:1 1;text-align:center;padding:8px 0;font-size:14px;color:#666;position:relative;cursor:pointer}.tab-item.active{color:#1890ff;font-weight:500}.tab-item.active:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:20px;height:2px;background:#1890ff;border-radius:1px}.match-list{padding:0 12px}.match-item{background:#fff;border-radius:8px;padding:12px 16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.match-info{display:flex;align-items:center;grid-gap:8px;gap:8px;margin-bottom:8px}.match-date{color:#999}.match-type{font-size:12px;padding:2px 6px;background:#f5f5f5;color:#666}.match-opponent{font-size:14px;color:#333;flex:1 1}.match-result{display:flex;align-items:center;justify-content:space-between}.match-score{font-size:16px;font-weight:500;color:#333}.rating-change{font-size:14px;padding:2px 8px}.rating-change.positive{background:#f6ffed}.rating-change.negative{background:#fff2f0;color:#ff4d4f}.rating-section{display:flex;justify-content:space-between;padding:10px 12px;background:#fff;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.rating-item{flex:1 1;padding:0 6px;position:relative}.rating-item:first-child:after{content:"";position:absolute;right:0;top:15%;height:70%;width:1px;background:#eee}.rating-type{display:flex;flex-direction:row;align-items:center;grid-gap:6px;gap:6px;margin-bottom:4px}.rating-type-icon{width:18px;height:18px;border-radius:50%;background-position:50%;background-size:cover;background-repeat:no-repeat}.rating-label{font-size:15px;font-weight:500;color:#333}.rating-main-info{display:flex;align-items:center;grid-gap:6px;gap:6px;margin-bottom:4px}.rating-value{font-size:20px;line-height:1}.rating-tier{font-size:12px;font-weight:500;padding:1px 6px;border-radius:4px;height:18px;display:inline-flex;align-items:center}.rating-tier.s{background:#fff1f0;color:#ff4d4f}.rating-tier.t1{background:#fff7e6;color:#fa8c16}.rating-tier.t2{background:#f6ffed;color:#52c41a}.rating-tier.t3{background:#e6f7ff;color:#1890ff}.rating-tier.new{background:#f5f5f5;color:#666}.rating-stats{font-size:12px;color:#888}.rating-type-icon.singles{background-color:#e6f7ff;position:relative}.rating-type-icon.singles:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:#1890ff;border-radius:50%}.rating-type-icon.doubles{background-color:#fff7e6;position:relative}.rating-type-icon.doubles:after,.rating-type-icon.doubles:before{content:"";position:absolute;width:7px;height:7px;background-color:#fa8c16;border-radius:50%}.rating-type-icon.doubles:before{top:5px;left:5px}.rating-type-icon.doubles:after{bottom:5px;right:5px}.doubles-statistics-section{margin:16px;background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.partner-statistics-section{margin-top:16px}.doubles-statistics-section .section-title{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.partners-section{margin-top:16px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.partners-section .section-title{font-size:16px;font-weight:500;color:#333;margin-bottom:12px}.partners-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.partner-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px}.partner-name{font-size:14px}.partner-stats{font-size:12px;color:#666}.rating-type-switch{display:flex;grid-gap:8px;gap:8px}.type-option{padding:4px 12px;font-size:14px;color:#666;background:#f5f5f5;border-radius:16px;cursor:pointer;transition:all .3s ease}.type-option.active{color:#1890ff;background:#e6f7ff;font-weight:500}.win-rate-items{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.win-rate-item{padding:16px 8px;border-radius:8px;text-align:center}.win-rate-item.recent-month{background:#e6f7ff;border:1px solid #91d5ff}.win-rate-item.recent-three-months{background:#fff7e6;border:1px solid #ffd591}.win-rate-item.overall{background:#f6ffed;border:1px solid #b7eb8f}.win-rate-label{font-size:12px;color:#666;margin-bottom:4px}.win-rate-value{font-size:24px;font-weight:600;color:#333}.win-rate-stats{font-size:12px;color:#666;margin-top:4px}@media (max-width:360px){.win-rate-items{grid-gap:8px;gap:8px}.win-rate-item{padding:12px 6px}.win-rate-value{font-size:20px}}.match-list-enhanced{display:flex;flex-direction:column;grid-gap:12px;gap:12px;width:100%}.match-item-enhanced{padding:14px;border-radius:8px;background:#f9f9f9;box-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:10px}.match-item-enhanced.win{background:#f6ffed;border:1px solid #b7eb8f}.match-item-enhanced.loss{background:#fff2f0;border:1px solid #ffccc7}.match-header-enhanced{display:flex;justify-content:space-between;margin-bottom:10px}.match-type-enhanced{font-size:12px;padding:2px 8px;border-radius:4px;background:#f5f5f5;color:#666}.match-date-enhanced{font-size:12px;color:#999}.match-content-enhanced{display:flex;flex-direction:column;grid-gap:10px;gap:10px}.match-opponents-singles{display:flex;flex-direction:row;align-items:center;grid-gap:8px;gap:8px}.match-opponents-doubles{display:flex;flex-direction:column;grid-gap:6px;gap:6px}.match-opponent-label-enhanced,.match-team-label-enhanced{font-size:12px;color:#888}.match-opponent-name-enhanced,.match-team-names-enhanced{font-size:14px;font-weight:500;color:#333}.match-team-enhanced{display:flex;align-items:center;grid-gap:8px;gap:8px}.match-result-info-enhanced{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed #eee}.match-score-enhanced{font-size:18px;font-weight:600;color:#333}.rating-change-enhanced{font-size:14px;font-weight:500;padding:2px 8px;border-radius:12px}.rating-change-enhanced.positive{background:#f6ffed;color:#52c41a}.rating-change-enhanced.negative{background:#fff2f0;color:#ff4d4f}.win-rate-value.high{color:#52c41a}.win-rate-value.medium{color:#1890ff}.win-rate-value.low{color:#fa8c16}.partner-stats-btn{display:inline-block;background-color:#1677ff;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;margin-top:6px;cursor:pointer}.partner-stats-btn:hover{background-color:#0958d9}.load-more{text-align:center;padding:12px;color:#1890ff;cursor:pointer;font-size:14px}.load-more:hover{color:#40a9ff}.loading-more{color:#999}.load-error,.loading-more{text-align:center;padding:12px;font-size:14px}.load-error{color:#ff4d4f}.no-more{text-align:center;padding:12px;color:#999;font-size:14px}.rating-chart-section{background:#fff;margin:0 0 12px;border-radius:0;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:12px}@media (max-width:375px){.nav-title{font-size:16px;max-width:calc(100% - 200px)}.nav-actions{grid-gap:6px!important;gap:6px!important;display:flex!important;min-width:90px}.nav-action-item{opacity:1!important}.nav-action-edit,.nav-action-item{display:flex!important;visibility:visible!important}.nav-action-edit{padding:4px 8px!important;font-size:13px!important}.nav-action-text{font-size:12px;margin-left:2px;display:inline-block!important}}.rating-history-chart{background:#fff;border-radius:0;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:12px;margin-bottom:12px;min-height:unset;display:flex;flex-direction:column}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.chart-header h3{margin:0;font-size:15px;color:#333}.type-toggle{display:flex;grid-gap:8px;gap:8px}.type-toggle button{padding:4px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .3s ease;font-size:13px}.type-toggle button.active{background:#1890ff;color:#fff;border-color:#1890ff}.chart-container{flex:1 1;min-height:260px;position:relative;width:100%}.chart-legend{display:flex;justify-content:center;grid-gap:20px;gap:20px;margin-top:20px}.legend-item{display:flex;align-items:center;grid-gap:8px;gap:8px;font-size:14px;color:#666}.dot{width:8px;height:8px;border-radius:50%}.dot.match{background-color:#4bc0c0}.dot.snapshot{background-color:#ff6384}.error,.loading,.no-data{display:flex;justify-content:center;align-items:center;height:260px;color:#666;font-size:14px}.error{color:#ff4d4f}.no-data{color:#999}.rating-custom-tooltip{background-color:hsla(0,0%,100%,.9);border:1px solid #ccc;border-radius:4px;padding:10px;box-shadow:0 2px 4px rgba(0,0,0,.2);max-width:250px}.tooltip-date{font-weight:700;border-bottom:1px solid #eee;padding-bottom:5px;margin-bottom:5px}.tooltip-rating,.tooltip-rating-change{font-size:14px;margin:5px 0}.tooltip-rating-change .positive{color:#52c41a;font-weight:700}.tooltip-rating-change .negative{color:#f5222d;font-weight:700}.tooltip-tier{margin:5px 0}.tooltip-event,.tooltip-stats,.tooltip-winrate{font-size:12px;color:#666;margin:3px 0}.tier-tag{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.match-stats{display:flex;grid-gap:8px;gap:8px;margin-top:8px}.match-stat-item{padding:2px 8px;border-radius:12px;font-size:12px;background:#f5f5f5}.match-stat-item.wins{color:#52c41a}.match-stat-item.losses{color:#f5222d}.reference-line-label{font-size:12px;font-weight:500}@media (max-width:768px){.rating-history-chart{padding:12px;margin:0 -12px 16px;border-radius:0}}.doubles-basic-stats{padding:16px;background:#fff;border-radius:8px;margin-bottom:16px}.doubles-basic-stats.empty,.doubles-basic-stats.loading{padding:40px;text-align:center}.stats-row{margin-top:8px}.stat-card{text-align:center;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s}.stat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.stat-card .ant-statistic-title{font-size:14px;color:#666;margin-bottom:8px}.stat-card .ant-statistic-content{font-size:20px;font-weight:600}@media (max-width:768px){.doubles-basic-stats{padding:12px}.stats-title{font-size:16px}.stat-card .ant-statistic-content{font-size:18px}.stat-card .ant-statistic-title{font-size:12px}}.partner-stats{padding:16px;background:#f5f5f5;min-height:400px}.partner-stats.empty,.partner-stats.loading{display:flex;align-items:center;justify-content:center;min-height:300px}.partner-list-section{margin-top:24px}.partner-list-card{border-radius:8px}.partner-info{display:flex;align-items:center;grid-gap:8px;gap:8px}.partner-avatar{flex-shrink:0}@media (max-width:768px){.partner-stats{padding:12px}.stats-header{flex-direction:column;align-items:flex-start;grid-gap:8px;gap:8px}.stats-title{font-size:16px}.ranking-item{padding:10px}.ranking-name{font-size:13px}.ranking-value{font-size:14px}.partner-list-card{overflow-x:auto}}.partner-list-card .ant-table{font-size:13px}.partner-list-card .ant-table-thead>tr>th{background:#fafafa;font-weight:600;padding:12px 8px}.partner-list-card .ant-table-tbody>tr>td{padding:12px 8px}.opponent-stats,.partner-list-card .ant-table-tbody>tr:hover>td{background:#f5f5f5}.opponent-stats{padding:16px;min-height:400px}.opponent-stats.empty,.opponent-stats.loading{display:flex;align-items:center;justify-content:center;min-height:300px}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stats-title{font-size:18px;font-weight:600;margin:0}.stats-summary{color:#666;font-size:14px}.rankings-section{margin-bottom:24px}.ranking-tabs{background:#fff;border-radius:8px;padding:16px}.ranking-card{margin-top:16px;border-radius:8px}.ranking-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.ranking-item{display:flex;align-items:center;padding:12px;background:#fafafa;border-radius:6px;transition:all .3s}.ranking-item:hover{background:#f0f0f0;transform:translateX(4px)}.ranking-rank{margin-right:12px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:600;font-size:14px;color:#fff}.rank-1{background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 2px 8px rgba(255,215,0,.3)}.rank-2{background:linear-gradient(135deg,silver,#e8e8e8);box-shadow:0 2px 8px hsla(0,0%,75.3%,.3)}.rank-3{background:linear-gradient(135deg,#cd7f32,#e6a85c);box-shadow:0 2px 8px rgba(205,127,50,.3)}.rank-badge:not(.rank-1):not(.rank-2):not(.rank-3){background:#d9d9d9;color:#666}.ranking-avatar{margin-right:12px;flex-shrink:0}.ranking-info{flex:1 1;display:flex;justify-content:space-between;align-items:center}.ranking-name{font-weight:500;color:#333;font-size:14px}.ranking-value{font-size:16px;font-weight:600;color:#1890ff}.opponent-list-section{margin-top:24px}.opponent-list-card{border-radius:8px}.opponent-info{display:flex;align-items:center;grid-gap:8px;gap:8px}.opponent-avatar{flex-shrink:0}.opponent-name{font-weight:500;color:#333}.recent-form{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;grid-gap:2px;gap:2px}@media (max-width:768px){.opponent-stats{padding:12px}.stats-header{flex-direction:column;align-items:flex-start;grid-gap:8px;gap:8px}.stats-title{font-size:16px}.ranking-item{padding:10px}.ranking-name{font-size:13px}.ranking-value{font-size:14px}.opponent-list-card{overflow-x:auto}}.opponent-list-card .ant-table{font-size:13px}.opponent-list-card .ant-table-thead>tr>th{background:#fafafa;font-weight:600;padding:12px 8px}.opponent-list-card .ant-table-tbody>tr>td{padding:12px 8px}.opponent-list-card .ant-table-tbody>tr:hover>td{background:#f5f5f5}.mobile-player-list{padding:0 0 70px;background-color:#f5f5f5;min-height:100vh}.mobile-player-header{padding:15px;background-color:#ff5722;color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center}.mobile-player-header h1{margin:0;font-size:18px}.mobile-player-search{padding:10px 15px;background-color:#fff;border-bottom:1px solid #f0f0f0}.mobile-player-search-input{width:100%;padding:10px 15px;border:1px solid #e8e8e8;border-radius:20px;font-size:14px;background-color:#f5f5f5;color:#333;outline:none}.mobile-player-search-input::placeholder{color:#999}.mobile-player-search-input:focus{border-color:#ff5722;box-shadow:0 0 0 2px rgba(255,87,34,.1)}.mobile-player-filters{display:flex;padding:10px 15px;background-color:#fff;border-bottom:1px solid #f0f0f0;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-player-filter{padding:6px 15px;margin-right:10px;border-radius:15px;font-size:14px;background-color:#f0f0f0;color:#666;white-space:nowrap;cursor:pointer;border:none}.mobile-player-filter:last-child{margin-right:0}.mobile-player-filter.active{background-color:#ff5722;color:#fff}.mobile-player-count{padding:10px 15px;font-size:14px;color:#999;border-bottom:1px solid #f0f0f0}.mobile-player-count,.mobile-players{background-color:#fff}.mobile-player-item{display:flex;align-items:center;padding:15px;border-bottom:1px solid #f0f0f0;cursor:pointer;position:relative}.mobile-player-item:active{background-color:#f9f9f9}.mobile-player-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;margin-right:15px;flex-shrink:0}.mobile-player-avatar img{width:100%;height:100%;object-fit:cover}.mobile-player-avatar-placeholder{width:100%;height:100%;background-color:#ff5722;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.mobile-player-info{flex:1 1;min-width:0}.mobile-player-name-row{display:flex;align-items:center;margin-bottom:8px}.mobile-player-name{font-size:16px;font-weight:500;color:#333;margin-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-player-level{font-size:12px;font-weight:700;color:#fff}.mobile-player-level.level-pro{background-color:#9c27b0}.mobile-player-level.level-a{background-color:#ff5722}.mobile-player-level.level-b{background-color:#4caf50}.mobile-player-level.level-c{background-color:#2196f3}.mobile-player-stats{display:flex}.mobile-player-stat{margin-right:15px;display:flex;align-items:baseline}.mobile-player-stat:last-child{margin-right:0}.mobile-player-stat-value{font-size:14px;font-weight:500;color:#333;margin-right:4px}.mobile-player-stat-label{font-size:12px;color:#999}.mobile-player-arrow{font-size:20px;color:#ccc;margin-left:10px}.mobile-no-data{padding:30px 0;text-align:center;color:#999;font-size:14px}.mobile-loading{font-size:16px;color:#666}.mobile-load-more{margin:15px auto;padding:12px 0;text-align:center;background-color:#fff;color:#ff5722;font-size:14px;font-weight:500;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.1);width:90%;cursor:pointer;transition:all .3s ease;display:flex;justify-content:center;align-items:center}.mobile-load-more span{margin-right:8px}.mobile-load-more i{font-size:16px}.mobile-load-more:active{background-color:#fbe9e7;transform:scale(.98)}.mobile-error{display:flex;justify-content:center;align-items:center;height:100vh;font-size:16px;color:#f5222d;padding:0 20px}@media (prefers-color-scheme:dark){.mobile-player-list{background-color:#121212}.mobile-player-header{background-color:#ff5722}.mobile-player-count,.mobile-player-filters,.mobile-player-search,.mobile-players{background-color:#1f1f1f;border-bottom-color:#333}.mobile-player-search-input{background-color:#2a2a2a;border-color:#444;color:#ddd}.mobile-player-search-input:focus{border-color:#ff7043;box-shadow:0 0 0 2px rgba(255,112,67,.1)}.mobile-player-filter{background-color:#2a2a2a;color:#bbb}.mobile-player-filter.active{background-color:#ff7043;color:#fff}.mobile-player-count{color:#777}.mobile-player-item{border-bottom-color:#333}.mobile-player-item:active{background-color:#2a2a2a}.mobile-player-name,.mobile-player-stat-value{color:#ddd}.mobile-player-stat-label{color:#777}.mobile-player-arrow{color:#555}.mobile-no-data{color:#777}.mobile-loading{color:#bbb}}.add-player-button{background-color:#fff;color:#ff5722;border:none;border-radius:20px;padding:6px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-player-button:hover{background-color:hsla(0,0%,100%,.9)}.add-player-button:active{background-color:hsla(0,0%,100%,.8)}.mobile-player-cards{padding:10px 12px}.mobile-player-card{background-color:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.1);margin-bottom:10px;overflow:hidden;position:relative;padding:12px}.player-basic-info{display:flex;justify-content:space-between;align-items:center}.player-name-level{flex:1 1}.player-level{border-radius:12px;font-weight:500}.player-level.level-pro{background-color:#9c27b0}.player-level.level-a{background-color:#ff5722}.player-level.level-b{background-color:#4caf50}.player-level.level-c{background-color:#2196f3}.player-ratings{display:flex;grid-gap:10px;gap:10px}.rating-item{display:flex;flex-direction:column;align-items:center;min-width:40px}.rating-label{font-size:12px;color:#666}.rating-value{font-size:16px;font-weight:600}.mobile-no-players{text-align:center;padding:30px;color:#999;font-size:14px}.player-name-gender{display:flex;align-items:center}.player-name{font-size:16px;margin-right:6px}.player-gender{padding:1px 6px;margin-right:6px}.player-matches{font-size:12px;color:#666;padding:1px 6px;background-color:#f5f5f5;border-radius:10px}.mobile-rankings{background-color:#f5f5f5;min-height:100vh;padding:0 0 70px}.mobile-rankings-header{background-color:#fff;padding:15px;position:sticky;top:0;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-rankings-header h1{margin:0 0 15px;font-size:20px;font-weight:600}.mobile-rankings-tabs{display:flex;border-bottom:1px solid #e0e0e0}.tab-button{padding:10px 0;background:none;font-size:16px;color:#666;position:relative}.tab-button.active{color:#000;font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:25%;width:50%;height:3px;background-color:#ff4d4f;border-radius:3px 3px 0 0}.mobile-rankings-update-time{padding:10px 15px;font-size:12px;color:#999;background-color:#fff;border-bottom:1px solid #eee}.mobile-rankings-list{background-color:#f5f5f5}.mobile-ranking-item{display:flex;align-items:center;padding:12px 15px;border:none;border-bottom:1px solid #eee;position:relative;cursor:pointer;height:50px}.mobile-ranking-item:active{background-color:rgba(0,0,0,.05)}.ranking-position{width:24px;height:24px;background:none;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;margin-right:12px;font-size:16px}.mobile-ranking-item:first-child .ranking-position{background:none;color:#ff4d4f;font-weight:700;font-size:18px}.mobile-ranking-item:nth-child(2) .ranking-position{background:none;color:#fa8c16;font-weight:700;font-size:18px}.mobile-ranking-item:nth-child(3) .ranking-position{background:none;color:#faad14;font-weight:700;font-size:18px}.mobile-ranking-item:nth-child(-n+3){background-color:rgba(255,77,79,.1)}.mobile-ranking-item:nth-child(n+4):nth-child(-n+8){background-color:rgba(255,122,69,.1)}.mobile-ranking-item:nth-child(n+9):nth-child(-n+12){background-color:rgba(255,169,64,.1)}.mobile-ranking-item:nth-child(n+13):nth-child(-n+16){background-color:rgba(250,219,20,.1)}.mobile-ranking-item:nth-child(n+17){background-color:rgba(82,196,26,.1)}.player-info{flex:1 1;display:flex;flex-direction:column;background-color:initial;border:none;box-shadow:none;outline:none}.player-name{margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap}.player-gender{font-size:12px;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:400}.player-gender.male{background-color:#e6f7ff;color:#1890ff}.player-gender.female{background-color:#fff0f6;color:#eb2f96}.player-club{color:#999;margin-left:8px;background-color:#f5f5f5;padding:2px 6px}.player-club,.player-level{font-size:12px;border-radius:10px}.player-level{display:inline-block;padding:2px 8px;color:#fff}.player-level.level-pro{background-color:#722ed1}.player-level.level-advanced{background-color:#eb2f96}.player-level.level-intermediate{background-color:#fa8c16}.player-level.level-beginner{background-color:#52c41a}.player-level.level-new{background-color:#bfbfbf}.player-score{font-size:18px;font-weight:700;color:#ff5722;margin-right:12px;text-align:right;min-width:60px}.player-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:80px;padding:5px 0;background:none}.win-rate{font-size:15px;font-weight:700;color:#333}.match-count{font-size:11px;color:#666;margin-top:1px}.mobile-rankings-loading{padding:20px;text-align:center;color:#999}.mobile-rankings-error{padding:20px;text-align:center;color:#ff4d4f}.ranking-rules{padding:20px;background-color:#fff;margin-top:10px}.ranking-rules h2{font-size:18px;margin-bottom:15px}.ranking-rules p{margin-bottom:10px;line-height:1.5}.ranking-rules ul{padding-left:20px}.ranking-rules li{margin-bottom:5px}@media (prefers-color-scheme:dark){.mobile-rankings{background-color:#121212}.mobile-rankings-header,.mobile-rankings-list,.mobile-rankings-update-time,.ranking-rules{background-color:#1f1f1f;color:#e0e0e0}.mobile-rankings-header h1{color:#fff}.tab-button{color:#aaa}.tab-button.active{color:#fff}.mobile-rankings-update-time{color:#888;border-bottom-color:#333}.mobile-ranking-item{border-bottom-color:#333}.mobile-ranking-item:active{background-color:#2a2a2a}.player-club{background-color:#333;color:#aaa}}.tier-tag-s{display:inline-block;background-color:#f44336;color:#fff;padding:2px 8px;border-radius:12px;font-weight:700;font-size:12px;margin-left:8px;border:none!important}.tier-tag-t0,.tier-tag-t1{background-color:#ff9800}.tier-tag-t0,.tier-tag-t1,.tier-tag-t2{display:inline-block;color:#fff;padding:2px 8px;border-radius:12px;font-weight:700;font-size:12px;margin-left:8px;border:none!important}.tier-tag-t2{background-color:#4caf50}.tier-tag-t3{background-color:#2196f3}.tier-tag-new,.tier-tag-t3{display:inline-block;color:#fff;padding:2px 8px;border-radius:12px;font-weight:700;font-size:12px;margin-left:8px;border:none!important}.tier-tag-new{background-color:#9e9e9e}.player-score{font-size:22px!important;font-weight:700!important;color:#ff5722!important;margin:0 10px!important;text-align:right!important;min-width:60px!important}.player-stats{display:flex!important;flex-direction:column!important;align-items:flex-end!important;min-width:80px!important}.win-rate{font-size:16px!important;font-weight:700!important;color:#333!important}.match-count{font-size:12px!important;color:#666!important;margin-top:4px!important}.player-info{border:none!important;box-shadow:none!important;outline:none!important}.under-construction{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-color:#f5f5f5;text-align:center}.under-construction-content{background-color:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-width:400px;width:100%}.construction-icon{font-size:60px;margin-bottom:20px}.under-construction h2{font-size:24px;margin-bottom:15px;color:#333}.under-construction p{font-size:16px;color:#666;margin-bottom:25px;line-height:1.5}.back-button{background-color:#ff4d4f;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .3s}.back-button:hover{background-color:#ff7875}.back-button:active{background-color:#f5222d}@media (prefers-color-scheme:dark){.under-construction{background-color:#121212}.under-construction-content{background-color:#1f1f1f;box-shadow:0 4px 12px rgba(0,0,0,.2)}.under-construction h2{color:#e0e0e0}.under-construction p{color:#aaa}}.mobile-add-match{min-height:100vh;background-color:#f5f5f5;padding-bottom:72px}.mobile-add-match-header{display:flex;align-items:center;background-color:#1976d2;color:#fff;padding:12px 16px;position:sticky;top:0;z-index:10}.mobile-back-button{color:#fff;font-size:24px;padding:0;margin-right:16px}.mobile-add-match-header h1{margin:0;font-size:18px;font-weight:500}.mobile-add-match-content{padding:12px 12px calc(100px + env(safe-area-inset-bottom, 0px))}.mobile-add-match-content .adm-card{margin-bottom:12px;border-radius:8px}.mobile-add-match-section{background-color:#fff;border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.mobile-add-match-type-options{display:flex;grid-gap:12px;gap:12px}.mobile-add-match-type-option{flex:1 1;padding:10px;background-color:#f5f5f5;border:none;border-radius:6px;font-size:15px;color:#666;cursor:pointer;transition:all .2s}.mobile-add-match-type-option.active{background-color:#1976d2;color:#fff}.mobile-add-match-teams{display:flex;grid-gap:12px;gap:12px;margin-bottom:12px}.mobile-add-match-team{flex:1 1}.mobile-add-match-team .adm-button{--text-align:left;min-height:44px;height:auto;white-space:normal;padding:8px 12px}.mobile-selected-player{display:inline-flex;align-items:center;grid-gap:4px;gap:4px;font-size:14px}.mobile-player-level{font-size:13px;color:#1976d2;background-color:#e3f2fd;padding:2px 6px;border-radius:4px}.mobile-add-match-selected-players{min-height:48px}.mobile-add-match-selected-player{display:flex;justify-content:space-between;align-items:center;background-color:#fff;border-radius:4px;padding:8px 12px;margin-bottom:8px;font-size:14px}.mobile-add-match-remove-player{background:none;border:none;color:#f44336;font-size:18px;cursor:pointer;padding:0}.mobile-add-match-no-player{color:#999;text-align:center;padding:12px 0;font-size:14px}.mobile-add-match-player-list{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.mobile-add-match-player-item{display:flex;justify-content:space-between;align-items:center;background-color:#f5f5f5;border-radius:6px;padding:12px}.mobile-add-match-player-info{display:flex;align-items:center;grid-gap:8px;gap:8px}.mobile-add-match-player-name{font-size:15px;color:#333}.mobile-add-match-player-actions{display:flex;grid-gap:8px;gap:8px}.mobile-add-match-add-to-team{padding:6px 10px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.mobile-add-match-add-to-team:disabled{background-color:#e0e0e0;color:#9e9e9e;cursor:not-allowed}.mobile-add-match-score-inputs{display:flex;grid-gap:16px;gap:16px;padding:8px 0}.mobile-add-match-score-team{flex:1 1}.mobile-add-match-score-team label{display:block;font-size:14px;color:#666;margin-bottom:8px}.mobile-add-match-score-team input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;text-align:center;background-color:#f5f5f5}.mobile-add-match-actions{position:fixed;bottom:0;left:0;width:100%;padding:12px 16px;background-color:#fff;box-shadow:0 -1px 3px rgba(0,0,0,.1);z-index:999}.mobile-add-match-submit{width:100%;padding:14px;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer}.mobile-player-selector{padding:16px}.mobile-player-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px}.mobile-player-selector-header span{font-size:16px;font-weight:500}.mobile-player-option{display:flex;flex-direction:column;align-items:center;grid-gap:4px;gap:4px}.mobile-player-option .mobile-player-level{font-size:12px}@media (prefers-color-scheme:dark){.mobile-add-match{background-color:#121212}.mobile-add-match-header{background-color:#1565c0}.mobile-add-match-section{background-color:#1f1f1f;box-shadow:0 1px 3px rgba(0,0,0,.2)}.mobile-add-match-type-option{background-color:#333;color:#e0e0e0}.mobile-add-match-type-option.active{background-color:#1976d2;color:#fff}.mobile-add-match-team{background-color:#333}.mobile-add-match-team h3{color:#e0e0e0}.mobile-add-match-selected-player{background-color:#1f1f1f;color:#e0e0e0}.mobile-add-match-no-player{color:#777}.mobile-add-match-player-item{background-color:#333}.mobile-add-match-player-name{color:#e0e0e0}.mobile-add-match-player-level{background-color:#1976d2;color:#fff}.mobile-add-match-score-team label{color:#e0e0e0}.mobile-add-match-score-team input{background-color:#333;border-color:#444;color:#e0e0e0}.mobile-add-match-actions{background-color:#1f1f1f}.mobile-player-level{background-color:#1976d2;color:#fff}}.doubles-partner-stats{padding-bottom:16px;background-color:#f5f5f5;min-height:100vh}.page-header{display:flex;align-items:center;padding:12px 16px;background-color:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.back-button{font-size:14px;color:#1677ff;padding:4px 8px}.page-title{font-size:16px;font-weight:700;color:#333;flex-grow:1;text-align:center;margin-right:40px}.time-range-selector{margin:16px;padding:12px;background-color:#fff;border-radius:12px}.summary-card,.time-range-selector{box-shadow:0 2px 8px rgba(0,0,0,.05)}.summary-card{margin:0 16px 16px}.summary-title{font-size:16px;font-weight:700;color:#333;margin-bottom:12px}.pie-chart-card{margin:0 16px 16px;border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.pie-chart-title{font-size:16px;font-weight:700;color:#333;margin-bottom:12px;text-align:center}.pie-chart-container{margin:0 auto;max-width:100%;overflow:hidden}.all-partners-card{margin:16px 16px 0;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.all-partners-title{font-size:16px;font-weight:700;color:#333;padding:16px 16px 0;margin-bottom:8px}.partner-tabs{margin:0 16px;background-color:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.partner-name{font-size:16px;font-weight:500;color:#333}.loading-container{min-height:300px}.adm-list-item{padding:12px;border-bottom:1px solid #f0f0f0}.adm-list-item:last-child{border-bottom:none}.adm-tag{margin-right:8px}.adm-tabs-tab{padding:8px 16px}.adm-tabs-tab-active{color:#1677ff}.pie-chart-stats{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.stats-title{font-size:16px;font-weight:700;color:#333;margin-bottom:12px;text-align:center}.stats-list{grid-gap:12px;gap:12px}.stats-item,.stats-list{display:flex;flex-direction:column}.stats-item{background-color:#f9f9f9;border-radius:8px;grid-gap:8px;gap:8px;position:relative;padding:12px 12px 12px 16px}.stats-name{font-size:16px;font-weight:500;color:#333}.stats-details{flex-wrap:wrap;align-items:center}.stats-details,.stats-win-loss{display:flex;grid-gap:8px;gap:8px}.stats-win-loss{margin-top:4px}.stats-win{color:#52c41a;font-size:14px}.stats-loss{color:#ff4d4f;font-size:14px}.custom-tooltip{background-color:hsla(0,0%,100%,.95);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:10px 12px;min-width:120px}.tooltip-name{font-size:14px;font-weight:700;color:#333;margin:0 0 8px;padding-bottom:4px;border-bottom:1px dashed #eaeaea}.tooltip-item{color:#666;margin:4px 0}.legend-item,.tooltip-item{font-size:12px}.rating-chart-card{margin:12px 8px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1);overflow:hidden}.rating-chart-title{font-size:16px;font-weight:500;color:#333;margin-bottom:12px;text-align:center}.rating-chart-container{margin:0 -12px;padding:8px 0}.rating-events{margin-top:16px;padding-top:12px;border-top:1px solid #f0f0f0}.rating-events-title{font-size:15px;font-weight:500;color:#333;margin-bottom:8px}.rating-events-list{display:flex;flex-direction:column;grid-gap:8px;gap:8px;max-height:180px;overflow-y:auto}.rating-event-item{display:flex;align-items:center;padding:8px;background-color:#f5f5f5;border-radius:6px}.rating-event-date{font-size:13px;color:#666;min-width:80px;margin-right:8px}.rating-event-details{flex:1 1;display:flex;justify-content:space-between;align-items:center}.rating-event-name{font-size:14px;color:#333;flex:1 1}.rating-event-change{font-size:14px;font-weight:500;margin:0 8px}.rating-event-change.positive{color:#52c41a}.rating-event-change.negative{color:#f5222d}.rating-event-value{font-size:14px;font-weight:500;color:#1677ff}.zone-selector{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.06)}.zone-selector-label{font-size:14px;color:#666;margin-right:10px}.zone-selector-value{background-color:#f5f7fa;padding:6px 10px;border-radius:4px;font-size:14px;color:#333;font-weight:500;min-width:80px;text-align:center;position:relative;cursor:pointer}.zone-selector-value:after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #999}.back-to-zone-list{background:none;border:none;color:#1a6eb0;font-size:14px;padding:6px 10px;cursor:pointer;border-radius:4px}.back-to-zone-list:hover{background-color:rgba(26,110,176,.1)}body{padding-top:60px}@media (max-width:380px){.zone-selector{padding:10px 12px}.zone-selector-label{display:none}.zone-selector-value{min-width:70px;padding:6px 8px}.back-to-zone-list{font-size:12px;padding:6px 8px}}.zone-list-container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.zone-list-header{text-align:center;margin-bottom:40px;padding:20px 0}.zone-list-header h1{font-size:2.2rem;color:#1a6eb0;margin-bottom:10px;font-weight:700}.zone-list-subtitle{font-size:1.1rem;color:#6c757d;max-width:600px;margin:0 auto}.zone-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:30px;gap:30px;margin-bottom:40px}.zone-card{background-color:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.08);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;display:flex;flex-direction:column;padding:0;border-top:5px solid #ddd}.zone-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.12)}.zone-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:-30px auto 10px;box-shadow:0 4px 8px rgba(0,0,0,.1);background-color:#4c6ef5;color:#fff}.zone-name{font-size:1.5rem;margin:10px 0;color:#2c3e50;font-weight:600}.zone-description,.zone-name{text-align:center;padding:0 20px}.zone-description{color:#6c757d;margin-bottom:20px;font-size:1rem;line-height:1.5}.zone-stats{display:flex;justify-content:space-around;margin:15px 0;padding:10px 15px;background-color:#f8f9fa}.stat-value{font-size:1.4rem;color:#343a40}.stat-label{margin-top:2px}.zone-button{background-color:#1a6eb0;color:#fff;border:none;padding:12px 0;margin:20px;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.zone-button:hover{background-color:#145d96}.zone-list-footer{margin-top:auto;text-align:center;color:#6c757d;padding:20px 0;font-size:.9rem}@media (max-width:768px){.zone-list-header h1{font-size:1.8rem}.zone-list-subtitle{font-size:1rem}.zone-cards{grid-template-columns:1fr}.zone-card{max-width:100%}}.zone-list-error,.zone-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;text-align:center;padding:20px}.loading-spinner{border:4px solid rgba(0,0,0,.1);animation:spin 1s ease-in-out infinite;margin-bottom:20px}.zone-list-error h2{color:#dc3545;margin-bottom:10px;font-size:1.5rem}.zone-list-error p{color:#6c757d;margin-bottom:20px}.zone-list-error button{background-color:#1a6eb0;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.zone-list-error button:hover{background-color:#145d96}:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#3b82f6;--secondary:#64748b;--accent:#0ea5e9;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1)}.home-page{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter",Roboto,"Helvetica Neue",Arial,sans-serif;min-height:100vh;background:var(--gray-50);display:flex;flex-direction:column;padding:var(--space-6) var(--space-4);position:relative;overflow-x:hidden}.home-page:before{content:"";position:fixed;top:-50%;right:-20%;width:100%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(37,99,235,.05) 0,transparent 70%);pointer-events:none;z-index:0}.home-header{text-align:center;margin-bottom:var(--space-16);padding:var(--space-8) 0;position:relative;z-index:1}.home-title{font-size:clamp(2rem,5vw,3rem);color:var(--gray-900);margin-bottom:var(--space-3);font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:clamp(.95rem,2vw,1.125rem);color:var(--gray-600);max-width:600px;margin:0 auto;line-height:1.6;font-weight:400}.home-login-btn,.home-logout-btn{padding:6px 14px;font-size:13px;border-radius:8px;cursor:pointer;border:1px solid var(--gray-300);background:#fff;color:var(--gray-700)}.home-login-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.home-login-btn:hover,.home-logout-btn:hover{opacity:.9}.home-loading-tip{grid-column:1/-1;text-align:center;color:var(--gray-500);font-size:.9rem;padding:var(--space-4)}.home-content{flex-grow:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--space-6);gap:var(--space-6);max-width:1400px;width:100%;margin:0 auto;padding:0 var(--space-4);position:relative;z-index:1}.platform-card{background:#fff;border-radius:20px;padding:var(--space-8);box-shadow:var(--shadow-md);text-align:center;cursor:pointer;position:relative;display:flex;flex-direction:column;border:1px solid var(--gray-200);transition:all var(--duration-normal) var(--ease-out);overflow:hidden}.platform-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out)}.platform-card:hover:before{transform:scaleX(1)}.platform-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.platform-card:active{transform:translateY(-2px)}.platform-icon{font-size:3.5rem;margin-bottom:var(--space-6);transition:transform var(--duration-normal) var(--ease-out);display:inline-block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.platform-card:hover .platform-icon{transform:scale(1.1)}.platform-title{font-size:1.375rem;color:var(--gray-900);margin-bottom:var(--space-3);font-weight:600;line-height:1.3;letter-spacing:-.01em}.platform-description{color:var(--gray-600);line-height:1.6;margin-bottom:var(--space-6);flex-grow:1;font-size:.9375rem;font-weight:400}.platform-button{background:var(--primary);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);position:relative;z-index:2;pointer-events:auto;white-space:nowrap;box-shadow:0 2px 8px rgba(37,99,235,.25)}.platform-button:hover{background:var(--primary-hover);box-shadow:0 4px 12px rgba(37,99,235,.35);transform:translateY(-1px)}.platform-button:active{transform:translateY(0) scale(.98)}.home-footer{margin-top:var(--space-12);text-align:center;color:var(--gray-500);font-size:.875rem;padding:var(--space-6) 0;position:relative;z-index:1}@media (max-width:1200px){.home-content{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.platform-card{padding:var(--space-6)}.platform-icon{font-size:3rem}}@media (max-width:768px){.home-page{padding:var(--space-4) var(--space-3)}.home-header{margin-bottom:var(--space-12);padding:var(--space-6) 0}.home-content{grid-template-columns:1fr;grid-gap:var(--space-5);gap:var(--space-5);padding:0}.platform-card{padding:var(--space-6) var(--space-5)}.platform-icon{font-size:2.75rem;margin-bottom:var(--space-5)}.platform-title{font-size:1.25rem}.platform-description{font-size:.875rem}.home-footer{margin-top:var(--space-8)}}@media (max-width:480px){.platform-card{padding:var(--space-5)}.platform-icon{font-size:2.5rem}.platform-title{font-size:1.125rem}.platform-button{padding:var(--space-2) var(--space-5);font-size:.875rem}}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background-color:#fff;display:flex;box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:100}.mobile-bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mobile-bottom-nav-item:active{background-color:#f5f5f5}.mobile-bottom-nav-icon{font-size:20px;margin-bottom:4px}.mobile-bottom-nav-label{font-size:12px;color:#666}.mobile-bottom-nav-item.active .mobile-bottom-nav-icon,.mobile-bottom-nav-item.active .mobile-bottom-nav-label{color:#ff5722}:root{--primary-color:#4361ee;--primary-light:#4cc9f0;--primary-dark:#3a0ca3;--secondary-color:#f72585;--secondary-light:#ff85a1;--secondary-dark:#b5179e;--success-color:#1dd3b0;--success-light:#a9f0d1;--success-dark:#06a77d;--warning-color:#ffd166;--warning-dark:#ffbd00;--error-color:#ef233c;--error-light:#ffccd5;--error-dark:#d90429;--gray-900:#212529;--gray-800:#343a40;--gray-700:#495057;--gray-600:#6c757d;--gray-500:#adb5bd;--gray-400:#ced4da;--gray-300:#dee2e6;--gray-200:#e9ecef;--gray-100:#f8f9fa;--border-radius:8px;--shadow-sm:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);--shadow-md:0 4px 6px rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.08);--shadow-lg:0 10px 20px rgba(0,0,0,0.1),0 3px 6px rgba(0,0,0,0.05);--gradient-primary:linear-gradient(135deg,var(--primary-light),var(--primary-color));--gradient-secondary:linear-gradient(135deg,var(--secondary-light),var(--secondary-color))}.mobile-event-container{padding:16px;max-height:100vh;overflow-y:auto;background-color:#f8f9fa}.mobile-event-header{display:flex;align-items:center;margin-bottom:20px;position:relative;padding:10px 0;border-bottom:1px solid var(--gray-200)}.mobile-event-header h1{flex:1 1;margin:0;font-size:22px;text-align:center;color:var(--gray-900);font-weight:600}.mobile-back-button{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;color:var(--primary-color);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:rgba(67,97,238,.1)}.mobile-back-button:active{background-color:rgba(67,97,238,.2)}.mobile-add-button{position:absolute;right:0;background:#f8f9fa;border:1px solid #dee2e6;color:#4361ee;height:38px;width:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:var(--shadow-sm);transition:all .2s ease}.mobile-add-button:active{transform:scale(.95);background-color:#e9ecef}.mobile-event-list{display:flex;flex-direction:column;grid-gap:16px;gap:16px;padding-bottom:70px}.mobile-event-card{background-color:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease;position:relative;border:none;border-bottom:3px solid var(--gray-300)}.mobile-event-card:active{transform:translateY(2px);box-shadow:var(--shadow-sm)}.mobile-event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--gradient-primary)}.mobile-event-card.settled:before{background:var(--gradient-secondary)}.mobile-event-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 8px;border-bottom:1px solid var(--gray-200)}.mobile-event-card-header h2{margin:0;font-size:18px;font-weight:600;color:var(--gray-900);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.mobile-event-status{font-size:12px;padding:4px 10px;border-radius:20px;background-color:var(--gray-200);color:var(--gray-700);font-weight:500}.mobile-event-status.active{background-color:var(--success-color);color:#fff}.mobile-event-status.ended{background-color:#868e96;color:#fff}.mobile-event-card-content{padding:12px 16px 16px}.mobile-event-card-info{display:flex;flex-direction:column;grid-gap:8px;gap:8px;margin-bottom:16px}.mobile-event-card-info-item{display:flex;font-size:14px;align-items:center}.mobile-event-card-info-item i{margin-right:8px;color:var(--gray-500);font-size:16px}.mobile-event-card-info-label{color:var(--gray-600);margin-right:6px}.mobile-event-card-info-value{color:var(--gray-800);font-weight:500}.mobile-event-card-stats{display:flex;justify-content:space-around;padding-top:12px;border-top:1px dashed var(--gray-200)}.mobile-event-card-stat{display:flex;align-items:center;padding:8px 12px}.mobile-event-card-stat-value{font-size:18px;font-weight:600;color:var(--primary-color);margin-right:4px}.mobile-event-card-stat-label{font-size:14px;color:var(--gray-700)}.mobile-event-settled-container{display:flex;align-items:center;justify-content:center}.mobile-event-settled{font-size:12px;padding:4px 10px;border-radius:20px;font-weight:500;display:inline-block}.mobile-event-settled.yes{background-color:#e8f5e9;color:#43a047;border:1px solid #c8e6c9}.mobile-event-settled.no{background-color:#ffebee;color:#e53935;border:1px solid #ffcdd2}.mobile-event-action-button{padding:12px 20px;border-radius:var(--border-radius);font-size:16px;font-weight:500;background-color:#f8f9fa;color:#4361ee;border:1px solid #d0d7de;box-shadow:none;transition:all .2s ease}.mobile-event-action-button:active{transform:translateY(1px);background-color:#e9ecef}.mobile-event-action-button.settle{background-color:#f8f9fa;color:#e53935;border:1px solid #ffcdd2}.mobile-event-action-button.settle:active{background-color:#ffebee}.mobile-event-action-button:disabled{background-color:#f8f9fa;color:#adb5bd;border:1px solid #e9ecef;cursor:not-allowed}.mobile-event-matches{background-color:#fff;border-radius:var(--border-radius);padding:16px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-event-matches h2{margin-top:0;margin-bottom:16px;font-size:18px}.mobile-match-list{display:flex;flex-direction:column;grid-gap:16px;gap:16px;padding:16px;margin-bottom:20px}.mobile-match-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;margin-bottom:0;position:relative;padding:0}.mobile-match-card.singles{border-left:4px solid #52c41a}.mobile-match-card.doubles{border-left:4px solid #f5222d}.mobile-match-card.team-a-win,.mobile-match-card.team-b-win{border-left-width:4px}.match-card-content{display:flex;flex-direction:column}.match-card-header{padding:12px 15px 12px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f0f0;background-color:#fafafa;grid-gap:12px;gap:12px}.match-header-left{display:flex;align-items:center;flex-shrink:0}.match-header-center{display:flex;align-items:center;justify-content:center;flex:1 1;min-width:0}.match-header-right{display:flex;align-items:center;grid-gap:8px;gap:8px;flex-shrink:0}.match-tags-header{display:flex;align-items:center;grid-gap:4px;gap:4px;flex-wrap:wrap}.add-tag-button-compact{background:#1890ff;color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;font-weight:700;padding:0;transition:all .2s;flex-shrink:0;box-shadow:0 2px 4px rgba(24,144,255,.2)}.add-tag-button-compact:hover{background:#40a9ff;transform:scale(1.05)}.add-tag-button-compact:active{background:#096dd9;transform:scale(.95)}.add-tag-button-compact .button-icon{line-height:1;display:block}.match-header-center .match-score{font-size:18px;font-weight:600;color:#333;text-align:center}.match-card-players{padding:12px 15px}.match-players-container{display:flex;justify-content:space-between;align-items:stretch;margin-bottom:4px}.player-row{display:flex;flex-direction:column;width:45%;padding:0;position:relative;grid-gap:4px;gap:4px}.player-row:not(:last-child){margin-bottom:8px}.player-info-line{display:flex;align-items:center;grid-gap:6px;gap:6px;flex-wrap:wrap}.player-name{font-size:15px;font-weight:500;color:#333;flex-shrink:0}.player-rating-line{font-size:13px}.player-rating-line,.player-tags-inline{display:flex;align-items:center;flex-wrap:wrap;grid-gap:4px;gap:4px}.player-result{font-size:12px;padding:1px 4px;border-radius:3px;margin-left:6px}.player-result.winner{background-color:#f6ffed;color:#52c41a}.player-result.loser{background-color:#fff1f0;color:#f5222d}.player-rating{display:flex;align-items:center;grid-gap:4px;gap:4px;font-size:14px}.rating-value{font-weight:500;color:#333}.rating-change{font-size:12px;padding:2px 4px;border-radius:4px}.rating-change.positive{color:#52c41a;background-color:#f6ffed}.rating-change.negative{color:#f5222d;background-color:#fff1f0}.new-rating{font-size:12px;color:#1890ff;margin-left:4px}.score-divider{width:100%;text-align:center;padding:5px 0;margin:3px 0;font-size:14px;color:#999}.mobile-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--gray-600)}.mobile-error{margin:20px;padding:16px;background-color:#ffebee;color:var(--error-color);border-radius:var(--border-radius);text-align:center}.mobile-no-data,.mobile-no-matches{text-align:center;padding:32px 16px;color:var(--gray-500);font-size:16px}.mobile-zone-selector{display:flex;overflow-x:auto;grid-gap:8px;gap:8px;padding:16px;background:#fff;margin-bottom:16px;position:sticky;top:56px;z-index:99;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-zone-button{padding:8px 16px;border:1px solid var(--gray-200);border-radius:20px;background:#fff;color:var(--gray-700);font-size:14px;white-space:nowrap;cursor:pointer;transition:all .3s ease}.mobile-zone-button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mobile-zone-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.mobile-zone-button.active:hover{color:#fff}.mobile-event-form-container{padding:16px 16px 80px;background:#fff;min-height:calc(100vh - 56px)}.mobile-event-form{display:flex;flex-direction:column;grid-gap:20px;gap:20px}.mobile-form-group{display:flex;flex-direction:column;grid-gap:8px;gap:8px;position:relative}.mobile-form-group label{font-size:14px;color:var(--gray-700)}.mobile-form-group input,.mobile-form-group textarea{width:100%;padding:12px;border:1px solid var(--gray-200);border-radius:var(--border-radius);font-size:16px;background-color:#fff;color:var(--gray-800);z-index:1}.mobile-form-group input:focus,.mobile-form-group textarea:focus{outline:none;border-color:var(--primary-color)}.mobile-form-group input::placeholder,.mobile-form-group textarea::placeholder{color:var(--gray-400)}.mobile-form-actions{display:flex;grid-gap:16px;gap:16px;padding:16px;position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 4px rgba(0,0,0,.1);z-index:99}.mobile-form-actions-inline{display:flex;grid-gap:16px;gap:16px;margin-top:24px;margin-bottom:40px;padding:0}.mobile-form-actions-inline button,.mobile-form-actions button{flex:1 1;padding:12px;border:none;border-radius:var(--border-radius);font-size:16px;cursor:pointer}.mobile-cancel-button{background-color:var(--gray-100);color:var(--gray-700)}.mobile-submit-button{background-color:var(--primary-color);color:#fff}.mobile-submit-button:disabled{background-color:var(--gray-300);cursor:not-allowed}.match-info-left{display:flex;align-items:center;grid-gap:8px;gap:8px}.match-date{font-size:12px;color:#666}.match-type{font-size:13px;font-weight:500;color:var(--primary-color);padding:2px 8px;border-radius:4px;background-color:rgba(67,97,238,.1)}.match-type.large{font-size:13px;font-weight:600}.match-type.singles{background-color:#f6ffed;color:#52c41a}.match-type.doubles{background-color:#fff1f0;color:#f5222d}.match-score{font-size:15px;font-weight:700;color:#d32f2f}.teams-divider{display:none;width:1px;background-color:#e0e0e0;margin:0 10px;align-self:stretch}.mobile-event-detail{background-color:#fff;border-radius:var(--border-radius);padding:16px;box-shadow:var(--shadow-md);margin-bottom:16px;position:relative}.mobile-event-summary-quick-button{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;background-color:#f8f9fa;color:#4361ee;border:1px solid #d0d7de;cursor:pointer;white-space:nowrap}.mobile-event-summary-quick-button:active{transform:scale(.98);background-color:#e9ecef}.mobile-event-info-item{display:flex;margin-bottom:12px}.mobile-event-info-item:last-child{margin-bottom:0}.mobile-event-info-label{width:80px;font-size:14px;color:var(--gray-600)}.mobile-event-info-value{font-size:14px;color:var(--gray-800);font-weight:500}.mobile-event-actions{display:flex;justify-content:space-between;grid-gap:16px;gap:16px;margin-bottom:16px}.mobile-event-actions .mobile-event-action-button{flex:1 1}.mobile-event-actions.single-button{display:flex;justify-content:center;grid-gap:16px;gap:16px;margin-bottom:16px}.mobile-event-actions.single-button .mobile-event-action-button{width:100%;text-align:center;font-weight:500;font-size:16px;background-color:var(--primary-color);color:#fff;padding:14px}.mobile-event-action-button.inline-button{margin-left:auto;padding:6px 12px;font-size:13px;white-space:nowrap}.mobile-event-info-item:has(.inline-button){display:flex;align-items:center;flex-wrap:nowrap}.mobile-event-settled{margin-right:10px}.match-sequence-number{position:absolute;top:12px;left:12px;font-size:14px;font-weight:700;color:var(--primary-color);z-index:1}.match-card{position:relative;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-md);margin-bottom:16px;overflow:hidden}.match-actions{display:flex;align-items:center;grid-gap:5px;gap:5px}.match-delete-button{background-color:#f5f5f5;border:1px solid #e0e0e0;color:#e53935;font-size:18px;font-weight:700;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.match-delete-button:hover{background-color:#ffebee;transform:scale(1.05)}.match-delete-button:active{transform:scale(.95)}.button-icon{display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.confirm-dialog{background-color:#fff;border-radius:8px;padding:20px;width:80%;max-width:400px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.confirm-dialog h3{margin-top:0;margin-bottom:12px;color:#333;font-size:18px}.confirm-dialog p{margin-bottom:20px;color:#666;font-size:14px}.confirm-dialog-actions{display:flex;justify-content:flex-end;grid-gap:12px;gap:12px}.confirm-dialog-actions button{padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;border:none}.confirm-dialog-actions .cancel-btn{background-color:#f5f5f5;color:#333}.confirm-dialog-actions .confirm-btn{background-color:#e53935;color:#fff}.mobile-form-modal{background-color:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.15)}.mobile-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--gray-200)}.mobile-form-header h2{margin:0;font-size:20px;color:var(--gray-900)}.mobile-form-close{background:none;border:none;font-size:24px;color:var(--gray-600);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.mobile-form-close:hover{color:var(--gray-900)}.mobile-form-content{padding:20px}.player-grid-selector{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:12px;padding:12px;background-color:var(--gray-100);border-radius:var(--border-radius);max-height:400px;overflow-y:auto}.player-grid-item{background-color:#fff;border:2px solid var(--gray-300);border-radius:8px;padding:16px 12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px;text-align:center}.player-grid-item:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.player-grid-item.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px rgba(67,97,238,.3)}.player-grid-item.selected:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 6px 16px rgba(67,97,238,.4)}.player-grid-name{font-size:15px;font-weight:500;color:var(--gray-800);margin-bottom:4px}.player-grid-item.selected .player-grid-name{color:#fff}.player-grid-level{font-size:12px;color:var(--primary-color);font-weight:400}.player-grid-item.selected .player-grid-level{color:hsla(0,0%,100%,.9)}.form-hint{margin-top:8px;font-size:13px;color:var(--gray-600)}.mobile-form-group select{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:var(--border-radius);font-size:15px;background-color:#fff}.match-type-radio-group{margin-top:8px}.match-type-radio-group .adm-radio-group,.match-type-radio-group .adm-space{display:flex;grid-gap:12px;gap:12px}.match-type-radio-group .adm-space{width:100%}.match-type-radio{flex:1 1}.match-type-radio .adm-radio{display:none}.match-type-radio .adm-radio-label{display:block;width:100%;padding:14px 20px;border-radius:8px;font-size:16px;font-weight:500;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid var(--gray-300);background-color:#fff;color:var(--gray-700);box-shadow:0 2px 4px rgba(0,0,0,.05)}.match-type-radio .adm-radio-label:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.match-type-radio .adm-radio-checked .adm-radio-label{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px rgba(67,97,238,.3)}.match-type-radio .adm-radio-checked .adm-radio-label:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(67,97,238,.4)}.match-rules-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid var(--gray-300);border-radius:var(--border-radius);padding:16px;margin-top:8px}.rules-title{font-size:16px;font-weight:600;color:var(--primary-color);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--primary-light)}.rules-content{display:flex;flex-direction:column;grid-gap:10px;gap:10px;margin-bottom:12px}.rule-item{display:flex;align-items:flex-start;grid-gap:12px;gap:12px;padding:10px;background-color:#fff;border-radius:6px;border-left:3px solid var(--primary-color);box-shadow:0 1px 3px rgba(0,0,0,.05)}.rule-number{flex-shrink:0;font-weight:600;color:var(--primary-color);font-size:15px;min-width:32px}.rule-text{flex:1 1;font-size:14px;color:var(--gray-700);line-height:1.5}.rules-note{font-size:13px;color:var(--gray-600);line-height:1.6;padding-top:12px;border-top:1px solid var(--gray-300)}.rules-note strong{color:var(--gray-800)}.form-hint-info{font-size:14px;color:var(--gray-600);padding:12px;background-color:#f8f9fa;border-radius:6px;border-left:3px solid var(--success-color);line-height:1.6}.form-hint-info strong{color:var(--gray-800)}.match-tags-container{padding:12px;background:#f5f5f5;border-radius:8px;margin:12px 0}.match-tags-section,.player-tags-section{margin-bottom:16px}.player-tags-section:last-child{margin-bottom:0}.tags-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e8e8e8}.tags-section-title{font-size:14px;font-weight:600;color:#333}.add-tag-btn{font-size:12px;padding:4px 8px;height:auto}.auto-tags-group,.manual-tags-group,.tags-container{display:flex;flex-wrap:wrap;grid-gap:6px;gap:6px}.match-tag,.player-tag{font-size:13px;padding:5px 10px;border-radius:5px;margin:0;border:none;cursor:default}.tag-auto{color:#fff;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:help;position:relative}.tag-strength{background:linear-gradient(135deg,#1890ff,#096dd9)}.tag-score{background:linear-gradient(135deg,#fa8c16,#ff4d4f)}.tag-manual{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.1)}.tag-private{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#333}.player-tags-item{margin-bottom:12px;padding:8px;background:#fff;border-radius:6px;border:1px solid #e8e8e8}.player-tags-item:last-child{margin-bottom:0}.player-tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.player-id{font-size:12px;color:#666;font-weight:500}.private-icon{margin-left:4px;font-size:10px}.add-tag-modal{padding:16px}.modal-title{font-size:16px;font-weight:600;margin-bottom:12px;color:#333}.modal-actions{display:flex;justify-content:flex-end;grid-gap:8px;gap:8px;margin-top:16px}.match-tags-compact,.match-tags-header .match-tags-compact{display:flex;flex-wrap:wrap;grid-gap:4px;gap:4px}.match-tags-header .match-tags-compact{margin:0;padding:0;border:none;align-items:center}.tag-auto[title]:hover:after{content:attr(title);background:rgba(0,0,0,.85);color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;margin-bottom:5px;max-width:200px;white-space:normal;word-wrap:break-word}.tag-auto[title]:hover:after,.tag-auto[title]:hover:before{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:1000;pointer-events:none}.tag-auto[title]:hover:before{content:"";border:5px solid transparent;border-top-color:rgba(0,0,0,.85);margin-bottom:-5px}.player-tags-left .match-tags-compact,.player-tags-right .match-tags-compact{margin:0;padding:0;border:none}.tags-compact-group{display:flex;flex-wrap:wrap;grid-gap:4px;gap:4px}.player-tags-compact{margin-top:4px}.tag-compact{font-size:12px;padding:4px 8px;border-radius:4px;margin:0;border:none}.tag-more{background:#f0f0f0;color:#666;font-size:10px}.match-tags-wrapper{margin-top:8px;padding-top:8px;border-top:1px solid #e8e8e8}@media (max-width:768px){.match-tags-container{padding:8px;margin:8px 0}.tags-section-title{font-size:13px}.match-tag,.player-tag,.tag-compact{font-size:11px;padding:3px 6px}}.event-summary-card{margin:16px;border-radius:8px;overflow:hidden}.event-summary-loading{padding:40px 20px;text-align:center}.event-summary-loading .adm-spin-loading{margin-bottom:16px}.event-summary-loading p{margin:8px 0;color:#666;font-size:14px}.loading-hint{color:#999;font-size:12px}.event-summary-preview{padding:0}.summary-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-radius:8px 8px 0 0}.preview-badge{background:#ff9800}.preview-badge,.saved-badge{display:inline-block;padding:4px 12px;color:#fff;border-radius:12px;font-size:12px;font-weight:500}.saved-badge{background:#4caf50}.summary-meta{font-size:12px;color:#999}.summary-content{padding:16px;max-height:65vh;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;line-height:1.75;color:#1f2328;font-size:15px;background:#fff}.summary-content .markdown-content{max-width:860px;margin:0 auto}.summary-content h1,.summary-content h2,.summary-content h3{margin-top:18px;margin-bottom:10px;font-weight:600}.summary-content h1{font-size:20px;border-bottom:1px solid #eaeef2;padding-bottom:10px}.summary-content h2{font-size:18px}.summary-content h3{font-size:16px}.summary-content p{margin:10px 0}.summary-content ol,.summary-content ul{margin:10px 0;padding-left:20px}.summary-content li{margin:6px 0}.summary-content strong{font-weight:600;color:#333}.summary-content em{font-style:italic;color:#666}.summary-content code{background:#f6f8fa;padding:2px 6px;border-radius:4px;font-size:14px;font-family:"Courier New",monospace}.summary-content pre{background:#f6f8fa;padding:12px;border-radius:4px;overflow-x:auto;margin:12px 0}.summary-content blockquote{border-left:4px solid #ddd;padding-left:16px;margin:12px 0;color:#666}.summary-content hr{border:none;border-top:1px solid #eaeef2;margin:16px 0}.summary-actions{padding:16px;display:flex;flex-direction:column;grid-gap:12px;gap:12px}.summary-actions .antd-mobile-button{height:44px;font-size:16px}.event-summary-empty{padding:40px 20px;text-align:center}.empty-icon{font-size:48px;color:#ccc;margin-bottom:16px}.empty-text{margin:16px 0;color:#666;font-size:16px}.empty-hint{margin-top:12px;color:#999;font-size:12px}.event-summary-error{padding:40px 20px;text-align:center}.error-message{margin:16px 0;color:#f44336;font-size:14px}@media (max-width:768px){.event-summary-card{margin:12px}.summary-content{padding:12px;max-height:60vh}.summary-header{padding:10px 12px;flex-direction:column;align-items:flex-start;grid-gap:8px;gap:8px}}.event-summary-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.event-summary-modal{width:100%;max-width:520px;background:#fff;border-radius:12px;padding:12px}.event-summary-modal-header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px}.event-summary-modal-title{font-size:16px;font-weight:600}.event-summary-modal-close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer}.event-summary-modal-body{padding:6px 4px 10px}.event-summary-modal-hint{color:#888;font-size:12px;margin-bottom:8px;line-height:1.4}.event-summary-modal-actions{display:flex;grid-gap:10px;gap:10px;justify-content:flex-end;padding:8px 4px 4px}.mobile-add-player{min-height:100vh;background-color:#f5f5f5;padding-bottom:20px}.nav-bar{position:sticky;top:0;z-index:100;height:44px;background-color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.nav-back{padding:8px;margin-left:-8px;cursor:pointer}.nav-back-icon{font-size:20px;color:#333}.nav-title{font-size:17px;font-weight:500;color:#333}.nav-actions{padding:8px;visibility:hidden}.add-player-form{margin:16px;padding:16px;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.form-group{margin-bottom:16px}.form-group label.required:after{content:"*";color:#ff4d4f;margin-left:4px}.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;background-color:#fff}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.radio-group{display:flex;grid-gap:24px;gap:24px}.radio-label{display:flex;align-items:center;cursor:pointer}.radio-label input[type=radio]{margin-right:6px}.radio-label span{font-size:14px;color:#333}.submit-button{width:100%;height:44px;margin-top:24px;font-size:16px;font-weight:500;transition:background-color .2s}.submit-button:hover{background-color:#40a9ff}.submit-button:active{background-color:#096dd9}.submit-button:disabled{background-color:#d9d9d9}.mobile-edit-player{min-height:100vh;background-color:#f5f5f5;display:flex;flex-direction:column;padding-bottom:calc(120px + env(safe-area-inset-bottom, 0px))}.edit-player-content{flex:1 1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.info-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:16px}.info-card .adm-card-header{padding:16px;border-bottom:1px solid #f0f0f0;font-size:16px;font-weight:600;color:#333}.info-card .adm-card-body{padding:16px}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-label.required:after{content:" *";color:#ff4d4f}.adm-input{border-radius:8px;border:1px solid #d9d9d9;padding:12px 16px;font-size:16px;transition:all .3s}.adm-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.adm-radio-group{display:flex;grid-gap:24px;gap:24px;flex-wrap:wrap}.adm-radio{grid-gap:8px;gap:8px;font-size:16px;color:#333}.adm-radio,.adm-radio-icon{display:flex;align-items:center}.adm-radio-icon{width:20px;height:20px;border:2px solid #d9d9d9;border-radius:50%;justify-content:center;transition:all .3s}.adm-radio-checked .adm-radio-icon{border-color:#1890ff;background-color:#1890ff}.adm-radio-checked .adm-radio-icon:after{content:"";width:8px;height:8px;background-color:#fff;border-radius:50%}.loading-container{flex:1 1;padding:40px 20px}.loading-text{font-size:16px;color:#999}.edit-player-actions{position:fixed;bottom:0;left:0;right:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));background:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.1);z-index:100;flex-shrink:0}.edit-player-actions .adm-button{height:48px;font-size:16px;font-weight:500;border-radius:8px}.edit-player-actions .adm-button-primary{background:linear-gradient(135deg,#1890ff,#096dd9);border:none}.edit-player-actions .adm-button-primary:active{opacity:.8}@media (max-width:375px){.edit-player-content{padding:12px}.form-group{margin-bottom:20px}}.mobile-more-page{min-height:100vh;background-color:#f5f5f5;padding-bottom:60px}.tab-bar{display:flex;background-color:#fff;border-bottom:1px solid #eee;margin-bottom:12px}.tab{flex:1 1;text-align:center;padding:12px 0;font-size:14px;color:#666;position:relative}.tab.active{color:#1677ff;font-weight:500}.tab.active:after{content:"";position:absolute;bottom:0;left:25%;width:50%;height:2px;background-color:#1677ff}.more-content{padding:0 12px}.section-header{margin:16px 0;font-size:16px;font-weight:500;color:#333}.loading-container{height:200px}.event-card-content{display:flex;flex-direction:column;grid-gap:4px;gap:4px}.event-name{font-size:16px;font-weight:500;color:#333}.event-info{display:flex;justify-content:space-between;font-size:12px;color:#999}.event-date{font-weight:500}.event-stats{color:#666}.about-content{background-color:#fff;border-radius:8px;padding:16px;margin-top:16px}.statistics-management-section{margin-top:24px}.statistics-action{display:flex;flex-direction:column;grid-gap:4px;gap:4px}.action-title{font-size:15px;font-weight:500;color:#333}.action-desc{font-size:12px;color:#999}.section-zones{margin-top:10px}.zone-name{font-size:16px;font-weight:500;color:#333}.zone-info{margin-top:4px;font-size:12px;color:#666}.zone-code{margin-bottom:2px}.zone-desc{color:#888}.zone-actions{grid-gap:8px;gap:8px}.zone-actions,.zone-status{display:flex;flex-direction:column;align-items:flex-end}.zone-delete-btn{margin-top:4px;font-size:12px;padding:0 10px;height:24px;line-height:24px}.zone-active{color:#10b981;font-size:12px}.zone-inactive{color:#ef4444;font-size:12px}.zone-default{margin-top:2px;background-color:#3b82f6;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px}.zone-item-deleted{opacity:.7;background-color:#f8f8f8}.zone-deleted-tag{display:inline-block;background-color:#ef4444;color:#fff;font-size:10px;padding:1px 4px;border-radius:4px;margin-right:6px}.zone-deleted{color:#ef4444;font-size:12px}.zone-deleted-info{margin-top:4px;font-size:11px;color:#888;border-top:1px dashed #ddd;padding-top:3px}.zone-backup,.zone-deleted-time{line-height:1.5}.form-modal{max-width:600px}.modal-header h2{color:#2c3e50;font-weight:600}.recharge-form{padding:20px}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#1a6eb0;box-shadow:0 0 0 3px rgba(26,110,176,.1)}.form-hint{margin-top:4px}.cancel-button{background-color:#e9ecef}.cancel-button:hover{background-color:#dee2e6}.submit-button:hover:not(:disabled){background-color:#145d96}@media (max-width:768px){.modal-content{max-width:100%;margin:0;border-radius:12px 12px 0 0}.modal-overlay{align-items:flex-end;padding:0}}.main-account-card{display:flex;flex-direction:column;grid-gap:20px;gap:20px}.balance-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.balance-header{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.balance-header h2{font-size:1.2rem;color:#6c757d;margin:0 0 20px;font-weight:500;text-align:center}.balance-stats-row{display:flex;justify-content:space-around;align-items:flex-start;grid-gap:16px;gap:16px;flex-wrap:wrap}.balance-stat-item{flex:1 1;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center}.balance-amount{font-size:2rem;font-weight:700;color:#1a6eb0;display:flex;align-items:baseline;justify-content:center;grid-gap:6px;gap:6px;margin-bottom:8px}.balance-amount.negative{color:#c33}.balance-unit{font-size:.9rem;font-weight:400;color:#6c757d}.balance-money{font-size:1.2rem;font-weight:600;color:#52c41a;display:flex;align-items:baseline;justify-content:center;grid-gap:4px;gap:4px}.balance-money.negative{color:#c33}.stat-label{font-size:.85rem;margin-bottom:6px}.stat-value{margin-bottom:4px}.stat-count{font-size:.8rem;color:#6c757d}.action-buttons{grid-gap:12px;gap:12px}.action-button{flex:1 1;padding:14px;font-weight:600}.recharge-button{background-color:#1a6eb0;color:#fff}.recharge-button:hover{background-color:#145d96}.consume-button{background-color:#c33;color:#fff}.consume-button:hover{background-color:#a22}.action-button:active{transform:scale(.98)}@media (max-width:768px){.balance-stats-row{flex-direction:column;grid-gap:20px;gap:20px}.balance-stat-item{width:100%}.balance-amount{font-size:1.8rem}.balance-money{font-size:1.1rem}}.main-account-records{display:flex;flex-direction:column;grid-gap:20px;gap:20px}.filters-container{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filter-group{grid-gap:6px;gap:6px}.filter-group label{font-size:.9rem;color:#6c757d}.filter-group input[type=date],.filter-group select{padding:8px;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;font-family:inherit}.filter-group input:focus,.filter-group select:focus{border-color:#1a6eb0;box-shadow:0 0 0 3px rgba(26,110,176,.1)}.empty-state,.loading-container{text-align:center;padding:40px;color:#6c757d}.loading-spinner{margin:0 auto 16px}.records-list{display:flex;flex-direction:column;grid-gap:16px;gap:16px}.record-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:4px solid #1a6eb0}.record-card.recharge{border-left-color:#28a745}.record-card.consume{border-left-color:#c33}.record-card.allocate{border-left-color:#ffc107}.record-header{justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e9ecef}.record-header,.record-type{display:flex;align-items:center}.record-type{grid-gap:12px;gap:12px}.type-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500}.type-badge.recharge{background-color:#d4edda;color:#155724}.type-badge.consume{background-color:#f8d7da;color:#721c24}.type-badge.allocate{background-color:#fff3cd;color:#856404}.record-date{color:#6c757d;font-size:.9rem}.record-actions{display:flex;grid-gap:8px;gap:8px}.delete-button,.edit-button{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.edit-button{background-color:#e7f3ff;color:#1a6eb0}.edit-button:hover{background-color:#cfe2ff}.delete-button{background-color:#fee;color:#c33}.delete-button:hover{background-color:#fcc}.record-body{grid-gap:12px;gap:12px}.record-body,.record-info{display:flex;flex-direction:column}.record-info{grid-gap:8px;gap:8px}.info-row{align-items:flex-start;grid-gap:12px;gap:12px}.info-label{min-width:80px}.info-value.positive{color:#28a745;font-weight:600}.info-value.negative{color:#c33;font-weight:600}.record-balance{padding-top:12px;border-top:1px solid #e9ecef}.balance-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#6c757d}.pagination{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.page-button{border:1px solid #dee2e6;border-radius:6px;background-color:#fff;color:#2c3e50;transition:all .2s ease}.page-button:hover:not(:disabled){background-color:#f8f9fa;border-color:#1a6eb0;color:#1a6eb0}.page-info{color:#6c757d;font-size:.9rem}.delete-confirm{max-width:400px}.delete-confirm-content{padding:20px}.delete-confirm-content p{margin:0 0 12px;color:#2c3e50}.warning-text{color:#c33;font-size:.9rem}.delete-confirm-button{background-color:#c33;color:#fff}.delete-confirm-button:hover:not(:disabled){background-color:#a22}.delete-confirm-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.filters-container{grid-template-columns:1fr}.record-header{flex-direction:column;align-items:flex-start;grid-gap:12px;gap:12px}.record-actions{width:100%;justify-content:flex-end}}.sub-account-list{padding:12px}.sub-account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sub-account-header h2{margin:0;font-size:18px;color:#333}.create-button{padding:6px 12px;background-color:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background-color .3s}.create-button:hover{background-color:#40a9ff}.sub-account-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.sub-account-card{background:#fff;border:1px solid #e8e8e8;border-radius:6px;padding:12px;cursor:pointer;transition:all .3s;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:flex-start;grid-gap:12px;gap:12px}.sub-account-card.positive-balance{background-color:#e6f7ff}.sub-account-card.negative-balance{background-color:#fff1f0}.sub-account-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.sub-account-card-content{flex:1 1;display:flex;flex-direction:column;grid-gap:6px;gap:6px}.sub-account-name{font-size:16px;font-weight:700;color:#333;margin-bottom:6px}.sub-account-balance{font-size:14px;color:#52c41a;margin-bottom:6px}.sub-account-balance.negative{color:#ff4d4f}.sub-account-description{font-size:12px;color:#666;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-account-status{font-size:11px;color:#999;margin-top:6px}.adjust-button{padding:6px 12px;background-color:#4361ee;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;white-space:nowrap;flex-shrink:0;transition:all .3s;font-weight:500;align-self:flex-start}.adjust-button:hover{background-color:#3a56d4;transform:translateY(-1px);box-shadow:0 2px 4px rgba(67,97,238,.3)}.adjust-button:active{transform:translateY(0)}.empty-state{padding:40px 20px}.empty-state p{font-size:16px}.primary-button{padding:10px 20px;background-color:#1890ff;border-radius:4px;font-size:14px}.primary-button:hover{background-color:#40a9ff}.sub-account-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.sub-account-form-container{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.15)}.form-header{justify-content:space-between;margin-bottom:20px}.form-header h3{margin:0;font-size:20px;color:#333}.close-button{font-size:24px;color:#999;width:24px;height:24px;line-height:24px}.close-button:hover{color:#333}.sub-account-form{display:flex;flex-direction:column;grid-gap:16px;gap:16px}.form-group{grid-gap:8px;gap:8px}.form-group label{font-size:14px;color:#333}.form-group input,.form-group textarea{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:#1890ff}.form-group textarea{min-height:60px}.form-actions{margin-top:8px}.cancel-button,.submit-button{padding:8px 16px;border-radius:4px;font-size:14px;transition:all .3s}.cancel-button{background-color:#f5f5f5;color:#333}.cancel-button:hover{background-color:#e8e8e8}.submit-button{background-color:#1890ff}.submit-button:hover:not(:disabled){background-color:#40a9ff}@media (max-width:768px){.sub-account-grid{grid-template-columns:1fr}.sub-account-form-container{width:95%;padding:20px}}.sub-account-detail{padding:12px}.detail-header{margin-bottom:20px;position:relative}.detail-header h2{flex:1 1;margin:0;font-size:20px;color:#333;text-align:center}.account-info-card{background:#fff;border-radius:6px;padding:12px;margin-bottom:12px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.info-row{margin-bottom:12px;align-items:center}.info-row:last-child{margin-bottom:0}.info-label{font-weight:600;color:#666;min-width:100px}.info-value{color:#333;flex:1 1}.info-value.balance{font-size:24px;font-weight:700}.info-value.balance.positive{color:#52c41a}.info-value.balance.negative{color:#ff4d4f}.info-stats{display:flex;grid-gap:20px;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid #e8e8e8}.stat-value{font-size:18px;color:#333}.filters-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px;padding:12px;border-radius:6px}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#1890ff}.records-table{background:#fff;border-radius:6px;overflow-x:auto;overflow-y:visible;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:12px}.records-table table{width:100%;border-collapse:collapse;table-layout:fixed}.records-table td:first-child,.records-table th:first-child{width:9%;min-width:70px}.records-table td:nth-child(2),.records-table th:nth-child(2){width:9%;min-width:60px}.records-table td:nth-child(3),.records-table th:nth-child(3){width:9%;min-width:65px}.records-table td:nth-child(4),.records-table td:nth-child(5),.records-table th:nth-child(4),.records-table th:nth-child(5){width:9%;min-width:70px}.records-table td:nth-child(6),.records-table th:nth-child(6){width:55%;min-width:180px;white-space:normal;word-break:break-word;max-width:none}.records-table thead{background-color:#f5f5f5}.records-table th{text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e8e8e8}.records-table td,.records-table th{padding:6px 4px;font-size:11px;white-space:nowrap}.records-table td{border-bottom:1px solid #f0f0f0;color:#666}.records-table tbody tr:hover{background-color:#fafafa}.records-table tbody tr:last-child td{border-bottom:none}.operation-type-badge{font-weight:600;padding:2px 4px;border-radius:3px;background-color:rgba(0,0,0,.05);font-size:10px;display:inline-block;white-space:nowrap}.positive{color:#52c41a;font-weight:600}.negative{color:#ff4d4f;font-weight:600}.description-cell{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.4}.pagination{display:flex;justify-content:center;align-items:center;grid-gap:16px;gap:16px;padding:20px}.page-button{padding:8px 16px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;transition:all .3s}.page-button:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.page-button:disabled{opacity:.5;cursor:not-allowed}.page-info{color:#666;font-size:14px}@media (max-width:768px){.records-table{overflow-x:auto}.records-table table{min-width:800px}.filters-container{grid-template-columns:1fr}.info-stats{flex-direction:column;grid-gap:12px;gap:12px}}.statistics-page{padding:20px}.statistics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.statistics-header h2{margin:0;font-size:20px;color:#333}.filters-container{display:flex;grid-gap:12px;gap:12px;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.filter-group label{font-size:14px;color:#666;font-weight:500}.filter-group input{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.filter-group input:focus{outline:none;border-color:#1890ff}.clear-filter-button{padding:8px 16px;background-color:#f5f5f5;color:#333;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.clear-filter-button:hover{background-color:#e8e8e8}.statistics-section{margin-bottom:24px}.section-title{font-size:18px;color:#333;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e8e8e8}.subsection-title{font-size:16px;font-weight:500;color:#666;margin:20px 0 12px}.stats-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px}.stat-item{flex-direction:column;grid-gap:8px;gap:8px}.stat-label{font-size:14px;color:#999}.stat-value{font-size:24px;font-weight:700}.stat-value.positive{color:#52c41a}.stat-value.negative{color:#ff4d4f}.court-stats{margin-top:20px}.court-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px;margin-top:12px}.court-stat-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.court-stat-name{font-size:16px;font-weight:600;color:#333;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.court-stat-details{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.court-stat-item{display:flex;justify-content:space-between;font-size:14px}.court-stat-item span:first-child{color:#666}.sub-account-stats-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1)}.sub-account-stats-table table{width:100%;border-collapse:collapse}.sub-account-stats-table thead{background-color:#f5f5f5}.sub-account-stats-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e8e8e8;font-size:14px}.sub-account-stats-table td{padding:12px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#666}.sub-account-stats-table tbody tr:hover{background-color:#fafafa}.sub-account-stats-table tbody tr:last-child td{border-bottom:none}.trend-chart{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.trend-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.trend-item{display:flex;align-items:center;grid-gap:16px;gap:16px}.trend-date{min-width:120px;font-size:14px;color:#666}.trend-bar-container{flex:1 1;height:32px;background-color:#f5f5f5;border-radius:4px;position:relative;overflow:hidden}.trend-bar{height:100%;background:linear-gradient(90deg,#1890ff,#40a9ff);border-radius:4px;display:flex;align-items:center;padding:0 8px;transition:width .3s ease;min-width:-moz-fit-content;min-width:fit-content}.trend-value{color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#1890ff}.error-message{background-color:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#ff4d4f;margin-bottom:16px}.empty-state{padding:40px;color:#999}@media (max-width:768px){.court-stats-grid,.stats-card{grid-template-columns:1fr}.filters-container{flex-direction:column;align-items:stretch}.trend-item{flex-direction:column;align-items:flex-start}.trend-date{min-width:auto}.trend-bar-container{width:100%}.sub-account-stats-table{overflow-x:auto}.sub-account-stats-table table{min-width:500px}}.court-usage-home{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;max-width:100%;min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);display:flex;flex-direction:column;padding:0 20px 20px}.court-usage-header{display:flex;align-items:center;margin-bottom:20px;position:relative;padding:16px 0 10px;border-bottom:1px solid #e9ecef}.back-button{background:none;color:#1a6eb0;padding:8px;transition:color .2s ease;display:flex;align-items:center;width:40px;height:40px;border-radius:50%;background-color:rgba(26,110,176,.1)}.back-button:hover{color:#145d96;background-color:rgba(26,110,176,.15)}.refresh-button{position:absolute;right:0;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;color:#6c757d;transition:transform .3s ease}.refresh-button:hover{transform:rotate(180deg)}.court-usage-title{flex:1 1;font-size:1.5rem;color:#1a6eb0;margin:0;text-align:center;font-weight:700}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid #fcc}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6c757d}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top-color:#1a6eb0;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.tab-container{display:flex;grid-gap:8px;gap:8px;margin-bottom:20px;background-color:#fff;padding:4px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.tab-button{flex:1 1;padding:12px;border:none;background:transparent;color:#6c757d;font-size:1rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.tab-button:hover:not(:disabled){background-color:#f8f9fa}.tab-button.active{background-color:#1a6eb0;color:#fff}.tab-button:disabled{opacity:.5;cursor:not-allowed}.court-usage-content{flex-grow:1}.court-selector{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:0 4px 12px rgba(0,0,0,.08);border:1px solid rgba(26,110,176,.1);position:relative}.court-selector:before{content:"🏟️";position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:1.2rem;z-index:1}.court-selector label{display:block;font-weight:600;color:#1a6eb0;margin-bottom:10px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.court-select{width:100%;padding:14px 16px 14px 40px;border:2px solid #e9ecef;border-radius:10px;font-size:1rem;font-family:inherit;font-weight:500;color:#2c3e50;background-color:#fff;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%231a6eb0' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px}.court-select:hover{border-color:#1a6eb0;box-shadow:0 2px 8px rgba(26,110,176,.15)}.court-select:focus{outline:none;border-color:#1a6eb0;box-shadow:0 0 0 4px rgba(26,110,176,.15);background-color:#f8fbff}.court-select option{padding:12px;font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:#6c757d}.empty-state p{margin-bottom:20px;font-size:1.1rem}.primary-button{background-color:#1a6eb0;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.primary-button:hover{background-color:#145d96}.primary-button:active{transform:scale(.98)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background-color:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.2);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.5rem;color:#1a6eb0;font-weight:700}.close-button{font-size:28px;width:32px;height:32px}.close-button:hover{background-color:#f8f9fa;color:#1a6eb0}.court-form{padding:20px}.form-group{margin-bottom:20px}.form-group label{font-weight:500;font-size:.95rem}.form-group input[type=number],.form-group input[type=text],.form-group textarea{width:100%;padding:10px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 3px rgba(26,110,176,.1)}.form-group textarea{min-height:80px}.form-group input[type=checkbox]{margin-right:8px;width:auto}.form-actions{grid-gap:12px;gap:12px;margin-top:24px;padding-top:20px}.cancel-button,.submit-button{padding:10px 20px}.cancel-button{background-color:#f8f9fa;color:#6c757d}.cancel-button:hover{background-color:#e9ecef}.submit-button:hover{background-color:#145d96}.cancel-button:active,.submit-button:active{transform:scale(.98)}@media (max-width:768px){.court-usage-title{font-size:1.3rem}.modal-content{max-width:100%;margin:0;border-radius:12px 12px 0 0}.modal-overlay{align-items:flex-end;padding:0}}.private-fund-home{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.private-fund-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;grid-gap:15px;gap:15px}.private-fund-title{font-size:2rem;color:#1a6eb0;margin:0;font-weight:700;flex:1 1}.settings-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .3s ease;color:#6c757d;display:flex;align-items:center;justify-content:center}.settings-button:hover{background-color:#f0f0f0;color:#1a6eb0;transform:rotate(90deg)}.settings-button:active{transform:rotate(90deg) scale(.95)}.private-fund-content{max-width:1200px;margin:0 auto}.empty-message,.error-message,.loading-message{text-align:center;padding:40px;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:20px}.empty-message{color:#6c757d}.hint{font-size:.9rem;margin-top:10px}.summary-section{margin-bottom:30px}.section-header-with-button h2{margin:0}.section-header-with-button .action-button.small{padding:6px 12px;font-size:.8rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease;white-space:nowrap;font-weight:400;margin-left:auto}.section-header-with-button .action-button.small:hover{background-color:#5a6268}.all-investors-section,.investors-section,.products-section{margin-bottom:30px}.products-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px;font-weight:600}.actions-section{margin-bottom:30px;display:flex;grid-gap:15px;gap:15px}.action-button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button.primary{background-color:#1a6eb0;color:#fff}.action-button.primary:hover{background-color:#155a8f}.action-button.small{padding:6px 12px;font-size:.875rem;background-color:#6c757d;color:#fff;white-space:nowrap}.action-button.small:hover{background-color:#5a6268}.product-card{margin-bottom:20px}.product-actions{display:flex;grid-gap:10px;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}.api-info{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-top:30px}.api-info h3{color:#2c3e50;font-size:1.2rem;margin-bottom:15px;font-weight:600}.api-info p{color:#6c757d;line-height:1.6;margin-bottom:10px}.api-info ul{color:#495057;line-height:1.8;margin-left:20px;margin-bottom:15px}.api-info li{margin-bottom:5px;font-family:"Courier New",monospace;font-size:.9rem}.investors-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));grid-gap:20px;gap:20px}.investor-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px rgba(0,0,0,.05);cursor:pointer;transition:all .2s ease}.investor-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.investor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid #e9ecef}.investor-name{font-size:1.5rem;color:#1a6eb0;margin:0;font-weight:700}.investor-product-count{background-color:#e9ecef;color:#6c757d;padding:6px 12px;border-radius:12px;font-size:.875rem;font-weight:500}.investor-product-counts{display:flex;grid-gap:8px;gap:8px;align-items:center}.product-count-item{background-color:#e9ecef;color:#6c757d;padding:6px 12px;border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap}.investor-stats{display:flex;flex-direction:column;grid-gap:6px;gap:6px;margin-bottom:0}.stat-item{align-items:center;padding:4px 0}.stat-label{font-size:.95rem}.stat-value{font-size:1.1rem}.stat-value.profit{color:#28a745}.stat-value.loss{color:#dc3545}.investor-products{margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}.products-title{font-size:1rem;color:#6c757d;margin-bottom:15px;font-weight:600}.products-mini-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.product-mini-card{background-color:#f8f9fa;border-radius:8px;padding:15px;cursor:pointer;transition:all .2s ease}.product-mini-card:hover{background-color:#e9ecef}.product-mini-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.product-mini-name{font-weight:600;color:#2c3e50;font-size:.95rem}.status-badge-mini{padding:2px 8px;border-radius:8px;font-size:.75rem;font-weight:500}.status-badge-mini.holding{background-color:#d4edda;color:#155724}.status-badge-mini.redeemed{background-color:#f8d7da;color:#721c24}.product-mini-info{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#6c757d}.profit-loss-mini{font-weight:600}.profit-loss-mini.profit{color:#28a745}.profit-loss-mini.loss{color:#dc3545}.investor-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.investor-selector-dialog{background-color:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.2)}.investor-selector-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e9ecef}.investor-selector-header h3{margin:0;color:#2c3e50;font-size:1.25rem;font-weight:600}.close-button{background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background-color:#f0f0f0;color:#2c3e50}.investor-selector-content{padding:20px 25px;overflow-y:auto;flex:1 1}.investor-selector-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.investor-selector-item{display:flex;align-items:center;padding:12px;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease}.investor-selector-item:hover{background-color:#f8f9fa;border-color:#1a6eb0}.investor-selector-item input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer}.investor-selector-name{flex:1 1;font-weight:500;color:#2c3e50;font-size:1rem}.investor-selector-info{color:#6c757d;font-size:.875rem}.investor-selector-actions{display:flex;justify-content:flex-end;grid-gap:12px;gap:12px;padding:20px 25px;border-top:1px solid #e9ecef}.cancel-button,.submit-button{padding:10px 20px;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.submit-button:hover{background-color:#155a8f}@media (max-width:768px){.private-fund-title{font-size:1.5rem}.investors-list,.products-list{grid-template-columns:1fr}.private-fund-content{padding:0 10px}.investor-stats{grid-gap:8px;gap:8px}.stat-item{flex-direction:column;align-items:flex-start;grid-gap:4px;gap:4px}}.product-detail{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;grid-gap:15px;gap:15px}.detail-title{font-size:1.75rem;color:#1a6eb0;margin:0;font-weight:700;flex:1 1}.edit-button{background-color:#1a6eb0;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.edit-button:hover{background-color:#155a8f}.delete-button{background-color:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.delete-button:hover{background-color:#c82333}.detail-content{max-width:1200px;margin:0 auto}.info-card{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:20px}.info-card h2{font-size:1.5rem;margin-bottom:20px}.info-card h2,.info-card h3{color:#2c3e50;font-weight:600}.info-card h3{font-size:1.25rem;margin-bottom:15px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:15px;gap:15px}.info-item{display:flex;flex-direction:column;grid-gap:5px;gap:5px}.info-label{font-size:.9rem}.info-value{font-size:1rem}.profit-loss-info{display:flex;flex-direction:column;grid-gap:15px;gap:15px}.profit-loss-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.profit-loss-item:last-child{border-bottom:none}.profit-loss-item .label{color:#6c757d;font-weight:500}.profit-loss-item .value{font-weight:600}.profit-loss-item .value.profit{color:#28a745}.profit-loss-item .value.loss{color:#dc3545}.tabs{display:flex;grid-gap:10px;gap:10px;margin-bottom:20px;border-bottom:2px solid #e9ecef}.tab{padding:12px 24px;background:none;color:#6c757d;font-size:1rem;font-weight:500;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.tab.active,.tab:hover{color:#1a6eb0}.tab.active{border-bottom-color:#1a6eb0}.tab-content{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);min-height:300px}.history-note,.investors-text{background-color:#f8f9fa;padding:15px;border-radius:8px;white-space:pre-wrap;font-family:inherit;line-height:1.6;color:#495057}.quick-actions{display:flex;grid-gap:15px;gap:15px;margin-top:20px}.dividend-list,.history-list{display:flex;flex-direction:column;grid-gap:15px;gap:15px}.dividend-item,.history-item{background-color:#f8f9fa;padding:15px;border-radius:8px;display:flex;flex-direction:column;grid-gap:8px;gap:8px}.dividend-date,.history-date{font-weight:600;color:#2c3e50}.history-value{color:#495057}.history-return{font-weight:600}.history-return.profit{color:#28a745}.history-return.loss{color:#dc3545}.dividend-shares{color:#495057}.dividend-note{color:#6c757d;font-size:.9rem}.section-header-with-button{margin-bottom:20px}.section-header-with-button h2,.section-header-with-button h3{margin:0}.add-investor-button{padding:8px 16px;font-size:.95rem}.investor-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.investor-item{background-color:#f8f9fa;padding:12px 16px;border-radius:8px;border-left:4px solid #1a6eb0}.investor-info,.investor-item{display:flex;justify-content:space-between;align-items:center}.investor-info{flex:1 1;grid-gap:20px;gap:20px}.investor-amount,.investor-name{font-size:1rem}.remove-investor-button{width:28px;height:28px;margin-left:12px}.investor-total{display:flex;justify-content:flex-end;align-items:center;grid-gap:8px;gap:8px;padding:12px 16px;background-color:#e9ecef;border-radius:8px;font-weight:600;font-size:1rem;margin-top:8px}.investor-total .error{color:#dc3545}.purchase-amount-hint{color:#6c757d;font-weight:500}.investor-actions{justify-content:flex-end;margin-top:16px}.save-investors-button{padding:10px 24px;background-color:#28a745;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-investors-button:hover:not(:disabled){background-color:#218838}.save-investors-button:disabled{opacity:.6;cursor:not-allowed}.empty-investor-list{padding:40px 20px}.form-hint{margin-top:6px;font-size:.85rem;color:#6c757d}@media (max-width:768px){.detail-header{flex-direction:column;align-items:flex-start}.tabs{flex-wrap:wrap}.tab{padding:8px 16px;font-size:.9rem}.info-grid{grid-template-columns:1fr}.section-header-with-button{flex-direction:column;align-items:flex-start;grid-gap:12px;gap:12px}.add-investor-button{width:100%}.investor-info{grid-gap:8px;gap:8px}.investor-info,.investor-item{flex-direction:column;align-items:flex-start}.investor-item{grid-gap:12px;gap:12px}.remove-investor-button{align-self:flex-end;margin-left:0}.investor-total{flex-direction:column;align-items:flex-start;grid-gap:4px;gap:4px}.add-investor-dialog{width:95%}}.product-form{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.form-content{max-width:800px;background-color:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.form-actions{padding-top:30px;border-top:1px solid #e9ecef}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}}.net-value-update{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.update-header{display:flex;align-items:center;margin-bottom:30px;grid-gap:15px;gap:15px}.update-title{font-size:1.75rem;color:#1a6eb0;margin:0;font-weight:700}.update-content{max-width:600px;margin:0 auto}.success-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.success-dialog{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.success-dialog-header{padding:24px 24px 16px;border-bottom:1px solid #e9ecef}.success-dialog-header h2{margin:0;color:#28a745;font-size:1.5rem;font-weight:600;display:flex;align-items:center;grid-gap:8px;gap:8px}.success-dialog-content{padding:24px}.success-info-section{margin-bottom:24px}.success-info-section:last-child{margin-bottom:0}.success-info-section h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #1a6eb0}.success-value{font-size:1.75rem;font-weight:700;color:#1a6eb0;margin-bottom:12px}.success-detail{display:flex;grid-gap:20px;gap:20px;font-size:.9rem;color:#6c757d;flex-wrap:wrap}.comparison-row,.success-detail span{display:flex;align-items:center}.comparison-row{justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.comparison-row:last-child{border-bottom:none}.comparison-row span:first-child{color:#6c757d;font-weight:500}.comparison-row span:last-child{font-weight:600;font-size:1.05rem}.comparison-row .profit{color:#28a745}.comparison-row .loss{color:#dc3545}.section-header-with-button{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-with-button h3{margin:0}.add-investor-button{padding:6px 16px;background-color:#1a6eb0;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-investor-button:hover{background-color:#155a8f}.investor-profit-list{display:flex;flex-direction:column;grid-gap:12px;gap:12px}.investor-profit-item{background-color:#f8f9fa;border-radius:8px;padding:12px 16px;border-left:4px solid #1a6eb0}.investor-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:1rem}.investor-name{font-weight:600;color:#2c3e50}.investor-actions{display:flex;align-items:center;grid-gap:12px;gap:12px}.investor-amount{font-weight:600;color:#1a6eb0}.remove-investor-button{background-color:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;padding:0}.remove-investor-button:hover{background-color:#c82333}.empty-investor-list{text-align:center;padding:24px;color:#6c757d;font-size:.95rem}.add-investor-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.add-investor-dialog{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);max-width:500px;width:90%;animation:slideUp .3s ease}.add-investor-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.add-investor-dialog-header h3{margin:0;color:#2c3e50;font-size:1.25rem;font-weight:600}.add-investor-dialog-header .close-button{background:none;border:none;font-size:24px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.add-investor-dialog-header .close-button:hover{background-color:#f0f0f0;color:#2c3e50}.add-investor-form{padding:24px}.add-investor-form .form-group{margin-bottom:20px}.add-investor-form .form-group label{display:block;color:#2c3e50;font-weight:600;margin-bottom:8px;font-size:.95rem}.add-investor-form .form-group input{width:100%;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.add-investor-form .form-group input:focus{outline:none;border-color:#1a6eb0}.add-investor-form .form-actions{display:flex;grid-gap:12px;gap:12px;justify-content:flex-end;margin-top:24px}.add-investor-form .cancel-button,.add-investor-form .submit-button{padding:10px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-investor-form .cancel-button{background-color:#6c757d;color:#fff}.add-investor-form .cancel-button:hover{background-color:#5a6268}.add-investor-form .submit-button{background-color:#1a6eb0;color:#fff}.add-investor-form .submit-button:hover{background-color:#155a8f}.success-dialog-footer{padding:16px 24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end}.confirm-button{padding:10px 32px;background-color:#1a6eb0;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.confirm-button:hover{background-color:#155a8f}@media (max-width:768px){.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}.success-dialog{width:95%;max-height:85vh}.success-value{font-size:1.5rem}.success-detail{flex-direction:column;grid-gap:8px;gap:8px}.comparison-row{flex-direction:column;align-items:flex-start;grid-gap:4px;gap:4px}.investor-profit-item{padding:10px 12px}.investor-detail-row{flex-direction:column;align-items:flex-start;grid-gap:8px;gap:8px}.investor-actions{width:100%;justify-content:space-between}.investor-amount,.investor-name{font-size:.95rem}.section-header-with-button{flex-direction:column;align-items:flex-start;grid-gap:12px;gap:12px}.add-investor-button{width:100%}.add-investor-dialog{width:95%}}.net-value-history{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.history-header{display:flex;align-items:center;margin-bottom:30px;grid-gap:15px;gap:15px}.history-title{font-size:1.75rem;color:#1a6eb0;margin:0;font-weight:700}.product-info-card h3{margin:0}.history-content{max-width:1200px;margin:0 auto}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{color:#2c3e50;font-size:1.5rem;margin:0;font-weight:600}.header-actions{display:flex;grid-gap:10px;gap:10px}.add-form-card{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:20px}.add-form-card h3{color:#2c3e50;font-size:1.25rem;margin-bottom:20px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.history-table{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);overflow-x:auto}.history-table table{width:100%;border-collapse:collapse}.history-table thead{background-color:#f8f9fa}.history-table th{padding:12px;text-align:left;color:#2c3e50;font-weight:600;border-bottom:2px solid #dee2e6}.history-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#495057}.history-table tbody tr:hover{background-color:#f8f9fa}.action-buttons{display:flex;grid-gap:10px;gap:10px}.delete-btn,.edit-btn{padding:6px 12px;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.edit-btn{background-color:#1a6eb0;color:#fff}.edit-btn:hover{background-color:#155a8f}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333}.profit{color:#28a745}.loss,.profit{font-weight:600}.loss{color:#dc3545}.no-data{color:#6c757d}@media (max-width:768px){.form-row{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;grid-gap:15px;gap:15px}.header-actions{width:100%;flex-direction:column}.history-table{overflow-x:auto}}.redemption-form{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.form-group input{width:100%;padding:12px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#1a6eb0}.preview-card{background-color:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:25px;border-left:4px solid #1a6eb0}.preview-card h3{color:#2c3e50;font-size:1.1rem;margin-bottom:15px;font-weight:600}.preview-item{display:flex;justify-content:space-between;padding:8px 0;font-size:1rem}.preview-item .profit{color:#28a745;font-weight:600}.preview-item .loss{color:#dc3545;font-weight:600}.dividend-form{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.error-message,.loading-message{margin:20px 0}.loading-message{color:#6c757d}.form-header{display:flex;align-items:center;margin-bottom:30px;grid-gap:15px;gap:15px}.form-title{font-size:1.75rem;color:#1a6eb0;margin:0;font-weight:700}.form-content{max-width:600px;margin:0 auto}.product-info-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:20px}.product-info-card h3{color:#2c3e50;font-size:1.25rem;margin-bottom:15px;font-weight:600}.form-group{margin-bottom:25px}.form-group label{display:block;color:#2c3e50;font-weight:600;margin-bottom:8px;font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1a6eb0}.form-group textarea{resize:vertical;min-height:100px}.hint{margin-top:5px;font-size:.875rem;color:#6c757d;font-style:italic}.form-actions{display:flex;grid-gap:15px;gap:15px;justify-content:flex-end;margin-top:30px}.cancel-button,.submit-button{padding:12px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover{background-color:#5a6268}.submit-button{background-color:#1a6eb0;color:#fff}.submit-button:hover:not(:disabled){background-color:#155a8f}.submit-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}}.investor-detail{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#e9ecef);padding:20px}.investor-detail-header{display:flex;align-items:center;margin-bottom:30px;grid-gap:15px;gap:15px}.investor-detail-title{font-size:1.75rem;color:#1a6eb0;margin:0;font-weight:700}.investor-detail-content{max-width:1200px;margin:0 auto}.investor-summary-section{margin-bottom:30px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px}.summary-card{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05);text-align:center}.summary-card h3{color:#6c757d;font-size:1rem;margin-bottom:10px;font-weight:500}.summary-value{font-size:2rem;color:#1a6eb0;font-weight:700;margin:0}.summary-value.profit{color:#28a745}.summary-value.loss{color:#dc3545}.investor-products-section,.investor-statistics-section{margin-bottom:30px}.section-title{color:#2c3e50;font-size:1.5rem;margin-bottom:20px;font-weight:600}.products-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}.product-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px rgba(0,0,0,.05);cursor:pointer;transition:all .2s ease}.product-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.product-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.product-name{font-size:1.25rem;color:#2c3e50;margin:0;flex:1 1}.status-badge{padding:4px 12px;border-radius:12px;font-size:.875rem;font-weight:500}.status-badge.holding{background-color:#d4edda;color:#155724}.status-badge.redeemed{background-color:#f8d7da;color:#721c24}.product-info{margin-bottom:15px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{color:#6c757d;font-weight:500}.info-value{color:#2c3e50;font-weight:600}.info-value.profit{color:#28a745}.info-value.loss{color:#dc3545}.statistics-info{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.stat-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.stat-item:last-child{border-bottom:none}.stat-label{color:#6c757d;font-weight:500}.stat-value{color:#2c3e50;font-weight:600}.error-message,.loading-message{text-align:center;padding:40px;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:20px}.error-message{color:#dc3545}.error-message button{margin-top:15px;padding:8px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer}.back-button{background-color:#6c757d;color:#fff;padding:10px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.back-button:hover{background-color:#5a6268}@media (max-width:768px){.investor-detail-title{font-size:1.5rem}.products-list{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}}.knowledge-lottery-tabs .ant-tabs-tab:first-child.ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:first-child .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(2).ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(2) .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(3).ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(3) .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(4).ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(4) .ant-tabs-tab-btn{color:#1890ff}.knowledge-lottery-tabs .ant-tabs-tab:nth-child(5).ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(5) .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(6).ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(6) .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(7).ant-tabs-tab-active .ant-tabs-tab-btn,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(7) .ant-tabs-tab-btn{color:#52c41a}.knowledge-lottery-tabs .ant-tabs-ink-bar{background:#1890ff}.knowledge-lottery-tabs .ant-tabs-tab:nth-child(5).ant-tabs-tab-active~.ant-tabs-ink-bar,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(6).ant-tabs-tab-active~.ant-tabs-ink-bar,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(7).ant-tabs-tab-active~.ant-tabs-ink-bar{background:#52c41a}.knowledge-lottery-tabs .ant-tabs-tab:nth-child(5).ant-tabs-tab-active+.ant-tabs-ink-bar,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(6).ant-tabs-tab-active+.ant-tabs-ink-bar,.knowledge-lottery-tabs .ant-tabs-tab:nth-child(7).ant-tabs-tab-active+.ant-tabs-ink-bar{background:#52c41a!important}.knowledge-board-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.knowledge-board-header{background:#fff;border-bottom:4px solid #1890ff;padding:16px 24px;box-shadow:0 2px 8px rgba(0,0,0,.1);position:sticky;top:0;z-index:100}.knowledge-board-header-content{display:flex;align-items:center;grid-gap:16px;gap:16px;max-width:1400px;margin:0 auto}.back-button{border:none;box-shadow:none}.back-button:hover{background:#f0f0f0}.knowledge-board-title{font-size:24px;font-weight:700;margin:0;color:#1890ff}.knowledge-board-main{max-width:1400px;margin:0 auto;padding:24px}.knowledge-board-filter-card{margin-bottom:24px;border:2px solid #1890ff;border-radius:12px;box-shadow:0 4px 12px rgba(24,144,255,.15)}.knowledge-board-filters{display:flex;grid-gap:16px;gap:16px;flex-wrap:wrap;align-items:center}.filter-search{flex:1 1}.filter-category,.filter-search{min-width:200px}.knowledge-board-loading{padding:48px;text-align:center}.loading-text{margin-top:16px;color:#666;font-size:14px}.knowledge-board-empty-card{border:2px solid #1890ff;border-radius:12px}.knowledge-board-masonry{display:flex;grid-gap:24px;gap:24px;align-items:flex-start;margin-bottom:24px}.masonry-column{flex:1 1;display:flex;flex-direction:column;grid-gap:24px;gap:24px;min-width:0}.knowledge-card{border-radius:16px;border:2px solid #e8e8e8;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);overflow:hidden;min-height:200px;max-height:600px;height:auto}.knowledge-card:hover{border-color:#1890ff;transform:translateY(-4px);box-shadow:0 8px 24px rgba(24,144,255,.2)}.knowledge-card-header{margin-bottom:12px;flex-shrink:0}.knowledge-card-title{font-size:18px;font-weight:700;margin:0;color:#262626;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.knowledge-card-tags{display:flex;grid-gap:8px;gap:8px;flex-wrap:wrap;margin-bottom:12px;flex-shrink:0}.knowledge-tag{margin:0;border-radius:4px;font-size:12px;padding:2px 8px}.week-tag{border:1px solid #ff4d4f}.knowledge-card-date{font-size:12px;color:#999;font-family:"Monaco","Menlo",monospace;margin-bottom:12px;display:flex;align-items:center;grid-gap:4px;gap:4px;flex-shrink:0}.knowledge-card-content{position:relative;flex:1 1;font-size:14px;color:#666;line-height:1.8;margin-bottom:16px;overflow:hidden}.knowledge-card-content-text{white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow:hidden;position:relative}.knowledge-card-content-fade{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.98));pointer-events:none;z-index:1}.knowledge-card-footer{margin-top:auto;text-align:right;padding-top:12px;border-top:1px solid #f0f0f0;flex-shrink:0}.view-detail-button{padding:0;height:auto;color:#1890ff;font-weight:500}.view-detail-button:hover{color:#40a9ff}.knowledge-board-stats-card{border:2px solid #1890ff;border-radius:12px;box-shadow:0 4px 12px rgba(24,144,255,.15)}.knowledge-board-stats{text-align:center;color:#666;font-size:14px}.stats-highlight{color:#1890ff;font-size:18px;font-weight:700}.stats-total{color:#999;margin-left:8px}@media (max-width:768px){.knowledge-board-main{padding:16px}.knowledge-board-masonry,.masonry-column{grid-gap:16px;gap:16px}.knowledge-board-filters{flex-direction:column}.filter-category,.filter-search{width:100%}.knowledge-card-content-text{max-height:200px}.knowledge-card{max-height:500px}}@media (max-width:480px){.knowledge-board-title{font-size:20px}.knowledge-card-title{font-size:16px}.knowledge-card-content-text{max-height:150px;font-size:13px}.knowledge-card{max-height:400px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.knowledge-card{animation:fadeIn .5s ease-out;animation-fill-mode:both}.knowledge-card:first-child{animation-delay:0s}.knowledge-card:nth-child(2){animation-delay:.05s}.knowledge-card:nth-child(3){animation-delay:.1s}.knowledge-card:nth-child(4){animation-delay:.15s}.knowledge-card:nth-child(5){animation-delay:.2s}.knowledge-card:nth-child(6){animation-delay:.25s}@media print{.knowledge-board-filter-card,.knowledge-board-header,.knowledge-board-stats-card{display:none}.knowledge-board-masonry{display:block}.masonry-column{page-break-inside:avoid;break-inside:avoid}}.user-activity-statistics{min-height:100vh;background:#f5f5f5;padding:24px}.statistics-header{margin-bottom:24px;border:2px solid #1890ff;border-radius:8px}.statistics-card{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}@media (max-width:768px){.user-activity-statistics{padding:16px}}.travel-memories-home{min-height:100vh;background:#fff8e7;padding-bottom:3rem}.tm-header{padding:3rem 2rem 2rem;text-align:center;background:linear-gradient(180deg,#fff8e7 0,#fff)}.tm-header-content{max-width:1200px;margin:0 auto}.tm-title{font-size:3rem;font-weight:700;color:#4a4a4a;margin-bottom:0;font-family:"Quicksand",sans-serif}.tm-space-info{display:flex;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem;margin-top:1.5rem}.tm-space-name{font-weight:600;padding:.5rem 1rem;background:#f5efe0;border-radius:1rem}.tm-switch-space-btn{padding:.5rem 1rem;background:#ffb6a3;color:#fff;border:none;border-radius:1rem;cursor:pointer;font-size:.875rem;transition:all .3s}.tm-switch-space-btn:hover{background:#ff9d8a;transform:translateY(-2px)}.tm-main-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;max-width:1400px;margin:2rem auto;padding:0 2rem}.tm-section-title{margin-bottom:1rem}.tm-map-section{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.tm-map-hint{font-size:.875rem;color:#7a7a7a;margin-bottom:1rem}.tm-map-container{width:100%;height:500px;border-radius:.5rem;overflow:hidden;background:#f9f9f9}.tm-china-map,.tm-map-svg{width:100%;height:100%}.tm-province-path{cursor:pointer;transition:all .3s}.tm-province-path:hover{opacity:.8;stroke-width:3}.tm-summary-section{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.tm-summary-list{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem}.tm-summary-card{background:#fff8e7;border-radius:.75rem;padding:1.25rem;cursor:pointer;transition:all .3s;border:2px solid transparent}.tm-summary-card:hover{border-color:#ffb6a3;transform:translateX(4px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.tm-summary-title{font-size:1.25rem;font-weight:700;color:#4a4a4a;margin-bottom:.5rem;font-family:"Quicksand",sans-serif}.tm-summary-theme{font-size:.875rem;color:#ffb6a3;font-weight:600;margin-bottom:.75rem}.tm-summary-meta{flex-direction:column}.tm-summary-item,.tm-summary-meta{display:flex;grid-gap:.5rem;gap:.5rem}.tm-summary-item{align-items:center;font-size:.875rem;color:#7a7a7a}.tm-summary-icon{font-size:1rem}.tm-detail-section{max-width:1400px;margin:3rem auto 0;padding:0 2rem}.tm-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.tm-detail-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1);cursor:pointer;transition:all .3s}.tm-detail-card:hover{transform:translateY(-8px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.tm-detail-cover{width:100%;height:250px;overflow:hidden;background:#f5f5f5}.tm-detail-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.tm-detail-card:hover .tm-detail-cover img{transform:scale(1.1)}.tm-detail-cover-placeholder{background:linear-gradient(135deg,#a8d8ea,#fff);display:flex;align-items:center;justify-content:center}.tm-placeholder-content{display:flex;flex-direction:column;align-items:center;grid-gap:.5rem;gap:.5rem;color:#7a7a7a}.tm-placeholder-icon{font-size:3rem}.tm-placeholder-text{font-size:1rem;font-weight:600}.tm-detail-content{padding:1.5rem}.tm-detail-title{font-size:1.5rem;font-weight:700;color:#4a4a4a;margin-bottom:.5rem;font-family:"Quicksand",sans-serif}.tm-detail-date{font-size:.875rem;color:#7a7a7a;margin-bottom:1rem}.tm-detail-locations{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;margin-bottom:1rem}.tm-location-tag{padding:.25rem .75rem;background:#e8e8e8;color:#4a4a4a;border-radius:1rem;font-size:.75rem}.tm-detail-description{font-size:.875rem;color:#7a7a7a;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tm-empty-travels,.travel-memories-empty,.travel-memories-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;text-align:center;color:#7a7a7a}.empty-content h2{font-size:2rem;color:#4a4a4a;margin-bottom:1rem}.empty-content p{font-size:1.125rem;margin-bottom:2rem}.btn-primary{padding:.75rem 1.5rem;background:#ffb6a3;color:#fff;border:none;border-radius:1.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s}.btn-primary:hover{background:#ff9d8a;transform:translateY(-2px)}.tm-spaces-list-section{padding:3rem 0}.tm-section-subtitle{font-size:1rem;color:#7a7a7a;margin-bottom:2rem;text-align:center}.tm-spaces-grid-home{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.tm-space-card-home{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1);cursor:pointer;transition:all .3s;border:2px solid transparent}.tm-space-card-home:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.15);border-color:#ffb6a3}.tm-space-cover-home{width:100%;height:180px;overflow:hidden;background:linear-gradient(135deg,#ffb6a3,#a8d8ea)}.tm-space-cover-home img{width:100%;height:100%;object-fit:cover}.tm-space-content-home{padding:1.5rem}.tm-space-name-home{font-size:1.25rem;font-weight:700;color:#4a4a4a;margin-bottom:.5rem;font-family:"Quicksand",sans-serif}.tm-space-description-home{font-size:.875rem;color:#7a7a7a;margin-bottom:1rem;line-height:1.6}.tm-space-meta-home{display:flex;justify-content:flex-end}.tm-space-role-home{padding:.375rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.tm-role-viewer{background:#e8e8e8}.tm-role-unjoined{background:#f5f5f5;color:#999}.tm-space-card-new{border:2px dashed #e8d5c4;background:#fff8e7;min-height:200px}.tm-space-card-new:hover{border-color:#ffb6a3;background:#fff8e7}.tm-space-card-new-content{color:#7a7a7a}.tm-space-card-new-icon{font-size:3rem;color:#ffb6a3;margin-bottom:.5rem}.tm-space-card-new-content h3{font-size:1.125rem;font-weight:600;color:#4a4a4a;margin-bottom:.25rem}.tm-space-card-new-content p{font-size:.875rem;color:#7a7a7a}.tm-spaces-section-home{margin-top:2rem}.tm-empty-state-home{text-align:center;padding:4rem 2rem;color:#7a7a7a}.tm-empty-state-home h2{font-size:2rem;color:#4a4a4a;margin-bottom:1rem}.tm-empty-state-home p{font-size:1.125rem;margin-bottom:2rem}@media (max-width:1200px){.tm-main-content{grid-template-columns:1fr}.tm-detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.tm-title{font-size:2rem}.tm-main-content{padding:0 1rem}.tm-detail-grid{grid-template-columns:1fr}.tm-header{padding:2rem 1rem}.tm-spaces-grid-home{grid-template-columns:1fr}}.tm-space-select{min-height:100vh;background:linear-gradient(180deg,#fff8e7 0,#fff);padding:2rem 1rem}.tm-space-select-container{max-width:1200px;margin:0 auto}.tm-space-select-header{text-align:center;margin-bottom:3rem}.tm-space-select-header h1{font-size:2.5rem;font-weight:700;color:#4a4a4a;margin-bottom:.5rem;font-family:"Quicksand",sans-serif}.tm-space-select-header p{font-size:1.125rem;color:#7a7a7a}.tm-spaces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.tm-space-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1);border:4px solid #e8d5c4;cursor:pointer;transition:all .3s}.tm-space-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.15);border-color:#ffb6a3}.tm-space-cover{width:100%;height:180px;overflow:hidden;background:#f5efe0}.tm-space-cover img{width:100%;height:100%;object-fit:cover}.tm-space-content{padding:1.5rem}.tm-space-name{font-size:1.5rem;font-weight:700;color:#4a4a4a;margin-bottom:.5rem;font-family:"Quicksand",sans-serif}.tm-space-description{font-size:.875rem;color:#7a7a7a;margin-bottom:1rem;line-height:1.5}.tm-space-meta{display:flex;justify-content:flex-end}.tm-space-role{padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600}.tm-space-card-new{border-style:dashed;border-width:4px;background:hsla(0,0%,100%,.5);display:flex;align-items:center;justify-content:center;min-height:300px}.tm-space-card-new-content{text-align:center;padding:2rem}.tm-space-card-new-icon{font-size:4rem;color:#e8d5c4;margin-bottom:1rem;transition:all .3s}.tm-space-card-new:hover .tm-space-card-new-icon{color:#ffb6a3;transform:scale(1.1)}.tm-space-card-new h3{font-size:1.5rem;font-weight:700;color:#7a7a7a;margin-bottom:.5rem}.tm-space-card-new p{font-size:.875rem;color:#7a7a7a}.tm-space-select-loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:#7a7a7a}.tm-spaces-section{margin-bottom:3rem}.tm-section-title{font-size:1.5rem;font-weight:700;color:#4a4a4a;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e8d5c4;font-family:"Quicksand",sans-serif}.tm-space-card-unjoined{opacity:.7;border-color:#d0d0d0}.tm-space-card-unjoined:hover{opacity:1;border-color:#a8d8ea}.tm-role-unjoined{background:#e0e0e0;color:#7a7a7a}.tm-empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1rem;margin-bottom:2rem}.tm-empty-state h2{font-size:2rem;font-weight:700;color:#4a4a4a;margin-bottom:1rem;font-family:"Quicksand",sans-serif}.tm-empty-state p{font-size:1.125rem;color:#7a7a7a;margin-bottom:2rem}@media (max-width:768px){.tm-spaces-grid{grid-template-columns:1fr}.tm-space-select-header h1{font-size:2rem}}.tm-space-manage{min-height:100vh;background:linear-gradient(180deg,#fff8e7 0,#fff);padding:2rem 1rem}.tm-space-manage-container{max-width:800px;margin:0 auto}.tm-space-manage-header{margin-bottom:2rem}.tm-space-manage-header h1{font-size:2rem;font-weight:700;color:#4a4a4a;font-family:"Quicksand",sans-serif}.tm-back-btn{padding:.5rem 1rem;background:transparent;color:#4a4a4a;border:2px solid #e8d5c4;border-radius:1rem;cursor:pointer;font-size:.875rem;margin-bottom:1rem;transition:all .3s}.tm-back-btn:hover{background:#f5efe0;border-color:#ffb6a3}.tm-space-form{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);border:2px solid #e8d5c4;margin-bottom:2rem}.tm-form-group{margin-bottom:1.5rem}.tm-form-group label{display:block;font-weight:600;color:#4a4a4a;margin-bottom:.5rem;font-size:.875rem}.tm-form-group input,.tm-form-group textarea{width:100%;padding:.75rem;border:2px solid #e8d5c4;border-radius:.5rem;font-size:1rem;transition:all .3s}.tm-form-group input:focus,.tm-form-group textarea:focus{outline:none;border-color:#ffb6a3}.tm-form-actions{display:flex;grid-gap:1rem;gap:1rem;justify-content:flex-end;margin-top:2rem}.tm-form-actions button{padding:.75rem 1.5rem;border:none;border-radius:1rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s}.tm-form-actions button[type=button]{background:#f5efe0;color:#4a4a4a}.tm-form-actions button[type=button]:hover{background:#e8d5c4}.tm-form-actions button[type=submit]{background:#ffb6a3;color:#fff}.tm-form-actions button[type=submit]:hover{background:#ff9d8a}.tm-form-actions button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.tm-members-section{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);border:2px solid #e8d5c4}.tm-members-section h2{font-size:1.5rem;font-weight:700;color:#4a4a4a;margin-bottom:1.5rem;font-family:"Quicksand",sans-serif}.tm-members-list{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem}.tm-member-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f5efe0;border-radius:.5rem}.tm-member-info{display:flex;align-items:center;grid-gap:1rem;gap:1rem}.tm-member-name{font-weight:600;color:#4a4a4a}.tm-member-role{padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600}.tm-role-owner{background:#ffb6a3;color:#fff}.tm-role-editor{background:#a8d8ea;color:#fff}.tm-role-viewer{background:#b8e6d5;color:#4a4a4a}.tm-remove-member-btn{padding:.5rem 1rem;background:#ff6b6b;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:all .3s}.tm-remove-member-btn:hover{background:#ff5252}.tm-travel-detail-new{min-height:100vh;background:#fff8e7}.tm-travel-detail-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;color:#7a7a7a}.tm-loading-spinner{width:50px;height:50px;border:4px solid #e8d5c4;border-top-color:#ffb6a3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(1turn)}}.tm-detail-hero{position:relative;min-height:50vh;display:flex;align-items:flex-end;overflow:hidden}.tm-detail-hero-bg{background-size:cover;background-position:50%;z-index:0}.tm-detail-hero-bg,.tm-detail-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0}.tm-detail-hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.65) 0,rgba(0,0,0,.25) 45%,transparent);z-index:1}.tm-detail-hero-content{position:relative;z-index:2;width:100%;padding:2rem 2rem 2.5rem;color:#fff}.tm-detail-hero-info{max-width:1200px;margin:0 auto}.tm-detail-hero-title{font-size:2.25rem;font-weight:700;margin-bottom:.5rem;font-family:"Quicksand",sans-serif;text-shadow:1px 1px 3px rgba(0,0,0,.4);line-height:1.2}.tm-detail-hero-subtitle{font-size:1rem;margin-bottom:1rem;opacity:.95;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.tm-detail-hero-meta{display:flex;flex-wrap:wrap;grid-gap:1.25rem 2rem;gap:1.25rem 2rem;margin-bottom:0}.tm-detail-meta-item{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.9375rem;opacity:.95}.tm-detail-meta-icon{font-size:1.125rem}.tm-detail-video-section{padding:2rem 0 2.5rem}.tm-detail-section-title-with-icon{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem}.tm-detail-section-icon{width:24px;height:24px;border-radius:4px;flex-shrink:0}.tm-detail-section-icon-video{background:#a8d8ea}.tm-detail-section-icon-photo{background:#b8e6d5}.tm-detail-section-icon-moment{background:#ffd93d}.tm-detail-video-card{position:relative;width:100%;border-radius:1rem;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08);background:#1a1a1a;aspect-ratio:16/9;max-height:70vh}.tm-detail-video{width:100%;height:100%;object-fit:contain;display:block}.tm-detail-video-placeholder{width:100%;height:100%;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#2d2d2d,#1a1a1a);color:hsla(0,0%,100%,.5)}.tm-detail-video-placeholder-icon{width:64px;height:64px;border-radius:50%;background:hsla(0,0%,100%,.15);display:inline-flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:.75rem;color:hsla(0,0%,100%,.8)}.tm-detail-video-placeholder-text{font-size:.9375rem;margin-bottom:.75rem}.tm-detail-video-placeholder-btn{padding:.5rem 1rem;background:rgba(255,182,163,.9);color:#4a4a4a;border:none;border-radius:2rem;cursor:pointer;font-size:.875rem;font-weight:600}.tm-detail-video-placeholder-btn:hover{background:#ffb6a3}.tm-detail-back-btn{position:absolute;top:1.25rem;left:1.25rem;padding:.5rem 1rem;background:hsla(0,0%,100%,.25);color:#fff;border:1px solid hsla(0,0%,100%,.4);border-radius:2rem;cursor:pointer;font-size:.875rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s}.tm-detail-back-btn:hover{background:hsla(0,0%,100%,.35);border-color:hsla(0,0%,100%,.6)}.tm-detail-hero-actions{display:flex;grid-gap:1rem;gap:1rem;margin-top:2rem}.tm-detail-delete-btn,.tm-detail-edit-btn,.tm-detail-share-btn{padding:.75rem 1.5rem;border:2px solid #fff;border-radius:2rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tm-detail-share-btn{background:rgba(100,150,255,.8);color:#fff;border-color:rgba(100,150,255,.8)}.tm-detail-share-btn:hover{background:#6496ff}.tm-detail-edit-btn{background:hsla(0,0%,100%,.2);color:#fff}.tm-detail-edit-btn:hover{background:hsla(0,0%,100%,.3)}.tm-detail-delete-btn{background:rgba(200,50,50,.8);color:#fff;border-color:rgba(200,50,50,.8)}.tm-detail-delete-btn:hover{background:#c83232}.tm-detail-container{max-width:1200px;margin:0 auto;padding:0 2rem}.tm-detail-description-section{padding:2rem 0}.tm-detail-description-card{background:#f5efe7;border-radius:1rem;padding:1.75rem 2rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}.tm-detail-section-title{font-size:1.375rem;font-weight:700;color:#4a4a4a;margin-bottom:1.25rem;font-family:"Quicksand",sans-serif}.tm-detail-description-text{font-size:1rem;color:#5a5a5a;line-height:1.75;margin:0}.tm-detail-route-section{padding:2.5rem 0 3rem}.tm-detail-route-timeline{position:relative;padding-left:2rem;border-left:2px solid rgba(196,167,125,.35);margin-left:.25rem}.tm-detail-route-item{position:relative;padding-bottom:2.25rem}.tm-detail-route-item:last-child{padding-bottom:0}.tm-detail-route-dot{position:absolute;left:-2rem;top:.5rem;transform:translateX(50%);width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#c4a77d,#a88b5c);box-shadow:0 2px 6px rgba(168,139,92,.35);border:2px solid #fff8e7}.tm-detail-route-content{position:relative;background:linear-gradient(180deg,#fffefb 0,#fffaf5);border-radius:1rem;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 2px 12px rgba(0,0,0,.06);border:1px solid rgba(232,213,196,.5);overflow:hidden}.tm-detail-route-content:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,rgba(196,167,125,.5),rgba(232,213,196,.4));border-radius:4px 0 0 4px}.tm-detail-route-header{display:flex;flex-wrap:wrap;grid-gap:1rem 1.5rem;gap:1rem 1.5rem;align-items:flex-start;padding-top:.15rem}.tm-detail-route-header-left{flex:0 0 auto}.tm-detail-route-header-right{flex:1 1;min-width:0}.tm-detail-route-header+.tm-detail-route-day-moments,.tm-detail-route-header+p.tm-detail-route-activity{margin-top:.85rem}.tm-detail-route-day{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.05em;color:#a88b5c;background:rgba(196,167,125,.15);padding:.25rem .6rem;border-radius:1rem;margin-bottom:.5rem}.tm-detail-route-location{font-size:1.25rem;font-weight:700;color:#3d3d3d;margin:0 0 .2rem;font-family:"Quicksand",sans-serif;letter-spacing:.02em}.tm-detail-route-date{font-size:.8125rem;color:#7a7268;margin:0 0 .6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tm-detail-route-excerpt{font-size:.875rem;color:#5a554d;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tm-detail-route-read-more{color:#a88b5c;font-size:.8125rem;font-weight:500;white-space:nowrap}.tm-detail-route-activity{font-size:.875rem;color:#7a7a7a;margin:.25rem 0 0;line-height:1.5}.tm-detail-route-item-clickable{cursor:pointer;transition:box-shadow .25s,border-color .25s,transform .2s}.tm-detail-route-item-clickable:hover .tm-detail-route-content{box-shadow:0 6px 20px rgba(0,0,0,.08);border-color:rgba(196,167,125,.35)}.tm-detail-route-day-moments{margin-top:1rem;padding-top:.75rem;border-top:1px dashed rgba(196,167,125,.2);display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.65rem;gap:.65rem}@media (min-width:400px){.tm-detail-route-day-moments{grid-template-columns:repeat(2,1fr)}}@media (min-width:600px){.tm-detail-route-day-moments{grid-template-columns:repeat(3,1fr)}}.tm-detail-route-day-moment{position:relative;padding:.65rem .75rem .6rem 1rem;border-radius:.6rem;font-size:.8125rem;min-height:2.75rem;background:#fff;border:1px solid rgba(232,213,196,.45);box-shadow:0 1px 4px rgba(0,0,0,.04);transition:box-shadow .2s,border-color .2s}.tm-detail-route-day-moment:hover{box-shadow:0 3px 10px rgba(0,0,0,.06);border-color:rgba(196,167,125,.3)}.tm-detail-route-day-moment-bar{position:absolute;left:0;top:.5rem;bottom:.5rem;width:4px;border-radius:0 2px 2px 0;background:var(--day-moment-accent,#c4a77d);opacity:.9}.tm-detail-route-day-moment-quote{color:#3d3d3d;line-height:1.5}.tm-detail-route-day-moment-author{display:block;text-align:right;margin-top:.35rem;font-size:.75rem;color:#7a7268;font-weight:500}.tm-detail-essay-full-section{padding:2rem 0 1.5rem}.tm-detail-essay-full-card{background:#fff;border-radius:1rem;padding:1.5rem 1.75rem;box-shadow:0 2px 12px rgba(0,0,0,.06);border:1px solid rgba(232,213,196,.5)}.tm-detail-essay-full-text{font-family:inherit;font-size:.9375rem;line-height:1.75;color:#5a5a5a;margin:0;white-space:pre-wrap;word-break:break-word}.tm-detail-essay-full-toggle{display:block;margin-top:1rem;padding:.5rem 0;border:none;background:none;font-size:.875rem;color:#ffb6a3;cursor:pointer;font-weight:600}.tm-detail-essay-full-toggle:hover{color:#e09a87}.tm-detail-essay-section{padding:2rem 0 3rem}.tm-detail-essay-list{display:flex;flex-direction:column;grid-gap:1.5rem;gap:1.5rem}.tm-detail-essay-day{background:#fff;border-radius:1rem;padding:1.5rem 1.75rem;box-shadow:0 2px 12px rgba(0,0,0,.06);border:1px solid rgba(232,213,196,.5)}.tm-detail-essay-day-title{font-size:1rem;font-weight:700;color:#4a4a4a;margin:0 0 .75rem;font-family:"Quicksand",sans-serif}.tm-detail-essay-day-body{font-size:.9375rem;color:#5a5a5a;line-height:1.75}.tm-detail-essay-day-p{margin:0 0 .5rem}.tm-detail-essay-day-p:last-child{margin-bottom:0}.tm-detail-locations-section,.tm-detail-moments-section,.tm-detail-photos-section{padding:2rem 0 3rem}.tm-detail-locations-tags{display:flex;flex-wrap:wrap;grid-gap:1rem;gap:1rem}.tm-detail-location-tag{display:inline-flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border-radius:2rem;font-size:1rem;color:#4a4a4a;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s}.tm-detail-location-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.tm-detail-location-icon{font-size:1.125rem}.tm-detail-tabs-section{padding:2rem 0;background:#fff;border-top:1px solid #e8d5c4;border-bottom:1px solid #e8d5c4}.tm-detail-tabs{display:flex;grid-gap:1rem;gap:1rem;overflow-x:auto}.tm-detail-tab{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:600;color:#7a7a7a;transition:all .3s;white-space:nowrap}.tm-detail-tab:hover{color:#4a4a4a}.tm-detail-tab.active{color:#ffb6a3;border-bottom-color:#ffb6a3}.tm-detail-tab-icon{font-size:1.25rem}.tm-detail-tab-badge{padding:.25rem .5rem;background:#ffb6a3;color:#fff;border-radius:1rem;font-size:.75rem;font-weight:600}.tm-detail-content-section{padding:3rem 0}.tm-detail-journey-timeline{display:flex;flex-direction:column;grid-gap:2rem;gap:2rem}.tm-detail-timeline-day{background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 4px 12px rgba(0,0,0,.1);position:relative}.tm-detail-timeline-day-header{display:flex;align-items:center;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e8d5c4}.tm-detail-timeline-day-number{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffb6a3,#ff9d8a);color:#fff;border-radius:50%;font-size:1.25rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px rgba(255,182,163,.3)}.tm-detail-timeline-day-info{flex:1 1}.tm-detail-timeline-day-title{font-size:1.75rem;font-weight:700;color:#4a4a4a;margin-bottom:.25rem;font-family:"Quicksand",sans-serif}.tm-detail-timeline-day-date{font-size:.875rem;color:#7a7a7a;font-weight:400}.tm-detail-timeline-day-content{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem;padding-left:4rem}.tm-detail-timeline-item{display:flex;grid-gap:1rem;gap:1rem;position:relative}.tm-detail-timeline-dot{width:12px;height:12px;background:#ffb6a3;border-radius:50%;flex-shrink:0;margin-top:.5rem;position:relative}.tm-detail-timeline-item:not(:last-child) .tm-detail-timeline-dot:after{content:"";position:absolute;top:12px;left:50%;transform:translateX(-50%);width:2px;height:calc(100% + 1rem);background:#e8d5c4}.tm-detail-timeline-content{flex:1 1}.tm-detail-timeline-location{font-size:1.25rem;font-weight:700;color:#4a4a4a;margin-bottom:.5rem;font-family:"Quicksand",sans-serif}.tm-detail-timeline-activity{font-size:.875rem;color:#7a7a7a;line-height:1.6;margin-bottom:.75rem}.tm-detail-timeline-tags{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;margin-bottom:1rem}.tm-detail-timeline-tag{display:inline-flex;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.375rem .75rem;background:#f5efe0;border-radius:1rem;font-size:.75rem;color:#4a4a4a}.tm-detail-tag-icon{font-size:.75rem}.tm-detail-timeline-moments{display:flex;flex-direction:column;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.tm-detail-timeline-moment{padding:1rem 1.25rem;border-radius:.75rem;color:#fff;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.15);margin-top:.75rem}.tm-detail-moment-icon{font-size:1rem;display:inline-block;margin-right:.5rem}.tm-detail-moment-quote{font-size:.875rem;line-height:1.6;font-style:italic;display:inline}.tm-detail-moment-author{font-size:.75rem;opacity:.95;margin-top:.25rem;font-weight:500}.tm-detail-photos-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem}.tm-detail-photo-card{position:relative;border-radius:1rem;overflow:hidden;aspect-ratio:4/3;cursor:pointer;transition:all .3s}.tm-detail-photo-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.tm-detail-photo-card img{width:100%;height:100%;object-fit:cover}.tm-detail-photo-card-clickable{cursor:pointer}.tm-detail-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.25rem;background:linear-gradient(0deg,rgba(0,0,0,.7) 0,transparent);color:#fff;display:flex;flex-direction:column;grid-gap:.25rem;gap:.25rem}.tm-detail-photo-caption-title{font-size:1rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tm-detail-photo-caption-location{font-size:.8125rem;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tm-detail-moments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1rem;gap:1rem;max-width:100%}@media (min-width:520px){.tm-detail-moments-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:820px){.tm-detail-moments-grid{grid-template-columns:repeat(3,1fr)}}.tm-detail-moment-card{position:relative;padding:1rem 1.25rem 1rem 1.5rem;border-radius:.75rem;background:#fff;color:#3d3d3d;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid rgba(196,167,125,.2);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem;min-height:0}.tm-detail-moment-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.tm-detail-moment-accent{position:absolute;left:0;top:.75rem;bottom:.75rem;width:3px;border-radius:2px;background:var(--moment-accent,#c4a77d);opacity:.85}.tm-detail-moment-quote{font-size:.9375rem;line-height:1.55;color:#4a4a4a;padding-left:.25rem}.tm-detail-moment-author{font-size:.8125rem;color:#7a7a7a;text-align:right;padding-left:.25rem}.tm-detail-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#7a7a7a}.tm-detail-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.tm-detail-empty-state p{font-size:1.125rem;margin-bottom:1.5rem}.tm-detail-add-btn{padding:.75rem 1.5rem;background:#ffb6a3;color:#fff;border:none;border-radius:2rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s}.tm-detail-add-btn:hover{background:#ff9d8a;transform:translateY(-2px)}@media (max-width:768px){.tm-detail-hero-title{font-size:2rem}.tm-detail-hero-subtitle{font-size:1.125rem}.tm-detail-hero-meta{flex-direction:column;grid-gap:1rem;gap:1rem}.tm-detail-container{padding:0 1rem}.tm-detail-timeline-day-content{padding-left:2rem}.tm-detail-photos-masonry{grid-template-columns:1fr}.tm-detail-moments-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.tm-detail-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:2rem;cursor:pointer}.tm-detail-lightbox-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:none;background:hsla(0,0%,100%,.2);color:#fff;font-size:1.5rem;line-height:1;border-radius:50%;cursor:pointer;z-index:10001}.tm-detail-lightbox-close:hover{background:hsla(0,0%,100%,.35)}.tm-detail-lightbox-content{max-width:95vw;max-height:90vh;cursor:default}.tm-detail-lightbox-content img{max-width:100%;max-height:85vh;width:auto;height:auto;object-fit:contain;display:block}.tm-detail-lightbox-caption{margin-top:.75rem;color:hsla(0,0%,100%,.95);font-size:.9375rem}.tm-detail-lightbox-caption span+.tm-detail-lightbox-location:before{content:" · ";opacity:.8}.tm-detail-lightbox-location{opacity:.85}.tm-detail-day-essay-modal{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:2rem;cursor:pointer}.tm-detail-day-essay-content{background:#fff8e7;border-radius:1rem;max-width:520px;width:100%;max-height:85vh;overflow:auto;padding:1.5rem 2rem 2rem;cursor:default;box-shadow:0 8px 32px rgba(0,0,0,.15);position:relative}.tm-detail-day-essay-close{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border:none;background:rgba(0,0,0,.06);color:#5a5a5a;font-size:1.25rem;line-height:1;border-radius:50%;cursor:pointer}.tm-detail-day-essay-close:hover{background:rgba(0,0,0,.1)}.tm-detail-day-essay-title{font-size:1.125rem;font-weight:700;color:#4a4a4a;margin:0 0 1rem;padding-right:2.5rem;font-family:"Quicksand",sans-serif}.tm-detail-day-essay-body{font-size:.9375rem;color:#5a5a5a;line-height:1.7}.tm-detail-day-essay-paragraph{margin:0 0 .75rem}.tm-detail-day-essay-paragraph:last-child{margin-bottom:0}.tm-share-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:10000}.tm-share-dialog{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.2)}.tm-share-dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tm-share-dialog-header h3{margin:0;font-size:1.5rem;color:#4a4a4a}.tm-share-dialog-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.tm-share-dialog-close:hover{color:#333}.tm-share-dialog-content,.tm-share-dialog-section{margin-bottom:1.5rem}.tm-share-dialog-section label{display:block;margin-bottom:.75rem;font-weight:600;color:#4a4a4a}.tm-share-expires-options{display:flex;grid-gap:1rem;gap:1rem;flex-wrap:wrap}.tm-share-expires-option{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;cursor:pointer;padding:.5rem 1rem;border:2px solid #e8d5c4;border-radius:.5rem;transition:all .3s}.tm-share-expires-option:hover{border-color:#ffb6a3;background:#fff8e7}.tm-share-expires-option input[type=radio]{margin:0;cursor:pointer}.tm-share-expires-option input[type=radio]:checked+span{color:#ffb6a3;font-weight:600}.tm-share-link-container{display:flex;grid-gap:.5rem;gap:.5rem}.tm-share-link-input{flex:1 1;padding:.75rem;border:2px solid #e8d5c4;border-radius:.5rem;font-size:.875rem;color:#4a4a4a}.tm-share-link-input:focus{outline:none;border-color:#ffb6a3}.tm-share-copy-btn{padding:.75rem 1.5rem;background:#ffb6a3;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s}.tm-share-copy-btn:hover{background:#ff9d8a}.tm-share-dialog-footer{display:flex;grid-gap:1rem;gap:1rem;justify-content:flex-end}.tm-share-cancel-btn,.tm-share-generate-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s}.tm-share-generate-btn{background:#ffb6a3;color:#fff}.tm-share-generate-btn:hover:not(:disabled){background:#ff9d8a}.tm-share-generate-btn:disabled{opacity:.6;cursor:not-allowed}.tm-share-cancel-btn{background:#e8d5c4;color:#4a4a4a}.tm-share-cancel-btn:hover{background:#d4c0af}.tm-edit-page{min-height:100vh;background:#fff8e7;padding-bottom:3rem}.tm-edit-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;color:#7a7a7a}.tm-edit-header{padding:1rem 1.25rem;background:#fff;border-bottom:1px solid #e8d5c4;display:flex;align-items:center;grid-gap:1rem;gap:1rem}.tm-edit-back{padding:.5rem .75rem;border:none;background:rgba(0,0,0,.06);border-radius:8px;cursor:pointer;font-size:.9375rem}.tm-edit-back:hover{background:rgba(0,0,0,.1)}.tm-edit-title{margin:0;font-size:1.25rem;font-weight:700;color:#4a4a4a}.tm-edit-form{max-width:640px;margin:0 auto;padding:1.5rem 1.25rem}.tm-edit-section{background:#fff;border-radius:1rem;padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}.tm-edit-section h2{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#4a4a4a}.tm-edit-section label{display:block;margin:.75rem 0 .25rem;font-size:.875rem;color:#5a5a5a}.tm-edit-section label:first-of-type{margin-top:0}.tm-edit-section input[type=date],.tm-edit-section input[type=text],.tm-edit-section textarea{width:100%;padding:.5rem .75rem;border:1px solid #e8d5c4;border-radius:8px;font-size:.9375rem;box-sizing:border-box}.tm-edit-section textarea{resize:vertical;min-height:80px}.tm-edit-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.tm-edit-hint{font-size:.8125rem;color:#7a7a7a;margin:0 0 .75rem}.tm-edit-journey-item{margin-bottom:1rem;padding:1rem;background:#fff8e7;border-radius:8px;border:1px solid rgba(232,213,196,.6)}.tm-edit-journey-day-moments{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(232,213,196,.8)}.tm-edit-journey-day-moments-label{font-size:.8125rem;color:#7a7a7a;display:block;margin-bottom:.5rem}.tm-edit-add-sm{margin-top:.35rem;padding:.35rem .75rem;border:1px dashed #ffb6a3;background:transparent;color:#ffb6a3;border-radius:6px;cursor:pointer;font-size:.8125rem}.tm-edit-add-sm:hover{background:rgba(255,182,163,.1)}.tm-edit-journey-row{display:flex;grid-gap:.5rem;gap:.5rem;margin-bottom:.5rem}.tm-edit-journey-row input:first-child{width:140px;flex-shrink:0}.tm-edit-journey-row input:nth-child(2){flex:1 1}.tm-edit-moment-item{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem;align-items:center}.tm-edit-moment-item input:first-child{flex:1 1;min-width:120px}.tm-edit-moment-item input:nth-child(2){width:80px}.tm-edit-color{width:90px}.tm-edit-add{margin-top:.5rem;padding:.5rem 1rem;border:1px dashed #ffb6a3;background:transparent;color:#ffb6a3;border-radius:8px;cursor:pointer;font-size:.875rem}.tm-edit-add:hover{background:rgba(255,182,163,.1)}.tm-edit-remove{padding:.35rem .6rem;border:none;background:rgba(0,0,0,.06);color:#7a7a7a;border-radius:6px;cursor:pointer;font-size:.8125rem}.tm-edit-remove:hover{background:rgba(0,0,0,.1)}.tm-edit-essay{font-family:inherit}.tm-edit-actions{display:flex;grid-gap:1rem;gap:1rem;justify-content:flex-end;padding:1rem 0 0}.tm-edit-cancel{padding:.6rem 1.25rem;border:1px solid #e8d5c4;background:#fff;color:#5a5a5a;border-radius:8px;cursor:pointer;font-size:.9375rem}.tm-edit-cancel:hover{background:#fafafa}.tm-edit-submit{padding:.6rem 1.5rem;border:none;background:#ffb6a3;color:#fff;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600}.tm-edit-submit:hover:not(:disabled){background:#e09a87}.tm-edit-submit:disabled{opacity:.7;cursor:not-allowed}.health-page{min-height:100vh;background:#f9fafb;position:relative}.health-save-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:#059669;color:#fff;padding:.5rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px rgba(5,150,105,.4);z-index:1100;animation:health-toast-in .25s ease}@keyframes health-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.health-header{background:linear-gradient(90deg,#10b981,#0d9488);border-radius:1rem;padding:1.25rem 1.5rem;color:#fff!important;margin-bottom:1rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.health-header .health-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.health-header .health-header-title{font-size:1.25rem;font-weight:700;color:#fff!important}.health-header .health-header-sub{font-size:.875rem;color:#fff!important;margin-top:.25rem}.health-header .health-progress-row{display:flex;align-items:center;grid-gap:1rem;gap:1rem}.health-header .health-progress-ring{position:relative;width:64px;height:64px}.health-header .health-progress-text{font-size:1.5rem;font-weight:700;color:#fff!important}.health-header .health-stats-row{margin-top:1rem;padding-top:1rem;border-top:1px solid hsla(0,0%,100%,.2);display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.health-header .health-stat-label{font-size:.75rem;color:#fff!important}.health-header .health-stat-value{font-size:1.25rem;font-weight:700;color:#fff!important}.health-header .health-header-bell{background:hsla(0,0%,100%,.2);border-radius:50%;padding:.5rem;color:#fff!important}.health-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid #f3f4f6;overflow:hidden;margin-bottom:1rem}.health-card-header{padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.health-checkin-date-tabs{display:flex;grid-gap:2px;gap:2px}.health-checkin-date-tabs button{padding:.25rem .5rem;font-size:.75rem;border:1px solid #e5e7eb;background:#f9fafb;border-radius:4px;cursor:pointer;color:#6b7280}.health-checkin-date-tabs button:hover{border-color:#10b981;color:#10b981}.health-checkin-date-tabs button.active{background:#10b981;border-color:#10b981;color:#fff}.health-checkin-date-custom{padding:.25rem .5rem;font-size:.75rem;color:#10b981;background:#ecfdf5;border-radius:4px}.health-calendar-detail-edit-btn{width:100%;padding:.5rem 1rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer}.health-calendar-detail-edit-btn:hover{background:#0d9488}.health-copy-yesterday-btn{padding:.25rem .5rem;font-size:.7rem;border:1px solid #10b981;background:transparent;color:#10b981;border-radius:6px;cursor:pointer;white-space:nowrap}.health-copy-yesterday-btn:hover{background:#ecfdf5}.health-task-inline-row{padding:.75rem 1.25rem!important}.health-input-sm{padding:.35rem .5rem;font-size:.875rem}.health-card-title{font-weight:700;color:#1f2937;font-size:1.125rem}.health-task{padding:1rem 1.25rem;border-bottom:1px solid #f9fafb}.health-task:last-child{border-bottom:none}.health-task-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.health-task-info{display:flex;align-items:center;grid-gap:.75rem;gap:.75rem}.health-task-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.health-task-icon.emerald{background:#ecfdf5;color:#10b981}.health-task-icon.yellow{background:#fefce8;color:#eab308}.health-task-icon.red{background:#fef2f2;color:#ef4444}.health-task-icon.blue{background:#eff6ff;color:#3b82f6}.health-task-icon.orange{background:#fff7ed;color:#f97316}.health-task-icon.indigo{background:#eef2ff;color:#6366f1}.health-task-name{font-weight:500;color:#1f2937}.health-task-desc{font-size:.75rem;color:#9ca3af}.health-input-row{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem}.health-input{flex:1 1;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;font-size:1rem}.health-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.2)}.health-btn-sm{width:40px;height:40px;border-radius:.5rem;background:#f3f4f6;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer}.health-btn-sm:hover{background:#e5e7eb}.health-ketone-btns{display:flex;grid-gap:.5rem;gap:.5rem;flex-wrap:wrap}.health-ketone-btn{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;font-size:.875rem;border:none;cursor:pointer;background:#f3f4f6;color:#4b5563}.health-ketone-btn:hover{background:#e5e7eb}.health-ketone-btn.active{background:#10b981;color:#fff}.health-group{margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;background:#fff}.health-group-header{padding:.5rem .75rem;font-size:.8125rem;font-weight:600;border-bottom:1px solid rgba(0,0,0,.06)}.health-group-header-toggle{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;cursor:pointer}.health-slot-label{padding:.375rem .75rem;font-size:.75rem;color:#6b7280;background:#f3f4f6}.health-group .health-item-row{margin-bottom:0;border-radius:0;background:#f9fafb}.health-group .health-item-row:last-child{border-bottom:none}.health-item-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f9fafb;border-radius:.5rem;margin-bottom:.5rem}.health-item-with-notes{flex-direction:column;align-items:stretch;grid-gap:.5rem;gap:.5rem}.health-item-main{display:flex;justify-content:space-between;align-items:center}.health-checkin-tappable-row{cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px}.health-checkin-tappable-row:focus{outline:none}.health-checkin-tappable-row:active{background:rgba(16,185,129,.08)}.health-checkin-tappable-row .health-check-btn{flex-shrink:0;pointer-events:none}@media (min-width:768px){.health-card-checkin .health-card-header{padding:.75rem 1rem!important}.health-card-checkin .health-card-title{font-size:1rem!important}.health-checkin-body{padding:0 1rem .75rem!important}.health-activity-block{margin-bottom:8px!important}.health-activity-header{padding:8px 10px!important;grid-gap:6px!important;gap:6px!important}.health-activity-header .health-item-name{font-size:.875rem!important}.health-activity-content{padding:0 10px 10px 28px!important}.health-activity-metrics-wrap{margin-bottom:8px!important}.health-activity-metrics-wrap>div,.health-checkin-item-card{margin-bottom:6px!important}.health-checkin-item-card{padding:8px 10px!important;border-radius:6px}.health-checkin-item-card .health-item-name{font-size:.85rem!important;margin-bottom:1px!important}.health-checkin-item-card .health-item-meta{font-size:.75rem!important}.health-checkin-item-card .health-notes-input{font-size:.75rem;padding:.3rem .4rem}.health-checkin-item-card .health-check-btn{width:36px;height:36px;min-width:36px;min-height:36px}.health-checkin-item-card .health-check-btn svg{width:20px!important;height:20px!important}.health-checkin-item-card.health-item-with-notes{grid-gap:.35rem;gap:.35rem}}.health-notes-input{font-size:.8125rem;padding:.375rem .5rem;border:1px solid #e5e7eb;border-radius:.375rem;background:#fff;color:#4b5563}.health-notes-input::placeholder{color:#9ca3af}.health-notes-input:focus{outline:none;border-color:#10b981}.health-item-name{font-weight:500;font-size:.875rem;color:#1f2937}.health-item-meta{font-size:.75rem;color:#9ca3af}.health-check-btn{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0}.health-check-btn.done{background:#22c55e;color:#fff}.health-check-btn.todo{background:#e5e7eb;color:#9ca3af}.health-progress-bar{background:#f3f4f6;border-radius:9999px;height:12px;margin-bottom:.75rem;overflow:hidden}.health-progress-fill{height:100%;border-radius:9999px;background:#3b82f6;transition:width .2s}.health-water-btns{display:flex;grid-gap:.5rem;gap:.5rem}.health-water-btn{flex:1 1;padding:.5rem;background:#eff6ff;color:#2563eb;border-radius:.5rem;font-weight:500;font-size:.875rem;border:none;cursor:pointer}.health-water-btn:hover{background:#dbeafe}.health-timer-card{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:.75rem;padding:1rem;color:#fff;margin:0 1rem 1rem 0}.health-timer-row{display:flex;justify-content:space-between;align-items:center}.health-timer-display{font-size:2.25rem;font-weight:700;font-family:monospace}.health-timer-btns{display:flex;grid-gap:.5rem;gap:.5rem}.health-timer-btn{width:48px;height:48px;border-radius:50%;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:#fff}.health-timer-btn:hover{background:hsla(0,0%,100%,.3)}.health-trend-card{background:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.health-trend-range-btns{display:flex;grid-gap:4px;gap:4px}.health-trend-range-btn{padding:.25rem .5rem;font-size:.75rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;color:#6b7280}.health-trend-range-btn:hover{border-color:#10b981;color:#10b981}.health-trend-range-btn.active{background:#10b981;border-color:#10b981;color:#fff}.health-metric-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.health-metric-item{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.health-settings-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.health-settings-form label{font-size:.875rem;color:#6b7280}.health-settings-form input{width:100%;margin-top:.25rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem}.health-link-btn{width:100%;background:#fff;border-radius:.75rem;padding:1rem;display:flex;justify-content:space-between;align-items:center;border:1px solid #f3f4f6;margin-bottom:1rem;cursor:pointer}.health-link-btn:hover{background:#f9fafb}.health-diet-plan-link{display:flex;align-items:center;justify-content:space-between;grid-gap:1rem;gap:1rem;width:100%;padding:1rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb;color:inherit;cursor:pointer;font:inherit;text-align:left}.health-diet-plan-link:hover{background:#f0fdf4;border-color:#a7f3d0}.health-diet-plan-link .health-task-name{margin:0}.health-diet-plan-link .health-task-desc{margin:.25rem 0 0}.health-sidebar{position:fixed!important;left:0!important;top:0!important;height:100vh;width:240px;background:#fff;border-right:2px solid #e5e7eb;box-shadow:4px 0 12px rgba(0,0,0,.08);display:flex;flex-direction:column;z-index:1000;transition:width .2s ease}.health-sidebar-collapsed{width:56px}.health-sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999}.health-sidebar-overlay{width:240px!important;box-shadow:8px 0 24px rgba(0,0,0,.15)}.health-menu-btn{display:flex;align-items:center;justify-content:center;padding:8px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#6b7280}.health-menu-btn:hover{background:#e5e7eb;color:#374151}@media (max-width:767px){.health-main-wrap{margin-left:0!important}.health-sidebar-collapsed{transform:translateX(-100%);width:56px}.health-sidebar-overlay{transform:none}}.health-sidebar-header{padding:1rem;border-bottom:1px solid #e5e7eb;font-size:1.125rem;font-weight:700;color:#10b981;display:flex;align-items:center;justify-content:space-between;min-height:48px}.health-sidebar-collapsed .health-sidebar-header{justify-content:center;padding:.75rem}.health-sidebar-toggle{display:flex;align-items:center;justify-content:center;padding:6px;border:none;background:#f3f4f6;cursor:pointer;color:#6b7280;border-radius:6px;flex-shrink:0}.health-sidebar-toggle:hover{background:#e5e7eb;color:#374151}.health-sidebar-nav{flex:1 1;padding:.5rem}.health-sidebar-item{display:flex;align-items:center;grid-gap:.75rem;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;border-radius:.5rem;color:#6b7280;font-size:.95rem;text-align:left;margin-bottom:.25rem;justify-content:flex-start}.health-sidebar-collapsed .health-sidebar-item{justify-content:center;padding:.75rem}.health-sidebar-item:hover{background:#f9fafb;color:#374151}.health-sidebar-item.active{background:#ecfdf5;color:#10b981}.health-main-wrap{min-height:100vh;background:#f9fafb;transition:margin-left .2s ease}.health-top-bar{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.health-top-title{font-size:1.25rem;font-weight:700;color:#1f2937}.health-user-info{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.9rem;color:#6b7280}.health-user-avatar{width:36px;height:36px;border-radius:50%;background:#d1fae5;color:#10b981;display:flex;align-items:center;justify-content:center;font-weight:600}.health-remind-row{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9fafb;border-radius:.5rem;margin-bottom:.5rem}.health-remind-title{font-weight:500;color:#1f2937}.health-remind-desc{font-size:.8rem;color:#9ca3af;margin-top:2px}.health-toggle{width:52px;height:28px;background:#10b981;border-radius:14px;position:relative;cursor:pointer}.health-toggle:after{content:"";position:absolute;right:4px;top:4px;width:20px;height:20px;background:#fff;border-radius:50%}.health-toggle.off{background:#d1d5db}.health-toggle.off:after{right:auto;left:4px}.health-stats-overview{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;padding:1rem 1.25rem}@media (min-width:640px){.health-stats-overview{grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}}.health-stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f9fafb;border-radius:.5rem}.health-stat-item-value{font-size:1.5rem;font-weight:700;color:#10b981}.health-stat-item-label{font-size:.75rem;color:#6b7280;margin-top:.25rem}.health-calendar-nav{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem}.health-calendar-nav-btn{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:#f3f4f6;border-radius:6px;cursor:pointer;color:#6b7280}.health-calendar-nav-btn:hover{background:#e5e7eb;color:#374151}.health-calendar-month{font-size:.9375rem;font-weight:600;color:#374151;min-width:5rem;text-align:center}.health-calendar-wrap{padding:0 1rem 1rem}.health-calendar-week-wrap{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem;gap:.5rem;padding:0 1rem 1rem;min-height:320px}@media (max-width:900px){.health-calendar-week-wrap{grid-template-columns:repeat(4,1fr);overflow-x:auto;padding:0 1rem 1rem}}@media (max-width:600px){.health-calendar-week-wrap{grid-template-columns:repeat(2,1fr)}}.health-calendar-week-day{min-width:0;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.health-calendar-week-day.today{border-color:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.3)}.health-calendar-week-day.level-full{background:#ecfdf5;border-color:#a7f3d0}.health-calendar-week-day.level-partial{background:#fffbeb;border-color:#fde68a}.health-calendar-week-day.level-low{background:#f3f4f6;border-color:#e5e7eb}.health-calendar-week-day.clickable{cursor:pointer}.health-calendar-week-day.clickable:hover{filter:brightness(.98)}.health-calendar-week-header{padding:.5rem .6rem;background:rgba(0,0,0,.03);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.health-calendar-week-date{font-size:.8rem;font-weight:600;color:#374151;display:flex;align-items:center;grid-gap:4px;gap:4px}.health-calendar-week-today{font-size:.65rem;background:#10b981;color:#fff;padding:1px 4px;border-radius:4px}.health-calendar-week-pct{font-size:.75rem;font-weight:600;color:#10b981;background:rgba(16,185,129,.15);padding:2px 6px;border-radius:4px}.health-calendar-week-body{flex:1 1;padding:.5rem .6rem;overflow-y:auto;min-height:120px}.health-calendar-week-item{display:flex;align-items:center;grid-gap:6px;gap:6px;font-size:.7rem;color:#4b5563;margin-bottom:4px}.health-calendar-week-item svg{flex-shrink:0;color:#6b7280}.health-calendar-week-group{margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,0,0,.06)}.health-calendar-week-group-title{font-size:.7rem;font-weight:600;color:#6b7280;margin-bottom:4px;display:flex;align-items:center;grid-gap:4px;gap:4px}.health-calendar-week-group-title svg{color:#9ca3af}.health-calendar-week-task{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;padding:2px 0;color:#6b7280}.health-calendar-week-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90%}.health-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:4px}.health-calendar-weekday{text-align:center;font-size:.75rem;color:#9ca3af}.health-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.health-calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.8125rem;border-radius:8px;color:#374151;min-height:44px}.health-calendar-day-num{font-weight:600}.health-calendar-day-pct{font-size:.65rem;opacity:.95;margin-top:1px}.health-calendar-day.clickable{cursor:pointer}.health-calendar-day.clickable:hover{filter:brightness(.95)}.health-calendar-today-btn{padding:.35rem .75rem;font-size:.8125rem;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-left:.5rem}.health-calendar-today-btn:hover{background:#0d9488}.health-calendar-day.other-month{color:#d1d5db}.health-calendar-day.other-month.level-full,.health-calendar-day.other-month.level-low,.health-calendar-day.other-month.level-partial{color:#fff}.health-calendar-day.today{box-shadow:0 0 0 2px #10b981;font-weight:600}.health-calendar-day.level-full{background:#22c55e;color:#fff}.health-calendar-day.level-partial{background:#fbbf24;color:#fff}.health-calendar-day.level-low{background:#e5e7eb;color:#6b7280}.health-calendar-legend{display:flex;grid-gap:1rem;gap:1rem;padding:.5rem 1rem;font-size:.75rem;color:#6b7280;border-top:1px solid #f3f4f6}.health-calendar-detail-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:1050}.health-calendar-detail{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.15);min-width:280px;max-width:90vw;z-index:1051;overflow:hidden}.health-calendar-detail-header{padding:1rem 1.25rem;background:linear-gradient(135deg,#10b981,#0d9488);color:#fff;display:flex;align-items:center;justify-content:space-between}.health-calendar-detail-pct{font-size:1.25rem;font-weight:700}.health-calendar-detail-close{width:28px;height:28px;border:none;background:hsla(0,0%,100%,.3);color:#fff;font-size:1.25rem;cursor:pointer;border-radius:50%;line-height:1;padding:0}.health-calendar-detail-close:hover{background:hsla(0,0%,100%,.5)}.health-calendar-detail-body{padding:1rem 1.25rem}.health-calendar-detail-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem}.health-calendar-detail-row span:first-child{color:#6b7280}.health-calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:middle}.health-more-btn{display:flex;align-items:center;grid-gap:2px;gap:2px;padding:.25rem .5rem;font-size:.875rem;color:#10b981;background:none;border:none;cursor:pointer}.health-more-btn:hover{color:#0d9488;text-decoration:underline}.health-record-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.health-record-item:last-child{border-bottom:none}.diet-plan-page{min-height:100vh;background:#f9fafb;padding-bottom:2rem}.diet-plan-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;display:flex;align-items:center;grid-gap:.75rem;gap:.75rem}.diet-plan-back{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#374151}.diet-plan-back:hover{background:#e5e7eb}.diet-plan-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.diet-plan-main{padding:1rem;max-width:640px;margin:0 auto}.diet-plan-section{background:#fff;border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid #f3f4f6}.diet-plan-section-title{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:1rem;font-weight:600;color:#10b981;margin:0 0 .75rem}.diet-plan-section-title svg{color:#10b981}.diet-plan-list{margin:0;padding-left:1.25rem;color:#4b5563;font-size:.9rem;line-height:1.7}.diet-plan-list li{margin-bottom:.35rem}.diet-plan-meal{margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px;border-left:4px solid #10b981}.diet-plan-meal:last-child{margin-bottom:0}.diet-plan-meal h3{font-size:.9375rem;font-weight:600;color:#374151;margin:0 0 .5rem}.diet-plan-meal ul{margin:0;padding-left:1.25rem;font-size:.875rem;color:#4b5563;line-height:1.6}.diet-plan-meal ul li{margin-bottom:.25rem}.diet-plan-meal-extra{border-left-color:#6b7280}.diet-plan-notice .diet-plan-list li{color:#6b7280}.diet-plan-source{font-size:.8rem;color:#6b7280;margin-top:.25rem}.diet-plan-subsection{font-size:.875rem;color:#4b5563;margin-bottom:.5rem}.diet-plan-meal .diet-plan-optional{color:#6b7280;font-style:italic}
/*# sourceMappingURL=main.dad723ab.chunk.css.map */