/* Shared product layer. Existing page layouts and theme preferences stay in charge. */
:root { --radius:14px; --radius-sm:9px; --shadow-sm:0 2px 8px rgba(25,52,36,.04); }
body { -webkit-font-smoothing:antialiased; }
:is(button,a,input,textarea,select,[tabindex]):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
button,input,select,textarea { font:inherit; }
.btn { min-height:36px; font-weight:600; }
.input { min-height:42px; }
.card { border:1px solid var(--border); box-shadow:var(--shadow-sm); }
.table-wrap { overscroll-behavior-inline:contain; }
th { font-weight:650; }
tbody tr:hover { background:color-mix(in srgb,var(--accent) 4%,var(--surface)); }
.eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:.16em; color:var(--accent-d); margin-bottom:12px; }
.skip-link { position:fixed; left:16px; top:-100px; background:var(--surface); color:var(--text-1); padding:12px 18px; z-index:100000; border:2px solid var(--accent); border-radius:8px; }
.skip-link:focus { top:12px; }
.sidebar-v2 { width:224px; min-width:224px; background:var(--surface); }
.sidebar-v2-brand { padding:28px 18px 23px; gap:12px; }
.sidebar-v2-logo { width:36px; height:36px; border-radius:11px; font-size:13px; background:#195835; }
.sidebar-v2-brand-name { font-size:14px; }
.sidebar-v2-brand-sub { font-size:10px; color:var(--text-3); letter-spacing:.08em; }
.sidebar-v2-nav { padding:12px 10px; }
.sidebar-v2-item { min-height:43px; padding:7px 10px; margin-bottom:4px; font-weight:500; }
.sidebar-v2-item.active { font-weight:650; box-shadow:inset 3px 0 var(--accent); }
.sv2-icon { background:transparent; }
.sv2-icon svg { width:18px; height:18px; }
.sidebar-v2-footer { padding:12px; }
.cp-trigger { font-family:var(--font); text-align:left; width:calc(100% - 24px); margin:16px 12px 4px; min-height:40px; }
.topbar-v2,.tab-bar { background:var(--surface); }
.mobile-search { width:40px; height:40px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); color:var(--text-1); font-size:28px; }
.connection-state { position:fixed; top:12px; left:50%; transform:translateX(-50%); max-width:90vw; padding:10px 16px; border:1px solid #93652d; border-radius:10px; background:#fff5df; color:#65400f; z-index:10001; font-size:12px; }
.mob-sg-sheet:not(.open) { visibility:hidden; }
.mob-sg-sheet.full-menu { max-height:85dvh; overflow-y:auto; padding:24px 20px calc(24px + env(safe-area-inset-bottom)); }
.full-menu-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.full-menu-head h2 { font-size:23px; letter-spacing:-.03em; margin:0; }
.full-menu-head .eyebrow { margin-bottom:6px; }
.full-menu-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.full-menu-link { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:50px; padding:12px; color:var(--text-2); background:var(--surface-2); border:1px solid var(--border); border-radius:10px; text-decoration:none; font-size:13px; }
.full-menu-link.active { background:var(--accent-l); color:var(--accent-d); border-color:var(--accent); }
.full-menu-link span { color:var(--text-3); }
.export-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:24px; }
.dossier-mobile-list { display:none; }
.dossier-mobile-card { display:block; padding:18px; border:1px solid var(--border); background:var(--surface); border-radius:12px; color:var(--text-1); text-decoration:none; }
.dossier-mobile-top,.dossier-mobile-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.dossier-mobile-ref { color:var(--text-3); font-size:11px; letter-spacing:.05em; }
.dossier-mobile-card h2 { margin:12px 0 5px; font-size:18px; letter-spacing:-.02em; }
.dossier-mobile-card p { color:var(--text-3); font-size:12px; line-height:1.6; margin:0 0 18px; }
.dossier-mobile-bottom { font-size:11px; color:var(--text-3); margin-bottom:9px; }
.dossier-mobile-bottom strong { color:var(--accent); margin-left:auto; }

