:root{--font-family-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-base: 16px;--font-size-sm: 14px;--font-size-lg: 18px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--color-bg: #f9fafb;--color-surface: #fff;--color-surface-alt: #f3f4f6;--color-border: #e5e7eb;--color-primary: #2563eb;--color-primary-light: #a5d8ff;--color-primary-hover: #1d4ed8;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-success: #22c55e;--color-warning: #fbbf24;--color-text: #22336b;--color-text-muted: #6b7280;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(34,51,107,.05);--shadow-md: 0 4px 16px rgba(34,51,107,.08);--shadow-lg: 0 8px 32px rgba(34,51,107,.12);--transition: all .22s cubic-bezier(.4,0,.2,1);font-family:var(--font-family-base);font-size:var(--font-size-base);background-color:var(--color-bg);color:var(--color-text)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-bg);font-weight:var(--font-weight-normal);line-height:1.7;min-height:100vh;letter-spacing:.01em;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);margin-bottom:.5rem;color:var(--color-text);letter-spacing:.02em}a{color:var(--color-primary);text-decoration:none;transition:var(--transition);font-weight:500}a:hover{color:var(--color-primary-hover);text-decoration:underline}.nav-tabs{display:flex;gap:2rem;border-bottom:1px solid var(--color-border);padding-bottom:.5rem;margin-bottom:1.5rem}.nav-tabs a{font-weight:500;font-size:1rem;padding:.4rem 0;color:var(--color-text-muted);position:relative;transition:color .2s ease;text-decoration:none}.nav-tabs a:hover{color:var(--color-primary)}.nav-tabs a.active{color:var(--color-primary);font-weight:600}.nav-tabs a.active:after{content:"";position:absolute;bottom:-8px;left:0;height:3px;width:100%;background-color:var(--color-primary);border-radius:2px}.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.97rem;padding:.6rem 1.3rem;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);background:var(--color-primary);color:#fff}.btn:hover{background:var(--color-primary-hover);transform:translateY(-1px) scale(1.03);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-light);color:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-icon{background:transparent;border:none;cursor:pointer;padding:.35rem;border-radius:var(--radius-sm);transition:background-color .2s ease,transform .2s ease}.btn-icon.edit{color:var(--color-primary)}.btn-icon.delete{color:var(--color-danger)}.btn-icon:hover{background-color:var(--color-surface-alt);transform:scale(1.1)}.input-search{padding:.6rem 1.1rem;font-size:.97rem;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease;width:250px;background:var(--color-surface);color:var(--color-text)}.input-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb21}table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}thead{background:var(--color-surface-alt)}th,td{text-align:left;padding:.85rem 1.1rem;border-bottom:1px solid var(--color-border);font-size:.97rem}th{font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface-alt);letter-spacing:.01em}td{color:var(--color-text-muted);background:var(--color-surface)}.table-actions{display:flex;gap:.5rem;align-items:center}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:1rem}::-webkit-scrollbar{width:8px;background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:8px}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.fw-bold{font-weight:var(--font-weight-bold)}.fw-medium{font-weight:var(--font-weight-medium)}.rounded{border-radius:var(--radius-md)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.fade-in{animation:fadeIn .7s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){:root{--font-size-base: 14px;--font-size-lg: 16px}body{font-size:14px}h1,h2,h3,h4,h5,h6{margin-bottom:.3rem}.input-search{width:100%;max-width:200px}table{font-size:13px}th,td{padding:.6rem .75rem}.table-actions{gap:.25rem}.btn{padding:.5rem 1rem;font-size:13px}.nav-tabs{gap:1rem;margin-bottom:1rem}.nav-tabs a{font-size:.9rem;padding:.3rem 0}}@media (min-width: 601px) and (max-width: 960px){:root{--font-size-base: 15px}.input-search{width:200px}table{font-size:14px}th,td{padding:.75rem .9rem}}@media (min-width: 961px){:root{--font-size-base: 16px}.input-search{width:250px}th,td{padding:.85rem 1.1rem}}@media (min-width: 1024px){.input-search{width:280px}}@media (hover: none) and (pointer: coarse){.btn,button,[role=button],a{min-height:44px;min-width:44px;padding:.6rem .9rem}.btn:hover,.btn-icon:hover{transform:none}input:focus{font-size:16px}select:focus{font-size:16px}textarea:focus{font-size:16px}}@media (max-width: 960px){table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}table tbody{display:block}table thead{display:none}table tr{display:block;margin-bottom:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}table td{display:block;padding:.5rem;text-align:right;padding-left:50%;position:relative}table td:before{content:attr(data-label);position:absolute;left:.5rem;font-weight:600;color:var(--color-primary)}table td:first-child{background:var(--color-surface-alt);font-weight:600;text-align:left;padding-left:.5rem}table td:first-child:before{display:none}}@media (max-width: 600px){body,p{line-height:1.6}.shadow-sm,.rounded{margin-bottom:1rem}}@media print{body{background:#fff;color:#000}.no-print{display:none!important}table{page-break-inside:auto}table tr{page-break-inside:avoid}}
