/* Trakmy additions on top of trakmy-app.css (Trakr's house style, unchanged).
   Only things Trakr keeps in page <style> blocks live here. Brand colours come
   from the business's settings as CSS variables, nothing else changes per business. */

/* flash messages (toast-style strip under the header) */
.t-flash{margin:0 0 16px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.t-flash--error{border-color:#efc9c5;background:var(--red-soft);color:var(--red)}
.t-flash--ok{border-color:#cfe8da;background:#e9f6ee;color:#14532d}

/* form grid */
.t-form-row{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.t-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink)}
.t-check input{width:auto;margin:0}
details.t-add>summary{list-style:none;display:inline-flex}
details.t-add>summary::-webkit-details-marker{display:none}
details.t-add[open]>summary{margin-bottom:14px}
.t-list-plain{margin:0;padding:0;list-style:none}
.t-list-plain li{padding:10px 0;border-top:1px solid var(--line-soft)}
.t-list-plain li:first-child{border-top:0;padding-top:0}
.t-brief{white-space:pre-wrap}

/* planner (from Trakr's planner page) */
.pl-body{padding:12px 20px 18px;overflow-x:auto}
.pl-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;height:36px}
.pl-bar .t-btn{min-width:36px;padding:0 10px}
.pl-week{display:flex;flex-direction:column;align-items:center;min-width:190px;line-height:1.2}
.pl-week b{font-size:14px}
.pl-week small{color:var(--ink-3);font-size:12px}
.pl-grid{display:grid;gap:8px;align-items:stretch;grid-template-columns:170px repeat(7,minmax(130px,1fr));min-width:1100px}
.pl-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:10px 12px;min-width:0;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);font-weight:600}
.pl-h .d{margin-left:auto;color:var(--ink-3);font-size:12px;font-weight:500}
.pl-h.today{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.pl-h.today .d{color:var(--blue)}
.pl-h.corner{color:var(--ink-3);font-weight:500}
.pl-name{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);font-weight:600}
.pl-name i{width:5px;align-self:stretch;border-radius:3px;flex:none;background:var(--blue)}
.pl-name.none i{background:#c9d3df}
.pl-name small{display:block;color:var(--ink-3);font-size:11.5px;font-weight:500}
.pl-cell{display:flex;flex-direction:column;gap:6px;min-height:64px;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.pl-cell.empty{border-style:dashed;background:transparent}
.pl-cell.today{border-color:#c7dcf2}
.pl-cell .pl-add{display:none;margin-top:auto;color:var(--ink-3);font-size:12px;text-align:center}
.pl-cell:hover .pl-add{display:block}
.job{display:block;width:100%;padding:8px 10px;border:1px solid var(--line);border-left:4px solid #8a97a6;border-radius:6px;background:#fff;color:inherit;font:inherit;text-align:left}
.job:hover{border-color:#bcd0e6;box-shadow:0 2px 8px rgba(20,30,50,.08);text-decoration:none}
.job .c{font-weight:600;line-height:1.25}
.job .w{margin:2px 0 3px;color:var(--ink-2);font-size:12.5px;line-height:1.3}
.job .n{color:var(--ink-3);font-size:11.5px;font-weight:500}
.job.st-planned{border-left-color:var(--blue)}
.job.st-in_progress{border-left-color:var(--accent)}
.job.st-done{border-left-color:#2e7d4f;opacity:.75}

/* sign in */
.t-auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--navy)}
.t-auth__card{width:100%;max-width:400px;padding:32px;border-radius:var(--r);background:var(--panel);box-shadow:var(--shadow-pop)}
.t-auth__brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:20px;font-weight:700}
.t-auth__brand .t-nav__mark{background:var(--navy);color:#fff}
.t-auth .t-btn--primary{width:100%;height:40px}

/* record page band + brief (from Trakr's job page) */
.t-band{display:grid;grid-template-columns:1.4fr 1.3fr 1fr 1.1fr .8fr 1fr;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.t-band__cell{padding:16px 20px;min-width:0}
.t-band__cell+.t-band__cell{border-left:1px solid var(--line-soft)}
.t-band__l{margin-bottom:4px;color:var(--ink-3);font-size:12px}
.t-band__v{font-weight:600;overflow-wrap:anywhere}
.t-band__s{margin-top:2px;color:var(--ink-2);font-size:13px;overflow-wrap:anywhere}
.t-band__brief{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line-soft);display:flex;gap:16px;align-items:baseline}
.t-band__brief .t-band__l{margin:0;flex:none;width:80px}
.t-band__brief .txt{flex:1;white-space:pre-wrap;line-height:1.5}
.t-band__brief .bq-edit{flex:none;font-size:12.5px;color:var(--blue);background:none;border:0;cursor:pointer;padding:0 4px}
.t-band__brief mark{background:#fff3a3;padding:0 2px;border-radius:2px}
@media (max-width:1100px){.t-band{grid-template-columns:repeat(3,1fr)}.t-band__cell:nth-child(4){border-left:0}}
.t-foot form{display:flex;align-items:center;gap:8px}
.t-foot .t-select{width:auto;height:34px}
.t-quick__tile:hover{text-decoration:none}
.t-drop form{margin:0}
/* "More" menu on the record footer (opens upwards, Trakr's footer) */
.t-more-menu{position:relative}
.t-more-menu .t-drop--up{top:auto;bottom:calc(100% + 8px);left:auto;right:0;border-radius:var(--r)}
.t-more-menu.is-open .t-drop{display:block}
/* admin pages (from Trakr's admin page) */
.ad-intro{padding:14px 24px;color:var(--ink-2);border-bottom:1px solid var(--line-soft);font-size:13.5px;line-height:1.55}
