.btn-primary:focus-visible{outline-offset:2px;outline:2px solid #2d5a27}.search-input-wrap{flex:1;min-width:12rem;max-width:20rem;position:relative}.search-input-icon{color:#666;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}input[type=search].search-input{width:100%;padding-left:2.5rem;padding-right:.75rem}select{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;min-height:2.5rem;padding:.5rem 2rem .5rem .75rem;font-family:inherit;font-size:.9375rem}select:focus{outline-offset:0;outline:2px solid #2d5a27}.btn-primary{color:#fff;background-color:#2d5a27;border-color:#2d5a27}.btn-primary:hover{color:#fff;background-color:#3d7a35;border-color:#3d7a35}.btn-secondary{color:#2d5a27;background-color:#0000;border-color:#2d5a27}.btn-secondary:hover{background-color:#2d5a2714}.btn-danger{color:#c62828;background-color:#fff;border-color:#c62828}.btn-danger:hover{color:#fff;background-color:#b71c1c;border-color:#b71c1c}.attachment-upload-container{flex-direction:column;width:100%;height:100%;display:flex}.attachment-section{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}.attachment-header{background:#fafafa;border-bottom:1px solid #eee;flex-shrink:0;justify-content:center;align-items:center;padding:.75rem 1rem;display:flex}.attachment-title{color:#1a1a1a;font-size:.875rem;font-weight:600}.attachment-dropzone{cursor:pointer;text-align:center;background:#fff;border:2px dashed #ddd;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:12rem;margin:.75rem;transition:all .2s;display:flex}.attachment-dropzone:hover,.attachment-dropzone:focus-visible{background:#2d5a270a;border-color:#bbb}.attachment-dropzone:focus-visible{outline-offset:2px;outline:2px solid #2d5a27}.attachment-dropzone.is-dragging{background:#2d5a2714;border-color:#2d5a27}.attachment-dropzone.has-error{background:#c628280a;border-color:#c62828}.attachment-dropzone-content{pointer-events:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:1.5rem 1rem;display:flex}.attachment-input-hidden{display:none}.attachment-dropzone-icon{color:#999;margin-bottom:.75rem}.attachment-dropzone-text{color:#333;margin:0 0 .25rem;font-size:.875rem}.attachment-dropzone-hint{color:#999;margin:0;font-size:.75rem}.attachment-error{color:#c62828;margin:.25rem 0 0;padding:0 .75rem .5rem;font-size:.75rem}.attachment-preview-section{border-radius:8px;flex-direction:column;flex:1;min-height:0;margin:.75rem;display:flex;overflow:hidden}.attachment-preview-area{text-align:center;background:#fafafa;flex:1;justify-content:center;align-items:stretch;min-height:180px;display:flex;position:relative;overflow:hidden}.attachment-nav-btn{cursor:pointer;color:#555;z-index:1;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001a}.attachment-nav-btn:hover{color:#222;background:#fff;transform:translateY(-50%)scale(1.08);box-shadow:0 4px 12px #00000026}.attachment-nav-btn:active{transform:translateY(-50%)scale(.95)}.attachment-nav-btn--prev{left:1rem}.attachment-nav-btn--next{right:1rem}.attachment-nav-btn svg{stroke:currentColor;fill:none;width:18px;height:18px}.attachment-image-wrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.attachment-image{object-fit:contain;border-radius:6px;width:100%;max-width:100%;height:100%;max-height:100%;transition:transform .3s;box-shadow:0 2px 8px #0000001a}.attachment-image-actions{z-index:100;background:#fffffff2;border-radius:6px;gap:.25rem;padding:.25rem;display:flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 8px #0003}.attachment-img-action-btn{cursor:pointer;justify-content:center;align-items:center;color:#000!important;background:#fff!important;border:none!important;border-radius:4px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;margin:0!important;padding:0!important;display:flex!important}.attachment-img-action-btn:hover{color:#333!important;background:#f0f0f0!important}.attachment-img-action-btn svg{stroke:#000!important;fill:none!important;width:16px!important;height:16px!important;display:block!important}.attachment-pdf-preview{background:#fff;border:1px solid #eee;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:10rem;padding:1.5rem;display:flex}.attachment-pdf-icon{font-size:3.5rem}.attachment-pdf-name{color:#444;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.875rem;font-weight:500;overflow:hidden}.attachment-footer{background:#fafafa;flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem .75rem;display:flex}.attachment-action-group,.attachment-add-group{align-items:center;display:flex}.attachment-add-group .attachment-counter{color:#555;background:0 0;border-right:1px solid #999;border-radius:0;margin-right:6px;padding-right:8px;font-size:.75rem;font-weight:500}.attachment-counter{color:#666;background:#eee;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.attachment-add-icon{color:#1a5c1a;margin-bottom:2px;font-size:1.1rem;font-weight:500;line-height:1}.attachment-add-btn{color:#2d5a27;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:.25rem .5rem;font-size:.8125rem;display:flex}.attachment-add-btn:hover{background:#2d5a2714}.attachment-action-btn{cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;padding:8px;display:inline-flex}.attachment-action-btn svg{width:14px;height:14px}.attachment-action-btn--download{color:#1565c0;border-right:1px solid #ddd}.attachment-action-btn--download svg{stroke:#1565c0}.attachment-action-btn--download:hover{background:#1565c014}.attachment-action-btn--delete{color:#c62828}.attachment-action-btn--delete svg{stroke:#c62828}.attachment-action-btn--delete:hover{background:#c6282814}.attachment-magnifier{pointer-events:none;z-index:100;background-repeat:no-repeat;border-radius:50%;width:150px;height:150px;position:absolute;box-shadow:0 0 20px #00000080}.attachment-expanded-overlay{z-index:10000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.attachment-expanded-content{cursor:default;max-width:90vw;max-height:90vh;position:relative}.attachment-expanded-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:90vh;transition:transform .3s}.dialog-form-right{flex-direction:column;min-height:0;display:flex}.dialog-form-right .attachment-upload-container{flex:1;min-height:260px}.dialog-form-right .attachment-section{flex:1;min-height:0}.dialog-form-right .attachment-dropzone{min-height:14rem}.dialog-form-right .attachment-preview-section{flex:1;min-height:0;margin:0}.dialog-form-right .attachment-preview-area{min-height:220px}.dialog-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:min(40rem,100vw - 2rem);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000026}.dialog .dialog-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.dialog .dialog-header h2{flex:1;margin:0;font-size:1.25rem;font-weight:600}.dialog .dialog-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;line-height:1;display:flex}.dialog .dialog-close:hover{color:#213547;background:#0000000f}.dialog .dialog-close:focus-visible{outline-offset:2px;outline:2px solid #2d5a27}.dialog .dialog-body{flex-direction:column;flex:1;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.dialog .dialog-body--with-footer{flex:1;min-height:0}.dialog .dialog-footer{background:#fff;border-top:1px solid #e0e0e0;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;padding:1.5rem;display:flex}.dialog .dialog-form{flex-direction:column;gap:1rem;display:flex}.dialog .dialog-form .form-row{flex-direction:column;gap:.25rem;display:flex}.dialog .dialog-form .form-row label{font-size:.875rem;font-weight:500}.dialog .dialog-form .form-row .pagination{border-top:1px solid #e0e0e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.dialog .dialog-form .form-row .pagination-left{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.dialog .dialog-form .form-row .pagination-right{align-items:center;display:flex}.dialog .dialog-form .form-row .pagination-info{color:#666;font-size:.9375rem}.dialog .dialog-form .form-row .pagination-info .pagination-total{font-weight:500}.dialog .dialog-form .form-row .pagination-size{color:#666;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.dialog .dialog-form .form-row .pagination-size label{margin:0}.dialog .dialog-form .form-row .pagination-size-select{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.4rem .6rem;font-size:.875rem}.dialog .dialog-form .form-row .pagination-buttons{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.dialog .dialog-form .form-row .pagination-btn{border-radius:6px;justify-content:center;align-items:center;min-width:2.25rem;padding:.375rem .75rem;font-size:.875rem;line-height:1;display:inline-flex}.dialog .dialog-form .form-row .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.dialog .dialog-form .form-row .pagination-numbers{align-items:center;gap:.25rem;display:flex}.dialog .dialog-form .form-row .pagination-num{min-width:2rem}.dialog .dialog-form .form-row .pagination-num-active{color:#fff;background:#2d5a27;border-color:#2d5a27}.dialog .dialog-form .form-row .pagination-ellipsis{color:#666;padding:0 .25rem;font-size:.875rem}.dialog .dialog-body:not(.dialog-body--with-footer) .dialog-actions{border-top:1px solid #e0e0e0;flex-shrink:0;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.confirm-dialog-message{color:#213547;margin:0;font-size:.9375rem;line-height:1.45}.custom-select{width:100%;min-width:10rem;position:relative}.custom-select-trigger{color:#213547;cursor:pointer;text-align:left;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.5rem 2rem .5rem .75rem;font-family:inherit;font-size:.9375rem;display:flex;position:relative}.custom-select-trigger .custom-select-placeholder{color:#666}.custom-select-trigger .custom-select-arrow{color:#666;font-size:.6rem;transition:transform .2s;position:absolute;right:.75rem}.custom-select-trigger:hover{border-color:#bbb}.custom-select-trigger:focus{border-color:#2d5a27;outline:none;box-shadow:0 0 0 3px #2d5a2726}.custom-select.is-open .custom-select-arrow{transform:rotate(180deg)}.custom-select-backdrop{z-index:199;background:0 0;position:fixed;inset:0}.custom-select-panel{z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;max-height:16rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.custom-select-portal .custom-select-backdrop,.custom-select-portal .custom-select-panel{z-index:1001}.custom-select-search{background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:.5rem .75rem}.custom-select-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:8px;width:100%;padding:.5rem .75rem;font-size:.9375rem}.custom-select-search-input:focus{border-color:#2d5a27;outline:none}.custom-select-list{flex:1;min-height:0;margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.custom-select-empty{color:#666;text-align:center;padding:1rem;font-size:.9375rem}.custom-select-load-more{text-align:center;border-top:1px solid #e0e0e0;flex-shrink:0;padding:.5rem}.custom-select-load-more-btn{color:#2d5a27;cursor:pointer;background:0 0;border:none;width:100%;padding:.5rem;font-size:.875rem}.custom-select-load-more-btn:hover{text-decoration:underline}.custom-select-option{margin:0}.custom-select-option-btn{text-align:left;cursor:pointer;color:#213547;background:0 0;border:none;width:100%;padding:.625rem 1rem;font-family:inherit;font-size:.9375rem;display:block}.custom-select-option-btn:hover{background:#f5f5f5}.custom-select-option-btn.is-selected{color:#2d5a27;background:#2d5a271f;font-weight:500}.multiselect-clear-row{background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:.5rem .75rem}.multiselect-clear-btn{color:#2d5a27;cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-size:.875rem}.multiselect-clear-btn:hover{text-decoration:underline}.multiselect-option-label{cursor:pointer;color:#213547;align-items:center;gap:.625rem;width:100%;margin:0;padding:.625rem 1rem;font-size:.9375rem;font-weight:400;display:flex}.multiselect-option-label:hover{background:#f5f5f5}.multiselect-option-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:1rem;height:1rem;margin:0}@media (width<=768px){.custom-select-backdrop{background:#0006}.custom-select-panel,.custom-select-panel--portal{border-bottom:none;border-radius:8px 8px 0 0;max-height:70vh;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0003}.custom-select-option-btn,.multiselect-option-label{min-height:3rem;padding:.875rem 1.25rem;font-size:1rem}}.pagination{border-top:1px solid #e0e0e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.pagination-left{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.pagination-right{align-items:center;display:flex}.pagination-info{color:#666;font-size:.9375rem}.pagination-info .pagination-total{font-weight:500}.pagination-size{color:#666;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.pagination-size label{margin:0}.pagination-size-select{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.4rem .6rem;font-size:.875rem}.pagination-buttons{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.pagination-btn{border-radius:6px;justify-content:center;align-items:center;min-width:2.25rem;padding:.375rem .75rem;font-size:.875rem;line-height:1;display:inline-flex}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-numbers{align-items:center;gap:.25rem;display:flex}.pagination-num{min-width:2rem}.pagination-num-active{color:#fff;background:#2d5a27;border-color:#2d5a27}.pagination-ellipsis{color:#666;padding:0 .25rem;font-size:.875rem}.info-icon{color:#fff;background-color:#888;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;font-weight:700;display:inline-flex}.tooltip-text{color:#111;text-align:center;padding:6px 8px}.manage-columns-wrap{display:inline-flex}.manage-columns-trigger{cursor:pointer;color:#213547;background:#fff;border:1px solid #e0e0e0;border-radius:8px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-flex}.manage-columns-trigger:hover{background:#f5f5f5}.dialog--manage-columns{width:100%;max-width:640px}.manage-columns-layout{gap:1.5rem;min-height:320px;display:flex}.manage-columns-left{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex}.manage-columns-search{align-items:center;display:flex;position:relative}.manage-columns-search-icon{color:#666;pointer-events:none;display:flex;position:absolute;left:.625rem}.manage-columns-search-input{border:1px solid #e0e0e0;border-radius:8px;outline:none;width:100%;padding:.5rem .75rem .5rem 2rem;font-size:.875rem}.manage-columns-search-input:focus{border-color:#2d5a27;box-shadow:0 0 0 2px #2d5a2726}.manage-columns-select-all{cursor:pointer;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.875rem;font-weight:600;display:flex}.manage-columns-select-all input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.manage-columns-list{border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;flex:1;gap:.125rem;min-height:0;padding:.375rem;display:flex;overflow-y:auto}.manage-columns-option{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;transition:background .1s;display:flex}.manage-columns-option:hover{background:#f5f5f5}.manage-columns-option input[type=checkbox]{cursor:pointer;flex-shrink:0;width:1rem;height:1rem}.manage-columns-option-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manage-columns-right{border-left:1px solid #e0e0e0;flex-direction:column;flex-shrink:0;width:200px;padding-left:1.5rem;display:flex}.manage-columns-right-header{text-transform:uppercase;letter-spacing:.04em;color:#666;margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.manage-columns-selected-list{flex-direction:column;flex:1;gap:.25rem;min-height:0;display:flex;overflow-y:auto}.manage-columns-selected-item{cursor:grab;background:#f5f5f5;border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;display:flex}.manage-columns-selected-item:active{cursor:grabbing}.manage-columns-selected-item--dragging{opacity:.5}.manage-columns-grip{color:#666;cursor:grab;flex-shrink:0;align-items:center;display:inline-flex}.manage-columns-grip:active{cursor:grabbing}.manage-columns-selected-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.manage-columns-remove-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;display:inline-flex}.manage-columns-remove-btn:hover{color:#c62828;background:#00000014}.manage-columns-empty{color:#666;text-align:center;padding:1rem 0;font-size:.875rem}.manage-columns-footer{align-items:center;gap:.75rem;width:100%;display:flex}.manage-columns-footer button:last-child{margin-left:auto}.export-dialog-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.export-dialog-option{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.export-dialog-option input[type=checkbox]{margin:0}.btn-export{padding:4px 10px;font-size:12px}:root{color:#213547;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0}a{color:#2d5a27;font-weight:500;text-decoration:none}a:hover{color:#3d7a35;text-decoration:underline}h1{color:#213547;margin:0 0 1.5rem;font-size:1.75rem;line-height:1.2}button{cursor:pointer;background-color:#fff;border:1px solid #00000026;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.9375rem;font-weight:500;transition:background-color .2s,border-color .2s}button:hover{background-color:#f5f5f5;border-color:#2d5a27}button:focus-visible{outline-offset:2px;outline:2px solid #2d5a27}input{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem}input:focus{outline-offset:0;outline:2px solid #2d5a27}select{color:#213547;cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border:1px solid #e0e0e0;border-radius:8px;min-height:2.5rem;padding:.5rem 2rem .5rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}select:hover{border-color:#bbb}select:focus{border-color:#2d5a27;outline:none;box-shadow:0 0 0 3px #2d5a2726}select:disabled{opacity:.6;cursor:not-allowed}select option{color:#213547;background:#fff;padding:.5rem}label{color:#213547;font-weight:500}.signin-page{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.signin-card{background:#fff;border-radius:8px;width:100%;max-width:22rem;padding:3rem;box-shadow:0 4px 20px #00000026}.signin-heading{color:#2d5a27;margin:0 0 .25rem;font-size:1.5rem}.signin-subheading{color:#666;margin:0 0 1.5rem;font-size:.9375rem}.signin-form{flex-direction:column;gap:1rem;display:flex}.signin-form .form-row{flex-direction:column;gap:.25rem;display:flex}.signin-form .form-row label{font-size:.875rem;display:flex}.signin-error{color:#c62828;margin:0;font-size:.875rem}.signin-submit{width:100%;margin-top:.5rem}.signin-footer{text-align:center;border-top:1px solid #e0e0e0;margin:1.5rem 0 0;padding-top:1rem;font-size:.875rem}.signin-footer a{color:#666;font-weight:500}.signin-footer a:hover{color:#2d5a27}.signin-footer .signin-footer-sep{color:#666;-webkit-user-select:none;user-select:none}.privacy-page{color:#213547;background:#f5f5f5;min-height:100vh}.privacy-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 1.5rem}.privacy-back{color:#2d5a27;font-size:.9375rem;font-weight:500;text-decoration:none}.privacy-back:hover{text-decoration:underline}.privacy-article{max-width:40rem;margin:0 auto;padding:1.5rem 1.5rem 3rem}.privacy-article h1{margin-bottom:.25rem;font-size:1.75rem}.privacy-article h2{color:#213547;margin:1.5rem 0 1rem;font-size:1.125rem}.privacy-article p,.privacy-article li{color:#213547;font-size:.9375rem;line-height:1.6}.privacy-article p{margin:0 0 1rem}.privacy-article ul{margin:0 0 1rem;padding-left:1.25rem}.privacy-article li{margin-bottom:.5rem}.privacy-article li:last-child{margin-bottom:0}.privacy-meta{color:#666!important;margin-bottom:1.5rem!important;font-size:.875rem!important}.app-layout{height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.sidenav-toggle{z-index:100;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:2.5rem;height:2.5rem;padding:.5rem;display:none;position:fixed;top:1rem;left:1rem;box-shadow:0 2px 8px #0000001a}.sidenav-toggle .sidenav-toggle-bar{background:#213547;border-radius:1px;width:1.25rem;height:2px;display:block}.sidenav-overlay{z-index:101;background:#0006;display:none;position:fixed;inset:0}.sidenav{background:#fff;border-right:1px solid #e0e0e0;flex-direction:column;flex-shrink:0;width:12rem;padding:1.5rem;display:flex}.sidenav .sidenav-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sidenav .sidenav-heading{color:#2d5a27;letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.sidenav .sidenav-user-meta{color:#666;flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.25rem 0 1rem;font-size:.8125rem;display:flex}.sidenav .sidenav-email{word-break:break-all}.sidenav .sidenav-role{text-transform:uppercase;color:#666;background:#0000000f;border-radius:8px;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.sidenav .sidenav-role.is-admin{color:#2d5a27;background:#e2e8e1}.sidenav .role-hint,.sidenav .settings-intro .role-hint{color:#666;font-size:.95rem}.sidenav .role-hint-block{color:#666;margin:0 0 1rem;font-size:.95rem}.sidenav .text-muted{color:#666}.sidenav .sidenav-close{cursor:pointer;color:#213547;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;display:none}.sidenav .sidenav-close:hover{color:#2d5a27}.sidenav .sidenav-nav{flex-direction:column;flex:1;display:flex}.sidenav .sidenav-nav .sidenav-top{flex-direction:column;gap:.25rem;display:flex}.sidenav .sidenav-nav .sidenav-bottom{border-top:1px solid #e0e0e0;margin-top:auto;padding-top:1.5rem}.sidenav .sidenav-nav a{color:#213547;border-radius:8px;padding:.5rem .75rem;text-decoration:none;display:block}.sidenav .sidenav-nav a:hover{color:#2d5a27;background:#f5f5f5;text-decoration:none}.sidenav .sidenav-nav a.active{color:#2d5a27;background:#2d5a271a;font-weight:600}.sidenav .sidenav-nav .sidenav-signout{text-align:left;color:#666;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.5rem .75rem;font-size:.9375rem;font-weight:500;display:block}.sidenav .sidenav-nav .sidenav-signout:hover{color:#c62828;background:#f5f5f5}.app-content{flex:1;width:100%;min-width:0;max-width:1200px;padding:1.5rem;overflow-y:auto}@media (width<=768px){.app-layout{height:auto;min-height:100vh;overflow:visible}.sidenav-toggle{display:flex}.sidenav-overlay{opacity:0;pointer-events:none;transition:opacity .2s}.app-layout.sidenav-open .sidenav-overlay{opacity:1;pointer-events:auto;display:block}.sidenav{z-index:102;width:14rem;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 4px 20px #00000026}.app-layout.sidenav-open .sidenav{transform:translate(0)}.sidenav-close{display:block}.app-content{padding-top:3.5rem}}.list-page .list-toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.list-page .list-toolbar .search-input-wrap{flex:1;min-width:12rem;max-width:20rem;position:relative}.list-page .list-toolbar .search-input-icon{color:#666;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.list-page .list-toolbar .search-input{width:100%;padding-left:2.5rem;padding-right:.75rem}.list-page .list-toolbar .filter-group{align-items:center;gap:.5rem;display:flex}.list-page .list-toolbar .filter-group label{margin-right:.25rem}.list-page .list-toolbar .store-filter-lowstock{cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:flex}.list-page .list-toolbar .store-selection-count{color:#666;font-size:.9375rem}.list-page .stats-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;margin-bottom:1rem;padding:1rem 1.5rem;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.list-page .stats-card-accent{background:#2d5a27;border-radius:0 0 2px 2px;width:100%;height:3px;position:absolute;top:0;left:0}.list-page .stats-card-label{color:#666;margin-top:4px;margin-bottom:2px;font-size:.875rem}.list-page .stats-card-value{color:#213547;letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.list-page .stats-card--total-expenses .stats-card-accent,.list-page .stats-card--total-consumption .stats-card-accent{background:#2d5a27}.list-page .stats-card--total-expenses .stats-card-value,.list-page .stats-card--total-consumption .stats-card-value{color:#2d5a27}.list-page .indent-order-section,.list-page .indent-result-section{margin-bottom:1.5rem}.list-page .indent-subheading{color:#213547;margin:0 0 1rem;font-size:1.125rem}.list-page .indent-portions-table .indent-portion-input{width:6rem;padding:.5rem .75rem}.list-page .indent-order-section .list-toolbar{margin-top:1.5rem}.list-page .indent-menu-section{margin-bottom:1.5rem}.list-page .indent-menu-section:last-child{margin-bottom:0}.list-page .indent-menu-section-title{color:#2d5a27;border-bottom:2px solid #2d5a2740;margin:0 0 .5rem;padding-bottom:.375rem;font-size:1rem;font-weight:600}.list-page .indent-empty-result{color:#666;margin-top:1rem}.list-page .store-lowstock-hint,.list-page .store-export-hint{color:#666;margin:0 0 1rem;font-size:.9375rem}.list-page .list-table td.list-empty{text-align:center;color:#666;padding:2rem}.list-page .list-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;box-shadow:0 2px 8px #0000001a}.list-page .list-table .col-checkbox{text-align:center;vertical-align:middle;width:2.5rem}.list-page .list-table .checkbox-cell{cursor:pointer;align-items:center;display:inline-flex}.list-page .list-table .checkbox-cell input[type=checkbox]{cursor:pointer;width:1.125rem;height:1.125rem}.list-page .list-table th,.list-page .list-table td{text-align:left;border-bottom:1px solid #e0e0e0;padding:.75rem 1rem}.list-page .list-table th{color:#213547;background:#f5f5f5;font-weight:600}.list-page .list-table th.first-column{border-top-left-radius:8px}.list-page .list-table th.last-column{border-top-right-radius:8px}.list-page .list-table tbody tr:hover{background:#00000005}.list-page .list-table tbody tr.list-table-row--clickable{cursor:pointer}.list-page .list-table tbody tr.list-table-row--clickable:hover{background:#2d5a2712}.list-page .list-table tbody tr.low-stock{background:#c6282814}.list-page .list-table .btn-cell{white-space:nowrap;gap:.5rem;min-height:48px;display:flex}@media (width<=768px){.list-page .list-table .col-id,.list-page .list-table .col-base_unit,.list-page .list-table .col-consumption_unit,.list-page .list-table .col-conversion_factor,.list-page .list-table .col-status{display:none}}.list-page .settings-intro{color:#666;max-width:42rem;margin:0 0 1.5rem}.list-page .settings-section{margin-bottom:2.5rem}.list-page .settings-section:last-child{margin-bottom:0}.list-page .settings-section .settings-section-title{color:#213547;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.list-page .settings-section .settings-section-intro{color:#666;margin:0 0 1rem;font-size:.9375rem}.list-page .settings-section--company{max-width:40rem}.list-page .settings-company__banner{margin-bottom:1rem}.list-page .settings-company__success{color:#2d5a27;background:#2d5a2714;border-radius:8px;margin:0 0 1rem;padding:.5rem .75rem;font-size:.9375rem}.list-page .business-profile-panel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem 1.25rem 1.25rem;position:relative}.list-page .business-profile-panel__toolbar{justify-content:flex-end;align-items:center;min-height:2.25rem;margin-bottom:1rem;display:flex}.list-page .business-profile-edit-form.signin-form{max-width:none;margin:0}.list-page .business-profile-edit-form.signin-form input:not([type=checkbox]),.list-page .business-profile-edit-form.signin-form textarea{box-sizing:border-box;width:100%}.list-page .business-profile-edit-form.signin-form textarea{color:#213547;resize:vertical;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;min-height:4.5rem;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;line-height:1.45}.list-page .business-profile-edit-form.signin-form textarea:focus{outline-offset:0;outline:2px solid #2d5a27}.list-page .business-profile-form__actions{border-top:1px solid #e0e0e0;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.list-page .business-profile-dl{flex-direction:column;gap:.85rem;margin:0;display:flex}.list-page .business-profile-dl__row{grid-template-columns:minmax(8rem,11rem) 1fr;align-items:start;gap:.75rem 1rem;font-size:.9375rem;display:grid}.list-page .business-profile-dl__row dt{color:#666;margin:0;font-weight:600}.list-page .business-profile-dl__row dd{color:#213547;word-break:break-word;margin:0}.list-page .business-profile-dl__multiline{white-space:pre-wrap}@media (width<=520px){.list-page .business-profile-dl__row{grid-template-columns:1fr;gap:.25rem}}.list-page .settings-tabs{border-bottom:1px solid #e0e0e0;gap:0;margin-bottom:1.5rem;display:flex}.list-page .settings-tabs .settings-tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.75rem 1.25rem;font-size:1rem;font-weight:500}.list-page .settings-tabs .settings-tab:hover{color:#213547}.list-page .settings-tabs .settings-tab.active{color:#2d5a27;border-bottom-color:#2d5a27}.list-page .loading,.list-page .error{text-align:center;padding:1.5rem}.list-page .error{color:#c62828}.dialog.bill-dialog{max-width:min(34rem,100vw - 2rem)}.dialog .dialog-form .form-hint{color:#666;margin:0 0 .5rem;font-size:.8125rem}.dialog .dialog-form .form-row-qty-with-unit{align-items:center;gap:.5rem;display:flex}.dialog .dialog-form .form-row-qty-with-unit input{flex:1;min-width:0}.dialog .dialog-form .form-row-qty-with-unit .form-qty-unit{color:#666;white-space:nowrap;font-size:.875rem;font-weight:600}.dialog .dialog-form .recipe-breakdown-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.dialog .dialog-form .recipe-breakdown-row .custom-select{flex:1;min-width:0}.dialog .dialog-form .recipe-breakdown-row .recipe-qty-input{width:5rem;padding:.5rem .75rem}.dialog .dialog-form .recipe-breakdown-row .btn-remove-row{color:#666;flex-shrink:0;padding:.35rem .5rem;font-size:1.25rem;line-height:1}.dialog .dialog-form .recipe-breakdown-row .btn-remove-row:hover{color:#c62828}.dialog .dialog-form .btn-add-row{align-self:flex-start;margin-top:.25rem}.dialog .dialog-form .bill-line-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.dialog .dialog-form .bill-line-row .bill-line-product{flex:1;min-width:0}.dialog .dialog-form .bill-line-row .bill-line-product .custom-select{width:100%}.dialog .dialog-form .bill-line-row .btn-remove-row{color:#666;flex-shrink:0;padding:.35rem .5rem;font-size:1.25rem;line-height:1}.dialog .dialog-form .bill-line-row .btn-remove-row:hover{color:#c62828}.dialog .dialog-form .bill-line-row .btn-remove-row:disabled{opacity:.35;cursor:not-allowed}.dialog .dialog-form .qty-stepper{border:1px solid #e0e0e0;border-radius:8px;flex-shrink:0;align-items:stretch;display:inline-flex;overflow:hidden}.dialog .dialog-form .qty-stepper button{cursor:pointer;color:#213547;background:#fff;border:none;width:2.25rem;font-size:1.1rem;line-height:1}.dialog .dialog-form .qty-stepper button:hover{background:#f5f5f5}.dialog .dialog-form .qty-stepper input{text-align:center;-moz-appearance:textfield;border:none;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;width:3rem;padding:.5rem .25rem}.dialog .dialog-form .qty-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dialog .dialog-form .qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dialog .dialog-form .bill-dialog-total{text-align:right;border-top:2px solid #e0e0e0;margin-top:.75rem;padding-top:.75rem;font-size:1.05rem}.dialog .dialog-form.bill-dialog-stack{flex-direction:column;gap:0}.dialog .dialog-form.bill-dialog-stack .bill-dialog-form{flex-direction:column;gap:1rem;display:flex}.dialog .dialog-form.bill-dialog-stack .bill-section-label{color:#666;font-size:.875rem;font-weight:600}.dialog .dialog-form.bill-dialog-stack .bill-dialog-preview{border-top:1px solid #e0e0e0;flex-direction:column;margin-top:1.5rem;padding-top:1.5rem;display:flex}.dialog .dialog-form.bill-dialog-stack .bill-preview-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.dialog .dialog-form.bill-dialog-stack .bill-preview-label{color:#666;font-size:.875rem;font-weight:600}.dialog .dialog-form.bill-dialog-stack .bill-preview-scroll{background:#f5f5f5;border-radius:8px;max-height:48vh;padding:1rem;overflow-y:auto}.dialog .dialog-form.bill-dialog-stack .bill-preview-scroll .bill-doc{border-radius:4px;box-shadow:0 2px 8px #0000001a}.dialog .dialog-form.dialog-form-split{flex-direction:row;flex:1;gap:1rem;display:flex}.dialog .dialog-form.dialog-form-split .dialog-form-left{flex-direction:column;flex:1;min-width:0;padding-right:.5rem;display:flex}.dialog .dialog-form.dialog-form-split .dialog-form-right{background:#fafafa;border-left:1px solid #eee;border-radius:12px;flex-direction:column;flex-shrink:0;width:320px;max-height:484px;padding:0;display:flex;overflow:hidden}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-upload-container,.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-section{flex:1;min-height:260px}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-section{flex-direction:column;display:flex}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-header{flex-shrink:0}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-dropzone{flex:1;min-height:14rem;margin:.75rem}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-preview-section{flex-direction:column;flex:1;min-height:0;margin:.75rem;display:flex}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-preview-section .attachment-preview-area{flex:1;min-height:180px}.dialog .dialog-form.dialog-form-split .dialog-form-right .attachment-footer{flex-shrink:0}.dialog .dialog-form.dialog-form-split .form-row{flex-direction:column;gap:.25rem;display:flex}.dialog .dialog-form.dialog-form-split .form-row label{font-size:.875rem}.export-column-picker .export-column-list{flex-direction:column;gap:.5rem;margin:1rem 0 1.5rem;display:flex}.export-column-picker .export-column-option{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.export-column-picker .export-column-option input[type=checkbox]{cursor:pointer;width:1.125rem;height:1.125rem}.manage-columns-dialog .manage-columns-hint{color:#666;margin:0 0 1rem;font-size:.9rem}.manage-columns-dialog .manage-columns-list{flex-direction:column;gap:.5rem;display:flex}.manage-columns-dialog .manage-columns-row{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;display:flex}.manage-columns-dialog .manage-columns-row:last-child{border-bottom:none}.manage-columns-dialog .manage-columns-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.manage-columns-dialog .manage-columns-label input[type=checkbox]{cursor:pointer;width:1.125rem;height:1.125rem}.manage-columns-dialog .manage-columns-actions{gap:.25rem;display:flex}.manage-columns-dialog .manage-columns-actions .btn-link{min-width:1.75rem;padding:.15rem .35rem}.dashboard-page .dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.dashboard-page .dashboard-metric{flex-direction:column;gap:.25rem;display:flex}.dashboard-page .dashboard-metric .dashboard-metric-label{color:#666;font-size:.9375rem}.dashboard-page .dashboard-metric .dashboard-metric-value{color:#213547;font-size:2rem;font-weight:600;line-height:1}.dashboard-page .dashboard-range{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.dashboard-page .dashboard-range .filter-group{align-items:center;gap:.5rem;display:flex}.dashboard-page .dashboard-range .filter-group label{color:#666;font-size:.9375rem}.dashboard-page .dashboard-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (width<=1024px){.dashboard-page .dashboard-body{grid-template-columns:1fr}}.dashboard-page .dashboard-panel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:0;padding:1rem;box-shadow:0 2px 8px #0000001a}.dashboard-page .dashboard-table-wrap{overflow-x:auto}.dashboard-page .dashboard-table-wrap .list-table{box-shadow:none;border-radius:0}.dashboard-page .dashboard-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.dashboard-page .dashboard-chart-wrap{flex-direction:column;display:flex}.dashboard-page .dashboard-panel-title{color:#213547;margin:0 0 1rem;font-size:1.0625rem;font-weight:600}.dashboard-page .dashboard-chart-empty{color:#666;padding:1rem 0}.dashboard-page .dashboard-chart-svg{width:100%;height:auto;display:block}.dashboard-page .dashboard-chart-svg .dashboard-chart-bar{fill:#2d5a27;transition:fill .15s}.dashboard-page .dashboard-chart-svg .dashboard-chart-bar:hover{fill:#3d7a35}.dashboard-page .dashboard-chart-svg .dashboard-chart-grid{stroke:#eee;stroke-width:1px}.dashboard-page .dashboard-chart-svg .dashboard-chart-axis{stroke:#ccc;stroke-width:1px}.dashboard-page .dashboard-chart-svg .dashboard-chart-axis-label{fill:#666;font-size:11px}@media (pointer:coarse){.dialog.bill-dialog .custom-select-trigger{min-height:2.75rem}.dialog.bill-dialog .qty-stepper button{width:3rem;min-height:2.75rem;font-size:1.4rem}.dialog.bill-dialog .qty-stepper input{width:3.25rem;min-height:2.75rem;font-size:1.05rem}.dialog.bill-dialog .bill-line-row .btn-remove-row{min-width:2.5rem;min-height:2.75rem;font-size:1.6rem}.dialog.bill-dialog .btn-add-row{min-height:2.75rem;padding:.5rem 1rem}.dialog.bill-dialog .dialog-footer button{min-height:2.75rem;padding:.5rem 1.25rem}.billing-page .list-toolbar .btn-primary{min-height:2.75rem;padding:.6rem 1.1rem}.billing-page .list-table td{padding-top:.85rem;padding-bottom:.85rem}.billing-page .btn-cell button{min-height:2.5rem;padding:.4rem .9rem}}@media (width<=420px){.dialog.bill-dialog .bill-line-row{flex-wrap:wrap}.dialog.bill-dialog .bill-line-row .bill-line-product{flex-basis:100%}}@media (width<=768px){.custom-select-panel--portal{max-height:16rem!important;bottom:auto!important}}
