*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;
  --slate-500:#64748b;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;
  --amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;
  --red-400:#f87171;--red-500:#ef4444;
  --green-500:#22c55e;
  --white:#ffffff;
  --radius:8px;
  --shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06);
}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--slate-50);color:var(--slate-800);line-height:1.6;
  min-height:100vh;display:flex;flex-direction:column;
}
.site-header{
  background:var(--slate-900);color:var(--white);padding:0 1rem;
  border-bottom:3px solid var(--amber-500);
}
.header-inner{
  max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  height:56px;gap:1rem;
}
.logo{display:flex;align-items:center;gap:0.5rem;text-decoration:none;color:var(--white)}
.logo-text{font-weight:700;font-size:1.1rem;letter-spacing:-0.01em}
.site-nav{display:flex;gap:1.25rem}
.site-nav a{color:var(--slate-300);text-decoration:none;font-size:0.9rem;font-weight:500}
.site-nav a:hover{color:var(--amber-400)}
main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:1.5rem 1rem}
.board-section{margin-bottom:2.5rem}
.board-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1rem;margin-bottom:1.25rem;
}
.board-toolbar h1{font-size:1.5rem;font-weight:700;color:var(--slate-900)}
.toolbar-actions{display:flex;flex-wrap:wrap;gap:0.5rem}
.btn{
  display:inline-flex;align-items:center;gap:0.35rem;padding:0.5rem 1rem;
  border-radius:var(--radius);font-size:0.875rem;font-weight:600;cursor:pointer;
  border:1px solid transparent;transition:background 0.15s,color 0.15s;
  white-space:nowrap;
}
.btn-primary{background:var(--amber-500);color:var(--slate-900);border-color:var(--amber-500)}
.btn-primary:hover{background:var(--amber-600)}
.btn-secondary{background:var(--white);color:var(--slate-700);border-color:var(--slate-300)}
.btn-secondary:hover{background:var(--slate-100)}
.btn-ghost{background:transparent;color:var(--slate-500);border-color:transparent}
.btn-ghost:hover{background:var(--slate-100);color:var(--slate-700)}
.board-columns{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
}
.column{
  background:var(--white);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:1rem;
  min-height:200px;display:flex;flex-direction:column;
}
.column-heading{
  font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;
  color:var(--slate-500);margin-bottom:0.75rem;padding-bottom:0.5rem;
  border-bottom:2px solid var(--slate-200);
}
.card-list{flex:1;display:flex;flex-direction:column;gap:0.75rem}
.card{
  background:var(--white);border:1px solid var(--slate-200);border-left:4px solid var(--slate-300);
  border-radius:var(--radius);padding:0.75rem;box-shadow:var(--shadow);
  cursor:grab;transition:box-shadow 0.15s;position:relative;
}
.card:hover{box-shadow:var(--shadow-md)}
.card.deadline-soon{border-left-color:var(--amber-500)}
.card.deadline-overdue{border-left-color:var(--red-500)}
.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:0.5rem}
.card-title{font-weight:700;font-size:0.95rem;color:var(--slate-900)}
.card-actions{display:flex;gap:0.25rem}
.card-actions button{
  background:none;border:none;cursor:pointer;font-size:1rem;padding:0.15rem 0.3rem;
  border-radius:4px;color:var(--slate-500);
}
.card-actions button:hover{background:var(--slate-100);color:var(--slate-700)}
.card-meta{font-size:0.8rem;color:var(--slate-500);margin-top:0.25rem}
.card-meta span{display:block}
.card-materials{font-size:0.8rem;color:var(--slate-700);margin-top:0.35rem;font-style:italic}
.empty-message{
  color:var(--slate-400);font-size:0.85rem;text-align:center;padding:1.5rem 0.5rem;
}
.support-section{margin-bottom:2.5rem}
.support-section h2{font-size:1.35rem;font-weight:700;margin-bottom:1rem;color:var(--slate-900)}
.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.support-card{
  background:var(--white);border-radius:var(--radius);padding:1.25rem;
  box-shadow:var(--shadow);border-top:3px solid var(--amber-500);
}
.support-card h3{font-size:1rem;font-weight:700;margin-bottom:0.5rem;color:var(--slate-800)}
.support-card p{font-size:0.9rem;color:var(--slate-700);line-height:1.55}
.faq-section{margin-bottom:2rem}
.faq-section h2{font-size:1.35rem;font-weight:700;margin-bottom:1rem;color:var(--slate-900)}
.faq-list{display:flex;flex-direction:column;gap:0.75rem}
.faq-item{background:var(--white);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow)}
.faq-item dt{font-weight:700;font-size:0.95rem;color:var(--slate-800);margin-bottom:0.25rem}
.faq-item dd{font-size:0.9rem;color:var(--slate-600);margin-left:0}
.site-footer{
  background:var(--slate-900);color:var(--slate-300);padding:1.5rem 1rem;
  margin-top:auto;font-size:0.85rem;
}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;justify-content:space-between}
.footer-nav{display:flex;gap:1rem}
.footer-nav a{color:var(--slate-300);text-decoration:none}
.footer-nav a:hover{color:var(--amber-400)}
.footer-version{color:var(--slate-500);font-size:0.8rem}
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;
  justify-content:center;z-index:100;padding:1rem;
}
.modal{
  background:var(--white);border-radius:var(--radius);padding:1.5rem;width:100%;
  max-width:480px;box-shadow:var(--shadow-md);
}
.modal h2{font-size:1.2rem;font-weight:700;margin-bottom:1rem}
.modal label{display:block;font-size:0.85rem;font-weight:600;margin-top:0.75rem;margin-bottom:0.25rem;color:var(--slate-700)}
.modal input,.modal select,.modal textarea{
  width:100%;padding:0.5rem 0.75rem;border:1px solid var(--slate-300);
  border-radius:var(--radius);font-size:0.9rem;font-family:inherit;
}
.modal input:focus,.modal select:focus,.modal textarea:focus{
  outline:2px solid var(--amber-500);outline-offset:-1px;border-color:var(--amber-500);
}
.form-actions{display:flex;gap:0.5rem;margin-top:1.25rem;justify-content:flex-end}
@media(max-width:768px){
  .board-columns{grid-template-columns:1fr}
  .board-toolbar{flex-direction:column;align-items:flex-start}
  .toolbar-actions{width:100%;justify-content:flex-start}
  .header-inner{flex-wrap:wrap;height:auto;padding:0.75rem 0}
}
@media print{
  .site-header,.site-footer,.toolbar-actions,.card-actions,.modal-overlay{display:none}
  .board-columns{grid-template-columns:1fr;gap:0.5rem}
  .column{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
  body{background:white}
}



/* Factory-injected deployment helpers. The AI owns the site design above this block. */
.ad-unit {
  width: min(100%, 720px);
  min-height: 120px;
  margin: 24px auto;
  display: block;
}

.legal-page {
  width: min(900px, calc(100% - 32px));
  margin: 40px auto;
}

.factory-fallback-nav {
  width: min(900px, calc(100% - 32px));
  margin: 24px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  font-size: 0.95rem;
}

.factory-fallback-nav a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
