/* FCZ vizualni identitet: voda, šuma i klupske boje. */
:root{--ink:#17251f;--muted:#66756d;--blue:#146a83;--teal:#103f3b;--line:#d6e0d9;--bg:#eef3ef;--green:#3f752d;--red:#b64135;--amber:#af751e}
body{background-color:var(--bg);background-image:radial-gradient(circle at 78% 8%,#d9e9df 0,transparent 28%),linear-gradient(135deg,#f7faf7 0%,#edf4f0 54%,#e6efeb 100%);background-attachment:fixed}
.sidebar{position:relative;overflow:hidden;background:linear-gradient(180deg,#123d39 0%,#15554d 58%,#0d3434 100%);padding:22px 18px;box-shadow:8px 0 30px #123d3921}
.sidebar::before{content:"";position:absolute;inset:auto -90px 80px -90px;height:210px;border-radius:50%;border:1px solid #ffffff16;box-shadow:0 24px 0 #ffffff0d,0 48px 0 #ffffff09;transform:rotate(-7deg);pointer-events:none}
.brand{position:relative;display:grid;justify-items:center;gap:9px;margin:0 0 30px;padding:0;background:transparent;color:#173c35;text-align:center}
.club-logo{display:block;width:190px;height:166px;object-fit:contain;filter:drop-shadow(0 9px 13px #071e1a66)}
.brand-title{display:grid;width:100%;gap:5px;padding:2px 0 4px;background:transparent;line-height:1.15;text-align:center}.brand-title strong{font-size:14px;color:#d8b85b;letter-spacing:.075em;text-shadow:0 1px 3px #071e1a}.brand-title span{font-size:12px;color:#fff;letter-spacing:.045em;text-shadow:0 1px 3px #071e1a}
.sidebar nav{position:relative;gap:9px}.sidebar button{align-items:center;gap:12px;border:1px solid transparent;padding:14px;border-radius:11px;font-weight:600;transition:.18s ease}.sidebar button:hover{background:#ffffff14;border-color:#ffffff1f}.sidebar button.active{background:linear-gradient(135deg,#dcebdd,#f3f7ec);color:#1d4b3c;border-color:#fff;box-shadow:0 8px 18px #071f1c38}.nav-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#ffffff18;font-size:17px}.sidebar button.active .nav-icon{background:#477c38;color:#fff}
.admin-button{position:relative;width:100%;display:flex;margin-top:11px;color:#f5df99!important;border-color:#d6b95b55!important;background:#092f2a70!important}.admin-button:hover{background:#123b34!important}.admin-button.logged-in{color:#fff!important;background:#477c38!important}.admin-icon{font-size:15px}.admin-action-hidden{display:none!important}.admin-error{min-height:18px;color:#b64135;font-size:13px}
.sidebar-legend{position:relative;margin-top:22px;padding:14px 13px;border:1px solid #ffffff24;border-radius:13px;background:#082e2a52;color:#eaf4ef;font-size:11px;line-height:1.42}.sidebar-legend h3{margin:0 0 11px;font-size:13px;color:#fff}.legend-block+ .legend-block{margin-top:12px;padding-top:11px;border-top:1px solid #ffffff1f}.legend-block>strong{display:block;margin-bottom:4px;color:#cfe7d5;font-size:12px}.legend-block p{margin:0;color:#d1e1dc}.legend-block ul{margin:5px 0 0;padding-left:16px;color:#d1e1dc}.legend-block li+li{margin-top:3px}.legend-block b{color:#fff}
.club-note{position:relative;font-size:13px;color:#dceae5}.club-note small{color:#afcbc2}
.sidebar-logout{display:block;width:100%;margin-top:12px!important;padding:8px 10px!important;border:1px solid #ffffff2b!important;border-radius:8px!important;background:#071f1e66!important;color:#dceae5!important;text-align:center!important;font-size:12px!important}.sidebar-logout:hover{background:#ffffff12!important;color:#fff!important}
main{position:relative;padding:38px;max-width:1540px}.topbar{padding:23px 25px;border:1px solid #d5e2da;border-radius:18px;background:linear-gradient(110deg,#ffffffed,#f5faf5e8);box-shadow:0 7px 22px #173b2a0b}.topbar h1{color:#173f37;letter-spacing:-.025em}.topbar h1::after{content:"";display:block;width:62px;height:3px;margin-top:11px;border-radius:10px;background:linear-gradient(90deg,#4c8239,#2c7880)}
.card,.panel{border-color:#d6e2da;border-radius:16px;box-shadow:0 7px 22px #173b2a0b}.stat{position:relative;overflow:hidden;border-top:3px solid #75a065}.stat::after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;right:-24px;bottom:-28px;background:#5c8b5130}.stat strong{color:#236b72}.stat.green strong{color:#477c38}
button.primary{background:linear-gradient(135deg,#477f35,#2e6651);box-shadow:0 5px 12px #315e3f25}button.primary:hover{filter:brightness(1.06)}button.secondary{border-color:#9db7a8;color:#245245;background:#fbfdfb}.panel-title{background:linear-gradient(90deg,#fbfdfb,#f3f8f4)}th{background:#edf4ef;color:#4d675c}tbody tr:hover{background:#f5faf6}.avatar{background:#dcebe2;color:#2d6652}.bar i{background:linear-gradient(90deg,#4d8139,#28727b)}
.dialog{border:1px solid #d4e1d8}.dialog-head{background:linear-gradient(90deg,#eef6f0,#fff)}
@media(max-width:900px){.sidebar{padding:16px 9px}.brand{margin-bottom:25px}.club-logo{width:66px;height:66px}.brand-title,.sidebar-legend{display:none}.sidebar button{justify-content:center}.nav-icon{background:transparent}.sidebar button span:not(.nav-icon){display:none}main{padding:22px}}

/* Zaštićena ribolovna ulazna stranica. */
.access-landing{display:none;position:fixed;inset:0;z-index:900;background:linear-gradient(180deg,#082e32 0%,#0b5252 48%,#153f35 100%);overflow:auto;padding:34px 20px;place-items:center}
.admin-pending .access-landing,.admin-locked .access-landing{display:grid}.admin-pending>.sidebar,.admin-pending>main,.admin-locked>.sidebar,.admin-locked>main{visibility:hidden}.admin-pending .modal,.admin-locked .modal{z-index:1000}
.access-landing::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 17% 12%,#8fc4b22c 0,transparent 25%),radial-gradient(circle at 82% 22%,#d3c27c18 0,transparent 21%),linear-gradient(160deg,transparent 55%,#092c2580 55%);pointer-events:none}
.landing-water{position:absolute;left:-10%;right:-10%;bottom:0;height:35%;opacity:.52;background:repeating-radial-gradient(ellipse at 50% 0,#a5d2c21f 0 2px,transparent 3px 19px);transform:perspective(300px) rotateX(58deg);transform-origin:bottom}
.landing-card{position:relative;width:min(520px,100%);padding:30px 45px 34px;border:1px solid #ffffff30;border-radius:26px;background:linear-gradient(145deg,#123f3ce8,#0a302fe8);box-shadow:0 28px 80px #001b1b91,inset 0 1px #ffffff1c;text-align:center;color:#fff;backdrop-filter:blur(8px)}
.landing-logo{display:block;width:270px;height:225px;object-fit:contain;margin:-22px auto 4px;filter:drop-shadow(0 14px 20px #001b1baa)}.landing-kicker{color:#d8b85b;font-size:12px;font-weight:750;letter-spacing:.22em}.landing-card h1{margin:9px 0 12px;font-size:38px;letter-spacing:-.02em}.landing-card h1::after{content:"";display:block;width:72px;height:3px;margin:16px auto 0;border-radius:10px;background:linear-gradient(90deg,#d8b85b,#fff2b1)}.landing-description{max-width:390px;margin:0 auto 22px;color:#c9ddd8;line-height:1.55}
.landing-access-note{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 auto 20px;padding:13px 16px;border:1px solid #ffffff21;border-radius:13px;background:#061f1e70;text-align:left}.landing-access-note>span{font-size:24px;color:#d8b85b}.landing-access-note small{display:block;color:#9fbab3;font-size:11px}.landing-access-note a{color:#fff;text-decoration:none;font-weight:650}.landing-access-note a:hover{text-decoration:underline}
.landing-login{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;border:1px solid #f4df91;border-radius:11px;padding:14px 18px;background:linear-gradient(135deg,#d5b552,#a77b20);box-shadow:0 8px 20px #001b1b66;color:#16362e;font-size:15px;font-weight:800;cursor:pointer}.landing-login:hover{filter:brightness(1.08);transform:translateY(-1px)}.landing-security{margin:16px 0 0;color:#91ada6;font-size:11px}
.landing-admin-separator{display:flex;align-items:center;gap:10px;margin:13px 0 10px;color:#7f9c95;font-size:11px}.landing-admin-separator::before,.landing-admin-separator::after{content:"";height:1px;flex:1;background:#ffffff1c}.landing-admin-login{border:0;background:transparent;color:#c8d9d4;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.landing-admin-login:hover{color:#fff}
@media(max-width:560px){.access-landing{padding:18px 12px}.landing-card{padding:23px 20px 26px}.landing-logo{width:205px;height:175px;margin-top:-15px}.landing-card h1{font-size:30px}.landing-access-note a{font-size:13px}}

/* Mobilni prikaz: navigacija je iznad sadržaja i ne oduzima širinu zaslona. */
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{display:block;min-width:0}
  .sidebar{position:sticky;top:0;z-index:120;display:block;width:100%;padding:8px 10px 9px;box-shadow:0 5px 18px #062b283d}
  .sidebar::before,.sidebar-legend,.club-note{display:none}
  .brand{display:flex;justify-content:center;margin:0 0 7px;min-height:42px}
  .brand .club-logo{width:74px;height:44px;object-fit:contain}
  .brand-title{display:none!important}
  .sidebar nav{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin;overscroll-behavior-x:contain}
  .sidebar nav button{flex:0 0 auto;display:flex;justify-content:center;min-width:94px;padding:9px 10px;font-size:12px;white-space:nowrap}
  .sidebar nav button .nav-icon{width:22px;height:22px;font-size:14px}
  .sidebar nav button span:not(.nav-icon){display:inline!important}
  .sidebar-logout{width:auto!important;margin:0!important;padding:9px 11px!important}
  main{width:100%;max-width:none;padding:12px 10px 24px}
  .topbar{display:grid;gap:12px;margin-bottom:16px}
  .topbar h1{font-size:27px;line-height:1.12}
  .topbar>.actions,.topbar>.unified-tools{width:100%}
  .topbar button{width:100%}
  .cards{grid-template-columns:1fr 1fr;gap:9px}
  .stat{padding:14px 12px}.stat strong{font-size:25px}
  .panel-title{padding:14px 13px;gap:8px;align-items:flex-start;flex-direction:column}
  .panel-title button{width:100%}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:760px}
  th,td{padding:11px 12px}
  .member-grid{grid-template-columns:1fr;gap:12px}
  .profile,.fee-box,.awards-panel{padding:15px}
  .profile-head{align-items:flex-start;gap:13px;margin-bottom:18px}
  .profile-head .avatar{width:68px;height:68px;flex:0 0 68px}
  .details{grid-template-columns:1fr;gap:12px}
  .award-chip{max-width:100%;padding:8px 10px}
  .modal{align-items:end;padding:8px}
  .dialog{width:100%;max-height:94dvh;border-radius:15px 15px 8px 8px}
  .dialog .form{padding:12px 14px 16px}
  .dialog-actions{display:grid;grid-template-columns:1fr 1fr}
  .dialog-actions button{width:100%}
  .access-landing{width:100%;min-height:100dvh;inset:0;overflow-x:hidden;place-items:start center;padding:12px}
  .landing-card{width:100%;max-width:520px;margin:auto;overflow:hidden}
  .landing-access-note{width:100%;min-width:0;padding:11px 10px}
  .landing-access-note div{min-width:0}
  .landing-access-note a{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
}

@media(max-width:430px){
  .cards{grid-template-columns:1fr}
  .landing-card{padding:18px 15px 22px}
  .landing-logo{width:180px;height:145px}
  .landing-card h1{font-size:26px}
}
