/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.min-h-screen{min-height:100vh}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (min-width:48rem){.md\:\!hidden{display:none!important}.md\:flex{display:flex}}}:root{--color-bg-page:#1a1a18;--color-bg-nav:#232320;--color-bg-card:#2c2c2a;--color-bg-input:#161614;--color-text-primary:#f0eeea;--color-text-secondary:#a0a39a;--color-text-tertiary:#6b6a64;--color-border:#3a3a38;--color-border-hover:#534ab7;--color-primary:#534ab7;--color-primary-hover:#3c3489;--color-primary-deep:#26215c;--color-primary-light:#afa9ec;--color-primary-selected-bg:#3c348966;--color-success:#1d9e75;--color-success-text:#5dcaa5;--color-success-bg:#1d9e7526;--color-warning:#d85a30;--color-warning-text:#f0997b;--color-warning-bg:#d85a3026;--color-danger:#e24b4a;--color-danger-text:#f09595;--color-danger-bg:#e24b4a26;--color-info:#378add;--color-info-text:#85b7eb;--color-info-bg:#378add26;--color-amber:#ba7517;--color-amber-text:#fac775;--color-amber-bg:#ba751726;--color-text-1:var(--color-text-primary);--color-text-2:var(--color-text-secondary);--color-text-3:var(--color-text-tertiary);--color-text-white:var(--color-text-primary);--color-success-light:var(--color-success-text);--color-danger-light:var(--color-danger-text);--color-warning-light:var(--color-warning-text);--font-size-h1:20px;--font-size-h2:16px;--font-size-h3:14px;--font-size-body:13px;--font-size-caption:12px;--font-size-mini:11px;--font-size-stat:22px;--font-size-hero:28px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:.15s ease;--transition-normal:.2s ease}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-bg-page);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}input,select,textarea{font-family:inherit;font-size:13px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.text-h1{color:var(--color-text-primary);font-size:20px;font-weight:500;line-height:1.3}.text-h2{font-size:16px}.text-h2,.text-h3{color:var(--color-text-primary);font-weight:500;line-height:1.4}.text-h3{font-size:14px}.text-body{color:var(--color-text-secondary);font-size:13px;font-weight:400;line-height:1.6}.text-caption{font-size:12px;font-weight:400;line-height:1.5}.text-caption,.text-mini{color:var(--color-text-tertiary)}.text-mini{font-size:11px;font-weight:500;line-height:1.4}.text-hero{font-size:28px}.text-hero,.text-stat{font-weight:500;line-height:1.2}.text-stat{font-size:22px}.dark-card{background:var(--color-bg-card);border:.5px solid var(--color-border);border-radius:var(--radius-lg)}.dark-card,.dark-input{transition:border-color var(--transition-fast)}.dark-input{border:.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input);width:100%;color:var(--color-text-primary);outline:none;padding:10px 14px;font-size:13px}.dark-input:focus{border-color:var(--color-primary)}.dark-input::placeholder{color:var(--color-text-tertiary)}.dark-select{border:.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input);width:100%;color:var(--color-text-primary);transition:border-color var(--transition-fast);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6A64' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;padding:10px 36px 10px 14px;font-size:13px}.dark-select:focus{border-color:var(--color-primary)}.dark-select option{background:var(--color-bg-card);color:var(--color-text-primary)}.dark-textarea{border:.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input);width:100%;color:var(--color-text-primary);transition:border-color var(--transition-fast);resize:none;outline:none;padding:10px 14px;font-size:13px;line-height:1.6}.dark-textarea:focus{border-color:var(--color-primary)}.dark-textarea::placeholder{color:var(--color-text-tertiary)}.btn-primary{border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-secondary);border:.5px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.btn-secondary:hover{border-color:var(--color-border-hover);color:var(--color-primary-light)}.btn-danger{border-radius:var(--radius-sm);color:var(--color-danger-text);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:.5px solid #0000;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.btn-danger:hover{background:var(--color-danger-bg)}.dark-badge{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-primary{background:var(--color-primary-selected-bg);color:var(--color-primary-light)}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text)}.badge-amber{background:var(--color-amber-bg);color:var(--color-amber-text)}.badge-muted{color:var(--color-text-tertiary);background:#6b6a6426}.section-label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.empty-state{color:var(--color-text-tertiary);padding:48px 24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;filter:invert()}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.dark-badge-purple{background:var(--color-primary-selected-bg);color:var(--color-primary-light)}.dark-badge-neutral{color:var(--color-text-tertiary);background:#6b6a6426}.dark-badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.dark-badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.dark-card-hover{transition:border-color var(--transition-fast),transform var(--transition-fast)}.dark-card-hover:hover{border-color:var(--color-border-hover);transform:translateY(-1px)}.home-container{max-width:720px;margin:0 auto;padding:24px 20px}@media (min-width:681px){.home-container{padding:32px}}.home-stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (min-width:681px){.home-stat-grid{grid-template-columns:repeat(4,1fr);gap:16px}}.home-quick-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:681px){.home-quick-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.home-quick-card{align-items:center;gap:16px;padding:16px 20px;text-decoration:none;display:flex}.home-quick-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.home-list-container{flex-direction:column;gap:8px;display:flex}.home-list-item{background:var(--color-bg-card);border:.5px solid var(--color-border);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.home-color-bar{border-radius:2px;flex-shrink:0;width:3px;height:32px}.home-stat-card-inner{background:var(--color-bg-card);border:.5px solid var(--color-border);border-radius:12px;padding:14px 16px}.home-stat-icon{border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.app-layout{background:var(--color-bg-page);min-height:100vh;display:flex}.app-main{flex:1;min-width:0;padding-bottom:52px}@media (min-width:681px){.app-main{padding-bottom:0}}.nav-desktop,.nav-desktop.sidebar{display:none}@media (min-width:681px){.nav-desktop,.nav-desktop.sidebar{display:flex}}.nav-mobile,.nav-mobile-bottom,.nav-mobile-bottom.mobile-tabbar,.nav-mobile.mobile-header{display:flex}@media (min-width:681px){.nav-mobile,.nav-mobile-bottom,.nav-mobile-bottom.mobile-tabbar,.nav-mobile.mobile-header{display:none}}.sidebar{background:var(--color-bg-nav);border-right:.5px solid var(--color-border);flex-direction:column;flex-shrink:0;width:200px;height:100vh;min-height:100vh;position:sticky;top:0}.sidebar-logo{align-items:center;gap:10px;padding:20px 16px;display:flex}.sidebar-title{color:var(--color-text-primary);font-size:14px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex;overflow-y:auto}.nav-group{margin-bottom:12px}.nav-group.no-label{margin-bottom:0}.nav-group-label{color:var(--color-text-tertiary);margin-bottom:4px;padding:4px 12px;font-size:11px;font-weight:500}.nav-link{color:var(--color-text-secondary);background:0 0;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:13px;font-weight:400;transition:all .15s;display:flex}.nav-link:hover{color:var(--color-text-primary);background:#ffffff0a}.nav-link-active{font-weight:500}.nav-link-active,.nav-link-active:hover{color:var(--color-primary-light);background:var(--color-primary-selected-bg)}.sidebar-footer{border-top:.5px solid var(--color-border);padding:12px}.sidebar-user{background:var(--color-bg-input);border-radius:8px;gap:10px;padding:8px 12px}.sidebar-avatar,.sidebar-user{align-items:center;display:flex}.sidebar-avatar{background:var(--color-primary-hover);width:28px;height:28px;color:var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;font-size:12px;font-weight:500}.sidebar-username{color:var(--color-text-primary);flex:1;min-width:0;font-size:13px;font-weight:500}.sidebar-logout{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:4px;transition:color .15s;display:flex}.sidebar-logout:hover:not(:disabled){color:var(--color-text-primary)}.sidebar-logout:disabled{opacity:.5;cursor:not-allowed}.mobile-header{background:var(--color-bg-nav);border-bottom:.5px solid var(--color-border);z-index:50;justify-content:space-between;align-items:center;height:44px;padding:0 16px;position:sticky;top:0}.mobile-header-left{align-items:center;gap:8px;display:flex}.mobile-tabbar{z-index:50;background:var(--color-bg-nav);border-top:.5px solid var(--color-border);justify-content:space-around;height:52px;position:fixed;bottom:0;left:0;right:0}.mobile-tab{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.mobile-tab-label{color:var(--color-text-tertiary);font-size:11px;font-weight:400}.mobile-tab-active .mobile-tab-label{color:var(--color-primary-light);font-weight:500}.page-container{max-width:760px;margin:0 auto;padding:16px}@media (min-width:681px){.page-container{padding:32px}}.page-header{gap:12px}.page-header,.page-header-spread{align-items:center;margin-bottom:20px;display:flex}.page-header-spread{justify-content:space-between}.header-left{gap:12px}.header-icon,.header-left{align-items:center;display:flex}.header-icon{background:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;width:36px;height:36px}.header-title{font-size:var(--font-size-h1);color:var(--color-text-1);font-weight:600;line-height:1.3}.header-sub{font-size:var(--font-size-caption);color:var(--color-text-3);margin-top:2px}.filter-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;padding:16px}.filter-grid-3{grid-template-columns:1fr;gap:10px;margin-bottom:10px;display:grid}@media (min-width:681px){.filter-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px}}.filter-grid-4{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (min-width:681px){.filter-grid-4{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px}}.filter-label{font-size:var(--font-size-mini);color:var(--color-text-3);margin-bottom:6px;font-weight:500;display:block}.search-wrapper{position:relative}.search-icon{width:16px;height:16px;color:var(--color-text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{padding-left:34px!important}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}@media (min-width:681px){.stat-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px}.stat-label{font-size:var(--font-size-mini);color:var(--color-text-3);font-weight:500}.stat-value{font-size:var(--font-size-stat);color:var(--color-text-1);margin-top:6px;font-weight:700;line-height:1.2}.stat-suffix{font-size:var(--font-size-body);font-weight:400}.stat-sub,.stat-suffix{color:var(--color-text-3)}.stat-sub{font-size:var(--font-size-mini);margin-top:2px}.stat-value-positive{color:var(--color-success-light)}.stat-value-negative{color:var(--color-danger-light)}.stat-value-default{color:var(--color-text-1)}.section-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;padding:20px}.section-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.section-bar{background:var(--color-primary-light);border-radius:2px;flex-shrink:0;width:3px;height:16px}.section-title{font-size:var(--font-size-h2);color:var(--color-text-1);font-weight:600}.list-container{flex-direction:column;gap:12px;display:flex}.day-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px}.day-header{justify-content:space-between;margin-bottom:12px}.day-header,.day-info{align-items:center;display:flex}.day-info{gap:10px}.day-badge{background:var(--color-bg-input);border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.day-num{color:var(--color-primary-light);font-size:14px;font-weight:600;line-height:1}.day-label{color:var(--color-text-3);margin-top:2px;font-size:9px}.day-weekday{font-size:var(--font-size-caption);color:var(--color-text-2);font-weight:500}.day-month{font-size:var(--font-size-mini);color:var(--color-text-3);margin-top:1px}.entry-list{flex-direction:column;gap:10px;display:flex}.entry-item{align-items:flex-start;gap:10px;padding:6px 0;display:flex}.entry-dot{border-radius:4px;flex-shrink:0;width:10px;height:10px;margin-top:5px}.entry-content{flex:1;min-width:0}.entry-name{color:var(--color-text-1);font-weight:500}.entry-name,.entry-text{font-size:var(--font-size-body)}.entry-text{color:var(--color-text-2);white-space:pre-wrap;word-break:break-word;margin-top:4px;line-height:1.5}.delete-btn{font-size:var(--font-size-mini);color:var(--color-text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;transition:all .15s}.delete-btn:hover{color:var(--color-danger-light);background:#e24b4a1a}.empty-state{text-align:center;padding:60px 20px}.empty-icon{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;display:flex}.empty-text,.loading-wrapper{font-size:var(--font-size-body);color:var(--color-text-3)}.loading-wrapper{align-items:center;gap:8px;display:inline-flex}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.amount-positive{color:var(--color-danger-light);font-weight:600}.amount-negative{color:var(--color-success-light);font-weight:600}.history-link{font-size:var(--font-size-caption);color:var(--color-primary-light);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px 12px;font-weight:500;transition:background .15s;display:flex}.history-link:hover{background:var(--color-primary-selected-bg)}.form-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:20px;padding:20px;display:flex}.field-label{font-size:var(--font-size-caption);color:var(--color-text-2);margin-bottom:8px;font-weight:500;display:block}.result-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-btn{font-size:var(--font-size-h3);border:1px solid var(--color-border);cursor:pointer;background:var(--color-bg-input);color:var(--color-text-3);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:600;transition:all .2s;display:flex}.result-btn.active-win{border-color:var(--color-success);color:var(--color-success-light);background:#1d9e7526}.result-btn.active-lose{border-color:var(--color-danger);color:var(--color-danger-light);background:#d85a3026}.amount-wrapper{position:relative}.amount-prefix{color:var(--color-text-3);font-weight:600;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.amount-input,.amount-prefix{font-size:var(--font-size-h2)}.amount-input{color:var(--color-text-1);font-weight:700;padding-left:28px!important}.player-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:681px){.player-grid{grid-template-columns:1fr 1fr;gap:12px}}.player-chip{font-size:var(--font-size-body);border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-2);cursor:pointer;border-radius:8px;padding:8px 16px;font-weight:500;transition:all .2s}.player-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-white)}.player-empty{font-size:var(--font-size-body);color:var(--color-text-3);background:var(--color-bg-input);border-radius:8px;align-items:center;gap:8px;padding:12px 16px;display:flex}.player-empty a{color:var(--color-primary-light);font-weight:500}.msg{font-size:var(--font-size-body);border-radius:8px;padding:10px 16px;font-weight:500}.msg-success{color:var(--color-success-light);background:#1d9e751a}.msg-danger,.msg-error{color:var(--color-danger-light);background:#e24b4a1a}.msg-danger{font-size:var(--font-size-body);border-radius:8px;margin-bottom:16px;padding:10px 16px;font-weight:500}.submit-btn{background:var(--color-primary);width:100%;color:var(--color-text-white);font-size:var(--font-size-h3);cursor:pointer;border:none;border-radius:10px;padding:14px;font-weight:600;transition:all .2s}.submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.game-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;gap:12px;padding:14px}.date-badge,.game-card{align-items:center;display:flex}.date-badge{border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;width:44px;height:44px}.date-badge-win{background:#1d9e751f}.date-badge-lose{background:#d85a301f}.date-num{font-size:var(--font-size-h3);font-weight:600;line-height:1}.date-num-win{color:var(--color-success-light)}.date-num-lose{color:var(--color-danger-light)}.date-month{color:var(--color-text-3);margin-top:2px;font-size:9px}.game-info{flex:1;min-width:0}.game-amount{font-size:var(--font-size-h2);font-weight:700}.amount-win{color:var(--color-success-light)}.amount-lose{color:var(--color-danger-light)}.game-players{align-items:center;gap:4px;margin-top:4px;display:flex}.game-note,.game-players-text{font-size:var(--font-size-mini);color:var(--color-text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-note{margin-top:4px}.hero-card{border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;padding:24px}.hero-win{background:#1d9e751a;border-color:#1d9e754d}.hero-lose{background:#d85a301a;border-color:#d85a304d}.hero-neutral{background:var(--color-bg-card)}.hero-label{font-size:var(--font-size-caption);color:var(--color-text-3);font-weight:500}.hero-value{font-size:var(--font-size-hero);letter-spacing:-.02em;margin-top:8px;font-weight:700}.hero-value-win{color:var(--color-success-light)}.hero-value-lose{color:var(--color-danger-light)}.hero-value-neutral{color:var(--color-text-1)}.hero-stats{gap:20px;margin-top:16px;display:flex}.hero-stat-label{font-size:var(--font-size-mini);color:var(--color-text-3)}.hero-stat-value{font-size:var(--font-size-body);color:var(--color-text-1);margin-left:6px;font-weight:600}.player-row{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.player-row:last-child{border-bottom:none}.player-avatar{background:var(--color-bg-input);width:36px;height:36px;font-size:var(--font-size-body);color:var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.player-info{flex:1;min-width:0}.player-name{font-size:var(--font-size-body);color:var(--color-text-1);font-weight:500}.player-phone{font-size:var(--font-size-mini);color:var(--color-text-3);align-items:center;gap:4px;margin-top:2px;display:flex}.player-amount{font-size:var(--font-size-body);font-weight:700}.calendar-grid{flex-wrap:wrap;gap:6px;display:flex}.cal-cell{cursor:default;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:600;transition:transform .15s;display:flex}.cal-cell:hover{transform:scale(1.1)}.cal-empty{background:var(--color-bg-input)}.cal-empty-text{opacity:.4}.cal-empty-text,.legend{color:var(--color-text-3)}.legend{font-size:var(--font-size-mini);align-items:center;gap:6px;margin-top:16px;display:flex}.legend-box{border-radius:4px;width:16px;height:16px}.period-toggle{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;gap:4px;padding:4px;display:flex}.period-btn{font-size:var(--font-size-caption);cursor:pointer;color:var(--color-text-3);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-weight:500;transition:all .15s}.period-btn.active{background:var(--color-primary);color:var(--color-text-white)}.player-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px}.player-row-flex{align-items:center;gap:12px;display:flex}.player-avatar-lg{background:var(--color-bg-input);width:40px;height:40px;font-size:var(--font-size-h3);color:var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.edit-actions{gap:8px;display:flex}.btn-save{background:var(--color-primary);color:var(--color-text-white);font-size:var(--font-size-caption);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 16px;font-weight:500;transition:background .15s}.btn-save:hover{background:var(--color-primary-hover)}.btn-cancel{background:var(--color-bg-input);color:var(--color-text-2);font-size:var(--font-size-caption);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 16px;font-weight:500;transition:background .15s}.btn-cancel:hover{background:var(--color-bg-nav)}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:background .15s}.icon-btn-edit{color:var(--color-primary-light)}.icon-btn-edit:hover{background:var(--color-primary-selected-bg)}.icon-btn-delete{color:var(--color-text-3)}.icon-btn-delete:hover{color:var(--color-danger-light);background:#e24b4a1a}.add-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:16px;margin-bottom:16px;padding:20px;display:flex}.add-row,.add-row-responsive{gap:10px;display:flex}.add-row-responsive{flex-direction:column}@media (min-width:681px){.add-row-responsive{flex-direction:row;align-items:center}}.color-label{font-size:var(--font-size-mini);color:var(--color-text-3);font-weight:500}.color-grid{flex-wrap:wrap;gap:8px;display:flex}.color-btn{cursor:pointer;border:none;border-radius:6px;width:28px;height:28px;transition:all .15s}.color-btn.selected{outline:2px solid var(--color-text-1);outline-offset:2px;transform:scale(1.1)}.color-btn:hover{transform:scale(1.05)}.project-list{flex-direction:column;gap:10px;display:flex}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px}.project-row{align-items:center;gap:12px;display:flex}.project-dot{border-radius:4px;flex-shrink:0;width:16px;height:16px}.project-info{flex:1;min-width:0}.project-name{font-size:var(--font-size-body);color:var(--color-text-1);font-weight:500}.project-name-inactive{color:var(--color-text-3);text-decoration:line-through}.edit-row{align-items:center;gap:10px;display:flex}.toggle-btn{font-size:var(--font-size-mini);color:var(--color-text-3);background:var(--color-bg-input);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:6px 12px;font-weight:500;transition:all .15s}.toggle-btn:hover{color:var(--color-text-1);border-color:var(--color-text-3)}.stepper-btn{border:.5px solid var(--color-border);background:var(--color-bg-card);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:border-color .15s;display:flex}.stepper-btn:hover{border-color:var(--color-primary)}.hours-input{text-align:center;border:.5px solid var(--color-primary);background:var(--color-bg-input);width:56px;height:32px;color:var(--color-primary-light);border-radius:6px;outline:none;font-size:14px;font-weight:500}.quick-hour-btn{border:.5px solid var(--color-border);background:var(--color-bg-card);height:28px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;padding:0 10px;font-size:11px;font-weight:500;transition:all .15s}.quick-hour-btn[data-active=true]{background:var(--color-primary-selected-bg);color:var(--color-primary-light);border-color:#0000}.quick-hour-btn:hover{border-color:var(--color-primary)}.daily-list-item{background:var(--color-bg-card);border:.5px solid var(--color-border);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.project-select{padding-left:34px!important}.project-color-dot{pointer-events:none;border-radius:3px;width:10px;height:10px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.color-bar{border-radius:2px;flex-shrink:0;width:3px;height:32px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}