:root{--nom-primary:#1565c0;--nom-primary-dark:#0d47a1;--nom-primary-soft:#e3f0fd;--nom-accent:#f59e0b;--nom-success:#16a34a;--nom-danger:#dc2626;--nom-warning:#d97706;--nom-info:#0284c7;--nom-bg:#f5f7fb;--nom-surface:#fff;--nom-text:#1f2937;--nom-muted:#6b7280;--nom-border:#e5e7eb;--nom-radius:12px;--nom-radius-sm:8px;--nom-shadow-1:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);--nom-shadow-2:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.06);--nom-shadow-3:0 12px 32px rgba(16,24,40,.14);--nom-speed:.18s;--nom-font:"Inter",-apple-system,system-ui,"Segoe UI",Roboto,Arial,sans-serif}body{font-family:var(--nom-font);color:var(--nom-text);background:var(--nom-bg)}a{color:var(--nom-primary)}a:hover{color:var(--nom-primary-dark)}.text-muted-nom{color:var(--nom-muted)}.text-small{font-size:.875rem}.empty{color:var(--nom-muted);padding:2rem 0;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.55rem 1.1rem;border:1px solid var(--nom-border);border-radius:var(--nom-radius-sm);background:var(--nom-surface);color:var(--nom-text);font-weight:600;font-size:.95rem;line-height:1.2;cursor:pointer;text-decoration:none;transition:background var(--nom-speed),box-shadow var(--nom-speed),border-color var(--nom-speed),color var(--nom-speed)}.btn:hover{text-decoration:none;box-shadow:var(--nom-shadow-1);border-color:#cbd5e1;color:var(--nom-text)}.btn:focus-visible{outline:3px solid var(--nom-primary-soft);outline-offset:1px}.btn[disabled],.btn.disabled{opacity:.55;pointer-events:none}.btn.is-busy,.btn.is-busy[disabled]{opacity:.85;pointer-events:none;cursor:progress}.nom-spinner{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.15em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nom-spin .7s linear infinite}.btn .nom-spinner{margin-right:.45rem}@keyframes nom-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.nom-spinner{animation-duration:1.8s}}.btn-primary{background:var(--nom-primary);border-color:var(--nom-primary);color:#fff}.btn-primary:hover{background:var(--nom-primary-dark);border-color:var(--nom-primary-dark);color:#fff}.btn-outline{background:transparent;border-color:var(--nom-primary);color:var(--nom-primary)}.btn-outline:hover{background:var(--nom-primary-soft);color:var(--nom-primary-dark)}.btn-danger{background:var(--nom-danger);border-color:var(--nom-danger);color:#fff}.btn-danger:hover{filter:brightness(.94);color:#fff}.btn-text{border-color:transparent;background:transparent;color:var(--nom-primary)}.btn-text:hover{background:var(--nom-primary-soft);box-shadow:none}.btn-sm{min-height:34px;padding:.35rem .75rem;font-size:.85rem}.btn-block{width:100%}.form-group{margin-bottom:1rem}.form-group>label,.form-label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem}.form-control,.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=url],.form-group input[type=tel],.form-group input[type=date],.form-group select,.form-group textarea{display:block;width:100%;min-height:44px;padding:.55rem .8rem;border:1px solid var(--nom-border);border-radius:var(--nom-radius-sm);background:var(--nom-surface);color:var(--nom-text);transition:border-color var(--nom-speed),box-shadow var(--nom-speed)}.form-control:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--nom-primary);box-shadow:0 0 0 3px var(--nom-primary-soft)}.form-group textarea{min-height:96px;resize:vertical}.form-hint{display:block;margin-top:.3rem;color:var(--nom-muted);font-size:.825rem}.form-check{display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}.form-check input{width:18px;height:18px;accent-color:var(--nom-primary)}.form-control.is-invalid{border-color:var(--nom-danger);box-shadow:0 0 0 3px #fee2e2}.field-error[hidden]{display:none}.field-error,.validation-summary-errors{color:var(--nom-danger);font-size:.85rem}.validation-summary-errors ul{margin:0;padding-left:1rem}.card{background:var(--nom-surface);border:1px solid var(--nom-border);border-radius:var(--nom-radius);box-shadow:var(--nom-shadow-1);overflow:hidden}.card-body{padding:1.25rem}.card-title{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.card-hover{transition:box-shadow var(--nom-speed),transform var(--nom-speed)}.card-hover:hover{box-shadow:var(--nom-shadow-2);transform:translateY(-2px)}.alert{padding:.85rem 1rem;border-radius:var(--nom-radius-sm);border:1px solid transparent;margin-bottom:1rem}.alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.badge{display:inline-flex;align-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--nom-danger);color:#fff;font-size:.72rem;font-weight:700}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;background:var(--nom-primary-soft);color:var(--nom-primary-dark);font-size:.8rem;font-weight:600}.chip-success{background:#dcfce7;color:#166534}.chip-danger{background:#fee2e2;color:#991b1b}.chip-warning{background:#fef3c7;color:#92400e}.chip-muted{background:#f1f5f9;color:var(--nom-muted)}.table-wrap{overflow-x:auto;background:var(--nom-surface);border:1px solid var(--nom-border);border-radius:var(--nom-radius)}.table{width:100%;font-size:.92rem}.table th,.table td{padding:.7rem .9rem;border-bottom:1px solid var(--nom-border);text-align:left;vertical-align:middle}.table thead th{background:#f9fafb;font-weight:700;color:var(--nom-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.table tbody tr:hover{background:#fafbff}.table tbody tr:last-child td{border-bottom:0}ul.breadcrumb{flex-wrap:wrap;gap:.25rem;font-size:.875rem;color:var(--nom-muted);margin-bottom:1rem}ul.breadcrumb li a{color:var(--nom-primary);padding:0}ul.pagination{gap:.35rem;margin:2rem 0 0;justify-content:center}ul.pagination li a,ul.pagination li span{min-width:44px;min-height:44px;padding:0 1rem;border-radius:var(--nom-radius-sm);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--nom-border);background:var(--nom-surface);color:var(--nom-text);font-weight:600}ul.pagination li a:hover{border-color:var(--nom-primary);color:var(--nom-primary);text-decoration:none}ul.pagination li span{border-color:transparent;background:transparent;color:var(--nom-muted);font-weight:500}ul.pagination li a.active{background:var(--nom-primary);border-color:var(--nom-primary);color:#fff}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.ratio-16x9{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e9eef5}.ratio-16x9>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.progress-bar{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--nom-primary);border-radius:inherit;transition:width var(--nom-speed)}.section{padding:3rem 0}.section-alt{background:var(--nom-surface);border-top:1px solid var(--nom-border);border-bottom:1px solid var(--nom-border)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}.section-title{font-size:1.6rem;font-weight:800;margin-bottom:.35rem}.section-subtitle{color:var(--nom-muted);margin:0}.stack>*+*{margin-top:1rem}.page-header{--page-header-bg:linear-gradient(120deg,#0b3d91 0%,var(--nom-primary,#1565c0) 55%,#1e88e5 100%);--page-header-fg:#fff;position:relative;color:var(--page-header-fg);padding:1.25rem 0 2rem;margin-bottom:2rem;border-image:var(--page-header-bg) fill 0/0/0 100vw}.page-header-sm{padding:1rem 0 1.5rem}.page-title{color:inherit;font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem);font-weight:800;letter-spacing:-.01em;line-height:1.2;margin:.25rem 0 0}.page-header-sm .page-title{font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem)}.page-subtitle{color:inherit;opacity:.85;margin:.5rem 0 0;max-width:760px}.page-header ul.breadcrumb{padding:0;margin:0;color:var(--page-header-fg)}.page-header ul.breadcrumb li{color:rgba(255,255,255,.85)}.page-header ul.breadcrumb li:last-child{color:var(--page-header-fg);font-weight:600}.page-header ul.breadcrumb li+li::before{color:rgba(255,255,255,.55)}.page-header ul.breadcrumb li a{color:rgba(255,255,255,.85)}.page-header ul.breadcrumb li a:hover{color:var(--page-header-fg);text-decoration:underline}.page-header .chip-nav{margin:1.25rem 0 0}.page-header .chip-nav a{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:inherit}.page-header .chip-nav a:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.5);color:inherit}.page-header .chip-nav a.active{background:#fff;border-color:#fff;color:var(--nom-primary-dark)}.chip-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.chip-nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 .9rem;border-radius:999px;border:1px solid var(--nom-border);background:var(--nom-surface);color:var(--nom-text);font-size:.875rem;font-weight:600;text-decoration:none}.chip-nav a:hover{border-color:var(--nom-primary);color:var(--nom-primary)}.chip-nav a.active{background:var(--nom-primary);border-color:var(--nom-primary);color:#fff}.layout-sidebar{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}@media(min-width:1024px){.layout-sidebar{grid-template-columns:minmax(0,1fr) 320px}}.main-content{min-width:0}.sidebar{display:flex;flex-direction:column;gap:1.25rem;align-self:start;min-width:0}@media(min-width:1024px){.sidebar-sticky{position:sticky;top:90px}}.block{background:var(--nom-surface);border:1px solid var(--nom-border);border-radius:var(--nom-radius);box-shadow:var(--nom-shadow-1);overflow:hidden}.block-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--nom-border)}.block-header h2,.block-header h3{font-size:1rem;font-weight:700;margin:0}.block-more{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}.block-body{padding:1rem 1.25rem}.block-links{list-style:none;margin:0;padding:.25rem 0}.block-links a{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1.25rem;color:var(--nom-text);text-decoration:none;line-height:1.4}.block-links a:hover{background:var(--nom-primary-soft);color:var(--nom-primary-dark)}.block-links a.active{color:var(--nom-primary);font-weight:700}.post-list{list-style:none;margin:0;padding:.25rem 0}.post-list a{display:flex;gap:.75rem;padding:.65rem 1.25rem;color:var(--nom-text);text-decoration:none}.post-list a:hover{background:var(--nom-primary-soft)}.post-thumb{flex:0 0 72px;height:48px;border-radius:var(--nom-radius-sm);overflow:hidden;background:#f1f5f9}.post-thumb img{width:100%;height:100%;object-fit:cover;display:block}.post-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.post-title{font-weight:600;line-height:1.35}.post-date{font-size:.8rem;color:var(--nom-muted)}.banner{display:block;color:inherit;text-decoration:none}.banner img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.banner-body{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem}.banner-title{font-size:1rem;font-weight:700}.banner-text{color:var(--nom-muted);font-size:.9rem}.banner:hover{color:inherit;text-decoration:none}.banner:hover .banner-title{color:var(--nom-primary)}