:root {
  --pc-primary:#2563eb;
  --pc-primary-strong:#1d4ed8;
  --pc-ink:#0f172a;
  --pc-muted:#64748b;
  --pc-line:#e2e8f0;
  --pc-soft:#f8fafc;
  --pc-success:#059669;
  --pc-danger:#dc2626;
  --pc-radius:12px;
}

html, body { background:#f6f8fb; color:var(--pc-ink); }
body { font-family:"Public Sans", Arial, sans-serif; }

/* Sidebar */
.layout-menu { border-right:1px solid var(--pc-line)!important; box-shadow:none!important; }
.bg-menu-theme { background:#fff!important; }
.app-brand { border-bottom:1px solid #f1f5f9; }
.app-brand-text { color:var(--pc-ink)!important; font-weight:750!important; letter-spacing:-.035em!important; }
.menu-inner { padding:.75rem .65rem!important; }
.menu-item { margin:.12rem 0!important; }
.menu-link { min-height:40px!important; border-radius:9px!important; color:#475569!important; font-weight:500; }
.menu-link:hover { background:#f1f5f9!important; color:var(--pc-ink)!important; }
.menu-item.active > .menu-link, .menu-item.open > .menu-link { background:#eff6ff!important; color:var(--pc-primary)!important; }
.menu-icon { color:#64748b!important; font-size:1.15rem!important; }
.menu-item.active > .menu-link .menu-icon { color:var(--pc-primary)!important; }
.menu-sub .menu-link { min-height:34px!important; padding-left:2.9rem!important; font-size:.86rem!important; }
.menu-sub .menu-link .pc-sub-icon { position:absolute; left:1.85rem; font-size:.9rem; opacity:.72; }

/* Header/content */
.layout-navbar { background:rgba(255,255,255,.94)!important; border:1px solid var(--pc-line)!important; box-shadow:0 1px 2px rgba(15,23,42,.03)!important; border-radius:12px!important; }
.container-p-y { padding-top:1.25rem!important; }
.card { border:1px solid var(--pc-line)!important; box-shadow:0 1px 2px rgba(15,23,42,.035)!important; border-radius:var(--pc-radius)!important; }
.card-header { border-bottom:1px solid #eef2f7!important; }

/* Buttons: compact, professional */
.btn { border-radius:8px!important; font-weight:600!important; box-shadow:none!important; min-height:36px; }
.btn-primary { background:var(--pc-primary)!important; border-color:var(--pc-primary)!important; }
.btn-primary:hover { background:var(--pc-primary-strong)!important; border-color:var(--pc-primary-strong)!important; }
.btn-sm { min-height:30px!important; padding:.35rem .55rem!important; }
.pc-icon-btn { width:34px!important; height:34px!important; min-height:34px!important; padding:0!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; border-radius:8px!important; }
.pc-icon-btn i { font-size:1.1rem; }

/* Forms & tables */
.form-control, .form-select, .input-group-text { border-color:#d8e0ea!important; border-radius:8px!important; }
.form-control:focus, .form-select:focus { border-color:#93c5fd!important; box-shadow:0 0 0 .18rem rgba(37,99,235,.10)!important; }
.table thead th { background:#f8fafc!important; color:#475569!important; font-size:.76rem!important; text-transform:none!important; letter-spacing:.01em; border-bottom:1px solid var(--pc-line)!important; }
.table tbody td { border-color:#edf2f7!important; }
.badge { border-radius:999px!important; }

/* Shared document page */
.pc-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.pc-page-title { margin:0; font-size:1.3rem; font-weight:750; letter-spacing:-.025em; }
.pc-page-subtitle { color:var(--pc-muted); font-size:.86rem; margin-top:.2rem; }
.pc-toolbar { display:flex; gap:.45rem; flex-wrap:wrap; }
.pc-stat { border:1px solid var(--pc-line); border-radius:10px; background:#fff; padding:.85rem 1rem; }
.pc-stat-label { color:var(--pc-muted); font-size:.75rem; }
.pc-stat-value { color:var(--pc-ink); font-size:1.25rem; font-weight:750; margin-top:.15rem; }

@media (max-width:767px) {
  .pc-page-head { flex-direction:column; }
  .pc-toolbar { width:100%; }
  .pc-toolbar .btn { flex:1; }
}
