:root{
  --bg:#F5F5DC;
  --panel:#FFFFFF;
  --panel2:#FFFFFF;
  --text:#1a1a1a;
  --muted:#808080;
  --accent:#4A2C0B;
  --danger:#b00020;
  --ok:#228B22;
  --warn:#c9a400;
  --bad:#b00020;
  --border:rgba(0,0,0,.16);
  --shadow:none;
}

*{box-sizing:border-box}
html,body{height:100%}
html{overflow-x:hidden}
body{
  margin:0;
  font-family: "Roboto", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  font-size:16px;
  background: var(--bg);
  color:var(--text);
  overflow-x:hidden;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

body.rm-bg{
  --bg:#09090b;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(255,255,255,.06);
  --text:#fff;
  --muted:rgba(255,255,255,.65);
  --accent:#f59e0b;
  --border:rgba(255,255,255,.14);
  --shadow:0 18px 55px rgba(0,0,0,.40);
  background:#09090b;
  color:#fff;
  isolation:isolate;
}
body.rm-bg::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:url("/img/bg-workshop.jpg");background-size:cover;background-position:center;opacity:.26;transform:scale(1.03);filter:blur(2px) saturate(1.15)}
body.rm-bg::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 70% at 50% 40%, rgba(34,197,94,.34) 0%, rgba(34,197,94,0) 62%), radial-gradient(42% 60% at 76% 12%, rgba(20,184,166,.22) 0%, rgba(20,184,166,0) 62%), linear-gradient(180deg, rgba(0,0,0,.46) 0%, rgba(0,0,0,.46) 100%)}

a{color:inherit}

.container{max-width:1100px;margin:0 auto;padding:16px}
.page{flex:1;display:flex;flex-direction:column;width:100%}

.topbar{
  position:sticky;top:0;z-index:1000;isolation:isolate;
  background: rgba(9,9,11,.45);
  border-bottom:2px solid rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.topbar .nav-links{color:#fff}
.topbar .brand-sub{color:rgba(255,255,255,.65)}
.topbar .btn{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff}
.topbar .btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);transform:translateY(-1px)}
.topbar .btn:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:2px}
.topbar .btn.primary{border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.92); color:#09090b}
.topbar .btn.primary:hover{background:#fff;border-color:#fff}
.topbar a.btn.primary[href="/materials/create"]{background:#f59e0b;border-color:#f59e0b;color:#09090b}
.topbar a.btn.primary[href="/materials/create"]:hover{background:#fbbf24;border-color:#fbbf24}
.topbar .btn.danger{border-color: rgba(239,68,68,.45); background: rgba(239,68,68,.14); color: #fff}
.topbar .btn.danger:hover{background: rgba(239,68,68,.22); border-color: rgba(239,68,68,.70)}

.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-badge{width:12px;height:12px;background:rgba(34,197,94,.90);border-radius:2px}
.brand-title{font-weight:800;letter-spacing:.2px;color:#fff}
.brand-sub{color:rgba(255,255,255,.65);font-size:12px}

.nav{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nav-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

@media (max-width: 719px){
  .rm-hide-mobile{display:none !important}
  .nav{flex-direction:column;align-items:stretch}
  .brand{width:100%}
  .nav-links{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .nav-links .btn{width:100%;justify-content:center}
  .nav-links .btn.primary{grid-column:1 / -1}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 12px;border-radius:8px;
  border:1px solid var(--border);
  background:var(--panel);
  color:var(--text);text-decoration:none;
  font-weight:700;
}
.btn.primary{border-color: rgba(245,158,11,.55); background: var(--accent); color:#09090b}
.btn.danger{border-color: rgba(176,0,32,.55); background: rgba(176,0,32,.10); color: var(--danger)}

.card{
  border:1px solid var(--border);
  border-radius:10px;
  background: var(--panel);
  padding:14px;
}

.auth-card h1{margin-bottom:20px}
.auth-card form{margin-top:16px}
.auth-card label{margin:18px 0 8px}
.auth-card .row{gap:18px}

.grid{display:grid;gap:12px}
.grid.two{grid-template-columns:1fr}

@media (min-width: 900px){
  .grid.two{grid-template-columns: 1.1fr .9fr}
}

h1{font-size:20px;margin:0 0 10px 0}
h2{font-size:16px;margin:0 0 10px 0}
label{display:block;font-weight:700;margin:10px 0 6px}

input, select, textarea{
  width:100%;
  padding:10px;
  border-radius:8px;
  border:1px solid var(--border);
  background: var(--panel);
  color:var(--text);
}
textarea{min-height:90px;resize:vertical}

.help{color:var(--muted);font-size:12px;line-height:1.3}
.row{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width: 700px){
  .row{grid-template-columns: 1fr 1fr}
}

.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:12px;border:1px solid var(--border)}
.table th,.table td{padding:20px 18px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.35}
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}

.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);font-weight:800;font-size:12px}
.badge.good{border-color:rgba(34,139,34,.45); background:rgba(34,139,34,.10); color: var(--ok)}
.badge.medium{border-color:rgba(201,164,0,.50); background:rgba(201,164,0,.10)}
.badge.weak{border-color:rgba(176,0,32,.50); background:rgba(176,0,32,.08); color: var(--bad)}

.flash{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.06)}
.flash.error{background:rgba(176,0,32,.08);border-color:rgba(176,0,32,.35)}

.material-card{display:grid;grid-template-columns: 88px 1fr;gap:12px;align-items:start}
.thumb{width:88px;height:88px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.06);overflow:hidden;display:flex;align-items:center;justify-content:center}
.thumb img{width:100%;height:100%;object-fit:cover}
.meta{color:var(--muted);font-size:12px;line-height:1.4}
.dim{font-weight:900}

.footer{color:var(--muted);font-size:12px;padding:22px 0;margin-top:auto}

body.rm-bg .footer{color:rgba(255,255,255,.72)}
body.rm-bg .footer a{color:rgba(255,255,255,.85)}
body.rm-bg .footer a:hover{color:#fff}

.cookie-banner{
  position:fixed;
  left:0;right:0;bottom:0;
  padding:12px;
  background: var(--panel);
  border-top:1px solid var(--border);
  z-index:50;
}

.cookie-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

/* ResturiMateriale homepage - flat wood palette */


.rm{display:block;position:relative;min-height:100vh;background:#09090b;color:#fff;isolation:isolate;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rm::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:url("/img/bg-workshop.jpg");background-size:cover;background-position:center;opacity:.26;transform:scale(1.03);filter:blur(2px) saturate(1.15)}
.rm::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 70% at 50% 40%, rgba(34,197,94,.34) 0%, rgba(34,197,94,0) 62%), radial-gradient(42% 60% at 76% 12%, rgba(20,184,166,.22) 0%, rgba(20,184,166,0) 62%), linear-gradient(180deg, rgba(9,9,11,.22) 0%, rgba(9,9,11,.84) 60%, rgba(9,9,11,.97) 100%)}

body.rm-bg .rm{background:transparent;color:inherit;min-height:0}
body.rm-bg .rm::before,body.rm-bg .rm::after{content:none}

.rm-hero{position:relative;z-index:15;border-bottom:0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:transparent;color:inherit}
.rm-hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:18px 16px}

.rm-search{display:grid;gap:12px}
.rm-search-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}

