/* Shared UI layer: existing Bootstrap/theme components, no replacement framework. */
:root{--app-blue:#0069aa;--app-blue-dark:#004b79;--app-green:#95c57c;--app-green-soft:#eaf4e5;--app-ink:#10212d;--app-muted:#60727e;--app-border:#dce6eb;--app-bg:#f5f9fb;--app-radius:6px;--app-focus:0 0 0 3px rgb(0 105 170 / 14%)}
body.app-ui{font-family:'DM Sans',sans-serif;color:var(--app-ink);font-size:14px;background-color:var(--app-bg)}
.app-ui h1,.app-ui h2,.app-ui h3,.app-ui h4,.app-ui h5,.app-ui h6{font-family:Manrope,'DM Sans',sans-serif;line-height:1.3;letter-spacing:-.02em}
.app-ui :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=range]):not([type=color]),select,textarea):not(.select2-search__field){border:1px solid var(--app-border);border-radius:var(--app-radius);padding:9px 12px;font:inherit;line-height:1.5;color:var(--app-ink);background:#fff;min-height:42px;max-width:100%;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.app-ui :is(.form-control,.form-select,form select,form textarea){width:100%}
.app-ui :is(input,select,textarea)::placeholder{color:var(--app-muted);opacity:1}
.app-ui :is(input,select,textarea):focus-visible,.app-ui .form-control:focus,.app-ui .form-select:focus{outline:0;border-color:var(--app-blue);box-shadow:var(--app-focus)}
.app-ui :is(input,select,textarea):disabled,.app-ui input[readonly]{background:#eef3f6;color:var(--app-muted);opacity:1;cursor:default}
.app-ui textarea{min-height:88px;height:auto;resize:vertical;line-height:1.5}
.app-ui select[multiple]{height:auto;min-height:100px}
.app-ui input[type=file]{height:auto;padding:6px;overflow:hidden}
.app-ui input[type=file]::file-selector-button{border:0;border-radius:4px;background:var(--app-green-soft);color:var(--app-blue-dark);padding:7px 10px;margin-right:10px;font:inherit;cursor:pointer}
.app-ui label:not(.label):not(.settings-check){font-size:13px;font-weight:600;color:var(--app-ink);margin-bottom:6px}
.app-ui form>.form-control+label,.app-ui form>textarea+label,.app-ui form>select+label{margin-top:14px}
.app-ui .form-group{margin-bottom:18px}
.app-ui .form-text,.app-ui .text-muted{color:var(--app-muted)!important;font-size:13px;line-height:1.5}
.app-ui .app-required{color:var(--app-blue);margin-left:3px}
.app-ui :is(input,select,textarea).is-invalid,.app-ui [aria-invalid=true]{border-color:#b42318!important}
.app-ui .invalid-feedback{color:#b42318;font-size:12px;line-height:1.4;margin-top:4px}
.app-ui .is-valid{border-color:#4f7d3c!important}
/* Restore native controls hidden by the legacy header's checkbox reset. */
.app-ui input[type=checkbox],.app-ui input[type=radio]{display:inline-block;width:17px;height:17px;min-height:0;padding:0;margin:0 7px 0 0;vertical-align:middle;accent-color:var(--app-blue);flex-shrink:0}
.app-ui input[type=checkbox]+label:before{display:none}
.app-ui .settings-check{display:flex;align-items:center;gap:6px}
.app-ui .select2-container .select2-selection{min-height:42px;border:1px solid var(--app-border);border-radius:var(--app-radius)}
.app-ui .select2-container--focus .select2-selection{border-color:var(--app-blue);box-shadow:var(--app-focus)}
.app-ui .select2-container .select2-selection__rendered{line-height:40px;color:var(--app-ink)}
.app-ui .select2-container .select2-selection__arrow{height:40px}
.app-ui .btn,.app-ui button[type=submit],.app-ui input[type=submit]{border-radius:var(--app-radius);font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;padding:10px 16px;min-height:42px;letter-spacing:0;text-transform:none;box-shadow:none;transition:background-color .15s,border-color .15s}
.app-ui .btn-sm{min-height:34px;padding:6px 10px;font-size:12px}
.app-ui .btn-primary,.app-ui .btn-submit{background:var(--app-blue);border:1px solid var(--app-blue);color:#fff}
.app-ui .btn-primary:hover,.app-ui .btn-submit:hover{background:var(--app-blue-dark);border-color:var(--app-blue-dark)}
.app-ui .btn-outline-primary{background:transparent;border:1px solid var(--app-blue);color:var(--app-blue)}
.app-ui .btn-outline-primary:hover{background:var(--app-blue);color:#fff}
.app-ui .btn-outline-secondary,.app-ui .btn-add-question{border:1px solid var(--app-border);background:#fff;color:var(--app-ink)}
.app-ui .btn-secondary{background:var(--app-muted);border:1px solid var(--app-muted);color:#fff}
.app-ui .btn-add-section{background:var(--app-green-soft);color:var(--app-blue-dark);border:1px solid var(--app-border)}
.app-ui :is(.btn-danger,.btn-remove,.btn-remove-small){border:1px solid #b42318;background:#fff1f0;color:#9f241b}
.app-ui :is(.btn-danger,.btn-remove,.btn-remove-small):hover{background:#b42318;color:#fff}
.app-ui :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--app-blue);outline-offset:3px}
.app-ui .btn i{margin-right:5px}
.app-ui :is(button,.btn):disabled{opacity:.65;cursor:wait}
.app-ui .card{border:1px solid var(--app-border);border-radius:10px;box-shadow:0 2px 8px rgb(16 33 45 / 4%);margin-bottom:24px}
.app-ui .card :is(.card-header,.card-block,.card-body,.card-footer){padding:20px 24px}
.app-ui .card .card-header{background:transparent;border-bottom:1px solid var(--app-border)}
.app-ui .card .card-header h5{font-size:16px;font-weight:700;margin:0}
.app-ui .page-header{margin-bottom:24px}
.app-ui .page-header h4{font-size:24px;font-weight:700;margin-bottom:6px}
.app-ui .table{color:var(--app-ink);font-size:13px}
.app-ui .table>:not(caption)>*>*{padding:12px 14px;border-color:var(--app-border);vertical-align:middle}
.app-ui .table thead th{background:var(--app-bg);color:var(--app-muted);font-size:12px;font-weight:700;white-space:nowrap}
.app-ui .table tbody tr:hover{background:var(--app-bg)}
.app-ui .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.app-ui :is(.page-link,.paginate_button){border-radius:4px}
.app-ui .page-item.active .page-link{background:var(--app-blue);border-color:var(--app-blue)}
.app-ui .modal-content,.app-ui .swal2-popup{border-radius:10px;font-family:inherit}
.app-ui :is(.modal-header,.modal-body,.modal-footer){padding:20px 24px}
.app-ui .modal-footer{gap:8px}
.app-ui .swal2-confirm{background:var(--app-blue)!important}
.app-ui .swal2-actions{gap:8px}
.app-ui .pcoded-navbar .pcoded-item>li>a{border-radius:5px}
.app-ui .pcoded-navbar .pcoded-item li>a:hover{background:rgb(255 255 255 / 12%)}
.app-ui .pcoded-navbar .pcoded-item li.active>a{box-shadow:inset 3px 0 var(--app-green);font-weight:700}
.app-ui .pcoded-micon{vertical-align:middle}
.app-ui .input-group{align-items:stretch}
.app-ui .input-group>.form-control{min-width:0}
.app-ui .input-group-text{background:var(--app-bg);border-color:var(--app-border);color:var(--app-muted);font-size:13px}
.app-busy{position:relative;cursor:wait!important}
.app-busy::before{content:'';display:inline-block;width:1em;height:1em;margin-right:8px;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:app-spin .75s linear infinite}
input.app-busy{background-image:linear-gradient(90deg,transparent,rgb(0 105 170 / 12%),transparent)!important}
.app-ui-live{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-ui .app-request-error{margin:10px 0;padding:10px 12px;border-left:3px solid #b42318;background:#fff1f0;color:#9f241b;font-size:13px}
@keyframes app-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.app-busy::before{animation:none;border-style:dotted}.app-ui *{scroll-behavior:auto!important}}
@media(max-width:991px){.app-ui .page-wrapper{padding:18px}.app-ui .card :is(.card-header,.card-block,.card-body){padding:18px}.app-ui .modal-dialog{margin:16px;max-width:calc(100% - 32px)}}
@media(max-width:575px){.app-ui .page-wrapper{padding:12px}.app-ui .page-header h4{font-size:21px}.app-ui .card :is(.card-header,.card-block,.card-body){padding:16px}.app-ui .section-header,.app-ui .question-main{flex-wrap:wrap}.app-ui .section-header input,.app-ui .question-main input,.app-ui .question-main select{flex-basis:100%;min-width:0}.app-ui .section-block{padding:12px}.app-ui .modal-dialog{margin:8px;max-width:calc(100% - 16px)}.app-ui .settings-search,.app-ui .billing-actions{flex-wrap:wrap}.app-ui :is(input,select,textarea){font-size:16px!important}.app-ui .formzee{padding:20px}.app-ui #container{width:calc(100% - 24px);min-height:740px;margin:24px 12px}.app-ui #container .formzee-container{width:100%;height:calc(100% - 170px);top:170px}.app-ui #container .overlay-container{left:0;top:0;width:100%;height:170px}.app-ui #container.right-panel-active .sign-up-container,.app-ui #container.right-panel-active .sign-in-container{transform:none}.app-ui #container .overlay-panel{padding:15px}.app-ui #container .overlay-panel h1{font-size:24px}.app-ui #container .overlay-panel p{display:none}.app-ui #container .overlay-panel button{height:42px;padding:8px 12px}.app-ui #container.right-panel-active .overlay-container{transform:none}.app-ui #container.right-panel-active .sign-in-container{visibility:hidden}.app-ui #container:not(.right-panel-active) .sign-up-container{visibility:hidden}.app-ui:has(#container){height:auto;min-height:100vh;margin:0;padding-bottom:48px}}
.app-ui .input-group>.form-control,.app-ui .input-group>.form-select{width:1%;flex:1 1 auto;min-width:0}

.app-ui .header-navbar .main-search input.form-control{min-height:0;height:32px;padding:0;border:0;box-shadow:none;background:transparent}
.app-ui .pcoded-navbar[navbar-theme="theme1"],.app-ui .pcoded-header .navbar-logo{background:var(--app-blue)}
