*,*::before,*::after{box-sizing:border-box}
html{width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;margin:0;overflow-x:clip}
.wg-main,.card-wg,.row-fields>*,fieldset,form{min-width:0}
input,select,textarea{max-width:100%}
img,iframe,video{max-width:100%}
dialog.action-dialog{width:230px;max-width:calc(100vw - 32px);padding:24px;border:0;border-radius:24px;outline:none}
.action-dialog h2{font-family:inherit;font-size:18px;margin:16px 0 4px;font-weight:600}
.action-dialog p{font-size:14px;margin:0;color:var(--wg-muted)}
.action-spinner{height:30px;width:30px;border-width:3px}
.admin-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:24px 0}
.admin-actions a{display:block;padding:22px;border:1px solid var(--wg-line);border-radius:20px;background:var(--wg-card);font-weight:600;text-decoration:none}
.admin-portal section{background:var(--wg-card);padding:24px;border:1px solid var(--wg-line);border-radius:24px;margin:20px 0}
.admin-portal .table td{vertical-align:middle;padding:16px 12px}
.review-summary{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.review-summary span{padding:8px 12px;background:var(--wg-soft);border-radius:12px}
@media(max-width:760px){
 .row-fields{grid-template-columns:minmax(0,1fr)!important}
 .wg-main{width:100%;max-width:100%;padding-left:16px;padding-right:16px}
 .wg-header{max-width:100%;gap:12px}
 .brand{min-width:0}.brand span{overflow-wrap:anywhere}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
 select{width:100%;text-overflow:ellipsis}
 .card-wg{padding:20px}
 .wg-main p{font-size:15px;line-height:1.5}
 .wg-footer{padding-bottom:110px}.wg-footer>small{display:none}
 .table-responsive{max-width:100%;overflow-x:auto}
}

.header-account{display:flex;align-items:center;gap:10px;order:3;flex-shrink:0}
.header-icon,.profile-avatar{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:var(--wg-soft);color:var(--wg-text);cursor:pointer;margin:0}
.header-icon svg,.profile-avatar svg{width:24px;height:24px}
.profile-avatar{padding:0;overflow:hidden;list-style:none}.profile-avatar::-webkit-details-marker{display:none}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.header-icon span{position:absolute;right:0;top:-3px;background:var(--wg-accent);color:#fff;font-size:10px;border-radius:20px;padding:2px 5px}
.user-popover{position:relative}.user-panel{position:absolute;right:0;top:54px;width:290px;max-width:calc(100vw - 24px);padding:18px;background:var(--wg-card);color:var(--wg-text);border:1px solid var(--wg-line);border-radius:20px;box-shadow:0 16px 45px #0004;z-index:80;overflow-wrap:anywhere}
.user-panel strong,.user-panel small{display:block}.user-panel small{margin:6px 0 16px;opacity:.75}
.user-panel a,.user-panel .navbutton{display:block;width:100%;text-align:left;padding:13px 8px;border-radius:10px;color:var(--wg-text)}
.user-panel a:hover,.user-panel .navbutton:hover{background:var(--wg-soft)}
.user-panel form{border-top:1px solid var(--wg-line);margin-top:8px;padding-top:6px}
.profile-photo-large,.profile-photo{width:100px;height:100px;object-fit:cover;border-radius:50%}
.drawer-close,.drawer-brand,.drawer-backdrop{display:none}
.notice-dialog{width:460px;max-width:calc(100vw - 32px);max-height:85dvh;overflow:auto;border:1px solid var(--wg-line);border-radius:24px;padding:28px;background:var(--wg-card);color:var(--wg-text)}
.notice-dialog::backdrop{background:#0008}.notice-dialog h2{font-size:26px;margin:14px 0}.notice-dialog [data-notice-message]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.notice-dialog form{display:inline}.notice-dialog .btn{margin:8px 4px 0 0}
.page-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--wg-soft);z-index:300;overflow:hidden}
.page-progress::before{content:"";display:block;width:35%;height:100%;background:var(--wg-secondary);animation:page-loading 1.2s ease-in-out infinite}
.feedback-status{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:300;max-width:calc(100vw - 32px);width:max-content;padding:10px 18px;border:1px solid var(--wg-line);border-radius:16px;background:var(--wg-card);color:var(--wg-text);box-shadow:0 5px 20px #0003;font-size:14px}
button[aria-busy=true]::after{content:"";display:inline-block;margin-left:10px;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:spin 1s linear infinite}
@keyframes page-loading{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
@media(max-width:760px){
 .wg-header{padding:10px 12px;gap:8px}.wg-header>.menu-toggle{order:0;width:38px;height:38px;border:0}.wg-header>.brand{order:1;flex:1;font-size:12px;letter-spacing:.02em}.wg-header>.brand small{display:none}
 .header-account{order:2;gap:6px}.header-icon,.profile-avatar{width:38px;height:38px}.brand img{width:30px;height:30px}
 .wg-header #main-navigation{position:fixed;inset:0 auto 0 0;top:0;width:min(330px,86vw);height:100dvh;max-height:100dvh;z-index:102;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border:0;border-right:1px solid var(--wg-line);border-radius:0 24px 24px 0;overflow-y:auto;overscroll-behavior:contain}
 .wg-header #main-navigation.menu-open{display:flex;gap:8px;align-items:stretch}
 #main-navigation>a:not(.drawer-brand){padding:14px 12px;border-radius:12px}
 #main-navigation>a:hover{background:var(--wg-soft)}
 .drawer-brand{display:flex!important;padding:12px 0 24px;border-bottom:1px solid var(--wg-line);margin-bottom:12px}
 .drawer-close{display:block;background:transparent;color:var(--wg-text);border:0;text-align:right;padding:10px;min-height:44px}
 .drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;width:100%;height:100%;border:0;background:#0008;z-index:49}
 .drawer-open{overflow:hidden}.drawer-open .mobile-dock{z-index:40}
 .user-panel{position:fixed;right:12px;top:70px;width:320px}
 .notice-dialog{padding:24px}
}
@media(prefers-reduced-motion:reduce){.page-progress::before,button[aria-busy=true]::after{animation:none}}
[hidden]{display:none!important}