.rm-title{font-weight:900;font-size:32px;line-height:1.02;color:#fff;letter-spacing:-.02em}
.rm-sub{color:rgba(255,255,255,.70);font-size:16px;margin-top:8px;max-width:70ch}

.rm-sub-row{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.rm-mobile-only{display:none}
@media (max-width: 719px){
  .rm-mobile-only{display:inline-flex}
  .rm-sub-row .rm-mobile-only{align-self:flex-end}
  .rm,.rm-hero{width:100%;margin-left:0;margin-right:0}
  .auth-card{width:100% !important}
  .rm-field-spacer{display:none}
}
@media (min-width: 720px){
  .rm-sub-row{gap:0}
}

.rm-auth{display:flex;gap:12px;flex-wrap:wrap}
.rm-link{color:rgba(255,255,255,.85);font-weight:900;text-decoration:none}
.rm-link:hover{color:#fff;text-decoration:underline}

.rm-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 55px rgba(0,0,0,.40)}
.rm-form{padding:12px}

.rm-row{display:grid;grid-template-columns:1fr;gap:28px}
.rm-row + .rm-row{margin-top:14px}
@media (min-width: 720px){
  .rm-row{grid-template-columns:1fr 1fr}
  .rm-title{font-size:48px}
  .rm-hero-inner{padding:28px 16px}
}

.rm-row-dual{grid-template-columns:1fr 1fr}

.rm-field label{display:block;font-weight:1000;margin:0 0 6px 0;color:rgba(255,255,255,.88)}

.rm-form input,.rm-form select,.rm-form textarea{border-color:rgba(255,255,255,.12);background:rgba(9,9,11,.32);color:#fff}
.rm-form input::placeholder{color:rgba(255,255,255,.55)}
.rm-form select option{color:#09090b}

#rmCityDropdown,#rmProducerDropdown,#rmDecorDropdown{background:#1a4027;border-color:rgba(255,255,255,.22)}
#rmCityDropdown > div:hover,#rmProducerDropdown > div:hover,#rmDecorDropdown > div:hover{background:rgba(255,255,255,.14)}

.rm-muted{color:rgba(255,255,255,.62)}
.rm-help{font-size:12px;line-height:1.25;color:rgba(255,255,255,.52)}

.rm-slider{display:flex;align-items:center;gap:10px}
.rm-slider input[type=range]{width:100%}
.rm-slider output{min-width:44px;text-align:right;font-weight:1000;color:rgba(255,255,255,.88)}

.rm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.rm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--accent);text-decoration:none;font-weight:900;font-family:inherit;font-size:16px;line-height:1}
button.rm-btn{-webkit-appearance:none;appearance:none}
.rm-btn-green{background:var(--ok);border-color:rgba(34,139,34,.55);color:#fff}
.rm-btn-orange{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.55);color:#fff}
.rm-btn-orange:hover{background:rgba(245,158,11,.24);border-color:rgba(245,158,11,.72)}
.rm-btn-orange-solid{background:#f59e0b;border-color:#f59e0b;color:#09090b}
.rm-btn-orange-solid:hover{background:#fbbf24;border-color:#fbbf24}
.rm-btn-walnut{background:var(--accent);border-color:rgba(74,44,11,.55);color:#fff}

.rm-preview{display:grid;gap:10px}
@media (min-width: 720px){
  .rm-preview{grid-template-columns:repeat(3, 1fr)}
}

.rm-preview-card{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:10px}
.rm-thumb{width:84px;height:84px;border-radius:10px;border:1px solid var(--border);background:rgba(74,44,11,.06);overflow:hidden;display:flex;align-items:center;justify-content:center}
.rm-thumb img{width:100%;height:100%;object-fit:cover}
.rm-thumb-empty{font-weight:900;color:rgba(74,44,11,.65)}

.rm-preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rm-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid var(--border)}
.rm-badge-green{background:rgba(34,139,34,.12);border-color:rgba(34,139,34,.45);color:var(--ok)}
.rm-badge-yellow{background:rgba(201,164,0,.12);border-color:rgba(201,164,0,.55);color:#5a4a00}
.rm-badge-red{background:rgba(176,0,32,.08);border-color:rgba(176,0,32,.45);color:var(--bad)}

.rm-city{display:inline-flex;align-items:center;font-weight:900;color:var(--muted);font-size:12px}
.rm-line{margin-top:6px}
.rm-muted{color:var(--muted)}
.rm-strong{font-weight:900;color:var(--accent)}

.rm-progress{height:6px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden;margin-top:10px}
.rm-progress-bar{height:100%;background:var(--ok)}

.rm-stats{background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.rm-stats-inner{max-width:1100px;margin:0 auto;padding:10px 16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.rm-stat{display:flex;align-items:baseline;gap:8px;justify-content:center}
.rm-stat-num{font-weight:1000;color:var(--accent)}
.rm-stat-label{color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}

.rm-section{max-width:1100px;margin:0 auto;padding:16px}
.rm-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rm-section h2{margin:0;color:var(--accent);font-size:20px}
.rm-note{color:var(--muted);font-weight:800}

.rm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (min-width: 1024px){
  .rm-grid{grid-template-columns:repeat(4, 1fr)}
}

.rm-scrap{padding:10px}
.rm-scrap-thumb{width:100%;aspect-ratio:4/3;border-radius:10px;border:1px solid var(--border);background:rgba(74,44,11,.06);overflow:hidden;display:flex;align-items:center;justify-content:center}
.rm-scrap-thumb img{width:100%;height:100%;object-fit:cover}
.rm-scrap-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.rm-scrap-body{display:block}
.rm-scrap-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.rm-heart{border:1px solid var(--border);background:var(--panel);border-radius:10px;min-width:44px;min-height:44px;font-weight:1000;color:var(--accent)}

.rm-empty{padding:12px;margin-top:12px}
.rm-empty-title{font-weight:1000;color:#fff;margin-bottom:10px}

.rm-cta{background:rgba(74,44,11,.06);border-top:1px solid var(--border)}
.rm-cta-inner{max-width:1100px;margin:0 auto;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rm-cta-title{font-weight:1000;color:var(--accent);font-size:18px}
.rm-cta-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Glass/dark overrides when using the continuous hero background */
.rm-stats{background:transparent;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.rm-stat-num{color:#fff}
.rm-stat-label{color:rgba(255,255,255,.62)}

.rm-section h2{color:#fff}
.rm-note{color:rgba(255,255,255,.70)}

.rm-preview-card,.rm-scrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.rm-thumb,.rm-scrap-thumb{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.rm-strong{color:#fff}

.rm-badge{border-color:rgba(255,255,255,.12)}
.rm-badge-green{background:rgba(34,139,34,.18);border-color:rgba(34,139,34,.45);color:#c7f9d4}
.rm-badge-yellow{background:rgba(201,164,0,.18);border-color:rgba(201,164,0,.45);color:#ffe8a3}
.rm-badge-red{background:rgba(176,0,32,.14);border-color:rgba(176,0,32,.45);color:#ffb4c0}

.rm-heart{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff}

.rm-cta{background:transparent;border-top:1px solid rgba(255,255,255,.08)}
.rm-cta-title{color:#fff}

.rm-btn{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff}
.rm-btn.rm-btn-orange{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.55);color:#fff}
.rm-btn.rm-btn-orange:hover{background:rgba(245,158,11,.24);border-color:rgba(245,158,11,.72)}
.rm-btn.rm-btn-orange-solid{background:#f59e0b;border-color:#f59e0b;color:#09090b}
.rm-btn.rm-btn-orange-solid:hover{background:#fbbf24;border-color:#fbbf24}
.rm-btn-walnut{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.88);color:#09090b}

/* Homepage tool UI */
.tool-home{display:grid;gap:12px}

@media (min-width: 900px){
  .tool-home{grid-template-columns: 420px 1fr;align-items:start}
}

.tool-search{border:1px solid var(--border);background:var(--panel);padding:10px}
.tool-results{border:1px solid var(--border);background:var(--panel);padding:10px}

.tool-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
@media (min-width: 700px){
  .tool-row{grid-template-columns:1fr 1fr}
}

.tool-row-main{grid-template-columns:1fr}
@media (min-width: 1100px){
  .tool-row-main{grid-template-columns: 1.1fr 1.6fr 1fr 1fr 1fr auto;align-items:end}
}

.tool-actions{grid-template-columns:1fr}
@media (min-width: 700px){
  .tool-actions{grid-template-columns: 1fr 1fr}
}

.tool-buttons{display:flex;gap:10px;align-items:end;justify-content:flex-start;flex-wrap:wrap}
.tool-btn-main{min-height:44px;min-width:140px;border-radius:6px}
.tool-btn-secondary{min-height:44px;border-radius:6px}

.tool-details{margin-top:10px;border:1px solid var(--border);background:var(--panel);padding:10px}
.tool-details summary{cursor:pointer;font-weight:800}
.tool-details-body{margin-top:10px}

.tool-results-header{display:grid;gap:10px}
.tool-flashes{display:flex;gap:10px;flex-wrap:wrap}
.tool-flashes .flash{border-radius:6px;padding:8px 10px}

.tool-empty{border:1px solid var(--border);background:var(--panel);padding:10px;margin:10px 0}
.tool-empty-warning{border-color:rgba(243,156,18,.45)}
.tool-empty-title{font-weight:900;margin-bottom:10px}
.tool-empty-actions{display:flex;gap:10px;flex-wrap:wrap}

.tool-table-wrap{overflow-x:auto;border:1px solid var(--border);background:var(--panel)}
.tool-table{width:100%;border-collapse:collapse;min-width:840px}
.tool-table th,.tool-table td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}
.tool-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}

.tool-col-match{width:170px}
.tool-match{display:grid;gap:6px}

.tool-fit{display:inline-flex;justify-content:center;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-weight:1000;letter-spacing:.04em}
.tool-fit.fit-yes{border-color:rgba(46,204,113,.65);color:var(--ok)}
.tool-fit.fit-partial{border-color:rgba(243,156,18,.65);color:var(--warn)}
.tool-fit.fit-no{border-color:rgba(231,76,60,.65);color:var(--bad)}

.tool-level{display:inline-flex;justify-content:center;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-weight:900}
.tool-level.good{border-color:rgba(46,204,113,.45)}
.tool-level.medium{border-color:rgba(243,156,18,.45)}
.tool-level.weak{border-color:rgba(231,76,60,.45)}

.tool-mat-title{font-weight:900}
.tool-mat-desc{margin-top:4px;display:block;white-space:normal;overflow-wrap:anywhere}
.tool-dims{white-space:nowrap}
.tool-waste{margin-top:6px}
.tool-actions-cell{text-align:right;white-space:nowrap}
