/* ============================================================
   Bootstrap 主題覆寫 → 墨綠香檳金 Emerald Champagne
   依 docs/wiki/ui-ux/色彩規範.md 對齊;業務語意 token 仍由
   wwwroot/css/beef/tokens.css 提供。本檔負責把 Bootstrap
   原生元件 (btn/link/body/border/focus ring/…) 改為主題色。
   ============================================================ */
:root,
[data-bs-theme="light"] {
    /* 字體:對齊 BeefSoup 設計系統 (tokens.css) */
    --bs-body-font-family: var(--beef-font-sans);
    --bs-font-monospace:   var(--beef-font-mono);

    /* 主色:墨綠 / 副色:香檳金 / 狀態色對齊 §5 */
    --bs-primary:        #0F3D2E;
    --bs-primary-rgb:    15, 61, 46;
    --bs-primary-text-emphasis:  #051E16;
    --bs-primary-bg-subtle:      #D5E5DC;
    --bs-primary-border-subtle:  #A8C8B5;

    --bs-secondary:      #C8A85A;
    --bs-secondary-rgb:  200, 168, 90;
    --bs-secondary-color:        #3D3A36;
    --bs-secondary-text-emphasis:#735E2A;
    --bs-secondary-bg-subtle:    #F5EBC8;
    --bs-secondary-border-subtle:#DFC476;

    --bs-success:        #15803D;
    --bs-success-rgb:    21, 128, 61;
    --bs-success-bg-subtle:     #D9F0E0;
    --bs-success-border-subtle: #A7D7B6;

    --bs-danger:         #B91C1C;
    --bs-danger-rgb:     185, 28, 28;
    --bs-danger-bg-subtle:      #F0D9D9;
    --bs-danger-border-subtle:  #E3B5B5;

    --bs-warning:        #92400E;
    --bs-warning-rgb:    146, 64, 14;
    --bs-warning-bg-subtle:     #FDE7C7;
    --bs-warning-border-subtle: #F5C893;

    --bs-info:           #0E7490;
    --bs-info-rgb:       14, 116, 144;
    --bs-info-bg-subtle:        #D0EBEE;
    --bs-info-border-subtle:    #A8D5DA;

    /* 表面 / 文字 / 邊框 */
    --bs-body-bg:        #FAFAF9;
    --bs-body-bg-rgb:    250, 250, 249;
    --bs-body-color:     #1C1917;
    --bs-body-color-rgb: 28, 25, 23;
    --bs-emphasis-color: #1C1917;
    --bs-tertiary-bg:    #F0F3F1;
    --bs-tertiary-color: #7A766F;
    --bs-border-color:           rgba(15, 61, 46, 0.18);
    --bs-border-color-translucent: rgba(15, 61, 46, 0.10);

    /* 連結 */
    --bs-link-color:           #0F3D2E;
    --bs-link-color-rgb:       15, 61, 46;
    --bs-link-hover-color:     #0A2E22;
    --bs-link-hover-color-rgb: 10, 46, 34;
}

/* === 元件層覆寫(Bootstrap 5.3 在 .btn-* 等元件硬編 hex) === */
.btn-primary {
    --bs-btn-color:              #FFFFFF;
    --bs-btn-bg:                 #0F3D2E;
    --bs-btn-border-color:       #0F3D2E;
    --bs-btn-hover-color:        #FFFFFF;
    --bs-btn-hover-bg:           #0A2E22;
    --bs-btn-hover-border-color: #0A2E22;
    --bs-btn-focus-shadow-rgb:   15, 61, 46;
    --bs-btn-active-color:       #FFFFFF;
    --bs-btn-active-bg:          #051E16;
    --bs-btn-active-border-color:#051E16;
    --bs-btn-disabled-color:     #FFFFFF;
    --bs-btn-disabled-bg:        #0F3D2E;
    --bs-btn-disabled-border-color: #0F3D2E;
}

