﻿
:root{--accent:#ffd000;--ink:#1d2924;--line:#dce1d9;--paper:#f3f5ef}
body{color:var(--ink)}
#portal-nav{display:flex;gap:25px;margin-left:auto}
#portal-nav a{font-size:13px;font-weight:700;text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}
#portal-nav a.active{border-color:var(--accent)}
.header-inner{gap:28px}.account-link{font-size:12px;font-weight:700;text-decoration:none;border:1px solid var(--line);padding:12px 16px;border-radius:4px;white-space:nowrap}
.language-switch{border:0;background:none;font-weight:800;font-size:12px;cursor:pointer;padding:10px}
.portal-main{padding-top:42px;padding-bottom:88px;min-height:70vh}
.breadcrumb{font-size:11px;color:#647064;margin:0 0 24px}.breadcrumb a{color:inherit;text-decoration:none}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:32px}
.page-head h1{font-family:"Barlow Condensed",sans-serif;font-size:64px;font-weight:600;line-height:1.05;margin:5px 0 15px;letter-spacing:-1px}
.page-head p:not(.eyebrow){max-width:640px;font-size:14px;line-height:1.9;color:#687269;margin:0}
.page-head .button{white-space:nowrap;font-size:12px;padding:16px 22px}
.portal-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:30px;align-items:start}
.portal-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.portal-toolbar input{flex:1;min-width:150px}
.portal-toolbar select{max-width:260px}
input,select,textarea{font:inherit;font-size:13px;color:var(--ink);border:1px solid #cbd3c8;border-radius:4px;background:#fff;padding:13px 14px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid #927700;outline-offset:2px}
textarea{min-height:150px;resize:vertical;line-height:1.8}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{font:inherit}button:not(:disabled){cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
.panel-card{border:1px solid var(--line);border-radius:6px;padding:28px;background:#fff}
.side-card{padding:27px;background:#f0f3eb;border-top:3px solid var(--accent)}
.side-card h3{font-family:"Barlow Condensed";font-size:27px;margin:5px 0 14px}
.side-card p,.side-card li{font-size:12px;line-height:1.9;color:#5e6b5d}
.side-card ul{padding-left:18px}.side-card li+li{margin-top:8px}
.side-label{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#687565}
.topic-list,.job-list{border-top:1px solid var(--line)}
.topic-row{padding:24px 6px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px minmax(0,1fr) 65px;gap:17px;align-items:center}
.avatar{height:42px;width:42px;display:grid;place-items:center;border-radius:50%;background:#ecf0e6;color:#57734f;font-weight:800;font-size:13px;flex-shrink:0}
.topic-row h2,.job-row h2{font-family:"Manrope";font-size:17px;line-height:1.6;letter-spacing:-.25px;margin:7px 0}
.topic-row a,.job-row a{color:var(--ink);text-decoration:none}
.topic-row a:hover,.job-row a:hover{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#bfa300;text-underline-offset:4px}
.topic-meta,.job-meta{font-size:10px;color:#697267;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.topic-count{text-align:right;font-size:11px;color:#64715f}.topic-count strong{display:block;font-family:"Barlow Condensed";font-size:26px;color:var(--ink)}
.tag{display:inline-flex;padding:5px 8px;background:#eef2e9;color:#435a3e;border-radius:3px;font-size:10px;font-weight:700;line-height:1.2}
.tag-yellow{background:#fff4bc;color:#685100}.tag-muted{background:#f1f1ef;color:#6b7169}
.empty-panel{text-align:center;min-height:310px;border:1px dashed #c9d3c2;border-radius:6px;padding:45px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#fafbf8,#f1f4ec)}
.empty-panel .empty-mark{font-family:"Barlow Condensed";font-size:52px;color:#859779;line-height:1}
.empty-panel h2{font-family:"Barlow Condensed";font-size:32px;margin:16px 0 8px}
.empty-panel p{font-size:13px;line-height:1.9;max-width:450px;color:#66735f;margin:0 0 22px}
.small-button{background:var(--accent);color:#202a20;border:0;border-radius:4px;padding:12px 18px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.5}
.small-button.secondary{background:#f0f3eb;border:1px solid var(--line)}
.small-button.danger{background:#fff1ed;color:#8c3420}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:800}.field small{font-size:11px;color:#6b7567;line-height:1.7}
.form-actions{margin-top:22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.form-error{color:#943727;background:#fff2ec;padding:12px 15px;font-size:12px;border-left:3px solid #b44b34;line-height:1.7;margin:14px 0}
.form-error:empty{display:none}
.checkbox-field{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;margin-top:18px}.checkbox-field input{margin-top:4px}
#portal-dialog{border:1px solid var(--line);border-radius:10px;width:min(800px,calc(100vw - 30px));max-height:90dvh;padding:36px;color:var(--ink);box-shadow:0 25px 100px #15251e33}
#portal-dialog::backdrop{background:#1d292488;backdrop-filter:blur(3px)}
#portal-dialog h2{font-family:"Barlow Condensed";font-size:36px;font-weight:600;margin:0 35px 12px 0;line-height:1.1}
#portal-dialog .dialog-description{font-size:12px;color:#61705a;line-height:1.8;margin-bottom:24px}
.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#eff2e9;border-radius:50%;width:30px;height:30px;font-size:23px;display:grid;place-items:center}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;background:var(--ink);color:#fff;max-width:90vw;padding:15px 22px;border-radius:6px;font-size:13px;transition:.2s}
#toast.visible{transform:translate(-50%,0);opacity:1}
.content-prose{font-size:14px;line-height:1.95;overflow-wrap:anywhere}.content-prose p{margin:0 0 18px}.content-prose h2{font-family:"Barlow Condensed";font-size:32px;margin:34px 0 15px}.content-prose h3{font-family:"Barlow Condensed";font-size:25px;margin:24px 0 10px}.content-prose ul{padding-left:21px}.content-prose a{color:#4d6944;text-underline-offset:3px}
.post-card{padding:30px;border:1px solid var(--line);border-radius:6px;margin-bottom:17px}
.post-author{display:flex;gap:12px;align-items:center;margin-bottom:23px}.post-author strong{font-size:12px}.post-author small{display:block;font-size:10px;color:#697562;margin-top:4px}
.post-actions{border-top:1px solid var(--line);padding-top:15px;display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.text-button{background:none;border:0;padding:0;color:#556b4a;text-decoration:underline;text-underline-offset:4px;font-size:11px;font-weight:700}
.reply-heading{font-family:"Barlow Condensed";font-size:29px;margin:34px 0 18px}
.job-row{padding:25px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}
.company-mark{width:47px;height:47px;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;font-family:"Barlow Condensed";font-size:22px;font-weight:600;background:#fafbf8}
.job-info{display:flex;gap:18px;align-items:center;min-width:0}.job-row .job-arrow{font-size:24px}
.job-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 28px}.job-summary small{display:block;font-size:10px;color:#677562;margin-bottom:5px}.job-summary strong{font-size:12px}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 240px;gap:65px;justify-content:center}.article-title{font-family:"Barlow Condensed";font-size:62px;font-weight:600;line-height:1.05;letter-spacing:-1px;margin:15px 0 23px}.article-lead{font-size:17px;color:#64715c;line-height:1.9;border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:30px}.article-aside{position:sticky;top:30px;border-top:3px solid var(--accent);padding-top:20px}.article-aside h3{font-size:11px;letter-spacing:1px}.article-aside a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;color:#5b6b52;text-decoration:none}
.article-diagram{height:150px;position:relative;overflow:hidden;background-color:#edf2e7;background-image:linear-gradient(#c9d6bf55 1px,transparent 1px),linear-gradient(90deg,#c9d6bf55 1px,transparent 1px);background-size:24px 24px;margin:0 0 32px;border:1px solid #d9e2d1;display:grid;place-items:center}
.article-diagram span{font-family:"Barlow Condensed";font-size:32px;letter-spacing:4px;color:#47623a}
.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;max-width:1010px;margin:18px auto}
.auth-intro{padding:28px 0}.auth-intro h1{font-family:"Barlow Condensed";font-size:67px;line-height:1.02;letter-spacing:-1.5px;margin:12px 0 24px}.auth-intro p{font-size:14px;line-height:1.9;color:#65725f}
.auth-features{margin-top:35px;border-top:1px solid var(--line)}.auth-features p{font-size:12px;border-bottom:1px solid var(--line);padding:14px 0;margin:0}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:25px}.auth-tabs button{border:0;background:none;font-size:12px;font-weight:800;padding:0 0 14px;border-bottom:2px solid transparent}.auth-tabs button.active{border-color:#b59500}
.account-section{margin-top:32px}.account-section h2{font-family:"Barlow Condensed";font-size:31px}
.account-row{padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.panel-tabs{display:flex;gap:6px;overflow:auto;margin:0 0 24px;border-bottom:1px solid var(--line);padding-bottom:15px}.panel-tabs button{background:#f0f3eb;border:0;border-radius:3px;white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:800}.panel-tabs button.active{background:var(--accent)}
.panel-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;border:1px solid var(--line);border-radius:5px}.panel-stats div{padding:26px;border-right:1px solid var(--line)}.panel-stats div:last-child{border:0}.panel-stats strong{font-family:"Barlow Condensed";font-size:43px;display:block}.panel-stats span{font-size:11px;color:#607057}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:5px}
table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f1f4ec;font-weight:800;font-size:10px;white-space:nowrap}td .small-button{padding:8px 10px;font-size:10px}td .row-actions{display:flex;gap:6px;flex-wrap:wrap}td p{margin:0}.table-wrap tr:last-child td{border-bottom:0}
.panel-intro{background:#f0f3eb;border-left:4px solid var(--accent);padding:22px 25px;font-size:13px;line-height:1.9}
.portal-footer{background:#f3f5ef;border-top:1px solid var(--line);padding:28px 0}.portal-footer>.container{display:flex;align-items:center;gap:30px}.footer-brand{font-family:"Barlow Condensed";font-size:19px;text-decoration:none;color:var(--ink);font-weight:600}.footer-brand span{color:#b69a00}.portal-footer span{font-size:10px;color:#687660}.portal-footer nav{margin-left:auto;display:flex;gap:20px}.portal-footer nav a{font-size:10px;color:#4e6045}
.loading-state{padding:70px 0;text-align:center;color:#5f7055;font-size:13px}
@media(max-width:1000px){.header-inner{gap:18px}#portal-nav{gap:16px}.brand>span{font-size:17px}.brand>span strong{font-size:23px}.brand img{width:48px;height:48px}.portal-layout{grid-template-columns:minmax(0,1fr) 235px;gap:23px}.article-layout{gap:35px;grid-template-columns:minmax(0,1fr) 210px}.auth-layout{gap:40px}.page-head h1{font-size:55px}}
@media(max-width:760px){.header-inner{flex-wrap:wrap;padding-top:13px;padding-bottom:0}.header-actions{margin-left:auto}.brand>span{font-size:14px}.brand>span strong{font-size:19px}.brand img{width:42px;height:42px}.account-link{padding:8px 10px;font-size:10px}#portal-nav{order:3;width:100%;justify-content:space-between;margin:0;gap:12px}.portal-main{padding-top:28px;padding-bottom:50px}.page-head{display:block}.page-head h1{font-size:47px}.page-head>.button{margin-top:20px}.portal-layout,.article-layout,.auth-layout{grid-template-columns:1fr;gap:25px}.side-card{margin-top:15px}.article-aside{position:static}.article-title{font-size:46px}.article-lead{font-size:15px}.auth-intro{padding:0}.auth-intro h1{font-size:48px}.auth-features{display:none}.panel-card{padding:22px}.form-grid{grid-template-columns:1fr}.field{grid-column:1}.topic-row{grid-template-columns:34px minmax(0,1fr) 42px;gap:11px}.avatar{width:34px;height:34px;font-size:11px}.topic-row h2{font-size:14px}.topic-meta{font-size:9px}.post-card{padding:21px}.job-summary{grid-template-columns:1fr 1fr}.portal-toolbar select{max-width:100%}.portal-footer>.container{flex-wrap:wrap;gap:16px}.portal-footer nav{margin-left:0;width:100%}.panel-stats{grid-template-columns:1fr 1fr}.panel-stats div{padding:18px;border-bottom:1px solid var(--line)}.panel-stats strong{font-size:34px}#portal-dialog{padding:28px 21px}.table-wrap{max-width:100%}.job-row h2{font-size:15px}.company-mark{width:38px;height:38px}.job-info{gap:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
