/* Anna 1.0.4 — 作者：小兔。Flexy 视觉与 Pro 交互层级的原生适配。 */
:root {
  --anna-bg:#fafbfb; --anna-surface:#ffffff; --anna-text:#11142d;
  --anna-muted:#647086; --anna-border:#e5eaef; --anna-accent:#1e4db7;
  --anna-soft:#e7ecf7; --anna-shadow:0 7px 30px rgba(90,114,123,.10);
  --anna-glass:rgba(255,255,255,.94); --anna-danger:#c52d4b; --anna-warning:#966b00;
  --anna-success:#087d61; --anna-success-soft:#ebfaf2;
  --anna-radius:20px; --anna-sidebar:270px; color-scheme:light;
}
html[data-anna-theme="dark"] {
  --anna-bg:#151923; --anna-surface:#202634; --anna-text:#e8edf6;
  --anna-muted:#b0bdd1; --anna-border:#394356; --anna-accent:#9bbaff;
  --anna-soft:#2a3857; --anna-shadow:0 7px 30px rgba(0,0,0,.15);
  --anna-glass:rgba(32,38,52,.95); --anna-danger:#ff9eb1; --anna-warning:#f1cd75;
  --anna-success:#7bdab5; --anna-success-soft:#233e37;
  color-scheme:dark;
}
body.anna-theme { background:var(--anna-bg); color:var(--anna-text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; font-size:14px; line-height:1.6; }
.anna-theme h1,.anna-theme h2,.anna-theme h3,.anna-theme h4,.anna-theme h5,.anna-theme h6 { color:var(--anna-text); font-weight:600; letter-spacing:-.02em; }
.anna-theme a { color:var(--anna-accent); }
.anna-theme a:hover { color:var(--anna-accent); text-decoration:underline; }
.anna-theme :focus-visible { outline:3px solid var(--anna-accent)!important; outline-offset:3px; box-shadow:none; }
.anna-theme .text-muted,.anna-theme .text-black-50,.anna-theme .text-secondary { color:var(--anna-muted)!important; }
.anna-theme .text-dark,.anna-theme .text-black-80,.anna-theme .text-body { color:var(--anna-text)!important; }
.anna-theme .text-primary { color:var(--anna-accent)!important; }
.anna-theme .text-success { color:var(--anna-success)!important; }
.anna-theme .text-danger { color:var(--anna-danger)!important; }
.anna-theme .text-warning { color:var(--anna-warning)!important; }
.anna-theme .bg-white,.anna-theme .bg-light { background-color:var(--anna-surface)!important; }
.anna-theme hr,.anna-theme .border,.anna-theme .border-bottom,.anna-theme .border-top { border-color:var(--anna-border)!important; }
.anna-theme #page-topbar { background:var(--anna-surface); box-shadow:none; border-bottom:1px solid var(--anna-border); }
.anna-theme .navbar-header { height:76px; padding:0 28px 0 0; }
.anna-theme .navbar-brand-box { width:var(--anna-sidebar); background:transparent!important; border-right:0; padding:0 30px; }
.anna-theme .logo { line-height:76px; }
.anna-theme .logo img { max-width:172px; object-fit:contain; }
.anna-theme .logo-dark { display:block!important; }
.anna-theme .logo-light { display:none!important; }
.anna-theme .anna-brand-fallback { font-size:27px; font-weight:650; letter-spacing:-1px; color:var(--anna-text); }
.anna-theme .header-item { color:var(--anna-text); height:76px; }
.anna-theme .header-item:hover { background:var(--anna-soft); color:var(--anna-accent); }
.anna-theme .vertical-menu { width:var(--anna-sidebar); top:76px; bottom:0; background:var(--anna-surface)!important; box-shadow:none; border-right:1px solid var(--anna-border); }
.anna-theme #sidebar-menu { padding:24px 20px 32px; }
.anna-theme #sidebar-menu ul li a { color:var(--anna-muted)!important; border-radius:10px; padding:11px 14px; margin:3px 0; font-weight:500; }
.anna-theme #sidebar-menu ul li a i { color:inherit!important; }
.anna-theme #sidebar-menu ul li a:hover { background:var(--anna-soft); color:var(--anna-text)!important; text-decoration:none; }
.anna-theme #sidebar-menu ul li a.active,.anna-theme #sidebar-menu>ul>li.mm-active>a { background:var(--anna-accent)!important; color:white!important; box-shadow:0 6px 14px rgba(30,77,183,.12); }
html[data-anna-theme="dark"] .anna-theme #sidebar-menu ul li a.active,html[data-anna-theme="dark"] .anna-theme #sidebar-menu>ul>li.mm-active>a { color:#172647!important; }
.anna-theme #sidebar-menu ul li ul.sub-menu { padding:0 0 0 14px; }
.anna-theme #sidebar-menu ul li ul.sub-menu li a { padding:9px 16px; }
.anna-nav-label { display:block; padding:0 14px 12px; color:var(--anna-muted); font-size:12px; letter-spacing:.08em; }
.anna-theme > .main-content { margin-left:var(--anna-sidebar); }
.anna-theme .page-content { padding:108px 26px 32px; min-height:calc(100vh - 70px); }
.anna-theme .page-content>.container-fluid { max-width:1360px; margin:auto; }
.anna-theme .page-title-box { padding:0 12px 24px; background:transparent; }
.anna-theme .page-title-box h4 { font-size:24px!important; }
.anna-theme .breadcrumb { background:transparent; color:var(--anna-muted); }
.anna-theme .footer { position:relative; left:0; margin-left:var(--anna-sidebar); background:transparent; color:var(--anna-muted); padding:20px 38px; border-top:1px solid var(--anna-border); height:auto; }
.anna-theme .card { background:var(--anna-surface); color:var(--anna-text); border:1px solid transparent; border-radius:var(--anna-radius); box-shadow:var(--anna-shadow); margin-bottom:24px; }
.anna-theme .card-body { padding:24px; }
.anna-theme .card-header,.anna-theme .card-footer { background:transparent; border-color:var(--anna-border); }
.anna-theme .card-title { font-size:16px; font-weight:600; }
.anna-theme .btn { border-radius:10px; font-weight:500; padding:9px 17px; box-shadow:none; }
.anna-theme .btn-sm { padding:6px 12px; }
.anna-theme .btn-primary { background:var(--anna-accent); border-color:var(--anna-accent); color:#fff; }
.anna-theme .btn-success { background:var(--anna-success); border-color:var(--anna-success); color:#fff; }
html[data-anna-theme="dark"] .anna-theme .btn-primary,html[data-anna-theme="dark"] .anna-theme .btn-success { color:#172647; }
.anna-theme .btn-primary:hover,.anna-theme .btn-success:hover { filter:brightness(.92); }
.anna-theme .btn-outline-primary,.anna-theme .btn-light,.anna-theme .btn-secondary { background:var(--anna-soft); color:var(--anna-accent); border-color:var(--anna-border); }
.anna-theme .btn-danger { background:transparent; color:var(--anna-danger); border-color:var(--anna-danger); }
.anna-theme .btn:disabled,.anna-theme .btn.disabled { opacity:.5; cursor:not-allowed; }
.anna-theme .form-control,.anna-theme .custom-select,.anna-theme .input-group-text,.anna-theme .select2-container--default .select2-selection--single { background:var(--anna-bg); color:var(--anna-text); border:1px solid var(--anna-border); border-radius:10px; min-height:42px; }
.anna-theme .form-control:focus { border-color:var(--anna-accent); box-shadow:0 0 0 3px var(--anna-soft); }
.anna-theme .form-control::placeholder { color:var(--anna-muted); opacity:1; }
.anna-theme .form-control:disabled,.anna-theme .form-control[readonly] { opacity:.7; }
.anna-theme .form-control.is-invalid { border-color:var(--anna-danger); }
.anna-theme .invalid-feedback { color:var(--anna-danger); }
.anna-theme .input-group>.form-control:not(:last-child) { border-radius:10px 0 0 10px; }
.anna-theme .input-group>.input-group-append>.btn { border-radius:0 10px 10px 0; }
.anna-theme .table { color:var(--anna-text); font-variant-numeric:tabular-nums; }
.anna-theme .table td,.anna-theme .table th { border-color:var(--anna-border); padding:15px 16px; vertical-align:middle; }
.anna-theme .table thead th,.anna-theme .table thead td,.anna-theme .table-light,.anna-theme .thead-light th { background:var(--anna-bg); color:var(--anna-muted); font-weight:500; border-color:var(--anna-border); }
.anna-theme .table-hover tbody tr:hover { background:var(--anna-soft); color:var(--anna-text); }
.anna-theme .table-striped tbody tr:nth-of-type(odd) { background:var(--anna-bg); }
.anna-theme .table-responsive { border-radius:12px; overflow-x:auto; }
.anna-theme .badge { font-weight:500; border-radius:6px; padding:5px 8px; }
.anna-theme .badge-soft-primary { background:var(--anna-soft); color:var(--anna-accent); }
.anna-theme .badge-success,.anna-theme .badge-soft-success { background:var(--anna-success-soft); color:var(--anna-success); }
.anna-theme .nav-tabs { border-color:var(--anna-border); }
.anna-theme .nav-tabs .nav-link { color:var(--anna-muted); }
.anna-theme .nav-tabs .nav-link.active { color:var(--anna-accent); background:var(--anna-soft); border-color:transparent; border-radius:8px; }
.anna-theme .nav-tabs-custom .nav-item .nav-link::after { background:var(--anna-accent); }
.anna-theme .dropdown-menu,.anna-theme .modal-content,.anna-theme .popover,.anna-theme .select2-dropdown { background:var(--anna-surface); color:var(--anna-text); border:1px solid var(--anna-border); border-radius:14px; box-shadow:var(--anna-shadow); }
.anna-theme .dropdown-item { color:var(--anna-text); }
.anna-theme .dropdown-item:hover,.anna-theme .dropdown-item:focus { background:var(--anna-soft); }
.anna-theme .modal-header,.anna-theme .modal-footer { border-color:var(--anna-border); }
.anna-theme .close { color:var(--anna-text); text-shadow:none; }
.anna-theme .page-link { background:var(--anna-surface); border-color:var(--anna-border); color:var(--anna-accent); }
.anna-theme .page-item.active .page-link { background:var(--anna-accent); border-color:var(--anna-accent); color:var(--anna-surface); }
.anna-theme .list-group-item { background:var(--anna-surface); color:var(--anna-text); border-color:var(--anna-border); }
.anna-theme .no-data { color:var(--anna-muted); padding:32px 16px; }
.anna-theme .user-center_header { background:var(--anna-soft); color:var(--anna-accent); }
.anna-theme .user-center_product { color:var(--anna-text); background:var(--anna-bg); border:1px solid var(--anna-border); border-radius:10px; }
.anna-theme .user-center_product:hover { background:var(--anna-soft); }
.anna-theme .user-center_calc { min-height:340px; height:auto; }
.anna-theme .user-center_notice_item { border-color:var(--anna-border); }
.anna-theme .user-center_notice_item .notice_item_title { color:var(--anna-text); }
.anna-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 28px; }
.anna-welcome h1 { font-size:28px; margin:0 0 8px; }
.anna-welcome p { color:var(--anna-muted); margin:0; }
.anna-eyebrow { color:var(--anna-muted); font-size:12px; letter-spacing:.1em; display:block; margin-bottom:8px; }
.anna-icon { --anna-icon:url('./icons/grid.svg'); width:21px; height:21px; display:inline-block; vertical-align:middle; background:currentColor; -webkit-mask:var(--anna-icon) center/contain no-repeat; mask:var(--anna-icon) center/contain no-repeat; flex-shrink:0; }
.anna-icon-home { --anna-icon:url('./icons/home.svg'); }
.anna-icon-server { --anna-icon:url('./icons/server.svg'); }
.anna-icon-wallet { --anna-icon:url('./icons/wallet.svg'); }
.anna-icon-message { --anna-icon:url('./icons/message.svg'); }
.anna-icon-book { --anna-icon:url('./icons/book.svg'); }
.anna-theme .anna-account > .h-75 { height:190px!important; }
.anna-theme .anna-account .h-75 > .h-75 { height:165px!important; margin-top:12px!important; }
.anna-theme .anna-account .user-center_safety_wrapper { margin-bottom:0!important; gap:16px; }
.anna-theme .anna-account .user-center_safety { background:var(--anna-soft); color:var(--anna-accent); width:36px; height:36px; border-radius:10px; }
.anna-theme .anna-account .h-25 { min-height:66px; }
.anna-theme .anna-account .h-25 .text-center { font-size:22px; font-weight:600; font-variant-numeric:tabular-nums; }
.anna-theme .anna-finance > .d-flex { gap:12px; }
.anna-theme #balanceCharts { min-width:100px; min-height:140px; }
.anna-theme .user-center_product_grid { grid-template-columns:1fr; gap:10px; max-height:230px; }
.anna-theme .user-center_product_grid .user-center_product { padding:10px 12px; height:auto; min-width:0; }
.anna-theme .user-center_notice_item { display:flex; flex-direction:column; align-items:flex-start; padding:12px 0; gap:4px; }
.anna-theme .user-center_notice_item .notice_item_title { max-width:100%; width:100%; }
@media(min-width:1200px) and (max-width:1399.98px) {
  .anna-theme .anna-finance > .d-flex { flex-direction:column; }
  .anna-theme #balanceCharts { min-height:115px; }
  .anna-theme .anna-finance .flex1 { flex:initial; }
  .anna-theme .anna-finance .mt-4 { margin-top:8px!important; }
  .anna-theme .anna-finance .mb-2 { margin-bottom:2px!important; }
  .anna-theme .user-center_h300 { height:350px; }
  .anna-theme .anna-account > .h-75 { height:235px!important; }
}
.anna-icon-moon { --anna-icon:url('./icons/moon.svg'); }
.anna-icon-sun { --anna-icon:url('./icons/sun.svg'); }
.anna-icon-menu { --anna-icon:url('./icons/menu.svg'); }
.anna-icon-cart { --anna-icon:url('./icons/cart.svg'); }
.anna-icon-bell { --anna-icon:url('./icons/bell.svg'); }
.anna-theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--anna-surface); color:var(--anna-text); border:1px solid var(--anna-border); border-radius:10px; min-height:42px; padding:8px 12px; cursor:pointer; }
.anna-theme-toggle:hover { background:var(--anna-soft); }
.anna-auth-tools { position:fixed; top:20px; right:24px; z-index:100; }
.anna-skip { position:fixed; top:-100px; left:20px; z-index:2000; background:var(--anna-surface); color:var(--anna-accent); padding:12px; border-radius:10px; }
.anna-skip:focus { top:10px; }
.anna-menu-backdrop { display:none; }
@supports (backdrop-filter:blur(12px)) {
  .anna-theme #page-topbar,.anna-theme .vertical-menu { background:var(--anna-glass)!important; backdrop-filter:blur(12px); }
}
@media(min-width:992px) {
  .anna-theme.vertical-collpsed .navbar-brand-box,.anna-theme.vertical-collpsed .vertical-menu { width:70px; }
  .anna-theme.vertical-collpsed > .main-content,.anna-theme.vertical-collpsed .footer { margin-left:70px; }
  .anna-theme.vertical-collpsed .anna-nav-label { display:none; }
  .anna-theme.vertical-collpsed #sidebar-menu { padding-left:8px; padding-right:8px; }
  .anna-theme.vertical-collpsed #sidebar-menu>ul>li>a { padding:12px 14px; }
}
@media(max-width:991.98px) {
  .anna-theme > .main-content,.anna-theme .footer { margin-left:0; }
  .anna-theme .vertical-menu { display:none; width:250px; z-index:1002; }
  .anna-theme.sidebar-enable .vertical-menu { display:block; }
  .anna-theme .navbar-brand-box { width:auto; padding:0 16px; border:0; }
  .anna-theme .navbar-header { padding-right:12px; }
  .anna-theme .page-content { padding:100px 10px 24px; }
  .anna-theme .footer { padding:20px 24px; }
  .anna-theme.sidebar-enable .anna-menu-backdrop { display:block; position:fixed; inset:76px 0 0; background:rgba(12,26,22,.45); z-index:1001; border:0; }
}
@media(max-width:575.98px) {
  .anna-welcome { align-items:flex-start; flex-direction:column; gap:16px; }
  .anna-welcome h1 { font-size:24px; }
  .anna-theme .card-body { padding:18px; }
  .anna-theme .navbar-brand-box { padding:0 8px 0 16px; }
  .anna-theme .navbar-brand-box { display:block!important; }
  .anna-theme .logo-lg { display:none; }
  .anna-theme .logo-sm { display:block; }
  .anna-theme .logo-sm img { max-width:40px; }
  .anna-theme .navbar-header .anna-theme-toggle span { display:none; }
  .anna-theme .navbar-header .anna-theme-toggle { width:42px; padding:8px; }
  .anna-theme .navbar-header .header-item { padding-left:10px!important; padding-right:10px!important; }
  .anna-theme .table { white-space:nowrap; }
  .anna-theme .user-center_product_grid { grid-template-columns:1fr 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .anna-theme *, .anna-theme *::before, .anna-theme *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
