:root{--color-bg: #f5f6fa;--color-white: #ffffff;--color-text: #2d3436;--color-text-muted: #636e72;--color-primary: #0984e3;--color-primary-hover: #0767b2;--color-danger: #d63031;--color-border: #dfe6e9;--color-row-alt: #f8f9fa;--color-row-hover: #eef2ff;--color-header-bg: #2d3436;--color-header-text: #ffffff;--radius: 4px;--shadow: 0 1px 3px rgba(0, 0, 0, 0.08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.1)}*,*::before,*::after{box-sizing:border-box}body{margin:0;padding:20px 32px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin-top:1.5em;margin-bottom:.5em;font-weight:600}h1{font-size:24px;margin-top:0}h2{font-size:18px;color:var(--color-text);border-bottom:2px solid var(--color-border);padding-bottom:6px}.persephone{max-width:1200px;margin:0 auto}.display-content{min-width:0}.modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);overflow-y:auto;padding:40px 16px}.modal-overlay.is-open{display:flex;justify-content:center;align-items:flex-start}.modal-dialog{position:relative;width:100%;max-width:480px;margin:auto}.modal-overlay.is-open .modal-dialog{animation:modal-in .15s ease-out}@keyframes modal-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:10px;right:14px;z-index:1;border:none;background:none;font-size:22px;color:var(--color-text-muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:var(--radius)}.modal-close:hover{color:var(--color-text);background:var(--color-bg)}.form-content{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:24px;box-shadow:var(--shadow-lg)}.display-content>a:first-child{display:inline-block;font-size:13px;color:var(--color-text-muted);margin-bottom:4px}.display-content>a:first-child:hover{color:var(--color-primary)}.home-nav{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:12px}.home-nav li a{display:block;padding:14px 18px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-weight:500;transition:border-color .15s,box-shadow .15s}.home-nav li a:hover{border-color:var(--color-primary);box-shadow:var(--shadow);text-decoration:none}.table-holder{margin:12px 0;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.resource-table{width:100%;border-collapse:collapse}.resource-table thead th{background:var(--color-header-bg);color:var(--color-header-text);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;text-align:left;border:none}.resource-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .1s}.resource-table tbody tr:last-child{border-bottom:none}.resource-table tbody tr:hover{background-color:var(--color-row-hover)}.resource-table tbody tr:nth-child(odd){background-color:var(--color-row-alt)}.resource-table tbody tr:nth-child(odd):hover{background-color:var(--color-row-hover)}.resource-table tbody td{padding:10px 14px;vertical-align:middle}.resource-table .action-column{white-space:nowrap}.resource-table .action-column form{display:inline-block;margin:0 2px}.resource-table input[type=submit],.resource-table button[type=submit]{width:auto;padding:4px 10px;font-size:12px;cursor:pointer;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);border-radius:var(--radius);transition:background-color .15s,border-color .15s}.resource-table input[type=submit]:hover,.resource-table button[type=submit]:hover{background:var(--color-bg);border-color:#b2bec3}.resource-table form[method=post]>input[type=hidden][name=_method][value=delete]~input[type=submit],.resource-table form[method=post]>input[type=hidden][name=_method][value=delete]~button[type=submit],.resource-table input[type=submit][value=Destroy],.resource-table input[type=submit][value=Delete],.resource-table input[type=submit][value=Remove],.resource-table button[type=submit].btn-danger{color:var(--color-danger);border-color:var(--color-danger)}.resource-table form[method=post]>input[type=hidden][name=_method][value=delete]~input[type=submit]:hover,.resource-table form[method=post]>input[type=hidden][name=_method][value=delete]~button[type=submit]:hover,.resource-table input[type=submit][value=Destroy]:hover,.resource-table input[type=submit][value=Delete]:hover,.resource-table input[type=submit][value=Remove]:hover,.resource-table button[type=submit].btn-danger:hover{background:var(--color-danger);color:var(--color-white)}input[type=submit],button[type=submit]{padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-white);border-radius:var(--radius);transition:background-color .15s;font-family:inherit}input[type=submit]:hover,button[type=submit]:hover{background:var(--color-primary-hover)}.display-content>form{display:inline-block;margin-top:12px}.form-content form p{margin:0 0 14px 0}.form-content form label{display:block;font-weight:500;font-size:13px;color:var(--color-text);margin-bottom:4px}.form-content form input[type=text],.form-content form input[type=email],.form-content form input[type=password],.form-content form input[type=number],.form-content form input[type=url],.form-content form input[type=file],.form-content form textarea,.form-content form select{width:100%;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:13px;font-family:inherit;color:var(--color-text);background:var(--color-white);transition:border-color .15s,box-shadow .15s}.form-content form input[type=text]:focus,.form-content form input[type=email]:focus,.form-content form input[type=password]:focus,.form-content form input[type=number]:focus,.form-content form input[type=url]:focus,.form-content form input[type=file]:focus,.form-content form textarea:focus,.form-content form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(9,132,227,.15)}.form-content form input[type=submit]{margin-top:8px;width:100%}.form-content form br{display:none}label.error{color:var(--color-danger);font-size:12px;font-weight:400;margin-top:4px}select.error{border-color:var(--color-danger)}.multiple.select2{width:100% !important}.form-content .select2-container{width:100% !important}.select2-container .select2-selection--single{height:34px;border-color:var(--color-border)}#calculations-table table{border-collapse:collapse;width:100%}#calculations-table td{border-width:0 1px 1px 1px;border-color:var(--color-border);border-style:none solid solid solid;width:20%;overflow:hidden;text-overflow:ellipsis;padding:8px 10px}#calculations-table td.col1{width:10%}#calculations-table td.col2{width:10%}#calculations-table td.col3{width:50%}#calculations-table td.col4{width:20%}#calculations-table td.col5{width:10%}.sortable .ui-sortable-handle{cursor:grab}.sortable .ui-sortable-handle:active{cursor:grabbing}.sortable .ui-sortable-placeholder{background:var(--color-row-hover);border:2px dashed var(--color-border);visibility:visible !important}.product-attribute{border-bottom:1px solid var(--color-border)}.product-attribute:last-child{border-bottom:none}.display-content>br{display:none}.datatable-wrapper .datatable-top,.datatable-wrapper .datatable-bottom{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:13px;color:var(--color-text-muted)}.datatable-wrapper .datatable-top:empty,.datatable-wrapper .datatable-bottom:empty{display:none}.datatable-wrapper .datatable-bottom{gap:12px}.datatable-wrapper .datatable-selector{padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:13px;font-family:inherit;color:var(--color-text);background:var(--color-white)}.datatable-wrapper .datatable-selector:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(9,132,227,.15)}.datatable-wrapper .datatable-input{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:13px;font-family:inherit;color:var(--color-text);background:var(--color-white)}.datatable-wrapper .datatable-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(9,132,227,.15)}.datatable-wrapper .datatable-info{color:var(--color-text-muted);font-size:13px}.datatable-wrapper .datatable-pagination ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}.datatable-wrapper .datatable-pagination li{list-style:none}.datatable-wrapper .datatable-pagination a,.datatable-wrapper .datatable-pagination button{display:inline-block;border:1px solid var(--color-border);border-radius:var(--radius);padding:4px 10px;font-size:13px;color:var(--color-text);background:var(--color-white);cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s}.datatable-wrapper .datatable-pagination a:hover,.datatable-wrapper .datatable-pagination button:hover{background-color:var(--color-bg);border-color:#b2bec3}.datatable-wrapper .datatable-pagination .datatable-active a,.datatable-wrapper .datatable-pagination .datatable-active button{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.datatable-wrapper .datatable-pagination .datatable-active a:hover,.datatable-wrapper .datatable-pagination .datatable-active button:hover{background-color:var(--color-primary-hover)}.datatable-wrapper .datatable-table th button,.datatable-wrapper .datatable-table th button:hover{display:inline-block;border:none;background:none;color:inherit;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:500;padding:0;width:100%;cursor:pointer;font-family:inherit}.datatable-wrapper .datatable-sorter::before{border-top-color:var(--color-header-text)}.datatable-wrapper .datatable-sorter::after{border-bottom-color:var(--color-header-text)}.datatable-wrapper table.datatable-table:focus{outline:none}
