:root{--ink:#111;--ink-soft:#292929;--amber:#f5a800;--yellow:#ffd84d;--red:#d92d20;--paper:#fff;--canvas:#f2f3f5;--line:#dfe1e5;--muted:#686b72;--radius:18px;--shadow:0 14px 34px rgba(17,17,17,.09)}
*,*::before,*::after{box-sizing:border-box}html{min-height:100%;font-size:16px}body{min-height:100vh;margin:0;background:radial-gradient(circle at 90% 0,rgba(255,216,77,.2),transparent 32rem),var(--canvas);color:var(--ink);font-family:"Barlow",sans-serif!important;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit!important}a{color:inherit;text-decoration:none}.app-accent{height:6px;background:linear-gradient(90deg,var(--amber) 0 58%,var(--yellow) 58% 82%,var(--red) 82%)}
.app-shell{width:min(100% - 2rem,1080px);margin-inline:auto;padding:clamp(2rem,6vw,5rem) 0 2rem}.app-shell--narrow{max-width:680px}.eyebrow{margin:0 0 .5rem;color:var(--red);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.page-title{margin:0;font-size:clamp(2rem,6vw,3.75rem);font-weight:800;letter-spacing:-.04em;line-height:.98}.page-copy{max-width:38rem;margin:.9rem 0 0;color:var(--muted);font-size:1.05rem}
.card,.surface-card{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:0 6px 20px rgba(17,17,17,.05);color:var(--ink)!important}.card-body{background:transparent!important}
.form-control,.form-select,.ts-control{min-height:50px;border:1px solid #c9ccd2!important;border-radius:12px!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:none!important}.form-control:focus,.form-select:focus,.ts-wrapper.focus .ts-control{border-color:var(--amber)!important;box-shadow:0 0 0 4px rgba(245,168,0,.17)!important}.form-control:disabled,.form-control[readonly]{background:#eceef1!important;color:#555960!important}.form-label,.input-group-text{color:var(--ink);font-size:.9rem!important;font-weight:700!important}.input-group-text{border-color:#c9ccd2;background:#eceef1}textarea.form-control{min-height:110px;resize:vertical}.ts-wrapper{width:100%}.ts-dropdown{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.ts-dropdown .active{background:#fff4ca;color:var(--ink)}
.btn{min-height:46px;border-radius:12px!important;padding:.68rem 1rem;font-weight:700!important;box-shadow:none!important}.btn-dark,.w3-black{border-color:var(--ink)!important;background:var(--ink)!important;color:#fff!important}.btn-dark:hover,.w3-black:hover{border-color:var(--amber)!important;background:var(--amber)!important;color:var(--ink)!important}.btn-primary,.w3-amber{border-color:var(--amber)!important;background:var(--amber)!important;color:var(--ink)!important}.btn-primary:hover,.w3-amber:hover{border-color:var(--ink)!important;background:var(--ink)!important;color:#fff!important}.w3-red,.btn-danger{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.nav{gap:.65rem!important}.nav .nav-item .btn{display:inline-flex;align-items:center;justify-content:center;min-width:48px;border:0;border-radius:14px!important}
.table-responsive{border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}.table{margin:0;--bs-table-bg:transparent}.table th{font-weight:700}.badge{border-radius:999px;padding:.45rem .7rem;font-weight:700}.alert{border:0;border-radius:14px}
.app-footer{width:min(100% - 2rem,1080px);margin:2rem auto 0;padding:1.5rem 0 max(1.5rem,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.app-footer p{margin:0;color:var(--muted);font-size:.86rem;text-align:center}
.page-loader[hidden]{display:none}.page-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:1.5rem;background:rgba(17,17,17,.72);backdrop-filter:blur(7px)}.page-loader__panel{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;border-radius:16px;background:var(--paper);color:var(--ink);font-weight:700;box-shadow:var(--shadow)}.page-loader__spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:var(--amber);border-radius:50%;animation:app-spin .75s linear infinite}body.is-loading{overflow:hidden}@keyframes app-spin{to{transform:rotate(360deg)}}.material-symbols-rounded{font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24;line-height:1}
.swal2-popup{border-radius:20px!important;font-family:"Barlow",sans-serif!important}.swal2-confirm{background:var(--amber)!important;color:var(--ink)!important}.swal2-cancel{background:var(--ink)!important}
@media(max-width:575.98px){.app-shell{width:min(100% - 1.25rem,1080px);padding-top:1.5rem}.container{--bs-gutter-x:1.25rem}.card{border-radius:16px!important}.input-group{align-items:stretch}.input-group>.input-group-text{width:100%;border-radius:12px 12px 0 0!important}.input-group>.form-control,.input-group>.form-select,.input-group>.ts-wrapper{width:100%;border-radius:0 0 12px 12px!important}.nav{position:sticky;bottom:.75rem;z-index:20;width:max-content;max-width:calc(100vw - 1.25rem);margin-inline:auto;padding:.45rem;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(17,17,17,.92);box-shadow:0 12px 28px rgba(17,17,17,.22);backdrop-filter:blur(10px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.w3-green{background:#16794b!important;color:#fff!important}.w3-text-green{color:#16794b!important}
.swal2-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:.75rem!important;margin:1.35rem auto 0!important;flex-wrap:wrap!important}.swal2-actions button{min-width:112px!important;min-height:46px!important;margin:0!important;padding:.7rem 1.1rem!important;border:0!important;border-radius:12px!important;font-family:"Barlow",sans-serif!important;font-size:1rem!important;font-weight:700!important;line-height:1.2!important;box-shadow:none!important}.swal2-actions .swal2-confirm{background:var(--amber)!important;color:var(--ink)!important}.swal2-actions .swal2-cancel{background:var(--ink)!important;color:#fff!important}.swal2-actions .swal2-confirm:hover{background:#df9800!important}.swal2-actions .swal2-cancel:hover{background:#303030!important}.swal2-actions button:focus-visible{outline:3px solid rgba(245,168,0,.35)!important;outline-offset:3px!important}@media(max-width:360px){.swal2-actions{width:100%!important}.swal2-actions button{flex:1 1 100%!important;width:100%!important}}