/* Admin panel — plain, functional styling. Uses the same brand colors
   as the public site, but a simpler layout meant for editing, not
   showing off. Safe to leave alone; nothing here affects the public
   pages at all. */

:root{
	--paper-0:#FFFDF8; --paper-50:#FBF3E4; --paper-100:#F4E9D2;
	--ink-900:#2B2118; --ink-700:#5B4C3B; --ink-500:#8B7A64;
	--turquoise-700:#0B6B6F; --turquoise-600:#0E8A8F; --turquoise-100:#DBF1F0;
	--cobalt-700:#1E3A6B; --cobalt-600:#2A4B8D;
	--coral-700:#B33A22; --coral-600:#D8492E; --coral-100:#FBE3DC;
	--gold-700:#A87A1E; --gold-600:#D2A02A; --gold-100:#FBF0D2;
	--line:rgba(43,33,24,.16);
}
*{box-sizing:border-box;}
body{
	margin:0; background:var(--paper-50); color:var(--ink-900);
	font-family:-apple-system,'Segoe UI',Roboto,sans-serif; line-height:1.55;
}
a{color:var(--turquoise-700);}
.admin-header{
	background:var(--cobalt-700); color:#fff; padding:.9rem 1.4rem;
	display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.6rem;
}
.admin-header .brand{font-weight:700; letter-spacing:.02em;}
.admin-nav{display:flex; gap:1.1rem; flex-wrap:wrap; font-size:.92rem;}
.admin-nav a{color:#E7ECFA; text-decoration:none;}
.admin-nav a:hover, .admin-nav a.is-active{color:#fff; text-decoration:underline;}
.admin-nav .logout{color:#F6C9BC;}
.admin-wrap{max-width:920px; margin:0 auto; padding:2rem 1.4rem 4rem;}
.admin-card{
	background:var(--paper-0); border:1px solid var(--line); border-radius:10px;
	padding:1.5rem; margin-bottom:1.6rem; box-shadow:0 12px 30px -22px rgba(43,33,24,.4);
}
h1{font-size:1.5rem; margin:0 0 .3rem;}
h2{font-size:1.15rem; margin:0 0 1rem;}
.admin-intro{color:var(--ink-700); margin-top:0;}
.dash-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem;}
.dash-card{
	display:block; background:var(--paper-0); border:1px solid var(--line); border-radius:10px;
	padding:1.2rem; text-decoration:none; color:inherit; transition:box-shadow .15s ease, transform .15s ease;
}
.dash-card:hover{box-shadow:0 14px 30px -18px rgba(43,33,24,.45); transform:translateY(-2px);}
.dash-card strong{display:block; font-size:1.05rem; color:var(--cobalt-700);}
.dash-card span{font-size:.85rem; color:var(--ink-700);}

table{width:100%; border-collapse:collapse; font-size:.92rem;}
th, td{text-align:left; padding:.6rem .5rem; border-bottom:1px solid var(--line); vertical-align:top;}
th{color:var(--ink-700); font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.03em;}
td.actions{white-space:nowrap;}
td.actions a{margin-right:.8rem; font-size:.85rem;}
td.actions .danger{color:var(--coral-700);}

label{display:block; font-weight:600; font-size:.86rem; margin:1rem 0 .3rem;}
label:first-child{margin-top:0;}
input[type=text], input[type=password], input[type=number], input[type=file], textarea, select{
	width:100%; font:inherit; font-size:.95rem; padding:.6rem .7rem; border:1px solid var(--line);
	border-radius:7px; background:var(--paper-50); color:var(--ink-900);
}
textarea{min-height:90px; resize:vertical;}
input:focus, textarea:focus, select:focus{outline:none; border-color:var(--turquoise-600); box-shadow:0 0 0 3px var(--turquoise-100);}
.checkbox-row{display:flex; align-items:center; gap:.5rem; margin-top:1rem;}
.checkbox-row input{width:auto;}
.checkbox-row label{margin:0; font-weight:500;}

.btn{
	display:inline-block; margin-top:1.3rem; padding:.65rem 1.3rem; border:none; border-radius:7px;
	background:var(--turquoise-600); color:#fff; font-weight:700; font-size:.92rem; cursor:pointer; text-decoration:none;
}
.btn:hover{background:var(--turquoise-700);}
.btn-secondary{background:var(--paper-100); color:var(--ink-900);}
.btn-secondary:hover{background:var(--paper-50);}

.alert{padding:.8rem 1rem; border-radius:8px; margin-bottom:1.2rem; font-size:.9rem;}
.alert-error{background:var(--coral-100); color:var(--coral-700);}
.alert-success{background:var(--turquoise-100); color:var(--turquoise-700);}
.hint{font-size:.8rem; color:var(--ink-500); margin-top:.3rem;}
.empty-note{color:var(--ink-500); font-style:italic; font-size:.9rem;}

.login-wrap{max-width:380px; margin:3.5rem auto; padding:0 1.4rem;}

.thumb{width:72px; height:54px; object-fit:cover; border-radius:6px; border:1px solid var(--line); display:block;}
form .thumb{margin-top:.6rem; width:140px; height:100px;}
