.auth-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-5);background-color:var(--color-canvas);background-image:var(--gradient-canvas)}.auth-shell{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;width:100%;max-width:940px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-pop);animation:riseIn var(--transition-med) var(--ease-out) backwards}.auth-aside{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-7);overflow:hidden;border-right:1px solid var(--color-border);background:var(--gradient-sage-soft);color:var(--color-text)}.auth-aside:after{content:"";position:absolute;right:-70px;bottom:-90px;width:210px;height:210px;border-radius:var(--radius-full);background:var(--gradient-apricot-soft);opacity:.7;pointer-events:none}.auth-aside>*{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.auth-brand .brand-logo{background:var(--gradient-sage)}.auth-brand-name{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);color:var(--color-text)}.auth-aside-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text)}.auth-aside-text{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.auth-points{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.auth-points li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-point-dot{width:7px;height:7px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:var(--space-7);background:var(--color-surface)}.auth-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.auth-sub{margin:var(--space-1) 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-panel form,.auth-panel .checkbox-field{margin-bottom:var(--space-4)}.auth-footnote{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}@media (max-width: 860px){.auth-shell{grid-template-columns:minmax(0,1fr);max-width:440px}.auth-aside{padding:var(--space-5);border-right:none;border-bottom:1px solid var(--color-border)}.auth-aside-title{font-size:var(--text-xl)}.auth-points{display:none}.auth-panel{padding:var(--space-5)}}@media (max-width: 480px){.auth-page{padding:var(--space-3)}.auth-aside{padding:var(--space-4) var(--space-5)}.auth-panel{padding:var(--space-4) var(--space-5) var(--space-5)}}:root{--color-canvas: #F6F4EE;--color-surface: #FFFFFF;--color-surface-subtle: #FBFAF5;--color-surface-muted: #F0EDE4;--color-surface-inverse: #2B3831;--color-text: #23302A;--color-text-secondary: #4C5D53;--color-text-muted: #5F6E64;--color-text-inverse: #FBFAF5;--color-text-inverse-muted: #C9D2C9;--color-border: #E8E4D8;--color-border-strong: #D7D2C4;--color-primary: #55755F;--color-primary-hover: #46634F;--color-primary-soft: #E9F1EA;--color-on-primary: #FFFFFF;--color-accent-apricot: #D9A87B;--color-accent-apricot-soft: #FBF0E3;--color-accent-apricot-deep: #7E582F;--color-accent-blue: #8FAFBE;--color-accent-blue-soft: #EAF1F4;--color-accent-blue-deep: #3F6478;--color-accent-lilac: #A79CBB;--color-accent-lilac-soft: #F1EEF6;--color-accent-lilac-deep: #6E6384;--color-success: #3F6B4E;--color-success-soft: #E7F2E9;--color-warning: #865A1C;--color-warning-soft: #FAF0DD;--color-danger: #974B44;--color-danger-soft: #F8E9E6;--color-info: #456B80;--color-info-soft: #E8F0F4;--color-neutral: #56655C;--color-neutral-soft: #F0EDE4;--color-sidebar-bg: #FBFAF5;--color-sidebar-border: #E8E4D8;--color-sidebar-text: #4C5D53;--color-sidebar-text-muted: #66756B;--color-sidebar-text-active: #3D5847;--color-sidebar-active-bg: #E9F0E8;--color-sidebar-active-bar: #7FA089;--color-overlay: rgba(35, 48, 42, .3);--color-focus-ring: rgba(85, 117, 95, .24);--color-row-hover: #F7F5EE;--color-row-selected: #EDF3ED;--color-skeleton-sheen: rgba(255, 255, 255, .75);--gradient-sage: linear-gradient(135deg, #587A63 0%, #4A6854 100%);--gradient-sage-soft: linear-gradient(135deg, #EFF5EE 0%, #E6EFE5 100%);--gradient-apricot-soft: linear-gradient(135deg, #FBF1E5 0%, #F6E6D4 100%);--gradient-bar: linear-gradient(180deg, #93B29C 0%, #5E8069 100%);--gradient-canvas: radial-gradient( 1100px 560px at 12% -12%, rgba(196, 218, 201, .34), transparent 62% ), radial-gradient(900px 480px at 100% 0%, rgba(240, 219, 196, .26), transparent 58%);--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 38px;--text-5xl: 46px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.28;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-wide: .045em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 999px;--shadow-card: 0 1px 2px rgba(52, 62, 54, .04), 0 6px 16px rgba(52, 62, 54, .045);--shadow-raised: 0 6px 18px rgba(52, 62, 54, .09);--shadow-pop: 0 20px 50px rgba(35, 48, 42, .16);--sidebar-width: 236px;--content-max: 1440px;--control-height: 38px;--control-height-sm: 32px;--transition-fast: .16s;--transition-med: .22s;--transition-slow: .24s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-canvas);background-image:var(--gradient-canvas);background-repeat:no-repeat;background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}svg{display:block}::selection{background:var(--color-primary-soft);color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-xs)}.layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;flex-shrink:0;background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);color:var(--color-text)}.brand-logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);background:var(--gradient-sage);color:var(--color-on-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-card)}.brand-text{display:flex;flex-direction:column;line-height:var(--leading-tight)}.brand-name{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);color:var(--color-text)}.brand-sub{margin-top:var(--space-1);font-size:var(--text-2xs);color:var(--color-sidebar-text-muted)}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-3);overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-sidebar-text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background var(--transition-fast) var(--ease-soft),color var(--transition-fast) var(--ease-soft),box-shadow var(--transition-fast) var(--ease-soft)}.sidebar-link:hover{background:var(--color-surface-muted);color:var(--color-text)}.sidebar-link.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-active);font-weight:var(--weight-semibold);box-shadow:inset 3px 0 0 var(--color-sidebar-active-bar)}.sidebar-link svg{width:18px;height:18px;flex-shrink:0;opacity:.82}.sidebar-link.active svg{opacity:1}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-sidebar-border)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.sidebar-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-hover);font-size:var(--text-xs);font-weight:var(--weight-bold)}.sidebar-text{display:flex;flex-direction:column;min-width:0;line-height:var(--leading-tight)}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:var(--text-2xs);color:var(--color-sidebar-text-muted)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--color-overlay);animation:fadeIn var(--transition-fast) var(--ease-out)}.main{flex:1;min-width:0;padding:var(--space-6);overflow-x:hidden}.main-inner{width:100%;max-width:var(--content-max);margin:0 auto;animation:pageIn var(--transition-slow) var(--ease-out) backwards}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.user-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-card);font-size:var(--text-sm);color:var(--color-text-secondary)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-hover);font-size:var(--text-2xs);font-weight:var(--weight-bold)}.role-tag{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-accent-apricot-soft);color:var(--color-accent-apricot-deep);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide)}.hamburger{display:none;align-items:center;gap:var(--space-2);height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast) var(--ease-soft),border-color var(--transition-fast) var(--ease-soft)}.hamburger:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.hamburger svg{width:16px;height:16px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-heading{min-width:0}.page-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--color-text)}.page-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.page-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-full);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast) var(--ease-soft),border-color var(--transition-fast) var(--ease-soft),color var(--transition-fast) var(--ease-soft),box-shadow var(--transition-fast) var(--ease-soft),transform var(--transition-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--gradient-sage);color:var(--color-on-primary);box-shadow:var(--shadow-card)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-raised);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-primary-soft)}.btn-danger{background:var(--color-danger);color:var(--color-on-primary)}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-raised);filter:brightness(1.04)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn-sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-xs{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-xs)}.btn-block{width:100%}.btn svg{width:16px;height:16px;flex-shrink:0}.stack{display:flex;flex-direction:column;gap:var(--space-5)}.stack-tight{display:flex;flex-direction:column;gap:var(--space-3)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);animation:riseIn var(--transition-med) var(--ease-out) backwards}.card-accent{border-top:3px solid var(--color-primary)}.card-highlight{border-color:var(--color-border);background:var(--gradient-sage-soft);box-shadow:none}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.card-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text)}.card-subtitle{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.card-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card-note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid>:nth-child(2){animation-delay:30ms}.grid>:nth-child(3){animation-delay:60ms}.grid>:nth-child(4){animation-delay:90ms}.grid>:nth-child(5){animation-delay:.12s}.stat-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);animation:riseIn var(--transition-med) var(--ease-out) backwards;transition:transform var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised)}.stat-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--color-text-secondary)}.stat-value{margin:var(--space-2) 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--color-text)}.stat-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.tone-success .stat-value{color:var(--color-success)}.tone-warning .stat-value{color:var(--color-warning)}.tone-info .stat-value{color:var(--color-info)}.tone-danger .stat-value{color:var(--color-danger)}.metric-value.tone-warning{color:var(--color-warning)}.metric-value.tone-danger{color:var(--color-danger)}.overview{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-5);padding:var(--space-5);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);animation:riseIn var(--transition-med) var(--ease-out) backwards}.overview:after{content:"";position:absolute;top:-70px;right:-60px;width:190px;height:190px;border-radius:var(--radius-full);background:var(--gradient-apricot-soft);opacity:.55;pointer-events:none}.overview-main,.overview-side{position:relative;z-index:1;min-width:0}.overview-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--color-text-secondary)}.overview-label:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-primary)}.overview-month{margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-hover);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:0}.overview-hero{display:flex;align-items:baseline;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}.hero-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-5xl);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.03em;color:var(--color-text)}.hero-unit{font-size:var(--text-sm);color:var(--color-text-secondary)}.hero-amount{margin-top:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-primary-hover)}.overview-foot{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.overview-side{display:flex;flex-direction:column;justify-content:center}.overview-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:0 var(--space-3);padding:var(--space-3) 0;border-bottom:1px dashed var(--color-border)}.overview-mini:last-child{border-bottom:none}.mini-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.mini-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);text-align:right}.mini-hint{grid-column:1 / -1;margin-top:2px;font-size:var(--text-2xs);color:var(--color-text-muted)}.overview-mini.tone-warning .mini-value{color:var(--color-warning)}.overview-mini.tone-success .mini-value{color:var(--color-success)}.overview-mini.tone-info .mini-value{color:var(--color-info)}input,select,textarea{width:100%;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast) var(--ease-soft),box-shadow var(--transition-fast) var(--ease-soft)}textarea{height:auto;min-height:88px;padding:var(--space-2) var(--space-3);resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--color-border-strong)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input[type=checkbox]{width:auto;height:auto;accent-color:var(--color-primary)}select{cursor:pointer}.field{margin-bottom:var(--space-4)}.field:last-child{margin-bottom:0}.field-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.field-required{margin-left:2px;color:var(--color-danger)}.field-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.field-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-danger)}.field-row{display:flex;gap:var(--space-4)}.field-row>*{flex:1;min-width:0}.checkbox-field{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.form-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.form-error{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-danger)}.table-wrap{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;scrollbar-width:thin}table.data{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:var(--text-base)}table.data th{padding:2px var(--space-4) 4px;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-align:left;white-space:nowrap}table.data td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);vertical-align:middle;transition:background var(--transition-fast) var(--ease-soft)}table.data td:first-child{border-left:1px solid var(--color-border);border-radius:var(--radius-md) 0 0 var(--radius-md)}table.data td:last-child{border-right:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0}table.data tbody tr{transition:transform var(--transition-fast) var(--ease-out)}table.data tbody tr:hover{transform:translateY(-1px)}table.data tbody tr:hover td{background:var(--color-row-hover)}table.data tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}table.data tr.row-highlight td{background:var(--color-accent-apricot-soft)}table.data tr.row-highlight td:first-child{box-shadow:inset 3px 0 0 var(--color-accent-apricot)}table.data tr.row-muted td{background:var(--color-surface-subtle);color:var(--color-text-muted)}.text-right{text-align:right}.text-center{text-align:center}table.data th.text-right,table.data td.text-right{text-align:right}table.data th.text-center,table.data td.text-center{text-align:center}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.cell-secondary{font-size:var(--text-xs);color:var(--color-text-secondary)}.cell-muted{color:var(--color-text-muted)}.cell-warning{color:var(--color-warning);font-weight:var(--weight-semibold)}.cell-name{display:inline-block;max-width:220px;overflow:hidden;vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap}.cell-note{display:inline-block;max-width:200px;overflow:hidden;vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap}.cell-partner{display:inline-flex;align-items:center;gap:var(--space-2);max-width:220px}.cell-partner>span:first-child{display:inline-block;max-width:160px;overflow:hidden;vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--color-text-muted)}.cell-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.code{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-muted);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.notes-cell .notes-text{display:inline-block;max-width:220px;overflow:hidden;vertical-align:bottom;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.notes-cell .notes-text.expanded{white-space:normal;word-break:break-word}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);letter-spacing:.01em;white-space:nowrap;transition:background var(--transition-fast) var(--ease-soft),color var(--transition-fast) var(--ease-soft)}.badge:before{content:"";width:5px;height:5px;border-radius:var(--radius-full);background:currentColor}.badge-plain:before{display:none}.badge-neutral{background:var(--color-neutral-soft);color:var(--color-neutral)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-muted{background:var(--color-surface-muted);color:var(--color-text-muted)}.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.money-positive{color:var(--color-success)}.money-negative{color:var(--color-danger)}.money-muted{color:var(--color-text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-subtle);text-align:center}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-full);background:var(--gradient-sage-soft);font-size:var(--text-xl);line-height:1;color:var(--color-primary)}.empty-state-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.empty-state-hint{max-width:560px;font-size:var(--text-sm);color:var(--color-text-muted)}.empty-state-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-5);border:1px solid var(--color-danger-soft);border-radius:var(--radius-lg);background:var(--color-danger-soft);text-align:center}.error-state-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1;color:var(--color-danger)}.error-state-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-danger)}.error-state-message{max-width:560px;font-size:var(--text-sm);color:var(--color-danger)}.error-state-actions{margin-top:var(--space-2)}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-surface-muted)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-skeleton-sheen),transparent);animation:shimmer 1.4s var(--ease-out) 3}.skeleton-row{height:14px;margin-bottom:var(--space-3)}.skeleton-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.skeleton-panel{border:none;box-shadow:none}.skeleton-title{width:40%;height:12px;margin-bottom:var(--space-4)}.skeleton-value{width:60%;height:28px;margin-bottom:var(--space-3)}.skeleton-line{width:80%;height:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay);animation:fadeIn var(--transition-fast) var(--ease-out)}.modal-card{width:100%;max-width:520px;max-height:calc(100vh - var(--space-7));overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-pop);animation:riseIn var(--transition-med) var(--ease-out)}.modal-sm{max-width:400px}.modal-lg{max-width:760px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text)}.modal-subtitle{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:background var(--transition-fast) var(--ease-soft),color var(--transition-fast) var(--ease-soft)}.modal-close:hover{background:var(--color-surface-muted);color:var(--color-text)}.modal-body{padding:var(--space-4) var(--space-5)}.modal-text{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:0 var(--space-5) var(--space-5)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-4)}.pagination-info{font-size:var(--text-sm);color:var(--color-text-secondary)}.pagination-info strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text)}.pagination-controls{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.pagination-btn{min-width:32px;height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast) var(--ease-soft),border-color var(--transition-fast) var(--ease-soft),color var(--transition-fast) var(--ease-soft),transform var(--transition-fast) var(--ease-out)}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-primary-soft)}.pagination-btn:active:not(:disabled){transform:scale(.96)}.pagination-btn.active{border-color:transparent;background:var(--gradient-sage);color:var(--color-on-primary);box-shadow:var(--shadow-card)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-ellipsis{padding:0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.pagination-size{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.pagination-size select{width:auto;height:var(--control-height-sm);padding:0 var(--space-2);font-size:var(--text-xs)}.tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-full);background:var(--color-surface-muted);margin-bottom:var(--space-4)}.tab{height:var(--control-height-sm);padding:0 var(--space-4);border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast) var(--ease-soft),color var(--transition-fast) var(--ease-soft),box-shadow var(--transition-fast) var(--ease-soft)}.tab:hover{color:var(--color-text)}.tab.active{background:var(--color-surface);color:var(--color-primary-hover);box-shadow:var(--shadow-card)}.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar select{width:auto;min-width:160px}.toolbar .tabs{margin-bottom:0}.toolbar-spacer{margin-left:auto}.toolbar-note{font-size:var(--text-xs);color:var(--color-text-muted)}.section{margin-top:var(--space-6)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.section-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.section-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.trend{display:flex;align-items:flex-end;gap:var(--space-3);height:190px;padding-top:var(--space-3)}.trend-item{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;gap:var(--space-1)}.trend-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--color-text-secondary);white-space:nowrap}.trend-track{display:flex;align-items:flex-end;width:100%;max-width:44px;height:132px;overflow:hidden;border-radius:var(--radius-full);background:var(--color-surface-muted)}.trend-bar{width:100%;border-radius:var(--radius-full) var(--radius-full) 0 0;background:var(--gradient-bar);transform-origin:bottom;animation:barRise var(--transition-slow) var(--ease-out) backwards;transition:height var(--transition-med) var(--ease-out)}.trend-bar.zero{background:var(--color-border-strong);animation:none}.trend-label{font-size:var(--text-2xs);color:var(--color-text-muted)}.rank-list{display:flex;flex-direction:column}.rank-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 2px;border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background var(--transition-fast) var(--ease-soft)}.rank-item:hover{background:var(--color-row-hover)}.rank-item:last-child{border-bottom:none}.rank-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-surface-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.rank-item:nth-child(1) .rank-no{background:var(--color-accent-apricot-soft);color:var(--color-accent-apricot-deep)}.rank-item:nth-child(2) .rank-no{background:var(--color-accent-blue-soft);color:var(--color-accent-blue-deep)}.rank-item:nth-child(3) .rank-no{background:var(--color-accent-lilac-soft);color:var(--color-accent-lilac-deep)}.rank-no.top{font-weight:var(--weight-bold)}.rank-name{flex:1;min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-orders{font-size:var(--text-xs);color:var(--color-text-muted)}.rank-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-success)}.metric-row{display:flex;gap:var(--space-6);margin-top:var(--space-2)}.metric{display:flex;flex-direction:column;gap:var(--space-1)}.metric-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text)}.metric-label{font-size:var(--text-xs);color:var(--color-text-muted)}.bar-track{height:8px;margin-top:var(--space-2);overflow:hidden;border-radius:var(--radius-full);background:var(--color-surface-muted)}.bar-fill{height:100%;border-radius:var(--radius-full);background:var(--gradient-sage);transition:width var(--transition-med) var(--ease-out)}.bar-fill.success{background:var(--color-success)}.bar-fill.warning{background:var(--color-warning)}.bar-fill.danger{background:var(--color-danger)}.health-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.health-item{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);transition:border-color var(--transition-fast) var(--ease-soft),box-shadow var(--transition-fast) var(--ease-soft)}.health-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.health-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.health-url{font-size:var(--text-xs);color:var(--color-text-secondary);word-break:break-all}.health-status{font-size:var(--text-xs)}.health-status.ok{color:var(--color-success)}.health-status.bad{color:var(--color-danger)}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.info-item-label{font-size:var(--text-xs);color:var(--color-text-muted)}.info-item-value{margin-top:var(--space-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);color:var(--color-text)}.result-panel{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-success-soft);border-left:4px solid var(--color-success);border-radius:var(--radius-md);background:var(--color-success-soft);animation:riseIn var(--transition-med) var(--ease-out) backwards}.result-title{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-success)}.result-line{margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text)}.result-secret{color:var(--color-success);font-weight:var(--weight-bold)}.result-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary)}.code-preview{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4)}.code-image{width:180px;height:180px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.code-meta{min-width:220px;font-size:var(--text-sm);color:var(--color-text-secondary)}.code-meta p{margin-bottom:var(--space-2)}.code-meta strong{color:var(--color-text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes barRise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes shimmer{to{transform:translate(100%)}}@media (max-width: 1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.overview{grid-template-columns:minmax(0,1fr)}.main{padding:var(--space-5)}}@media (max-width: 768px){.layout{flex-direction:column}.hamburger{display:inline-flex}.topbar{justify-content:space-between}.sidebar{position:fixed;top:0;left:0;z-index:95;width:var(--sidebar-width);transform:translate(-100%);transition:transform var(--transition-med) var(--ease-out)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-pop)}.sidebar-overlay.show{display:block}.main{padding:var(--space-4)}.page-title{font-size:var(--text-xl)}.page-header{gap:var(--space-3)}.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.overview{padding:var(--space-4)}.hero-number{font-size:var(--text-4xl)}.field-row{flex-direction:column;gap:0}table.data{min-width:720px}table.data th,table.data td{padding:var(--space-2) var(--space-3)}.table-wrap{-webkit-overflow-scrolling:touch}.pagination{align-items:flex-start;flex-direction:column}.trend{gap:var(--space-2)}}@media (max-width: 480px){.main{padding:var(--space-3)}.page-header{flex-direction:column;align-items:stretch}.page-actions{width:100%}.page-actions>.btn{flex:1 1 auto}.overview-hero{gap:var(--space-2)}.hero-number{font-size:var(--text-3xl)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}.summary-bar{margin-bottom:var(--space-4)}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-5);font-size:var(--text-sm)}.profile-grid>div{display:flex;gap:var(--space-3);min-width:0}.profile-label{flex:0 0 4.5rem;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.profile-grid>div>span:last-child{word-break:break-word}.mono-cell{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--text-xs);color:var(--color-text-secondary)}.link-button{padding:0;border:none;background:none;color:var(--color-primary);font-weight:var(--weight-semibold);font-size:inherit;cursor:pointer;text-align:left}.link-button:hover{color:var(--color-primary-hover);text-decoration:underline}.notes-list{margin:0;padding-left:1.1rem;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.pipeline-current{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);font-size:var(--text-sm)}.history-note{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.timeline{list-style:none;margin:0;padding:0}.timeline>li{position:relative;display:flex;gap:var(--space-3);padding:0 0 var(--space-4) var(--space-2)}.timeline>li:before{content:"";position:absolute;left:.32rem;top:1.1rem;bottom:0;width:1px;background:var(--color-border)}.timeline>li:last-child:before{display:none}.timeline-dot{flex:0 0 auto;width:.55rem;height:.55rem;margin-top:.45rem;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.timeline-main{min-width:0;flex:1 1 auto}.timeline-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.timeline-content{margin-top:.2rem;color:var(--color-text);font-size:var(--text-sm);word-break:break-word}.timeline-next{margin-top:.2rem;color:var(--color-text-muted);font-size:var(--text-xs)}.ai-disabled{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:var(--text-sm)}.ai-suggestion{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-text);font-size:var(--text-sm)}.ai-suggestion-label{font-weight:var(--weight-semibold);color:var(--color-primary-hover)}.ai-activity{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs)}.risk-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}.risk-list>li{display:flex;align-items:center;gap:var(--space-2)}.evidence-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.evidence-chip,.example-chip{padding:.25rem .6rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill, 999px);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast) var(--ease-out)}.evidence-chip:hover,.example-chip:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.followup-list{display:flex;flex-direction:column}.followup-item{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.followup-item:last-child{border-bottom:none}.followup-priority{flex:0 0 6.5rem}.followup-main{flex:1 1 auto;min-width:0;font-size:var(--text-sm)}.followup-reason{margin-top:.2rem;color:var(--color-text)}.followup-action{margin-top:.2rem;color:var(--color-text-secondary);font-size:var(--text-xs)}.followup-amount{flex:0 0 8rem;text-align:right;font-size:var(--text-sm)}.query-form{display:flex;gap:var(--space-3)}.query-form input{flex:1 1 auto}.query-examples{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.query-result{margin-top:var(--space-4)}.query-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm)}.help-section{margin-top:var(--space-3)}.help-section .profile-label{display:block;margin-bottom:var(--space-2)}.board-wrap{overflow-x:auto;padding-bottom:var(--space-3);-webkit-overflow-scrolling:touch}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(15rem,1fr);gap:var(--space-3);min-width:max-content}.board-col{display:flex;flex-direction:column;min-width:15rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle);transition:border-color var(--transition-fast) var(--ease-out),background var(--transition-fast) var(--ease-out)}.board-col.drag-over{border-color:var(--color-primary);background:var(--color-primary-soft)}.board-col.col-won{border-color:var(--color-success)}.board-col.col-lost{border-color:var(--color-border-strong);opacity:.92}.board-col-head{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.board-col-title{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);color:var(--color-text);font-size:var(--text-sm)}.board-col-meta{margin-top:.2rem;color:var(--color-text-muted);font-size:var(--text-xs)}.board-col-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);min-height:6rem}.board-empty{color:var(--color-text-muted);font-size:var(--text-xs);text-align:center;padding:var(--space-3) 0}.opp-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);cursor:grab;transition:transform var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.opp-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-raised)}.opp-card.moving{opacity:.55}.opp-card.exited{border-style:dashed}.opp-name{padding:0;border:none;background:none;color:var(--color-primary);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer;text-align:left}.opp-name:hover{text-decoration:underline}.opp-amount{margin-top:.2rem;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.opp-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:.2rem;color:var(--color-text-muted);font-size:var(--text-xs)}.opp-move{margin-top:var(--space-2)}.opp-move select{width:100%;font-size:var(--text-xs)}@media (max-width: 1180px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:minmax(0,1fr)}.followup-item{flex-wrap:wrap}.followup-amount{flex-basis:100%;text-align:left}.query-form{flex-direction:column}}@media (max-width: 420px){.grid-5,.grid-4.funnel-stats{grid-template-columns:minmax(0,1fr)}.board-wrap{max-width:100%}.board{grid-auto-columns:78vw}.board-col{min-width:0}}.toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm);color:var(--color-text)}.toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.toggle-track{position:relative;flex:none;width:2.4rem;height:1.3rem;border-radius:999px;background:var(--color-border-strong);transition:background var(--transition-fast) var(--ease-out)}.toggle-thumb{position:absolute;top:2px;left:2px;width:calc(1.3rem - 4px);height:calc(1.3rem - 4px);border-radius:50%;background:#fff;box-shadow:0 1px 2px #343e3633;transition:transform var(--transition-fast) var(--ease-out)}.toggle input:checked+.toggle-track{background:var(--color-primary)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(1.1rem)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-label{white-space:nowrap}.opp-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.opp-card.exited{border-style:dashed;background:var(--color-surface-subtle);cursor:default}.opp-card.exited:hover{transform:none;box-shadow:var(--shadow-card)}.opp-card.archived .opp-move select{cursor:not-allowed;opacity:.75}.order-link-wrap{position:relative;display:inline-flex;max-width:100%}.order-link-wrap.order-link-block{display:block}.order-link{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .35rem;border:1px solid transparent;border-radius:var(--radius-xs, 4px);background:var(--color-accent-blue-soft);color:var(--color-accent-blue-deep);font-family:var(--font-mono);font-size:inherit;font-weight:var(--weight-semibold);line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;transition:background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out)}.order-link:hover,.order-link:focus-visible{border-color:var(--color-accent-blue);background:var(--color-accent-blue-soft);text-decoration-thickness:2px}.order-link.is-pinned{border-color:var(--color-accent-blue-deep);background:var(--color-accent-blue-soft)}.order-link.is-empty{display:inline;padding:0;border:none;background:none;color:var(--color-text-muted);font-family:inherit;font-weight:var(--weight-regular, 400);text-decoration:none;cursor:default}.order-summary-portal{position:fixed;z-index:90;width:20rem;max-width:calc(100vw - 1.5rem);opacity:0;transition:opacity 90ms var(--ease-out)}.order-summary-portal.is-ready{opacity:1}.order-summary-arrow{position:absolute;z-index:1;width:10px;height:10px;background:var(--color-surface);border:1px solid var(--color-border-strong);transform:translate(-50%) rotate(45deg)}.order-summary-arrow[data-placement=bottom]{top:-6px;border-right:none;border-bottom:none}.order-summary-arrow[data-placement=top]{bottom:-6px;border-top:none;border-left:none}.order-summary{position:relative;width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-raised, 0 10px 24px rgba(52, 62, 54, .16));font-size:var(--text-sm);text-align:left;cursor:default}.order-summary.is-pinned{border-color:var(--color-accent-blue-deep)}.order-summary-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.order-summary-no{font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--color-accent-blue-deep);word-break:break-all}.order-summary-pin{flex:none;padding:.1rem .4rem;border-radius:999px;background:var(--color-accent-apricot-soft);color:var(--color-accent-apricot-deep);font-size:var(--text-2xs)}.order-summary-row{display:flex;justify-content:space-between;gap:var(--space-2);padding:.12rem 0;color:var(--color-text)}.order-summary-row .order-summary-label{color:var(--color-text-muted);flex:none}.order-summary-row .order-summary-value{text-align:right;word-break:break-all}.order-summary-divider{display:block;margin:var(--space-2) 0;border-top:1px solid var(--color-border)}.order-summary-go{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:none;background:none;color:var(--color-accent-blue-deep);font-weight:var(--weight-semibold);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.order-summary-state{color:var(--color-text-muted);font-size:var(--text-xs)}.order-summary-error{color:var(--color-danger, #A8563F)}table.data tr.row-focus td{background:var(--color-accent-blue-soft)}table.data tr.row-focus td:first-child{box-shadow:inset 3px 0 0 var(--color-accent-blue-deep)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end;background:var(--color-overlay);animation:fadeIn var(--transition-fast) var(--ease-out)}.drawer{display:flex;flex-direction:column;width:min(46rem,100vw);height:100%;background:var(--color-surface);border-left:1px solid var(--color-border-strong);box-shadow:var(--shadow-raised, 0 10px 24px rgba(52, 62, 54, .16));animation:riseIn var(--transition-base, .22s) var(--ease-out)}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.drawer-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.drawer-subtitle{margin-top:.15rem;color:var(--color-text-muted);font-size:var(--text-sm)}.drawer-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.drawer-section-title{margin-bottom:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}@media (max-width: 760px){.drawer{width:100vw}}@keyframes orderDrawerInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes orderDrawerInUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.order-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:flex-end;background:var(--color-overlay);animation:fadeIn var(--transition-fast) var(--ease-out)}.order-drawer{display:flex;flex-direction:column;width:min(34rem,100vw);height:100%;background:var(--color-surface);border-left:1px solid var(--color-border-strong);box-shadow:var(--shadow-raised, 0 10px 24px rgba(52, 62, 54, .16));animation:orderDrawerInRight var(--transition-base, .22s) var(--ease-out);outline:none;transition:transform var(--transition-fast) var(--ease-out)}.order-drawer.is-dragging{transition:none}.order-drawer-drag{display:none;justify-content:center;padding:.5rem 0 .25rem;touch-action:none;cursor:grab}.order-drawer.is-dragging .order-drawer-drag{cursor:grabbing}.order-drawer-grip{display:block;width:42px;height:4px;border-radius:999px;background:var(--color-border-strong)}.order-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.order-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.order-drawer-total{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);color:var(--color-text)}.order-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface)}.order-drawer-foot-hint{color:var(--color-text-muted);font-size:var(--text-xs)}@media (max-width: 760px){.order-drawer-overlay{align-items:flex-end;justify-content:center}.order-drawer{width:100vw;height:85vh;border-left:none;border-top:1px solid var(--color-border-strong);border-radius:16px 16px 0 0;animation:orderDrawerInUp var(--transition-base, .22s) var(--ease-out)}.order-drawer-drag{display:flex}.order-drawer-head,.order-drawer-body{padding-left:var(--space-4);padding-right:var(--space-4)}.order-drawer-foot{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.order-drawer-foot-hint{text-align:center}}.plan-form{display:flex;gap:var(--space-2);align-items:stretch}.plan-form input{flex:1 1 auto;min-width:0}.plan-form .btn{flex:0 0 auto;white-space:nowrap}.plan-result-wrap{margin-top:var(--space-3)}.plan-parsed{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-text);font-size:var(--text-sm)}.plan-assumption{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.plan-list{display:flex;flex-direction:column;margin-top:var(--space-2)}.plan-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);min-width:0}.plan-item:last-child{border-bottom:none}.plan-item-done{opacity:.62}.plan-check{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;border-radius:var(--radius-md)}.plan-check input{width:22px;height:22px;margin:0;cursor:pointer;accent-color:var(--color-primary)}.plan-main{flex:1 1 auto;min-width:0;font-size:var(--text-sm)}.plan-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.plan-rank{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.plan-amount{font-family:var(--font-mono)}.plan-score{padding:0 .4rem;border-radius:var(--radius-pill, 999px);background:var(--color-neutral-soft);color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs)}.plan-reasons{margin-top:.2rem;color:var(--color-text);word-break:break-word}.plan-next{margin-top:.2rem;color:var(--color-text-secondary);font-size:var(--text-xs);word-break:break-word}.plan-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.plan-summary{color:var(--color-text-secondary);font-size:var(--text-sm)}.plan-footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.plan-result{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-success-soft);color:var(--color-text);font-size:var(--text-sm)}.ai-suggestion-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}@media (max-width: 480px){.plan-form{flex-direction:column}.plan-form .btn{width:100%}.plan-item{padding:var(--space-2) 0}.plan-head{align-items:flex-start}.plan-footer,.plan-footer-actions{flex-direction:column;align-items:stretch}.plan-footer-actions .btn{width:100%;white-space:nowrap}.plan-result{align-items:flex-start}}
