/* Unified right rail + top-right action bar. Loaded last so it wins over min.css/custom.css. */
:root { --rail-w: 220px; }
@media (max-width: 1440px) { :root { --rail-w: 12.5rem; } }
@media (max-width: 1024px) { :root { --rail-w: 11.875rem; } }
@media (max-width: 980px) { :root { --rail-w: 11.25rem; } }

/* --- right rail container --- */
.sidebar { background: #fcfdfd; box-shadow: -2px 0 14px rgba(24, 60, 44, .045); }
.sidebar .sidebar-int { height: 100%; }
.rail {
    height: 100%; box-sizing: border-box; overflow-y: auto; scrollbar-width: thin;
    padding: 26px 14px 28px;
}
.rail-box { margin: 0 0 22px; }
.rail-title {
    margin: 0 0 9px; padding-left: 9px; border-left: 3px solid #28a745;
    font-size: .875rem; font-weight: 700; line-height: 1.25; color: #333;
}
.rail-input, .rail-note {
    width: 100%; box-sizing: border-box; border: 1px solid #dfe6e1; border-radius: 6px;
    background: #fff; color: #333; font-family: inherit; font-size: .8125rem;
    transition: border-color .18s, box-shadow .18s;
}
.rail-input { padding: 8px 10px; }
.rail-note { min-height: 152px; padding: 9px 10px; line-height: 1.65; resize: vertical; }
.rail-input:focus, .rail-note:focus {
    outline: 0; border-color: #28a745; box-shadow: 0 0 0 3px rgba(40, 167, 69, .10);
}
.rail-btn {
    width: 100%; margin-top: 8px; padding: 8px 10px; border: 0; border-radius: 6px;
    background: #28a745; color: #fff; font-family: inherit; font-size: .8125rem;
    font-weight: 700; letter-spacing: .03em; cursor: pointer;
    transition: background .18s, transform .18s, box-shadow .18s;
}
.rail-btn:hover { background: #218b39; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(40, 167, 69, .22); }
.rail-count { display: block; min-height: 14px; padding-top: 5px; font-size: .6875rem; color: #6b8b7c; }
.rail-hint { margin: 7px 0 0; font-size: .6875rem; line-height: 1.65; color: #999; }

/* --- date card --- */
.wawa-date.rail-date {
    position: static; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 5px; max-width: none; margin: 0 0 22px; padding: 16px 8px;
    border: 1px dashed #f0a83c; border-radius: 10px;
    background: linear-gradient(180deg, #fffaf0 0%, #fff4e2 100%);
    box-shadow: 0 3px 12px rgba(240, 168, 60, .10);
    color: #b56a00; text-align: center; font-size: .8125rem;
}
.rail-date-y { font-size: .9375rem; font-weight: 700; letter-spacing: .02em; }
.rail-date-w { font-size: .875rem; font-weight: 700; }
.rail-date-l { font-size: .8125rem; color: #c07b12; }

/* --- top-right action bar --- */
.page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.tool-title > .page-actions { float: right; max-width: 72%; justify-content: flex-end; }
.tool-title > .page-actions + p { clear: both; }
.content-body > .page-actions { justify-content: flex-end; margin: 0 0 12px; }
.page-actions .pa-cate {
    padding: 4px 11px; border: 1px solid #28a745; border-radius: 999px;
    background: #f3fbf5; color: #20913b; font-size: .75rem; font-weight: 700; white-space: nowrap;
}
.page-actions .pa-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 5px 10px; border: 1px solid #dfe6e1; border-radius: 5px;
    background: #fff; color: #555; font-family: inherit; font-size: .75rem; line-height: 1.45;
    white-space: nowrap; text-decoration: none; cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .035);
    transition: border-color .18s, color .18s, background .18s, transform .18s, box-shadow .18s;
}
.page-actions .pa-btn:hover {
    border-color: #28a745; color: #20913b; transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(40, 167, 69, .14);
}
.page-actions .pa-btn.on { border-color: #28a745; background: #f3fbf5; color: #20913b; }
.page-actions .pa-like.on { border-color: #e0607a; background: #fff3f6; color: #c33a5c; }

/* --- desktop: search lives in the rail, dock/panel sit beside it --- */
@media (min-width: 769px) {
    .header .menu .nav-search { display: none; }
    .wawa-dock { right: calc(var(--rail-w) + 12px); }
    .wawa-panel { right: calc(var(--rail-w) + 12px); }
    body:not(.with-sidebar) .wawa-dock,
    body:not(.with-sidebar) .wawa-panel { right: 10px; }
}
@media (max-width: 768px) {
    .sidebar, .rail { display: none !important; }
    .tool-title > .page-actions, .content-body > .page-actions {
        float: none; clear: both; width: 100%; max-width: 100%;
        justify-content: flex-start; margin: 8px 0 10px;
    }
    .page-actions .pa-btn { min-height: 36px; padding: 7px 11px; font-size: .8125rem; }
    .page-actions .pa-cate { padding: 6px 12px; font-size: .8125rem; }
}

/* --- dark theme --- */
body.dark .sidebar { background: #1b2226; box-shadow: -2px 0 14px rgba(0, 0, 0, .25); }
body.dark .rail-title { color: #d8e2e6; }
body.dark .rail-input, body.dark .rail-note { background: #232a2e; border-color: #3b464c; color: #d8e2e6; }
body.dark .rail-count, body.dark .rail-hint { color: #9fb0b7; }
body.dark .wawa-date.rail-date {
    background: linear-gradient(180deg, #2b2620 0%, #332a1d 100%);
    border-color: #a97b32; color: #f0c274; box-shadow: none;
}
body.dark .rail-date-l { color: #e0ad57; }
body.dark .page-actions .pa-btn,
body.dark .page-actions .pa-cate { background: #232a2e; border-color: #3b464c; color: #cfe0e6; }
body.dark .page-actions .pa-cate { border-color: #3f7a52; color: #7ee29a; }
body.dark .page-actions .pa-btn.on { border-color: #3f7a52; color: #7ee29a; }
body.dark .page-actions .pa-like.on { border-color: #a34860; color: #f3a2b6; }

/* === scroll windows: favorites panel + recently used tools === */
.wawa-window {
    height: 190px; box-sizing: border-box; overflow-y: auto; overflow-x: hidden;
    padding-right: 4px; scrollbar-width: thin; scrollbar-color: #b9d8c4 transparent;
}
.wawa-window::-webkit-scrollbar, .rail-scroll::-webkit-scrollbar { width: 6px; }
.wawa-window::-webkit-scrollbar-track, .rail-scroll::-webkit-scrollbar-track { background: transparent; }
.wawa-window::-webkit-scrollbar-thumb, .rail-scroll::-webkit-scrollbar-thumb {
    background: #b9d8c4; border-radius: 6px;
}
.rail-box:last-child { margin-bottom: 8px; }
.rail-scroll {
    height: 150px; box-sizing: border-box; overflow-y: auto; overflow-x: hidden;
    padding: 4px 7px; border: 1px solid #dfe6e1; border-radius: 6px; background: #fff;
    scrollbar-width: thin; scrollbar-color: #b9d8c4 transparent;
}
.rail-list { list-style: none; margin: 0; padding: 0; }
.rail-list li {
    padding: 5px 2px; border-bottom: 1px dashed #e7eee9;
    font-size: .75rem; line-height: 1.45; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rail-list li:last-child { border-bottom: 0; }
.rail-list a { color: #2b7a43; text-decoration: none; }
.rail-list a:hover { color: #28a745; text-decoration: underline; }
.rail-list .rail-empty { color: #999; border-bottom: 0; }
body.dark .rail-scroll { background: #1d2428; border-color: #3b464c; }
body.dark .rail-list li { border-bottom-color: #354147; }
body.dark .rail-list a { color: #7ee29a; }
body.dark .rail-list .rail-empty { color: #9fb0b7; }
body.dark .wawa-window, body.dark .rail-scroll { scrollbar-color: #4c6b58 transparent; }
body.dark .wawa-window::-webkit-scrollbar-thumb,
body.dark .rail-scroll::-webkit-scrollbar-thumb { background: #4c6b58; }
body.dark .wawa-list li { border-bottom-color: #354147; }
body.dark .wawa-list a { color: #7ee29a; }
body.dark .wawa-list button, body.dark .wawa-hint { color: #9fb0b7; }
body.dark .wawa-panel-head { border-bottom-color: #354147; }

/* === dark theme: full page coverage === */
body.dark, body.dark .content, body.dark .footer { background: #12181c; color: #d8e2e6; }
body.dark .footer-nav, body.dark .footer-text, body.dark .footer-box,
body.dark .footer p, body.dark .aboutme, body.dark .tool-info p,
body.dark .tips, body.dark .tool-card-dd { color: #9fb0b7; }
body.dark .footer-nav, body.dark .footer-text { border-color: #354147; }
body.dark .footer a, body.dark .footer-nav a, body.dark .aboutme a { color: #7ee29a; }
body.dark .tool-info pre { background: #1d2428; color: #cfe0e6; }
body.dark .tool-card, body.dark .wwa-card, body.dark .mBody,
body.dark .result-box, body.dark .calc-page .calc-panel,
body.dark .tqhd-page .tqhd-panel, body.dark .tax-page .tax-card {
    background: #232a2e; border-color: #3b464c; color: #d8e2e6;
}
body.dark .address-item { border-bottom-color: #354147; }
body.dark .input-group input, body.dark .input-group select, body.dark .input-group textarea,
body.dark .form-input, body.dark .form-group input, body.dark .form-group textarea,
body.dark .form-group select, body.dark .calc-page .calc-extra-row input,
body.dark .calc-page .calc-extra-row select, body.dark .tqhd-page .tqhd-plan-row input,
body.dark .tqhd-page .tqhd-plan-row select, body.dark .tax-page .tax-field input,
body.dark .tax-page input, body.dark .tax-page select, body.dark .tax-page textarea,
body.dark .mBody input, body.dark .mBody textarea, body.dark .mBody select,
body.dark .wawa-note, body.dark .home-page .home-search-input,
body.dark .calc-page input, body.dark .calc-page select, body.dark .calc-page textarea,
body.dark .tool-page .t-input, body.dark .tool-page .t-area {
    background: #232a2e; border-color: #3b464c; color: #d8e2e6;
}
body.dark .btn:not(.btn-success):not(.btn-warning):not(.btn-info):not(.btn-error),
body.dark .btn.btn-default, body.dark .tax-page .tax-actions button,
body.dark .tool-page .tool-btn {
    background: #2b353a; border-color: #3b464c; color: #d8e2e6;
}
body.dark .btn:not(.btn-success):not(.btn-warning):not(.btn-info):not(.btn-error):hover,
body.dark .btn:not(.btn-success):not(.btn-warning):not(.btn-info):not(.btn-error):focus,
body.dark .btn:not(.btn-success):not(.btn-warning):not(.btn-info):not(.btn-error):active {
    background: #35454c; border-color: #4d6068; color: #e6eef1;
}
body.dark .table td, body.dark .table thead th,
body.dark .table-bordered td, body.dark .table-bordered th,
body.dark .calc-page table td, body.dark .calc-page table th,
body.dark .tqhd-page table td, body.dark .tqhd-page table th,
body.dark .tax-page .tax-table td, body.dark .tax-page .tax-table th,
body.dark .tool-page .t-table td, body.dark .tool-page .t-table th {
    background: #232a2e; border-color: #3b464c; color: #d8e2e6;
}
body.dark .table tbody tr:hover td { background: #2b353a; }
body.dark .calc-page .calc-stat, body.dark .tqhd-page .tqhd-stat,
body.dark .tqhd-page .tqhd-scene, body.dark .tqhd-page .tqhd-plan-row,
body.dark .tqhd-page .tqhd-faq details, body.dark .tqhd-page .tqhd-faq summary,
body.dark .tax-page .tax-metric, body.dark .tax-page .tax-warn,
body.dark .tax-page .tax-result-hero, body.dark .tax-page .tax-result-hero.is-pay,
body.dark .tax-page .tax-result-hero.is-none, body.dark .tax-page .tax-doc,
body.dark .tax-page .tax-doc .tax-formula, body.dark .tax-page .tax-doc .tax-scene,
body.dark .tax-page .tax-doc .tax-faq details {
    background: #263038; border-color: #3b464c; color: #d8e2e6;
}
body.dark .calc-page .calc-panel-title, body.dark .calc-page .calc-extra-title,
body.dark .calc-page .calc-stat .v, body.dark .tqhd-page .tqhd-panel-title,
body.dark .tqhd-page .tqhd-stat .v, body.dark .tax-page .tax-card-head h2,
body.dark .tax-page .tax-metric-value, body.dark .tax-page .tax-doc h2,
body.dark .tax-page .tax-doc .tax-scene h3, body.dark .tool-info h3,
body.dark .tool-info h5 { color: #e6eef1; }
body.dark .tax-page .tax-table tbody tr:nth-child(even) { background: #232a2e; }
body.dark .tqhd-page .tqhd-dtl thead th { background: #263038; }
body.dark .tqhd-page .tqhd-dtl tr.tqhd-pre td { background: #3a3222; color: #f0c274; }
body.dark .tqhd-page .tqhd-dtl tr.tqhd-pre:hover td { background: #453a26; }
body.dark .calc-page .calc-scroll, body.dark .tqhd-page .tqhd-tbl-wrap { border-color: #3b464c; }
body.dark .calc-page .calc-field label, body.dark .calc-page .calc-extra-row,
body.dark .tqhd-page .tqhd-steps li, body.dark .tax-page .tax-field label,
body.dark .tax-page .tax-doc p, body.dark .tax-page .tax-doc .tax-scene p { color: #b6c5cc; }

