:root{ --bg:#ffffff; --text:#222; --muted:#666; --brand:#2a7a77; --accent:#e9f5f4; --line:#eee; }
*{box-sizing:border-box;} html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;}
a{color:var(--brand);text-decoration:none;} a:hover{text-decoration:underline;}
.container{max-width:1100px;margin:0 auto;padding:16px;}
.site-header .topbar{background:var(--accent);padding:8px 16px;text-align:center;font-weight:600;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);}
.logo{font-size:20px;font-weight:800;color:var(--text);} .header-actions{display:flex;gap:16px;align-items:center;}
.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;}
.icon-link{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);} .badge{background:var(--brand);color:#fff;border-radius:10px;padding:0 6px;font-size:12px;line-height:18px;min-width:20px;text-align:center;}
.login-link{padding:6px 8px;border-radius:8px;}
.main-nav{display:flex;gap:24px;justify-content:center;padding:10px 16px;border-bottom:1px solid var(--line);} .main-nav a{font-weight:600;color:var(--text);}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;} .card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;} .card img{width:100%;height:220px;object-fit:cover;background:#fafafa;} .card .p{padding:10px 12px;}
.price{font-weight:700;}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:10px 14px;border-radius:10px;border:none;cursor:pointer;}
.btn.secondary{background:#444;} .notice{background:#fff8e1;border:1px solid #ffe7a0;padding:10px 12px;border-radius:10px;margin:10px 0;}
.table{width:100%;border-collapse:collapse;} .table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;}
.site-footer{border-top:1px solid var(--line);margin-top:24px;padding:24px 0;color:var(--muted);} .form-row{display:flex;gap:12px;flex-wrap:wrap;} .input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;}
.small{font-size:13px;color:var(--muted);} .flex{display:flex;gap:12px;align-items:center;} .right{margin-left:auto;} .text-center{text-align:center;}
h1,h2,h3{line-height:1.2;}
@media (max-width:800px){ .grid{grid-template-columns:repeat(2,1fr);} .header-inner{flex-wrap:wrap;gap:10px;} }
