.portal-page{background:#FFFDF8;color:#6B422E;margin:0;font:400 15px/1.6 Inter,sans-serif}.portal-page *{box-sizing:border-box}.portal-header{max-width:1200px;margin:auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-header img{display:block;width:190px;height:auto}.portal-header nav{display:flex;gap:20px;align-items:center}.portal-page button,.portal-page input,.portal-page textarea,.portal-page select{font:inherit}.portal-page button{cursor:pointer}.portal-page input,.portal-page textarea,.portal-page select{width:100%;padding:12px;border:1px solid #D6C9B3;border-radius:9px;background:#fff;color:#6B422E}.portal-page label{display:grid;gap:6px;margin:16px 0}.portal-page label small{font-size:12px;color:#655A4D}.portal-shell{max-width:1200px;padding:24px;margin:auto}.portal-card{max-width:600px;background:#F6E9D6;padding:30px;border-radius:18px}.portal-page h1,.portal-page h2,.portal-page h3{font-family:'Nunito Sans',sans-serif;font-weight:800;line-height:1.2}.portal-page h1{font-size:36px;margin:12px 0}.portal-page h2{font-size:25px}.portal-tabs{display:flex;gap:12px;border-bottom:1px solid #D6C9B3;padding:16px 0;margin:18px 0}.portal-tabs button,.portal-header button{border:1px solid #D6C9B3;background:#FFFDF8;color:#426B2A;border-radius:8px;padding:9px 14px}.portal-tabs button[aria-current=page]{background:#DFF0D6;border-color:#426B2A}.portal-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.portal-heading p{max-width:650px}.promotion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.promotion-card{border:1px solid #E4DCCF;border-radius:14px;overflow:hidden;background:#fff}.promotion-card>img{width:100%;height:240px;object-fit:contain;background:#F6E9D6}.promotion-body{padding:20px}.promotion-body p{overflow-wrap:anywhere}.promotion-actions{display:flex;flex-wrap:wrap;gap:8px}.promotion-actions button{border:1px solid #D6C9B3;border-radius:8px;padding:8px;background:#DFF0D6;color:#244B2A}.promotion-state{font-size:12px;font-weight:600;background:#F6E9D6;padding:4px 9px;border-radius:5px}.portal-table{overflow-x:auto}.portal-table table{border-collapse:collapse;width:100%}.portal-table th,.portal-table td{text-align:left;padding:14px;border-bottom:1px solid #E4DCCF}.portal-page dialog{width:min(600px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto;border:1px solid #D6C9B3;padding:24px;border-radius:18px}.portal-page dialog::backdrop{background:#35271780}.portal-page .portal-check{display:flex;align-items:start;gap:10px}.portal-check input{width:20px;flex-shrink:0;margin-top:5px}.portal-page [hidden]{display:none!important}#portal-status:not(:empty),.dialog-status:not(:empty){padding:12px;background:#DFF0D6;border-radius:8px}button:disabled{opacity:.6;cursor:wait}.portal-page :focus-visible{outline:3px solid #7FAE4D;outline-offset:3px}@media(max-width:760px){.promotion-grid{grid-template-columns:1fr}.portal-header{padding:12px 16px}.portal-header img{width:145px}.portal-header nav{font-size:12px;gap:12px}.portal-heading{align-items:flex-start;flex-direction:column}.portal-tabs{flex-wrap:wrap}.portal-shell{padding:20px 16px}.portal-card{padding:22px}.portal-page h1{font-size:29px}}
.portal-page a{color:#426B2A;text-decoration:none}.portal-page a:hover{text-decoration:underline}.portal-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;min-height:44px;background:#7FAE4D;color:#243719;border:0;border-radius:10px;font-family:'Nunito Sans',sans-serif;font-weight:700}.portal-page .portal-heading>button{flex-shrink:0}

@media(max-width:760px){.portal-header{flex-wrap:wrap}.portal-header nav{flex-basis:100%;flex-wrap:wrap;justify-content:flex-start}}
#company-logo-preview{display:block;width:160px;height:120px;object-fit:contain;border:1px solid #E4DCCF;border-radius:12px;padding:8px;margin:16px 0}
#company-logo-preview[hidden]{display:none}
.promotion-preview-open{display:block;width:100%;padding:0;border:0;background:#F6E9D6}
.promotion-preview-open img{display:block;width:100%;height:260px;object-fit:contain}
.portal-page #promotion-preview{width:min(850px,calc(100vw - 24px))}
#promotion-preview>button{display:block;margin-left:auto;min-height:44px;padding:8px 14px;border:1px solid #D6C9B3;border-radius:8px;background:#FFFDF8;color:#6B422E}
#promotion-preview img{display:block;width:100%;height:75dvh;object-fit:contain;margin-top:12px}
