:root {
  /* Claude-style warm paper palette + Exposure Media accents */
  --paper:        #FAF7F0;
  --surface:      #FFFFFF;
  --surface-2:    #F4EFE5;
  --surface-3:    #ECE5D2;
  --ink:          #1F1B14;
  --ink-2:        #5C5345;
  --ink-3:        #8B8273;
  --line:         #E8DFC9;
  --line-strong:  #D9CDB0;
  --em-purple:        #5F0073;
  --em-purple-hover:  #7A1090;
  --em-purple-soft:   #F2E5F6;
  --em-purple-ring:   #D8B6E2;
  --em-gold:          #D4A017;
  --em-gold-soft:     #FBF1D0;
  --danger:           #B5321A;
  --danger-soft:      #FAE6E0;
  --success:          #4D7C5D;
  --success-soft:     #E2EFE5;
  --info:             #2D5BAE;
  --info-soft:        #DEE7F7;

  color-scheme: light;
}

html, body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body { background: var(--paper); color: var(--ink); }

/* Utility helpers */
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-6 { display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }

/* Scrollbar — warm */
.kanban { scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
.kanban::-webkit-scrollbar { height: 10px; }
.kanban::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 6px; }

/* Kanban cards */
.kanban-card { user-select: none; }
.kanban-card.dragging { opacity: .35; transform: rotate(1deg); }
.kanban-list.drop-target { outline: 2px dashed var(--em-purple); outline-offset: -2px; background: var(--em-purple-soft); }

/* Modals */
.modal-open { display: flex !important; }
#shootDrawer.open { display: block; }

/* Inputs */
input, textarea, select {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  transition: border-color .12s, box-shadow .12s;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--em-purple);
  box-shadow: 0 0 0 3px var(--em-purple-ring);
}
input::placeholder, textarea::placeholder { color: var(--ink-3); }
select {
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);
  background-position: calc(100% - 14px) center, calc(100% - 9px) center;
  background-size: 5px 5px; background-repeat: no-repeat;
  appearance: none; padding-right: 28px;
}

/* Buttons (utility classes) */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-weight:500; border-radius:8px; padding:7px 14px; font-size:13px; transition: background .12s, color .12s, border-color .12s; cursor:pointer; line-height:1; }
.btn-primary { background: var(--em-purple); color:#fff; border: 1px solid var(--em-purple); }
.btn-primary:hover { background: var(--em-purple-hover); border-color: var(--em-purple-hover); }
.btn-secondary { background: var(--surface); color: var(--ink); border:1px solid var(--line-strong); }
.btn-secondary:hover { background: var(--surface-2); }
.btn-ghost { background: transparent; color: var(--ink-2); border:1px solid transparent; }
.btn-ghost:hover { background: var(--surface-2); color: var(--ink); }
.btn-danger { background: var(--danger); color:#fff; border:1px solid var(--danger); }

/* Card wrapper */
.card { background: var(--surface); border:1px solid var(--line); border-radius: 14px; }
.card-sunken { background: var(--surface-2); border:1px solid var(--line); border-radius:14px; }

/* Sidebar */
.sidebar { background: var(--surface-2); border-right:1px solid var(--line); }
.sidebar-link { display:flex; align-items:center; gap:10px; padding:7px 12px; border-radius:8px; font-size:13px; color: var(--ink-2); text-decoration:none; }
.sidebar-link:hover { background: var(--surface-3); color: var(--ink); }
.sidebar-link.active { background: var(--em-purple-soft); color: var(--em-purple); font-weight:600; }
.sidebar-section-label { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); padding: 14px 12px 6px; font-weight: 600; }

/* Drag for tasks */
.team-task { cursor: grab; }
.team-task.dragging { opacity: .4; }
[data-droppable-tasks].drop-target .task-list { outline: 2px dashed var(--em-purple); outline-offset: -2px; min-height: 40px; }

/* Status pill helpers */
.pill { display:inline-flex; align-items:center; gap:5px; font-size: 11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; padding: 3px 8px; border-radius: 6px; border:1px solid; }
.pill-purple  { background: var(--em-purple-soft); color: var(--em-purple); border-color: var(--em-purple-ring); }
.pill-gold    { background: var(--em-gold-soft);   color: #8A6A0F;        border-color: #ECD27D; }
.pill-danger  { background: var(--danger-soft);    color: var(--danger);   border-color: #ECCBC0; }
.pill-success { background: var(--success-soft);   color: var(--success);  border-color: #BCD9C2; }
.pill-info    { background: var(--info-soft);      color: var(--info);     border-color: #BCCDF0; }
.pill-neutral { background: var(--surface-2);      color: var(--ink-2);    border-color: var(--line); }

/* Top bar */
.topbar { background: rgba(250,247,240,.85); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }

/* Drawer */
#shootDrawer .panel { background: var(--surface); border-left: 1px solid var(--line); }