/* Daily workspace */
#db-root { max-width:1200px; padding:18px 8px 150px; }
.db-head { padding-bottom:26px; border-bottom:1px solid var(--border); margin-bottom:26px; align-items:center; }
.db-date { text-transform:uppercase; font-size:10px; letter-spacing:.12em; color:var(--text-3); margin-bottom:10px; }
.db-greeting { font-size:34px; letter-spacing:-.045em; font-weight:700; margin:0; }
.db-intro { color:var(--text-3); font-size:13px; margin:10px 0 0; }
.db-qbtn { height:40px; border:1px solid var(--border); background:var(--surface); border-radius:9px; }
.db-qbtn.primary { border-color:var(--accent); background:var(--accent); }
.db-top { grid-template-columns:1.65fr 1fr 1fr; gap:16px; margin-bottom:30px; }
.db-ring-card { background:#195835; border-radius:14px; box-shadow:none; gap:16px; min-height:146px; padding:22px; flex-wrap:wrap; }
.db-ring-card::after { display:none; }
.db-ring-title { font-size:23px; }
.db-ring-go { height:36px; padding:0 12px; }
.db-kpi { border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-sm); padding:20px; }
.db-kpi-val { font-size:34px; font-variant-numeric:tabular-nums; }
.db-kpi-lbl { margin-top:18px; }
.db-section { padding:0 0 12px; flex-wrap:wrap; }
.db-section h2 { font-size:16px; font-weight:650; }
.db-section .cnt,.db-cl-ref { color:var(--text-3); }
.db-card { border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-sm); }
.db-row,.db-cl-row,.db-ech-row { padding:16px; border-color:var(--border); }
.db-row-ico { width:32px; height:32px; }
.db-cl-bar-fill { display:block; }
.db-note { border-radius:12px; border:1px solid rgba(0,0,0,.06); box-shadow:none; padding:18px; }
.db-note-auth { color:#53646b; }
.db-quickbar-wrap { left:224px; bottom:24px; padding:0 24px; }
.db-quickbar { background:var(--surface); border:1px solid var(--border-m); border-radius:12px; box-shadow:0 8px 32px rgba(25,52,36,.10); max-width:740px; padding:8px 12px; }
.db-quick-input { font-size:14px; }
.db-quick-chips { padding-left:0; }
.db-quickbar-plus { background:var(--accent-l); color:var(--accent-d); }

/* Sign-in: editorial layout with cabinet identity, no dependency on imagery. */
body.login-page { min-height:100dvh; height:auto; padding:40px; background:#edf1ec; }
.login-page .auth-screen { padding:0; max-width:1080px; min-height:680px; border-radius:20px; border:1px solid #dce3dd; box-shadow:0 24px 80px rgba(28,57,39,.08); }
.login-page .auth-left { background:#163f2c; padding:44px; flex-basis:49%; }
.login-page .auth-brand-logo { font-size:13px; font-weight:700; border:1px solid #71947e; border-radius:10px; background:transparent; }
.login-page .auth-brand-name { letter-spacing:-.02em; }
.login-page .auth-hero { padding:60px 0 36px; }
.login-page .auth-hero h1 { font-size:43px; line-height:1.13; font-weight:600; letter-spacing:-.045em; }
.login-page .auth-hero h1 span { color:#b8d6ad; }
.login-page .auth-hero p { color:#d2ded5; font-size:14px; line-height:1.7; margin-top:22px; }
.auth-capabilities { display:grid; gap:13px; padding:22px 0 32px; border-top:1px solid #456452; font-size:12px; color:#d2ded5; }
.login-page .auth-left-foot { color:#c0d2c6; font-size:10px; letter-spacing:.08em; }
.login-page .auth-right { padding:48px; }
.login-page .auth-right h2 { font-size:28px; font-weight:650; line-height:1.2; max-width:320px; }
.login-page .auth-right-sub { margin-top:12px; margin-bottom:30px; }
.login-page .input { height:48px; border-radius:9px; background:#fafcf9; }
.login-page #btn-login,.login-page #btn-register { min-height:48px; border-radius:9px; }
.switch:focus-within { outline:3px solid var(--accent); outline-offset:3px; border-radius:20px; }

@media (min-width:768px) and (max-width:1100px) {
  .sidebar-v2 { width:200px; min-width:200px; }
  .db-top { grid-template-columns:1fr 1fr; }
  .db-ring-card { grid-column:1/-1; min-height:110px; }
  .db-cols { grid-template-columns:1fr; }
  .db-quickbar-wrap { left:200px; }
  .db-greeting { font-size:30px; }
}
@media (max-width:767px) {
  .dossier-mobile-list { display:grid; gap:12px; margin-top:16px; }
  .dossier-table { display:none; }
  .show-dossier-table .dossier-table { display:block; margin-top:16px; }
  .dossier-table td:first-child { min-width:180px; }
  .page-v2 { padding:20px 16px calc(90px + env(safe-area-inset-bottom)); }
  .topbar-v2 { height:60px; }
  .tab-bar { height:calc(72px + env(safe-area-inset-bottom)); padding-top:9px; }
  .tab-item { min-height:48px; gap:6px; }
  .tab-label { font-size:10px; }
  .tab-item.active .tab-icon { background:var(--accent-l); border-radius:8px; width:38px; }
  .btn { min-height:42px; }
  input:not([type=checkbox]):not([type=radio]),textarea,select { font-size:16px; }
  #db-root { padding:8px 0 130px; }
  .db-head { gap:18px; padding-bottom:20px; margin-bottom:20px; }
  .db-greeting { font-size:29px; }
  .db-intro { line-height:1.5; }
  .db-qactions { width:100%; }
  .db-qbtn { flex:1; justify-content:center; padding:0 9px; height:42px; }
  .db-top { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:26px; }
  .db-ring-card { grid-column:1/-1; min-height:118px; padding:18px; gap:14px; }
  .db-ring-card > div:nth-child(2) { min-width:150px!important; }
  .db-ring-go { display:none; } /* same Chrono action remains immediately above */
  .db-kpi { padding:16px 14px; }
  .db-kpi-val { font-size:29px; }
  .db-kpi-lbl { font-size:12px; }
  .db-kpi-sub { font-size:11px; line-height:1.5; }
  .db-cols { grid-template-columns:1fr; gap:0; }
  .db-row,.db-cl-row { gap:9px; padding:14px 12px; }
  .db-row-title { font-size:13px; }
  .db-cl-row { grid-template-columns:minmax(0,1fr) 60px 32px; }
  .db-quickbar-wrap { left:0; bottom:calc(82px + env(safe-area-inset-bottom)); padding:0 12px; }
  .db-quickbar { padding:7px 10px; }
  .db-quickbar-plus { display:none; }
  .db-quick-input { font-size:16px; }
  .db-toast { bottom:160px; max-width:90vw; }
  .export-stats { grid-template-columns:1fr; }
  .guide-content { overflow-wrap:anywhere; }
  .guide-content .mockup { max-width:100%; overflow-x:auto; }
  .guide-content .g-table { display:block; overflow-x:auto; }
  body.login-page { padding:16px; align-items:flex-start; }
  .login-page .auth-screen { min-height:0; flex-direction:column; border-radius:16px; }
  .login-page .auth-left { padding:26px; }
  .login-page .auth-hero { padding:28px 0 12px; }
  .login-page .auth-hero h1 { font-size:32px; }
  .login-page .auth-hero p { font-size:13px; margin-top:14px; }
  .auth-capabilities { display:none; }
  .login-page .auth-left-foot { margin-top:12px; }
  .login-page .auth-right { padding:30px 24px; }
  .login-page .auth-right h2 { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
@media print {
  .sidebar-v2,.tab-bar,.topbar-v2,.db-quickbar-wrap,#recent-tabs-bar,.skip-link,.connection-state { display:none!important; }
  .app-v2,.app-body,.page-v2 { height:auto!important; overflow:visible!important; display:block; }
}