.btn-outline-primary {
    --bs-btn-color:              #0F3D2E;
    --bs-btn-border-color:       #0F3D2E;
    --bs-btn-hover-color:        #FFFFFF;
    --bs-btn-hover-bg:           #0F3D2E;
    --bs-btn-hover-border-color: #0F3D2E;
    --bs-btn-focus-shadow-rgb:   15, 61, 46;
    --bs-btn-active-color:       #FFFFFF;
    --bs-btn-active-bg:          #0A2E22;
    --bs-btn-active-border-color:#0A2E22;
    --bs-btn-disabled-color:     #0F3D2E;
    --bs-btn-disabled-border-color: #0F3D2E;
    --bs-gradient: none;
}

/* 香檳金按鈕:金底必配墨黑字 (色彩規範 §3.1) */
.btn-secondary {
    --bs-btn-color:              #1C1917;
    --bs-btn-bg:                 #C8A85A;
    --bs-btn-border-color:       #C8A85A;
    --bs-btn-hover-color:        #1C1917;
    --bs-btn-hover-bg:           #B0904B;
    --bs-btn-hover-border-color: #B0904B;
    --bs-btn-focus-shadow-rgb:   200, 168, 90;
    --bs-btn-active-color:       #1C1917;
    --bs-btn-active-bg:          #917838;
    --bs-btn-active-border-color:#917838;
    --bs-btn-disabled-color:     #1C1917;
    --bs-btn-disabled-bg:        #C8A85A;
    --bs-btn-disabled-border-color: #C8A85A;
}

.btn-outline-secondary {
    --bs-btn-color:              #735E2A;
    --bs-btn-border-color:       #DFC476;
    --bs-btn-hover-color:        #1C1917;
    --bs-btn-hover-bg:           #C8A85A;
    --bs-btn-hover-border-color: #C8A85A;
    --bs-btn-focus-shadow-rgb:   200, 168, 90;
    --bs-btn-active-color:       #1C1917;
    --bs-btn-active-bg:          #B0904B;
    --bs-btn-active-border-color:#B0904B;
    --bs-btn-disabled-color:     #735E2A;
    --bs-btn-disabled-border-color: #DFC476;
}

.btn-success {
    --bs-btn-bg:           #15803D;
    --bs-btn-border-color: #15803D;
    --bs-btn-hover-bg:           #136E36;
    --bs-btn-hover-border-color: #136E36;
    --bs-btn-active-bg:          #0F5C2C;
    --bs-btn-active-border-color:#0F5C2C;
    --bs-btn-focus-shadow-rgb:   21, 128, 61;
}
.btn-danger {
    --bs-btn-bg:           #B91C1C;
    --bs-btn-border-color: #B91C1C;
    --bs-btn-hover-bg:           #9F1818;
    --bs-btn-hover-border-color: #9F1818;
    --bs-btn-active-bg:          #7F1313;
    --bs-btn-active-border-color:#7F1313;
    --bs-btn-focus-shadow-rgb:   185, 28, 28;
}
.btn-warning {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg:    #92400E;
    --bs-btn-border-color: #92400E;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg:    #7A360B;
    --bs-btn-hover-border-color: #7A360B;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg:    #5C2810;
    --bs-btn-active-border-color: #5C2810;
    --bs-btn-focus-shadow-rgb: 146, 64, 14;
}
.btn-info {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg:    #0E7490;
    --bs-btn-border-color: #0E7490;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg:    #0B5F76;
    --bs-btn-hover-border-color: #0B5F76;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg:    #094D60;
    --bs-btn-active-border-color: #094D60;
    --bs-btn-focus-shadow-rgb: 14, 116, 144;
}

/* === 全域 focus ring 改為墨綠(§7 Focus) === */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem #FFFFFF, 0 0 0 0.25rem rgba(15, 61, 46, 0.40);
    border-color: #0F3D2E;
}

/* === 表單欄位 placeholder 行為(原樣保留) === */
.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}
.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* === Layout 基礎 ===
   Tabler 的 .page 自帶 min-height: 100vh + flex column,
   不要再加 html { position: relative; min-height: 100% } 或 body { margin-bottom: 60px },
   否則會與 .page 排版打架,造成 footer 蓋到內容或底部多 60px 空白。 */
html {
    font-size: 14px;
}
@media (min-width: 768px) {
    html { font-size: 16px; }
}
body {
    font-family: var(--beef-font-sans);
}


