@charset "UTF-8";
/* ============================================================
   KIZUNA 共通コンポーネント（GD-0003 §3）
   .ds-* 名前空間で Bootstrap(.btn/.card/.alert 等)と衝突させない。
   design-tokens.css を前提（var(--lime) 等）。css/index で tokens の後に読込。
   ============================================================ */

/* ---- ボタン ---- */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:var(--radius-lg);border:2px solid transparent;font-family:var(--font-base);font-weight:800;font-size:16px;cursor:pointer;text-decoration:none;transition:.15s;white-space:nowrap;}
.ds-btn i{font-size:16px;}
.ds-btn-primary{background:var(--lime);color:var(--lime-text);box-shadow:var(--shadow-lime);}
.ds-btn-primary:hover{filter:brightness(.97);color:var(--lime-text);}
.ds-btn-ghost{background:#fff;border-color:#E0E0DC;color:#5F5F5C;}
.ds-btn-ghost:hover{background:#F4F4F0;color:#5F5F5C;}
.ds-btn-danger{background:#fff;border-color:var(--danger);color:var(--danger);}
.ds-btn-danger:hover{background:var(--sun-bg);color:var(--danger);}
.ds-btn-outline{background:#fff;border-color:var(--lime);color:var(--lime-ink);}
.ds-btn-outline:hover{background:var(--lime-soft);color:var(--lime-ink);}
.ds-btn-sm{height:38px;padding:0 14px;font-size:13px;border-radius:var(--radius-sm);}
/* 行内操作ボタン（小・ラベル必須。アイコン単体禁止） */
.ds-actbtn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:var(--radius-sm);border:1.5px solid;font-family:var(--font-base);font-weight:800;font-size:13px;cursor:pointer;text-decoration:none;white-space:nowrap;}
.ds-actbtn i{font-size:14px;}
.ds-actbtn-detail{background:#fff;border-color:#D2E3A6;color:var(--lime-ink);}
.ds-actbtn-detail:hover{background:var(--lime-soft);}
.ds-actbtn-edit{background:var(--lime);border-color:var(--lime);color:var(--lime-text);}
.ds-actbtn-ghost,.ds-actbtn-doc{background:#fff;border-color:#E0E0DC;color:#5F5F5C;}
.ds-actbtn-ghost:hover,.ds-actbtn-doc:hover{background:#F4F4F0;}
.ds-actbtn-danger,.ds-actbtn-stop{background:#fff;border-color:var(--danger);color:var(--danger);}
.ds-actbtn-danger:hover,.ds-actbtn-stop:hover{background:var(--sun-bg);}

/* ---- フォーム部品 ---- */
.ds-field{margin-bottom:20px;}
.ds-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:15px;font-weight:700;color:var(--ink);}
.ds-label i{color:var(--gray);font-size:16px;}
.ds-req{background:var(--lime);color:var(--lime-text);font-size:11px;font-weight:800;padding:2px 8px;border-radius:var(--radius-pill);}
.ds-input,.ds-select,.ds-textarea{width:100%;background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);font-family:var(--font-base);font-size:16px;font-weight:500;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;}
.ds-input,.ds-select{height:54px;padding:0 16px;}
.ds-textarea{min-height:120px;padding:14px 16px;line-height:1.7;resize:vertical;}
.ds-input::placeholder,.ds-textarea::placeholder{color:var(--placeholder);}
.ds-input:focus,.ds-select:focus,.ds-textarea:focus{border-color:var(--lime);box-shadow:0 0 0 4px var(--lime-soft);}
.ds-select-wrap{position:relative;}
.ds-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:46px;cursor:pointer;}
.ds-select-wrap i{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--lime-ink);pointer-events:none;}
/* 日付/時刻（右端にカレンダー/時計アイコン） */
.ds-date-wrap{position:relative;}
.ds-input.ds-date{padding-right:44px;}
.ds-date-wrap .cal{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--lime-ink);pointer-events:none;}
/* チェック / ラジオ（ボックス型） */
.ds-choice{display:flex;flex-wrap:wrap;gap:12px;}
.ds-choice input{display:none;}
.ds-choice label{flex:1 1 auto;min-width:150px;max-width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 20px;border:2px solid var(--border);background:#fff;border-radius:var(--radius-lg);font-size:16px;font-weight:500;line-height:1.4;color:#5C5C59;cursor:pointer;transition:.15s;overflow-wrap:anywhere;word-break:break-word;}
.ds-choice input:checked+label{border-color:var(--lime);background:var(--lime-soft);color:var(--ink);font-weight:700;}
.ds-choice .box{width:24px;height:24px;border-radius:7px;border:2px solid #CBCBC6;background:#fff;position:relative;flex-shrink:0;transition:.15s;}
.ds-choice .box.radio{border-radius:50%;}
.ds-choice input:checked+label .box{border-color:var(--lime-ink);background:var(--lime);}
.ds-choice .box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);opacity:0;transition:opacity .12s;}
.ds-choice .box.radio::after{left:6px;top:6px;width:8px;height:8px;border:none;border-radius:50%;background:var(--ink);}
.ds-choice input:checked+label .box::after{opacity:1;}
/* トグルスイッチ */
.ds-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;color:var(--ink);}
.ds-toggle input{display:none;}
.ds-toggle .track{width:44px;height:25px;border-radius:var(--radius-pill);background:#D8D8D2;position:relative;transition:.15s;flex-shrink:0;}
.ds-toggle .track::after{content:"";position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.15s;}
.ds-toggle input:checked+.track{background:var(--lime);}
.ds-toggle input:checked+.track::after{left:21px;}

/* ---- カード / 見出し ---- */
.ds-card{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-card);overflow:hidden;}
.ds-card-head{display:flex;align-items:center;gap:16px;padding:24px 28px;border-bottom:2px solid #F3F3F0;}
.ds-card-head .ic{width:48px;height:48px;border-radius:14px;background:var(--lime);color:var(--lime-text);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.ds-card-title{font-size:22px;font-weight:800;}
.ds-card-sub{font-size:14px;font-weight:500;color:#8A8A87;}
.ds-card-body{padding:28px;}
.ds-card-foot{display:flex;justify-content:flex-end;gap:14px;padding:20px 28px;border-top:2px solid #F3F3F0;background:#FAFAF8;}

/* ---- リンクリスト（規約・問い合わせ等） ---- */
.ds-link-list{display:flex;flex-direction:column;}
.ds-link-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #F2F2EE;text-decoration:none;color:var(--ink);font-size:15px;font-weight:700;}
.ds-link-item:last-child{border-bottom:none;padding-bottom:0;}
.ds-link-item:first-child{padding-top:0;}
.ds-link-item i{color:#C7C7C1;font-size:13px;}

.ds-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
.ds-page-title{font-size:26px;font-weight:800;}
.ds-page-sub{font-size:14px;font-weight:500;color:#8A8A87;margin-top:4px;}

/* ---- データテーブル ---- */
.ds-table-card{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;}
.ds-table-wrap{overflow-x:auto;}
table.ds-table{width:100%;border-collapse:collapse;}
.ds-table thead th{text-align:left;font-size:12px;font-weight:800;color:#8A8A87;padding:14px 18px;background:#FAFAF8;border-bottom:2px solid #F0F0EC;white-space:nowrap;}
.ds-table tbody td{padding:13px 18px;font-size:14px;font-weight:500;color:var(--ink);border-bottom:1px solid #F2F2EE;vertical-align:middle;}
.ds-table tbody tr:last-child td{border-bottom:none;}
.ds-table tbody tr:hover td{background:#FCFDF4;}
/* ステータスチップ */
.ds-chip{display:inline-flex;align-items:center;gap:4px;height:25px;padding:0 11px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;}
.ds-chip-on{background:#E7F6EC;color:#1F9D57;}
.ds-chip-off{background:#F1F1EC;color:#8A8A87;}
.ds-chip-warn{background:#FDF0DD;color:#C77A18;}
/* ページネーション */
.ds-pager{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-top:2px solid #F0F0EC;flex-wrap:wrap;gap:10px;}
.ds-pager .info{font-size:13px;color:#8A8A87;font-weight:600;}
.ds-pages{display:flex;gap:6px;}
.ds-pg{min-width:38px;height:38px;padding:0 10px;border-radius:11px;border:1.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#5C5C59;cursor:pointer;text-decoration:none;}
.ds-pg.active{background:var(--lime);border-color:var(--lime);color:var(--lime-text);font-weight:800;}
.ds-pg.disabled{opacity:.4;cursor:default;}

/* ---- アラート / フラッシュ ---- */
.ds-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius);border:2px solid;font-size:14px;font-weight:600;line-height:1.5;}
.ds-alert .close{margin-left:auto;cursor:pointer;opacity:.55;background:none;border:none;font-size:16px;color:inherit;}
.ds-alert .close:hover{opacity:1;}
.ds-alert-success{background:#EAF7EE;border-color:#BFE6CC;color:#1F7A45;}
.ds-alert-info{background:#EAF1FB;border-color:#C5D8F2;color:#2A5D9E;}
.ds-alert-warn{background:#FDF3E4;border-color:#F1DBB6;color:#A9741A;}
.ds-alert-error{background:#FCEDED;border-color:#EDCACA;color:#B3453F;}

/* ---- タブ ---- */
.ds-tabs{display:flex;gap:6px;border-bottom:2px solid #EFEFEC;margin-bottom:18px;flex-wrap:wrap;}
.ds-tab{padding:11px 18px;border:none;background:transparent;font-family:var(--font-base);font-size:15px;font-weight:700;color:#8A8A87;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;}
.ds-tab.active{color:var(--ink);font-weight:800;border-bottom-color:var(--lime);}
.ds-tabpanel{display:none;font-size:14px;line-height:1.9;color:#565652;}
.ds-tabpanel.active{display:block;}

/* ---- アコーディオン ---- */
.ds-acc{border:2px solid var(--border-soft);border-radius:var(--radius);overflow:hidden;}
.ds-acc+.ds-acc{margin-top:12px;}
.ds-acc-head{display:flex;align-items:center;gap:11px;padding:16px 18px;cursor:pointer;font-weight:700;font-size:15px;}
.ds-acc-head .tg{margin-left:auto;color:var(--lime-ink);transition:transform .18s;}
.ds-acc.open .ds-acc-head{background:var(--lime-soft);}
.ds-acc.open .ds-acc-head .tg{transform:rotate(180deg);}
.ds-acc-body{display:none;padding:2px 18px 16px 44px;font-size:14px;line-height:1.9;color:#565652;}
.ds-acc.open .ds-acc-body{display:block;}

/* ---- 統計タイル(KPI) ---- */
.ds-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.ds-stat{background:#fff;border:2px solid var(--border-soft);border-radius:var(--radius-lg);padding:20px;}
.ds-stat .top{display:flex;align-items:center;justify-content:space-between;}
.ds-stat .ic{width:46px;height:46px;border-radius:14px;background:var(--lime-soft);color:var(--lime-ink);display:flex;align-items:center;justify-content:center;font-size:22px;}
.ds-stat .num{font-size:30px;font-weight:800;margin-top:15px;}
.ds-stat .lb{font-size:13px;font-weight:600;color:#8A8A87;margin-top:3px;}
@media(max-width:900px){.ds-stat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ds-stat-grid{grid-template-columns:1fr;}}

/* ---- バリデーションエラー表示 ---- */
.ds-error{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:13px;font-weight:700;color:var(--danger);}
.ds-error i{font-size:13px;}
.ds-input.is-error,.ds-select.is-error,.ds-textarea.is-error{border-color:var(--danger);}

/* ---- セクション見出し ---- */
.ds-section-head{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;color:var(--ink);margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--border-soft);}
.ds-section-head i{color:var(--lime-ink);font-size:18px;}

/* ---- 内勤/外勤などのピル ---- */
.ds-pill{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:8px;font-size:11px;font-weight:800;border:1.5px solid;}
.ds-pill-in{background:#fff;border-color:var(--lime);color:var(--ink);}
.ds-pill-out{background:var(--sat-bg);border-color:var(--sat);color:var(--sat);}

/* ---- 統計タイルのトレンド ---- */
.ds-trend{font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:2px;}
.ds-trend i{font-size:12px;}
.ds-trend-up{color:#1F9D57;}
.ds-trend-down{color:var(--danger);}

/* ---- ページ見出しのアクション並び ---- */
.ds-page-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ---- タブをリンク(<a>)でも使えるように ---- */
.ds-tab{text-decoration:none;}
.ds-tab:hover{color:var(--ink);}

/* ---- モーダル(BS4 .modal 上に被せる装飾) ---- */
.ds-modal .modal-content{border:none;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.4);}
.ds-modal .modal-header{border-bottom:2px solid #F3F3F0;}
.ds-modal .modal-footer{border-top:2px solid #F3F3F0;background:#FAFAF8;}
.ds-modal .modal-title{font-weight:800;font-size:18px;color:var(--ink);}

/* ---- 検索・絞り込みツールバー（#135） ---- */
.ds-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px;}
.ds-toolbar .ds-spacer{margin-left:auto;}
/* ツールバー内のインラインフォーム（月を指定して追加 等）。既定の .ds-label/.ds-input は
   縦積みフォーム向けの寸法のため、ツールバー内では ds-btn-sm(38px) に高さをそろえる。 */
.ds-toolbar form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ds-toolbar .ds-label{margin-bottom:0;font-size:14px;font-weight:600;color:#5C5C59;}
.ds-toolbar .ds-input{width:auto;height:38px;padding:0 12px;font-size:14px;border-radius:var(--radius-sm);}
.ds-chkline{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#5C5C59;cursor:pointer;}
.ds-chkline input{width:19px;height:19px;accent-color:var(--lime-ink);cursor:pointer;}

/* ---- かな行アンカーナビ（#135） ---- */
.ds-kana-nav{display:flex;gap:6px;flex-wrap:wrap;}
.ds-kana-nav a{width:40px;height:40px;border-radius:11px;border:1.5px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#5C5C59;text-decoration:none;}
.ds-kana-nav a:hover{border-color:var(--lime);color:var(--lime-ink);background:var(--lime-soft);}

/* ---- 一覧の補助（かな行グループ・氏名2段・行操作・停止行）#135 ---- */
.ds-grp-title{font-size:18px;font-weight:800;margin:24px 0 12px;display:flex;align-items:center;gap:9px;}
.ds-grp-title .cnt{font-size:12px;font-weight:800;color:var(--lime-ink);background:var(--lime-soft);border-radius:var(--radius-pill);padding:2px 10px;}
.ds-backtop{text-align:right;margin-top:8px;}
.ds-backtop a{font-size:13px;font-weight:700;color:#8A8A87;text-decoration:none;}
.ds-nm{display:flex;flex-direction:column;}
.ds-nm .name{font-weight:700;color:var(--ink);}
.ds-nm .kana{font-size:12px;color:#9A9A97;margin-top:1px;}
.ds-rowact{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.ds-muted{color:#9A9A97;}
.ds-table td.ds-id{color:#A6A6A2;font-weight:700;font-variant-numeric:tabular-nums;}
.ds-table tbody tr.stopped td{background:#F7F7F4;color:#A6A6A2;}
.ds-table tbody tr.stopped .ds-nm .name{color:#A6A6A2;}
.ds-table tbody tr.stopped:hover td{background:#F4F4F0;}

/* ---- パンくず（#132） ---- */
.ds-crumb{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:#9A9A97;flex-wrap:wrap;}
.ds-crumb a{color:var(--cream-ink);text-decoration:none;}
.ds-crumb a:hover{color:var(--ink);}
.ds-crumb .sep{color:#C6C6C1;}

/* ---- 空状態 ---- */
.ds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;}
.ds-empty i{font-size:40px;color:#C7C7C1;}
.ds-empty-msg{font-size:15px;font-weight:700;color:#8A8A87;}
.ds-empty-action{margin-top:4px;}

/* ---- 認証(ログイン)画面: サイドバー無しの中央シェル ---- */
.ds-auth{min-height:100vh;width:100%;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--page);}
.ds-auth-card{width:100%;max-width:420px;background:#fff;border:2px solid var(--border-soft);border-radius:24px;padding:40px 34px;box-shadow:0 20px 50px -24px rgba(40,40,30,.25);}
.ds-auth-head{text-align:center;margin-bottom:28px;}
.ds-auth-logo{width:64px;height:64px;border-radius:20px;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;margin:0 auto 14px;}
.ds-auth-title{font-size:24px;font-weight:800;color:var(--ink);}
.ds-auth-sub{font-size:14px;font-weight:500;color:var(--gray);margin-top:4px;}
.ds-auth-link{font-size:13px;font-weight:700;color:var(--lime-ink);text-decoration:none;}
.ds-auth-link:hover{color:var(--ink);}
.ds-auth .ds-btn.w-100{width:100%;}
/* ログイン区分の切替リンク（フォーム下） */
.ds-auth-switch{margin-top:26px;padding-top:22px;border-top:1px solid var(--border-soft);text-align:center;}
.ds-auth-switch-label{font-size:12px;font-weight:700;color:var(--placeholder);margin-bottom:12px;}
.ds-auth-switch-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.ds-auth-switch-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--cream-ink);text-decoration:none;padding:7px 12px;border:1.5px solid var(--border);border-radius:10px;background:#fff;}
.ds-auth-switch-link:hover{border-color:var(--lime);color:var(--lime-ink);background:var(--lime-soft);}

/* ---- アプリシェル（レイアウト・#132クリームサイドバー） ---- */
.ds-app{display:flex;min-height:100vh;background:var(--page);width:100%;flex:1 1 auto;min-width:0;}
.ds-sidebar{width:262px;flex-shrink:0;background:var(--cream);border-right:2px solid var(--cream-line);display:flex;flex-direction:column;padding:22px 15px;gap:5px;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;}
.ds-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 18px;border-bottom:1px solid rgba(32,31,32,.1);margin-bottom:12px;}
.ds-brand-logo{width:44px;height:44px;border-radius:14px;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0;}
.ds-brand-txt{display:flex;flex-direction:column;min-width:0;}
.ds-brand-office{font-size:13px;font-weight:500;color:var(--cream-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ds-brand-name{font-size:16px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ds-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.ds-topbar{height:70px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:2px solid #EDEDE9;}
.ds-topbar-left{display:flex;align-items:center;gap:16px;}
.ds-topbar-right{display:flex;align-items:center;gap:12px;}
.ds-menu{border:none;background:transparent;font-size:22px;color:var(--ink);cursor:pointer;padding:6px;line-height:1;}
.ds-crumb-top{font-size:15px;font-weight:600;color:#6E6E6B;}
.ds-icon-btn{width:40px;height:40px;border-radius:12px;background:#F2F2EE;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray);font-size:18px;}
.ds-content{padding:24px;flex:1;min-width:0;}
.ds-backdrop{display:none;position:fixed;inset:0;background:rgba(20,20,18,.38);z-index:40;}
@media (min-width:901px){ .ds-app.nav-collapsed .ds-sidebar{display:none;} }
@media (max-width:900px){
  .ds-sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-100%);transition:transform .22s ease;z-index:50;box-shadow:8px 0 24px -10px rgba(0,0,0,.35);}
  .ds-app.nav-collapsed .ds-sidebar{transform:translateX(0);}
  .ds-app.nav-collapsed .ds-backdrop{display:block;}
  .ds-topbar{height:60px;padding:0 16px;}
  .ds-content{padding:16px 14px;}
}
/* 印刷時はシェルを消す。帳票プレビュー(layouts/pdf)は print-color-adjust:exact を効かせて
   いるため、.ds-app の地色(--page)がそのまま紙に出てしまう。印刷時だけ白に戻す。 */
@media print{ .ds-sidebar,.ds-topbar,.ds-backdrop{display:none !important;} .ds-content{padding:0;} .ds-app{background:#fff;} }
.ds-nav-logout{margin-top:auto;color:#918D82;}

/* ---- サイドバー項目／サブメニュー（#132・クリームサイドバー） ---- */
.ds-nav-item{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;color:var(--cream-ink);font-size:15px;font-weight:500;text-decoration:none;transition:background .15s;cursor:pointer;}
.ds-nav-item:hover{background:rgba(32,31,32,.05);color:var(--ink);}
.ds-nav-item.active{background:var(--lime);color:var(--lime-text);font-weight:800;box-shadow:0 6px 14px -6px rgba(206,220,0,.9);}
.ds-nav-item > i:first-child{font-size:19px;width:22px;text-align:center;}
.ds-nav-item .chev{margin-left:auto;font-size:14px;color:#B3AF9E;transition:transform .18s;}
.ds-nav-group.open > .ds-nav-item .chev{transform:rotate(90deg);}
.ds-submenu{display:none;flex-direction:column;gap:2px;padding:4px 0;margin:2px 0 4px 20px;border-left:2px solid var(--cream-line);}
.ds-nav-group.open .ds-submenu{display:flex;}
.ds-sub-item{display:flex;align-items:center;gap:11px;padding:9px 14px;border-radius:10px;color:var(--cream-ink);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;}
.ds-sub-item:hover,.ds-sub-item.active{background:rgba(32,31,32,.05);color:var(--ink);}
.ds-sub-item > i:first-child{font-size:15px;width:18px;text-align:center;}
