@font-face{font-family:Jakarta;src:url('../fonts/PlusJakartaSans.ttf') format('truetype');font-weight:200 800;font-display:swap}
@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
:root{--navy:#172b50;--ink:#23344d;--muted:#8490a3;--blue:#2864eb;--blue-dark:#1c50cb;--mint:#a5e6c6;--green:#269875;--bg:#f6f8fb;--line:#eaf0f5;--white:#fff;--radius:15px;--shadow:0 3px 16px #23344d03;--font:Jakarta,'Trebuchet MS',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}svg{flex-shrink:0;vertical-align:middle}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy);line-height:1.35;letter-spacing:-.035em}h1{font-size:29px;font-weight:750}h2{font-size:17px;font-weight:750}h3{font-size:15px;font-weight:700}p{color:#7a8799}strong{font-weight:700}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8ab4ff;outline-offset:4px;border-radius:5px}::selection{background:#c8e1ff}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;background:var(--navy);color:white;padding:10px 20px;z-index:100}.skip-link:focus{top:10px}.muted{color:var(--muted)}.full-width{width:100%}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-weight:650;font-size:12px;white-space:nowrap}.text-link:hover{color:var(--blue-dark)}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 19px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:700;line-height:1.5;transition:background .18s,transform .18s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--blue);color:white;box-shadow:0 3px 7px #2864eb15}.button.primary:hover{background:var(--blue-dark)}.button.secondary{border-color:#e2e7ee;background:white;color:#56657a}.button.secondary:hover{background:#f5f8fc}.button.white{background:white;color:#2856a6}.button.white:hover{background:#f0f6ff}.button.small{min-height:35px;padding:8px 13px;font-size:11px}.button.large{min-height:49px;padding:14px 23px;font-size:13px}.button.danger{background:#fff0ef;color:#cf5555;border-color:#f9dedd}.button.success{background:#eaf8f0;color:#238561;border-color:#d8efdf}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;padding:0;color:#8490a3;border:0;background:transparent;border-radius:8px}.icon-button:hover{background:#eef3fb;color:var(--blue)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:27px;font-weight:800;letter-spacing:-1px;line-height:1.15;color:#1b3156}.brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:41px;background:var(--blue);color:white;border-radius:12px;position:relative}.brand-mark:after{content:'';position:absolute;right:-2px;top:-2px;width:10px;height:10px;background:#97ddbc;border:3px solid white;border-radius:50%}.brand-accent{color:var(--blue)}.brand small{display:block;font-size:8px;line-height:1.8;font-weight:500;color:#929aac;letter-spacing:.04px;margin-top:4px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:#e5edfa;color:#5776a5;font-size:12px;font-weight:750;border:3px solid white;border-radius:50%}.small-avatar{width:35px;height:35px;background:#e5f1e8;color:#63896e}.green-dot,.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#48b58c;flex-shrink:0}.amber-dot{background:#e6ac48}.blue-dot{background:#598de9}.eyebrow,.mini-label{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.5px;font-weight:750;color:#618b7f}.mini-label{color:#8393ac;font-size:9px;margin-bottom:7px}.blue{background:#edf3ff;color:#4b82e6}.amber{background:#fff5e3;color:#d4a147}.mint{background:#eaf7ef;color:#43a983}.lavender{background:#eef1fc;color:#7b8ecd}.role-chip,.soft-label{display:inline-flex;align-items:center;gap:6px;background:#f3f6fa;color:#758297;border:1px solid #edf1f6;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:600}.soft-label{background:white}.section-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#eff5ff;color:var(--blue)}
.app-page{background:var(--bg)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:242px;background:white;border-right:1px solid #e9edf3;z-index:40;display:flex;flex-direction:column;padding:30px 20px 0}.sidebar .brand{margin:0 7px 29px}.workspace-label{display:flex;align-items:center;gap:8px;border:1px solid #edf0f5;background:#fcfdfe;padding:10px 13px;border-radius:7px;font-size:8px;letter-spacing:1.45px;font-weight:700;color:#7e8b9f;margin-bottom:25px}.workspace-dot{width:6px;height:6px;border-radius:2px;background:#87bca2}.nav-caption{font-size:8px;font-weight:700;letter-spacing:1.4px;color:#a3acbb;margin:0 13px 9px}.nav-links{display:grid;gap:5px;margin-bottom:27px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;min-height:43px;border-radius:7px;color:#7f8b9e;font-size:11px;font-weight:600;position:relative}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#f6f8fc;color:var(--blue)}.nav-item.active{background:#edf3ff;color:var(--blue);font-weight:750}.nav-item.active:before{content:'';position:absolute;width:3px;height:19px;background:var(--blue);left:-20px;top:12px;border-radius:0 3px 3px 0}.nav-count{font-size:8px;background:#e7edf8;padding:1px 6px;border-radius:4px;margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar-note{background:linear-gradient(135deg,#eff7f3,#f6faf7);border:1px solid #e6f0e9;border-radius:11px;padding:18px 15px 16px;margin:8px 3px 22px;position:relative;overflow:hidden}.note-spark{display:block;color:#5eaa8f;margin-bottom:10px}.sidebar-note strong{font-size:13px;line-height:1.55;display:block;color:#426d5e;letter-spacing:-.3px}.sidebar-note p{font-size:10px;color:#8a9e95;line-height:1.8;margin-top:7px;max-width:155px}.note-line{position:absolute;width:90px;height:90px;border:1px solid #d8eade;border-radius:50%;right:-42px;top:20px}.note-line:after{content:'';position:absolute;width:60px;height:60px;top:14px;left:14px;border:1px solid #d8eade;border-radius:50%}.sidebar-user{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:18px 0}.sidebar-user>div{flex:1;min-width:0}.sidebar-user strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user span:not(.avatar){display:block;color:#98a2b1;font-size:9px;margin-top:2px}.sidebar-user .avatar{border:0;width:34px;height:34px;font-size:10px}.sidebar-user .icon-button{width:25px}.app-workspace{margin-left:242px}.topbar{height:78px;background:#ffffffed;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:15px}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:10px;color:#97a2b2}.breadcrumb strong{color:#5c6c84;font-size:10px;font-weight:600}.breadcrumb>svg{color:#b8c1ce}.topbar-right{display:flex;gap:18px;align-items:center}.region-pill{display:flex;align-items:center;gap:6px;color:#77869b;font-size:10px;font-weight:550}.region-pill svg{color:#9aa7b9}.bell-button{position:relative;width:30px}.notification-dot{position:absolute;width:5px;height:5px;top:6px;right:6px;background:#e49d7b;border:2px solid white;box-sizing:content-box;border-radius:50%}.topbar-divider{height:23px;width:1px;background:var(--line)}.mobile-menu{display:none}.main-content{max-width:1640px;margin:0 auto;padding:30px 34px 0;min-height:calc(100vh - 78px);display:flex;flex-direction:column}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.page-heading p{font-size:11px;margin-top:6px}.dashboard-heading h1{font-size:25px}.hello-spark{color:#d8ae65;font-size:26px;display:inline-block;margin-left:4px;font-weight:500}.date-pill{display:inline-flex;align-items:center;gap:8px;background:white;border:1px solid #e7ecf3;padding:9px 12px;border-radius:7px;color:#77869b;font-size:10px;white-space:nowrap}.date-pill svg{color:#8fa0b5}.app-footer{margin-top:auto;padding:29px 0 20px;color:#a2adbc;display:flex;justify-content:space-between;gap:15px;font-size:9px}.footer-tag{display:flex;align-items:center;gap:6px}.footer-tag>span{width:4px;height:4px;border-radius:50%;background:#83bda3}
.dashboard-hero{background:linear-gradient(112deg,#2859bb 0%,#316de1 62%,#457dec 100%);min-height:250px;display:flex;border-radius:13px;position:relative;overflow:hidden;margin-bottom:24px;box-shadow:0 8px 22px #2864eb0a}.dashboard-hero:before{content:'';position:absolute;right:-10px;top:-270px;width:650px;height:650px;border:1px solid #ffffff13;border-radius:50%;box-shadow:0 0 0 65px #ffffff05,0 0 0 130px #ffffff04}.dashboard-hero-copy{position:relative;z-index:2;padding:28px 32px;flex:1}.hero-eyebrow{font-size:7px;letter-spacing:1.4px;display:flex;align-items:center;gap:6px;color:#d1e2ff;font-weight:650}.hero-eyebrow>span{background:#a7e3cb;border-radius:50%;width:5px;height:5px}.dashboard-hero h2{color:white;font-size:27px;line-height:1.5;letter-spacing:-.7px;margin:12px 0 8px;font-weight:750}.dashboard-hero p{color:#c6dbff;font-size:10px;margin-bottom:19px}.hero-button{min-height:36px;border-radius:6px;font-size:10px;padding:9px 13px;gap:8px}.hero-button svg:last-child{margin-left:15px}.dashboard-art{position:relative;align-self:flex-end;width:37%;min-width:280px;margin:0 20px 20px -15px}.dashboard-art .neighborhood-art{width:100%;display:block;filter:drop-shadow(0 7px 12px #133c6615)}.art-caption{display:block;text-align:center;font-size:8px;color:#d5e9ff;margin-top:-4px;letter-spacing:.3px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-card{padding:17px 19px 16px;background:white;border:1px solid #e9eef5;box-shadow:var(--shadow);border-radius:11px;transition:border-color .2s,transform .2s}.stat-card:hover{border-color:#bdcff2;transform:translateY(-2px)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#8190a4;font-size:10px;font-weight:550}.stat-icon{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:9px}.stat-card>strong{font-size:28px;line-height:1.2;display:block;color:#243852;font-weight:750;margin:9px 0 11px;letter-spacing:-1px}.stat-caption{display:flex;align-items:center;gap:5px;font-size:8px;color:#a2adbc;white-space:nowrap}.stat-caption .small-dot{width:4px;height:4px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.dashboard-main,.dashboard-aside{display:flex;flex-direction:column;gap:22px;min-width:0}.panel{border:1px solid #e8edf4;background:white;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel.padded{padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 22px 19px}.panel-heading h2{font-size:13px;display:flex;align-items:center;gap:8px;letter-spacing:-.2px}.panel-heading p{font-size:9px;margin-top:5px;color:#96a0b0}.panel-heading .text-link{font-size:9px;gap:6px}.padded .panel-heading{padding:0 0 23px}.heading-dot{display:inline-block;width:5px;height:5px;background:#9cbcf3;border-radius:50%;margin-top:2px}.panel-bottom-note{display:flex;gap:6px;align-items:center;border-top:1px solid #f0f3f8;padding:12px 21px;font-size:8px;color:#a0acbd}.table-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#dfe6f0 transparent}.data-table{width:100%;border-collapse:collapse;min-width:720px;text-align:left}.data-table th{background:#f9fafc;color:#99a4b5;font-size:9px;font-weight:600;padding:11px 15px;border-top:1px solid #f1f3f8;border-bottom:1px solid #edf1f6;white-space:nowrap}.data-table td{padding:17px 15px;border-bottom:1px solid #f0f3f7;font-size:11px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table th:first-child,.data-table td:first-child{padding-left:23px}.data-table th:last-child,.data-table td:last-child{padding-right:19px}.data-table tbody tr:hover{background:#fcfdff}.ticket-cell{display:flex;align-items:center;gap:11px}.category-symbol{display:flex;align-items:center;justify-content:center;width:37px;height:39px;flex-shrink:0;border-radius:8px;background:#f2f5fb;color:#86a2c4}.category-0{background:#edf4ff;color:#79a0d4}.category-1{background:#fff4e6;color:#c9a66c}.category-2{background:#edf7ef;color:#83ae8c}.category-3{background:#eef6fa;color:#7da5ba}.category-4{background:#f3f0fa;color:#9b92b3}.ticket-title{color:#44546c;font-size:10px;font-weight:650;line-height:1.5;display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-title:hover{color:var(--blue)}.ticket-meta{display:block;color:#a5afbe;font-size:8px;margin-top:5px;white-space:nowrap}.meta-dot{padding:0 3px;color:#c0c8d2}.category-label{font-size:9px;color:#7e8b9f;line-height:1.5;display:block;max-width:112px}.date-cell{font-size:9px!important;color:#94a1b4;white-space:nowrap}.row-arrow{color:#a3aec0;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:5px}.row-arrow:hover{background:#edf3ff;color:var(--blue)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;font-size:8px;font-weight:600;line-height:1.5;white-space:nowrap;color:#6981a3;background:#eff3f9}.status-badge>span{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.8}.status-badge.menunggu_verifikasi{background:#fff8e8;color:#c79e4e}.status-badge.diproses{background:#eef3ff;color:#5f88d2}.status-badge.selesai{background:#ecf8f1;color:#55a483}.status-badge.ditolak{background:#fff0f0;color:#ca7d7d}.compact-table{min-width:610px}.compact-table td{padding-top:18px;padding-bottom:18px}.compact-table th{font-size:8px}.compact-table .category-symbol{width:33px;height:35px}.compact-table .category-symbol svg{width:18px;height:18px}.compact-table .ticket-title{max-width:190px;font-size:9px}.compact-table .category-label{font-size:8px;max-width:88px}.compact-table .status-badge{font-size:7px}.compact-table th,.compact-table td{padding-left:10px;padding-right:10px}.chart-panel .panel-heading{padding-bottom:6px}.chart-content{padding:18px 22px 22px;display:grid;grid-template-columns:1fr 175px;gap:25px;align-items:center}.bar-chart{display:flex;align-items:flex-end;gap:19px;height:147px;position:relative;padding:0 8px}.chart-grid{position:absolute;inset:18px 0 22px;display:flex;flex-direction:column;justify-content:space-between}.chart-grid span{display:block;border-top:1px dashed #edf1f6}.chart-column{display:flex;align-items:center;flex-direction:column;flex:1;height:100%;z-index:1;position:relative}.bar-count{height:20px;font-size:8px;color:#b0bed1}.bar-track{width:100%;max-width:22px;flex:1;display:flex;align-items:flex-end}.chart-bar{width:100%;background:#d7e5fc;border-radius:4px 4px 0 0;min-height:4px}.current-bar{background:#6092e6}.bar-label{height:23px;padding-top:8px;font-size:8px;color:#a1adbd}.chart-insight{border-left:1px solid var(--line);padding-left:22px}.insight-icon{color:#82ac92}.chart-insight h3{font-size:11px;line-height:1.7;color:#6a7c95;margin:8px 0 6px}.chart-insight p{font-size:8px;color:#a5afbd}.chart-legend{display:flex;align-items:center;gap:5px;font-size:8px;color:#8f9db1;margin-top:12px}.chart-legend span{display:block;width:6px;height:6px;background:#78a2e7;border-radius:2px}.completion-panel .panel-heading{padding-bottom:8px}.completion-panel .panel-heading>svg{color:#a4b5c0}.completion-body{text-align:center;padding:8px 12px 17px}.completion-ring{width:126px;height:126px;border-radius:50%;background:conic-gradient(#8bd6b8 var(--completion),#f1f5f5 0);padding:9px;margin:0 auto 12px;position:relative}.completion-ring>span{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:white}.completion-ring strong{font-size:27px;letter-spacing:-1.3px;line-height:1.3;color:#3e715e}.completion-ring strong small{font-size:16px;margin-left:2px}.completion-ring span span{font-size:8px;color:#9aa9a2;margin-top:4px}.completion-body p{font-size:9px;line-height:1.9;color:#a0abbd}.completion-body p strong{color:#71829b;font-size:10px;font-weight:600}.completion-footer{display:flex;justify-content:center;align-items:center;gap:6px;background:#f9fcfa;border-top:1px solid #eef4ef;padding:11px 10px;color:#90a99c;font-size:8px}.activity-panel .panel-heading{padding:20px 18px 15px}.live-dot{width:5px;height:5px;background:#a3bdac;border-radius:50%;box-shadow:0 0 0 4px #f1f7f2}.activity-list{padding:0 18px 7px}.activity-item{position:relative;display:flex;gap:10px;padding-bottom:18px;min-height:62px}.activity-item:not(:last-child):before{content:'';position:absolute;left:13px;top:29px;width:1px;height:calc(100% - 28px);background:#edf0f5}.activity-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;z-index:1}.activity-item p{font-size:9px;line-height:1.8;color:#7b8a9f}.activity-item time{display:block;font-size:8px;color:#adb6c4;margin-top:4px}.activity-item:hover p{color:var(--blue)}.guide-card{position:relative;padding:20px;background:linear-gradient(115deg,#f0f5ff,#f5f8ff);border:1px solid #e1eafa;border-radius:11px;overflow:hidden}.guide-icon{display:block;color:#7b9bc5;margin-bottom:10px}.guide-card h3{font-size:12px;line-height:1.7;color:#5b7394;letter-spacing:-.1px}.guide-card p{font-size:9px;line-height:1.9;color:#95a5bd;margin:9px 0 14px}.guide-card .text-link{font-size:9px}.pending-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #f3e7c9;background:#fffbf0;color:#ac8e54;padding:13px 18px;border-radius:9px;margin:-8px 0 22px;font-size:10px}.pending-banner>span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.empty-state{text-align:center;padding:55px 25px}.empty-icon{display:inline-flex;align-items:center;justify-content:center;background:#f0f5fc;color:#94acd0;width:65px;height:65px;border-radius:18px;margin-bottom:18px}.empty-state h3{font-size:15px;color:#71829b}.empty-state p{font-size:11px;max-width:330px;margin:8px auto 20px}.small-empty{padding:15px 20px 25px;font-size:10px;color:#9ba7b8}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;border-top:1px solid var(--line);font-size:10px;color:#9aa6b6}.pagination>div{display:flex;gap:6px;align-items:center}.page-link{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;border:1px solid #e9eef5;border-radius:6px;color:#7f8da4}.page-link:hover,.page-link.current{background:#edf3ff;color:var(--blue);border-color:#d4e2fc}
.form-field{margin-bottom:18px;min-width:0}.form-field label{display:block;font-size:11px;font-weight:650;color:#5d6e87;margin-bottom:7px}.input{display:block;width:100%;min-height:44px;border:1px solid #e1e7ef;border-radius:7px;padding:11px 13px;color:#4f6079;background:#fff;font-size:11px;outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#b1b9c6;font-weight:400}.input:focus{border-color:#8eb1f3;box-shadow:0 0 0 3px #2864eb0a}.input:disabled{background:#f6f8fa;color:#a0aab7}.input[type=date]{min-width:0}textarea.input{min-height:140px;resize:vertical;line-height:1.9}select.input{padding-right:26px;cursor:pointer}.has-error .input{border-color:#e0a2a2}.field-error{font-size:10px;color:#cb6c6c;margin-top:6px}.field-hint{font-size:9px;color:#a1acbc;line-height:1.8;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.stack-form{max-width:650px}.stack-form>.button{margin-top:7px}.inline-note{display:flex;align-items:flex-start;gap:9px;background:#f3f7fe;border:1px solid #e9effa;border-radius:8px;padding:12px 13px;font-size:10px;line-height:1.9;color:#8297b8;margin-bottom:20px}.inline-note svg{margin-top:2px;color:#88a8d3}.alert{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #e0eaf9;background:#eff5fe;color:#6686b4;border-radius:9px;font-size:11px;margin-bottom:18px}.alert>span{flex:1}.alert-success{background:#edf8f1;border-color:#dbefdf;color:#519375}.alert-error{background:#fff2f1;border-color:#f7dedb;color:#bf7474}.alert .icon-button{width:25px;height:25px}.flash-container{animation:appear .3s ease}.filter-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:20px 22px;border-bottom:1px solid var(--line)}.filter-form .input{min-height:38px;padding:9px 11px;font-size:10px}.search-field{position:relative;flex:1;min-width:190px}.search-field>svg{position:absolute;left:12px;top:12px;color:#a9b4c4;width:15px;height:15px}.search-field .input{padding-left:34px}.filter-select{width:155px}.filter-form .date-filter{width:135px}.filter-more{padding:12px 22px 18px;background:#fafcfe;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.filter-more .form-field{margin:0;flex:1;max-width:200px}.filter-more .form-field label{font-size:9px}.list-count{padding:14px 22px;font-size:10px;color:#98a5b7}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.content-sidebar{display:flex;flex-direction:column;gap:20px}.profile-card{text-align:center}.profile-avatar{width:70px;height:70px;font-size:22px;background:#edf3fb;border:4px solid #f8faff;margin:5px auto 15px}.profile-card h2{margin-bottom:10px}.detail-list{margin:18px 0 0}.detail-list>div{padding:13px 0;border-top:1px solid var(--line);text-align:left}.detail-list dt{font-size:9px;color:#a2adbd;margin-bottom:4px}.detail-list dd{margin:0;font-size:11px;color:#73839b;overflow-wrap:anywhere}.info-card{padding:23px;background:#f1f6ff;border:1px solid #e3ebfb;border-radius:12px}.info-card h3{font-size:13px;margin:12px 0 8px;color:#56729b}.info-card p,.info-card li{font-size:10px;color:#8b9fbb;line-height:1.9}.info-card ul,.tips-list{padding-left:17px}.tips-list{margin:14px 0;color:#8e9eb3;font-size:10px;line-height:2.1}.upload-zone{position:relative;border:1.5px dashed #cfdcf1;border-radius:9px;background:#fafcff;padding:28px 18px;text-align:center;color:#94afd4;margin-top:8px;display:block}.upload-zone:hover,.upload-zone.drag-over{background:#f1f6ff;border-color:#7fa8ec}.upload-zone:focus-within{outline:3px solid #bbd2fa;outline-offset:2px}.upload-zone strong{font-size:11px;color:#7993bb;display:block;margin-top:10px}.upload-zone small{font-size:9px;color:#a4b3c7;display:block;margin-top:5px}.file-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.preview-item{width:90px;position:relative}.preview-item img{display:block;width:90px;height:70px;border-radius:7px;object-fit:cover}.preview-item span{display:block;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#97a5b8;margin-top:4px}.preview-item button{position:absolute;top:3px;right:3px;background:#172b50c7;color:white;border:0;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1}.form-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.form-actions .button{font-size:11px}.detail-heading{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#8da0ba;margin-bottom:17px}.back-link svg{transform:rotate(180deg)}.ticket-detail-title{font-size:23px;line-height:1.5;max-width:700px}.ticket-information{display:flex;gap:18px;flex-wrap:wrap;margin:13px 0 24px;font-size:10px;color:#97a5ba}.ticket-information span{display:flex;gap:5px;align-items:center}.detail-text{font-size:12px;line-height:2;color:#7d8da3;white-space:pre-wrap;overflow-wrap:anywhere}.section-divider{border:0;border-top:1px solid var(--line);margin:24px 0}.detail-section h3{font-size:12px;margin-bottom:12px}.location-box{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#f7f9fc;border:1px solid #eef1f6;border-radius:8px;color:#8292a8;font-size:11px}.location-box svg{color:#9baec6}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-link{display:block}.photo-link img{display:block;width:100%;height:145px;object-fit:cover;border-radius:8px;border:1px solid #ebeff5}.photo-link span{display:block;font-size:9px;color:#97a6ba;margin-top:5px}.photo-link img:hover{opacity:.88}.timeline{list-style:none;padding:0;margin:20px 0 0}.timeline li{position:relative;display:flex;gap:14px;padding-bottom:25px}.timeline li:last-child{padding-bottom:0}.timeline li:not(:last-child):before{content:'';position:absolute;top:29px;left:13px;bottom:0;width:1px;background:#e8edf4}.timeline-symbol{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#edf4ff;color:#7e9dce;border:4px solid #f7faff;border-radius:50%;flex-shrink:0;z-index:1}.timeline li:last-child .timeline-symbol{background:#e3f3e9;color:#7aab91;border-color:#f1f9f4}.timeline h4{font-size:10px;font-weight:600;color:#6f809a;margin:1px 0 5px;line-height:1.8}.timeline p{font-size:11px;line-height:1.9;color:#91a0b3;white-space:pre-wrap;overflow-wrap:anywhere}.timeline time{display:block;font-size:8px;color:#b0bac8;margin-top:7px}.action-panel .panel-heading{padding-bottom:14px}.action-panel form{padding:0 22px 21px}.action-panel form+form{border-top:1px solid var(--line);padding-top:20px}.action-panel .form-field{margin-bottom:13px}.action-panel textarea.input{min-height:90px;font-size:10px}.action-panel .button{font-size:10px}.action-panel .input{font-size:10px}.action-panel .form-field label{font-size:10px}.action-hint{font-size:10px;color:#9cacc1;padding:0 22px 20px;line-height:1.9}.rejection-note{padding:17px;border:1px solid #f4e0df;border-radius:9px;background:#fff6f5;color:#c18080;font-size:11px;margin-bottom:20px;line-height:1.9}.rejection-note strong{display:block;margin-bottom:4px}.comment-list{display:flex;flex-direction:column;gap:20px;margin:18px 0 25px}.comment{display:flex;gap:11px}.comment .avatar{width:31px;height:31px;font-size:9px;border:0}.comment>div{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px;font-size:9px}.comment-meta strong{font-size:10px;color:#6c7e99}.comment-meta time{color:#b0bac8;font-size:8px}.comment-body{font-size:11px;color:#8494aa;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;padding:12px 14px;border-radius:0 8px 8px 8px}.notification-list{padding:0 23px}.notification-item{display:flex;align-items:flex-start;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.notification-item:last-child{border-bottom:0}.notification-item>div{flex:1}.notification-item.unread .notification-title{color:#526d99}.notification-title{font-size:12px;color:#8a99ae;line-height:1.9}.notification-item time{display:block;font-size:9px;color:#b0bbca;margin-top:6px}.notification-item .button{margin-top:2px}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:0 23px;margin-bottom:4px}.tab-link{padding:17px 0;font-size:11px;color:#9cabbf;position:relative}.tab-link.active{color:var(--blue);font-weight:650}.tab-link.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--blue)}.person-cell{display:flex;align-items:center;gap:10px}.person-cell .avatar{border:0}.person-cell strong{font-size:11px;color:#647591}.person-cell small{display:block;font-size:9px;color:#a1aec1;margin-top:4px}.account-badge{display:inline-flex;padding:4px 8px;border-radius:5px;font-size:8px;font-weight:600;background:#f3f5f8;color:#98a4b6}.account-badge.active{background:#edf8f1;color:#68a086}.account-badge.pending{background:#fff7e6;color:#c0a05d}.account-badge.inactive{background:#fff0f0;color:#c68b8b}.table-actions{display:flex;gap:6px}.admin-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:23px;align-items:start}.admin-create{padding:23px}.admin-create h2{font-size:14px;margin-bottom:6px}.admin-create>p{font-size:10px;color:#a0adbf;margin-bottom:23px}.region-card{padding:22px;border-bottom:1px solid var(--line)}.region-card:last-child{border-bottom:0}.region-card-top{display:flex;align-items:center;gap:12px}.region-card-top .section-icon{width:42px;height:42px}.region-card-top h3{font-size:13px;color:#657995}.region-card-top p{font-size:10px;margin-top:3px}.region-count{margin-left:auto;font-size:9px;color:#a0adc0;background:#f5f8fc;padding:5px 9px;border-radius:5px}.rt-list{display:flex;gap:9px;flex-wrap:wrap;padding:17px 0 5px}.rt-pill{padding:7px 11px;background:#f5f8fc;border:1px solid #e7edf6;border-radius:7px;display:flex;gap:9px;align-items:center;font-size:10px;color:#8295b2}.rt-pill details summary{font-size:9px;color:#95a7bf}.admin-edit{margin-top:14px}.admin-edit summary{font-size:10px;color:#7d9bc4;cursor:pointer;padding:3px 0}.admin-edit[open] summary{margin-bottom:15px}.admin-edit .form-grid{gap:12px}.admin-edit .form-field{margin-bottom:12px}.admin-edit .input{font-size:10px;min-height:38px;padding:9px 11px}.admin-edit label{font-size:9px}.admin-edit .form-actions{padding-top:13px;margin-top:10px;justify-content:flex-start}.inline-edit{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.inline-edit .input{width:90px;min-height:32px;padding:6px;font-size:10px}.category-admin{display:flex;gap:14px;padding:21px 23px;border-bottom:1px solid var(--line)}.category-admin:last-child{border-bottom:0}.category-admin>div{flex:1;min-width:0}.category-admin h3{font-size:12px;margin:2px 0 5px}.category-admin p{font-size:10px;color:#a2afc2}.category-admin .account-badge{align-self:flex-start}.checkbox-line{display:flex;align-items:center;gap:8px;font-size:11px;color:#8595ae;margin:12px 0}.checkbox-line input{accent-color:var(--blue)}.user-row{padding:19px 22px;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:0}.user-row-header{display:flex;align-items:center;gap:10px}.user-row-header .person-cell{flex:1}.user-row-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0 0 46px;font-size:9px;color:#a1aec2}.user-row .admin-edit{margin-left:46px}.user-row .toggle-form{margin-left:auto}.error-page{margin:auto;width:100%;padding:75px 25px;text-align:center}.error-code{display:block;font-size:90px;font-weight:800;color:#dfe8f5;letter-spacing:-7px;line-height:1}.error-page h1{font-size:25px;margin:25px 0 12px}.error-page p{max-width:500px;margin:0 auto 25px;font-size:12px;line-height:2}
.sidebar{overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.sidebar>*{flex-shrink:0}
.table-scroll{position:relative}
