/* Officer portal */
.portal{background:var(--bg-soft);min-height:70vh}
.portal-login{background:linear-gradient(135deg,var(--navy),var(--navy-2))}
.portal-login .form-card{border:0}
.portal-login #loginform p{margin:0 0 14px}
.portal-login #loginform label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.portal-login #loginform input[type=text],.portal-login #loginform input[type=password]{width:100%;font:inherit;padding:.75em .9em;border:1.5px solid #cdd6e0;border-radius:10px}
.portal-login .login-remember label{display:flex;gap:.5em;align-items:center;font-weight:500}
.portal-login #wp-submit{background:var(--blue);color:#fff;border:0;border-radius:999px;padding:.9em 1.6em;font:600 1rem var(--body);cursor:pointer;width:100%}
.portal-login #wp-submit:hover{background:var(--blue-d)}
.portal-bar{background:#fff;border-bottom:1px solid var(--line)}
.portal-bar__in{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 10px}
.portal-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:0}
.portal-tabs a{display:inline-flex;gap:.45em;align-items:center;white-space:nowrap;padding:.8em 1em;border-bottom:3px solid transparent;color:var(--muted);text-decoration:none;font-weight:600;font-size:.93rem}
.portal-tabs a:hover{color:var(--blue)}
.portal-tabs a.is-on{color:var(--navy);border-bottom-color:var(--pink)}
.portal-tabs .count{background:var(--pink);color:#fff;border-radius:999px;font-size:.72rem;padding:.1em .55em}
.portal-main{padding:32px 0 70px}
.screen-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.screen-head h1{font-size:clamp(1.8rem,3vw,2.4rem);margin:0}
.h-sub{font-family:var(--body);font-weight:700;font-size:1.1rem;margin:1.4em 0 .7em}
.panel .h-sub:first-child{margin-top:0}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 2px 8px rgba(30,41,61,.04);margin-bottom:18px}
.panel__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.panel__head h2{font-family:var(--body);font-weight:700;font-size:1.1rem;margin:0}
.quick{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:900px){.quick{grid-template-columns:1fr 1fr}}
.quick__btn{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--c);transition:transform .15s,box-shadow .15s}
.quick__btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink)}
.quick__btn .ic{color:var(--c);width:28px;height:28px}
.quick__btn strong{color:var(--navy)}
.quick__btn span{font-size:.86rem;color:var(--muted)}
.rows{list-style:none;margin:0 0 20px;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.panel .rows{border:0;border-radius:0;margin:0}
.rows li{display:flex;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.rows li:last-child{border-bottom:0}
.rows li.is-hl{background:#fffbe6}
.rows li.is-new{background:#f2f9fc}
.rows li.is-new strong::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pink);margin-right:6px;vertical-align:middle}
.rows .date-badge{width:54px;padding:6px 0;border-radius:10px;box-shadow:none}
.rows .date-badge .d{font-size:1.5rem}
.rows .date-badge .w{display:none}
.rows__main{flex:1;min-width:0}
.rows__main a{color:var(--navy);text-decoration:none}
.rows__main a:hover{color:var(--blue)}
.rows__main>span:last-child{display:block;font-size:.86rem;color:var(--muted)}
.rows__act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:720px){.rows li{flex-wrap:wrap}.rows__act{width:100%;justify-content:flex-start}}
.thumb{flex:none;width:46px;height:46px;border-radius:10px;background:var(--bg-soft);display:grid;place-items:center;color:var(--muted);overflow:hidden;font-family:var(--display);font-size:1.2rem}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb--lg{width:70px;height:52px}
.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:.15em .6em;border-radius:999px;background:var(--bg-soft);color:var(--muted);vertical-align:middle}
.tag--draft{background:#fff4c9;color:#7a5b00}
.tag--pin{background:#fde8ef;color:#a3134f}
.tag--late{background:#fde8ef;color:#a3134f}
.inline-form{display:inline}
.pform{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
@media (max-width:980px){.pform{grid-template-columns:1fr}}
.pform .field{margin-bottom:16px}
.pform fieldset.field{border:0;padding:0}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.fields--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.fields,.fields--3{grid-template-columns:1fr}}
.uc-form .field label:not(.choice){display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.help{font-size:.84rem;color:var(--muted);margin:6px 0 0}
.choice .dotc{width:10px;height:10px;border-radius:50%;background:var(--cat)}
.pick{margin-bottom:16px}
.pick__box{border:1.5px dashed #cdd6e0;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fbfcfd}
.pick__preview img{display:block;max-height:180px;width:auto;max-width:100%;border-radius:8px;margin:auto}
.pick__btns{display:flex;flex-wrap:wrap;gap:6px}
.pick__name{font-size:.88rem;color:var(--muted);word-break:break-all}
.layouts{margin-top:8px}
.layout{display:flex!important;gap:12px;align-items:center;padding:10px;border:1.5px solid var(--line);border-radius:12px;margin:0 0 8px!important;cursor:pointer;font-weight:500!important}
.layout:has(input:checked){border-color:var(--blue);background:var(--blue-l)}
.layout input{position:absolute;opacity:0}
.layout small{display:block;color:var(--muted);font-size:.8rem;line-height:1.35}
.layout__pic{flex:none;width:58px;height:46px;border-radius:6px;background:#fff;border:1px solid #cdd6e0;padding:5px;display:grid;gap:3px;grid-template-columns:1fr 1fr;grid-auto-rows:5px}
.layout__pic i{background:var(--pink);border-radius:2px}
.layout__pic b{background:#cdd6e0;border-radius:2px;grid-column:1/-1}
.layout__pic--banner i{grid-column:1/-1;grid-row:span 3}
.layout__pic--side i{grid-column:2;grid-row:1/span 4}
.layout__pic--side b{grid-column:1}
.layout__pic--logo i{grid-column:1/-1;width:50%;justify-self:center;grid-row:span 2}
.layout__pic--none i{display:none}
.acts-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:760px){.acts-edit{grid-template-columns:1fr}}
.act-edit{border:1px solid var(--line);border-radius:12px;padding:14px}
.act-edit .field{margin-bottom:10px}
.kv{width:100%;border-collapse:collapse}
.kv th{text-align:left;vertical-align:top;width:34%;padding:10px 14px 10px 0;color:var(--muted);font-weight:600;font-size:.92rem;border-bottom:1px solid var(--line)}
.kv td{padding:10px 0;border-bottom:1px solid var(--line)}
.wp-editor-wrap{border-radius:10px;overflow:hidden}
.wp-editor-container{border:1.5px solid #cdd6e0!important}
.mce-toolbar .mce-btn button{padding:4px 6px}
.portal .signup-band{display:none}
.panel>h2:not(.h-sub){font-family:var(--body);font-weight:700;font-size:1.1rem;margin:0 0 .7em}

.member-filter{flex-wrap:wrap}
@media (max-width:1100px){.quick{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.quick{grid-template-columns:1fr 1fr}}
