@charset "UTF-8";@font-face{font-family:Madar;src:url(/assets/fonts/app_font.ttf) format("truetype"),url(/assets/fonts/app_font.otf) format("opentype");font-weight:100 900;font-display:swap}:root{--primary-300: #1b3553;--primary-400: #182e49;--primary-500: #14273d;--primary-600: #102032;--primary-700: #0c1827;--second-brand: #3467a2;--bg-light: #eff6ff;--blue-soft: #bedbff;--text-secondary: #566981;--dark-surface: #1e252d;--success: #00875a;--success-light: #01a26d;--orange: #c6540e;--amber: #d99a06;--error: #c62828;--grey-50: #fafafa;--grey-100: #f1f3f6;--grey-200: #e6e9ee;--grey-300: #dddddd;--grey-400: #d6d6d6;--grey-500: #cccccc;--grey-600: #bababa;--grey-700: #919191;--grey-800: #707070;--grey-900: #565656;--page-bg: #f4f7fb;--surface: #ffffff;--border: var(--grey-200);--field-border: #cfd6df;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(27, 53, 83, .06);--shadow-soft: 0 6px 24px rgba(27, 53, 83, .07);--shadow-lift: 0 14px 34px rgba(27, 53, 83, .12);--sidebar-width: 272px;--font: "Madar", "Segoe UI", Tahoma, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);background:var(--page-bg);color:var(--primary-300);-webkit-font-smoothing:antialiased;line-height:1.5}button,input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--blue-soft)}.page{display:flex;flex-direction:column;gap:1.25rem;animation:page-in .25s ease-out}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.45rem;font-weight:700;color:var(--primary-300)}.page-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem}.header-actions{display:flex;gap:.6rem;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:1.25rem}.card-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem}.card-title h2,.card-title h3{margin:0;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.card-title a{color:var(--second-brand);font-size:.82rem;font-weight:600}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:var(--radius-pill);padding:.65rem 1.25rem;font-weight:600;font-size:.88rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;min-height:42px;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary-300);color:#fff;box-shadow:0 6px 16px #1b35532e}.btn-primary:hover:not(:disabled){background:var(--primary-500)}.btn-secondary{background:#fff;color:var(--primary-300);border-color:var(--grey-200)}.btn-secondary:hover:not(:disabled){border-color:var(--second-brand);color:var(--second-brand)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#00704b}.btn-danger{background:#fff;color:var(--error);border-color:color-mix(in srgb,var(--error) 30%,white)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--error) 7%,white)}.btn-danger-solid{background:var(--error);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#a51f1f}.btn-sm{min-height:34px;padding:.35rem .85rem;font-size:.8rem}.icon-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--grey-200);background:#fff;color:var(--text-secondary);display:inline-grid;place-items:center;cursor:pointer;transition:.15s ease}.icon-btn:hover:not(:disabled){color:var(--second-brand);border-color:var(--second-brand);background:color-mix(in srgb,var(--second-brand) 6%,white)}.icon-btn.danger:hover:not(:disabled){color:var(--error);border-color:var(--error);background:color-mix(in srgb,var(--error) 6%,white)}.icon-btn.success:hover:not(:disabled){color:var(--success);border-color:var(--success);background:color-mix(in srgb,var(--success) 6%,white)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.84rem;font-weight:600;color:var(--dark-surface)}.field .hint-text{color:var(--grey-800);font-size:.76rem}.field input,.field textarea,.field select{width:100%;border:1px solid var(--field-border);border-radius:var(--radius-md);padding:.75rem .95rem;background:#fff;color:var(--primary-300);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.field textarea{min-height:110px;resize:vertical;line-height:1.6}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--second-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--second-brand) 14%,transparent)}.field input.invalid,.field textarea.invalid{border-color:var(--error)}.field .error{color:var(--error);font-size:.76rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.search-box{position:relative;display:flex;align-items:center;min-width:min(320px,100%)}.search-box app-icon{position:absolute;inset-inline-start:.85rem;color:var(--grey-700);pointer-events:none}.search-box input{width:100%;border:1px solid var(--grey-200);background:#fff;border-radius:var(--radius-pill);padding:.65rem 1rem;padding-inline-start:2.5rem;outline:none;color:var(--primary-300);transition:.18s ease}.search-box input:focus{border-color:var(--second-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--second-brand) 12%,transparent)}.password-field,.input-icon{position:relative}.password-field input{padding-left:3rem!important}.password-field app-password-toggle{position:absolute;top:50%;left:.45rem;transform:translateY(-50%);display:flex}.password-toggle{width:36px;height:36px;border:none;border-radius:10px;display:grid;place-items:center;background:transparent;color:var(--grey-700);cursor:pointer;transition:.15s ease}.password-toggle:hover,.password-toggle[aria-pressed=true]{background:var(--bg-light);color:var(--second-brand)}.input-icon>app-icon{position:absolute;top:50%;right:.95rem;transform:translateY(-50%);color:var(--grey-700);pointer-events:none;transition:color .15s ease}.input-icon input{padding-right:2.75rem!important}.input-icon:focus-within>app-icon{color:var(--second-brand)}.select-box{position:relative;display:inline-flex;align-items:center;min-width:220px}.select-box select{width:100%;appearance:none;border:1px solid var(--grey-200);background:#fff;border-radius:var(--radius-pill);padding:.65rem 2.5rem;color:var(--primary-300);font-weight:600;font-size:.86rem;outline:none;cursor:pointer;transition:.18s ease}.select-box select:focus,.select-box select:hover{border-color:var(--second-brand)}.select-box select:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--second-brand) 12%,transparent)}.select-box app-icon{position:absolute;color:var(--grey-700);pointer-events:none}.select-box .lead{inset-inline-start:.9rem}.select-box .caret{inset-inline-end:.9rem}.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:1.5px dashed var(--field-border);border-radius:var(--radius-md);padding:1.1rem;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-light) 55%,white);cursor:pointer;text-align:center;font-size:.85rem;transition:.18s ease}.file-drop:hover{border-color:var(--second-brand);color:var(--second-brand)}.file-drop input{display:none}.chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--grey-200);background:#fff;color:var(--text-secondary);border-radius:var(--radius-pill);padding:.42rem .9rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:.15s ease}.chip:hover{border-color:var(--second-brand);color:var(--second-brand)}.chip.active{background:var(--primary-300);border-color:var(--primary-300);color:#fff}.chip .count{background:color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--radius-pill);padding:0 .45rem;font-size:.72rem}.tag{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:var(--radius-pill);background:var(--bg-light);color:var(--second-brand);font-size:.74rem;font-weight:600}.table-card{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse;min-width:680px}table.data-table th,table.data-table td{text-align:start;padding:.85rem 1rem;border-bottom:1px solid var(--grey-100);font-size:.88rem;vertical-align:middle}table.data-table th{color:var(--text-secondary);font-weight:600;font-size:.78rem;background:#f8fafc;white-space:nowrap}table.data-table tbody tr{transition:background .15s ease}table.data-table tbody tr:hover{background:#f8fbff}table.data-table tbody tr:last-child td{border-bottom:none}.table-footer{padding:0 1rem 1rem}.cell-user{display:flex;align-items:center;gap:.7rem;min-width:0}.cell-user strong{display:block;font-size:.9rem}.cell-user small,.muted{color:var(--text-secondary);font-size:.78rem}table.data-table .cell-user small{display:block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions-cell{display:flex;gap:.35rem;justify-content:flex-end}.table-filters{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;padding:1rem;border-bottom:1px solid var(--grey-100)}.table-wrap{transition:opacity .2s ease}.table-wrap.is-loading{opacity:.55;pointer-events:none}tr.clickable{cursor:pointer}.cell-media{display:flex;align-items:center;gap:.75rem;min-width:0;max-width:380px}.cell-media .thumb{width:60px;height:44px;border-radius:10px;flex-shrink:0}.cell-media>div{min-width:0}.cell-media strong{display:block;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-media small{display:block;color:var(--text-secondary);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb-placeholder{display:grid;place-items:center;color:var(--second-brand);background:var(--bg-light)}.nowrap{white-space:nowrap}.detail-head{display:flex;align-items:center;gap:.85rem;min-width:0}.detail-head h2{line-height:1.45}.detail-head .sub{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.25rem;color:var(--text-secondary);font-size:.8rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.detail-item{padding:.7rem .9rem;border-radius:12px;background:#f8fafc;border:1px solid var(--grey-100)}.detail-item.full{grid-column:1/-1}.detail-item .key{display:flex;align-items:center;gap:.35rem;margin-bottom:.2rem;color:var(--text-secondary);font-size:.74rem}.detail-item .val{font-size:.9rem;font-weight:600;word-break:break-word}.detail-item a.val{color:var(--second-brand)}.detail-section{margin:1.25rem 0 .6rem;font-size:.86rem;font-weight:700;color:var(--primary-300)}@media(max-width:560px){.detail-grid{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .7rem;border-radius:var(--radius-pill);font-size:.74rem;font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-active,.badge-approved{background:color-mix(in srgb,var(--success) 11%,white);color:var(--success)}.badge-draft{background:color-mix(in srgb,var(--orange) 11%,white);color:var(--orange)}.badge-pending{background:color-mix(in srgb,var(--amber) 13%,white);color:#a87405}.badge-rejected,.badge-deleted{background:color-mix(in srgb,var(--error) 9%,white);color:var(--error)}.badge-info{background:color-mix(in srgb,var(--second-brand) 11%,white);color:var(--second-brand)}.badge-neutral{background:var(--grey-100);color:var(--grey-900)}.role-badge{display:inline-flex;padding:.22rem .7rem;border-radius:var(--radius-pill);font-size:.74rem;font-weight:600;background:var(--grey-100);color:var(--grey-900);white-space:nowrap}.role-badge[data-role=admin]{background:color-mix(in srgb,var(--primary-300) 10%,white);color:var(--primary-300)}.role-badge[data-role=broker]{background:color-mix(in srgb,var(--second-brand) 12%,white);color:var(--second-brand)}.role-badge[data-role=owner]{background:color-mix(in srgb,var(--success) 11%,white);color:var(--success)}.role-badge[data-role=project_manager]{background:color-mix(in srgb,var(--orange) 11%,white);color:var(--orange)}.avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:.85rem;color:var(--second-brand);background:linear-gradient(135deg,var(--bg-light),var(--blue-soft));overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.stat-card{position:relative;display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.15rem;box-shadow:var(--shadow-xs);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}a.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.stat-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:var(--second-brand);background:color-mix(in srgb,var(--second-brand) 11%,white)}.stat-icon.green{color:var(--success);background:color-mix(in srgb,var(--success) 11%,white)}.stat-icon.orange{color:var(--orange);background:color-mix(in srgb,var(--orange) 11%,white)}.stat-icon.amber{color:#a87405;background:color-mix(in srgb,var(--amber) 14%,white)}.stat-icon.navy{color:#fff;background:linear-gradient(135deg,var(--primary-300),var(--second-brand))}.stat-card .label{color:var(--text-secondary);font-size:.8rem}.stat-card .value{font-size:1.55rem;font-weight:700;color:var(--primary-300);line-height:1.2}.stat-card .sub{font-size:.74rem;color:var(--success);font-weight:600}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state .empty-icon,.error-state .empty-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--bg-light);color:var(--second-brand);margin-bottom:.25rem}.error-state .empty-icon{background:color-mix(in srgb,var(--error) 8%,white);color:var(--error)}.empty-state h3,.error-state h3{margin:0;color:var(--primary-300);font-size:1rem}.empty-state p,.error-state p{margin:0;font-size:.86rem}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--grey-100) 25%,#f8f9fb 37%,var(--grey-100) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}.skeleton-row{height:52px;margin:.5rem 1rem}.skeleton-card{height:260px;border-radius:var(--radius-lg)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#0c182780;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;animation:fade-in .18s ease-out}.modal{background:#fff;border-radius:var(--radius-lg);width:min(600px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 60px #0c182740;padding:1.4rem;animation:pop-in .2s ease-out}.modal.wide{width:min(780px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.modal-header h2,.modal h2{margin:0;font-size:1.12rem}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.5rem;flex-wrap:wrap}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.info-list{display:grid;gap:.15rem}.info-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--grey-100);font-size:.88rem}.info-item:last-child{border-bottom:none}.info-item app-icon{color:var(--second-brand)}.info-item .key{color:var(--text-secondary);min-width:110px}.info-item .val{font-weight:600;word-break:break-word}.progress{height:8px;border-radius:var(--radius-pill);background:var(--grey-100);overflow:hidden;min-width:90px}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--second-brand),var(--primary-300))}.thumb{width:52px;height:52px;object-fit:cover;border-radius:12px;background:var(--grey-100)}@media(max-width:720px){.form-grid{grid-template-columns:1fr}.page-header h1{font-size:1.25rem}.search-box{min-width:100%}}