/* ============================================================
   側欄(navbar-vertical)視覺強化
   呼應登入頁 auth-brand 的氛圍:漸層 + 香檳金光暈 + 裝飾豬豬
   ============================================================ */
.navbar-vertical {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 12%, rgba(200, 168, 90, 0.22) 0%, transparent 55%),
        radial-gradient(circle at 10% 90%, rgba(124, 170, 142, 0.10) 0%, transparent 60%),
        linear-gradient(180deg, var(--beef-primary-700) 0%, var(--beef-primary) 55%, var(--beef-primary-800) 100%) !important;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.04);
}

/* 細微 SVG noise 紋理(與登入頁同手法) */
.navbar-vertical::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    opacity: 0.55;
    pointer-events: none;
    z-index: 0;
}

/* 底部裝飾豬豬(實際 <i class="ti ti-pig"> 元素,避免 unicode 對應問題) */
.sidebar-deco {
    position: absolute;
    right: -32px;
    bottom: -40px;
    font-size: 200px;
    line-height: 1;
    color: var(--beef-secondary);
    opacity: 0.10;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* 確保所有實際內容浮在裝飾層之上 */
.navbar-vertical > .container-fluid,
.navbar-vertical .navbar-brand,
.navbar-vertical .navbar-nav,
.navbar-vertical .collapse {
    position: relative;
    z-index: 1;
}

/* 品牌列(LOGO + 標題)——加上香檳金分隔線 */
.navbar-vertical .navbar-brand {
    padding: 18px 8px 18px 4px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(200, 168, 90, 0.18);
}

.navbar-vertical .navbar-brand a {
    gap: 12px !important;
}

/* 側欄 LOGO 占位 */
.sidebar-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--beef-radius-md);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16) 0%, rgba(200, 168, 90, 0.22) 100%);
    color: var(--beef-secondary);
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(6px);
}
.sidebar-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 系統名稱字級稍微強化 */
.navbar-vertical .navbar-brand .beef-title {
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* 版本 badge —— 灰色銘牌風(內凹質感) */
.sidebar-version-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--beef-radius-sm);
    background-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.72);
    font-family: var(--beef-font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.4;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18);
    text-transform: lowercase;
}

/* ------------------------------------------------------------
   Menu 項目:hover / active 視覺升級
   ------------------------------------------------------------ */
.navbar-vertical .nav-link {
    border-radius: var(--beef-radius-md);
    margin: 2px 6px;
    padding: 10px 12px;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.navbar-vertical .nav-link:hover {
    background-color: rgba(200, 168, 90, 0.16);
    transform: translateX(2px);
}

.navbar-vertical .nav-link.active {
    background:
        linear-gradient(90deg, rgba(200, 168, 90, 0.26) 0%, rgba(200, 168, 90, 0.10) 100%);
    color: var(--beef-on-primary);
    box-shadow: inset 0 0 0 1px rgba(200, 168, 90, 0.32);
}

/* active 項目的香檳金左側強調條(覆寫 Tabler 預設 ::before) */
.navbar-vertical .nav-link.active::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 2px;
    background-color: var(--beef-secondary) !important;
    box-shadow: 0 0 8px rgba(200, 168, 90, 0.55);
}

.navbar-vertical .nav-link-icon {
    color: rgba(255, 255, 255, 0.72);
    transition: color 0.18s ease;
}
.navbar-vertical .nav-link:hover .nav-link-icon,
.navbar-vertical .nav-link.active .nav-link-icon {
    color: var(--beef-secondary);
}

/* 「未實作」項目維持低調 */
.navbar-vertical .nav-link.disabled {
    opacity: 0.45;
}
.navbar-vertical .nav-link.disabled:hover {
    background-color: transparent;
    transform: none;
}

/* ====== 化身中 banner(老闆視角下鑽進某廠時的頂部提示) ====== */
.impersonation-banner {
    background-color: var(--beef-accent-100);
    border-bottom: 1px solid var(--beef-secondary-border);
    color: var(--beef-text-high);
}
.impersonation-banner .ti-user-shield {
    color: var(--beef-accent-700);
    font-size: 1.25rem;
}
