:root{--font-sans:var(--font-dm-sans,"DM Sans"),system-ui,sans-serif;--font-display:var(--font-fraunces,"Fraunces"),Georgia,"Times New Roman",serif;--bg:#f3f0e8;--bg-elevated:#ffffff;--bg-subtle:#e8e4da;--bg-inset:#faf9f6;--bg-card:#ffffff;--bg-sidebar:#faf8f4;--text:#1a221c;--text-muted:#5a6b60;--text-soft:#7a8a7f;--border:#ddd8cc;--border-strong:#c4bdb0;--accent:#1a5c42;--accent-hover:#237a58;--accent-light:#e8f2ec;--accent-subtle:#f4faf6;--gold:#8f6b42;--gold-soft:#f5efe6;--danger:#c23e3e;--warn:#a67c00;--shadow-xs:0 1px 2px rgba(26,34,28,0.05);--shadow-sm:0 2px 8px rgba(26,34,28,0.06);--shadow-md:0 8px 28px rgba(26,34,28,0.08);--shadow-lg:0 16px 48px rgba(26,34,28,0.12);--radius:14px;--radius-sm:10px;--radius-pill:999px;--bg-inset:var(--bg-inset)}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell__title,.hero__title,.horse-header__name,.section-title,.welcome__title,h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-hover)}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(26,92,66,.15)}button{border-radius:var(--radius-sm);font-weight:600;letter-spacing:.01em;transition:background .15s,transform .1s,box-shadow .15s}button:not(.secondary):not(.danger-btn):hover{background:var(--accent-hover);box-shadow:var(--shadow-sm)}button.secondary{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text)}button.secondary:hover{background:var(--bg-inset);border-color:var(--accent);color:var(--accent)}button.danger-btn{background:transparent;border:1px solid var(--danger);color:var(--danger)}button.danger-btn:hover{background:#fdf2f2}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:1.35rem 1.5rem}.hero__bg{background:url(/images/bilde%201.jpg) 50%/cover no-repeat}.hero__overlay{background:linear-gradient(0deg,rgba(0,0,0,.35) 0,transparent 45%)}.hero__content{padding-top:2.5rem;padding-bottom:2.5rem}.hero__brand{color:rgba(255,255,255,.9);font-family:var(--font-sans);font-weight:600;letter-spacing:.12em}.hero__title{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}.hero__subtitle{color:rgba(255,255,255,.82);line-height:1.55}.hero__back{color:rgba(255,255,255,.7)}.hero__back:hover{color:#fff}.page-main{padding-top:2rem;padding-bottom:3rem}.section-title{font-size:1.5rem;color:var(--text)}.intro-text{font-size:1.02rem;line-height:1.6}.module-card{border-radius:var(--radius);box-shadow:var(--shadow-sm)}.module-card--active{border-color:var(--border);background:linear-gradient(165deg,#fff 0,var(--accent-subtle) 100%)}.module-card--active:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.module-card__cta{color:var(--accent);font-size:.95rem}.auth-cta-row .card{background:var(--bg-elevated)}.auth-cta .btn-link{border-radius:var(--radius-sm);background:var(--accent);box-shadow:var(--shadow-xs)}.auth-cta .btn-link.secondary{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text)}.license-card--highlight{border-color:var(--accent);background:linear-gradient(180deg,var(--gold-soft) 0,#fff 40%)}.license-card__price{color:var(--gold)}.auth-page{min-height:100vh;background:var(--bg)}.auth-page__layout{display:grid;min-height:100vh;grid-template-columns:1fr}.auth-page__panel{display:flex;flex-direction:column;max-width:520px;width:100%;margin:0 auto}.auth-page__main{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:0 1.25rem 2rem;width:100%}.auth-page .card{width:100%;box-shadow:var(--shadow-md)}.auth-page__visual{order:-1;min-height:28vh;background:url(/images/hero-grazing.jpg) 50%/cover no-repeat,url(/images/bilde%201.jpg) 50%/cover no-repeat,url(/images/hero.jpg) 50%/cover no-repeat}@media (min-width:900px){.auth-page__layout{grid-template-columns:minmax(400px,480px) 1fr}.auth-page__panel{margin:0;max-width:none;padding-right:.5rem}.auth-page__visual{min-height:100vh;order:2}.auth-page__panel{order:1}}.auth-page__header{padding:2rem 1.25rem 0;width:100%}.auth-page__back{display:inline-block;margin-bottom:1.25rem;font-size:.9rem;color:var(--text-muted);text-decoration:none}.auth-page__back:hover{color:var(--accent)}.auth-page__brand{display:flex;align-items:center;gap:1rem}.auth-page__kicker{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.auth-page__title{margin:.2rem 0 0;font-family:var(--font-display);font-size:1.75rem;font-weight:600}.auth-page .disclaimer{margin:1.5rem 0 0;text-align:left;border:none;color:var(--text-soft);font-size:.88rem;line-height:1.55}.auth-page .auth-links{max-width:none;text-align:left}.auth-page .login-demo-hint{max-width:none;margin-left:0;margin-right:0}.app-shell{min-height:100vh;background:var(--bg)}.app-shell__top{background:var(--bg-elevated);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs)}.app-shell__home{font-family:var(--font-display);font-size:1.05rem}.app-shell__title{font-size:1.85rem}.nav-link{color:var(--text-muted);font-weight:500;padding:.35rem .65rem;border-radius:var(--radius-sm)}.nav-link:hover{background:var(--accent-subtle);color:var(--accent)}.breadcrumbs{color:var(--text-soft)}.workspace{background:var(--bg);color:var(--text)}.workspace__sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);box-shadow:4px 0 24px rgba(26,34,28,.04)}.workspace__brand{font-family:var(--font-display);font-size:1.1rem;color:var(--accent);gap:.65rem}.workspace__stall-select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .65rem;font-size:.88rem}.workspace__horse-btn{border-radius:var(--radius-sm);border:1px solid transparent;font-weight:500;transition:background .12s,border-color .12s}.workspace__horse-btn:hover{background:var(--bg-elevated);border-color:var(--border)}.workspace__horse-btn--active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:600}.workspace__add-horse{background:var(--accent);color:#fff;border-radius:var(--radius-sm);text-align:center;font-weight:600;box-shadow:var(--shadow-xs)}.workspace__add-horse:hover{background:var(--accent-hover)}.workspace__footer-link{color:var(--text-muted);font-size:.82rem}.workspace__main{padding:1.25rem 1.5rem 2rem}.workspace .card{box-shadow:var(--shadow-sm)}.workspace .muted{color:var(--text-muted)}.workflow-nav__step{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.workflow-nav--compact .workflow-nav__step{border-radius:var(--radius-pill)}.workflow-nav__step--active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.workflow-nav--compact .workflow-nav__step--active .workflow-nav__label,.workflow-nav__step--active .workflow-nav__num{color:#fff}.workflow-nav__num{color:var(--accent)}.workflow-nav__step--active .workflow-nav__num{color:#fff}.workspace .workflow-nav__step--active{background:var(--accent);color:#fff}.welcome__hero,.workspace .welcome__hero{background:url(/images/bilde%201.jpg) 50%/cover no-repeat!important;border:none!important;color:#fff;box-shadow:var(--shadow-md);padding:2rem 2.25rem;min-height:220px}.welcome__pill{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;background:rgba(0,0,0,.35);padding:.3rem .75rem;border-radius:var(--radius-pill);margin-bottom:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.4)}.welcome__title{color:#fff;font-size:clamp(1.75rem,3vw,2.25rem);margin:0;text-shadow:0 2px 12px rgba(0,0,0,.55)}.welcome__lead{color:rgba(255,255,255,.95);max-width:36rem;margin:.75rem 0 0;line-height:1.55;text-shadow:0 1px 8px rgba(0,0,0,.5)}.welcome__heading{font-family:var(--font-display);margin:2rem 0 1rem}.welcome__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.welcome__step{position:relative;padding-top:2.5rem}.welcome__step-num{position:absolute;top:1rem;left:1.25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-light);color:var(--accent);font-weight:700;font-size:.9rem}.welcome__step h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.1rem}.horse-header__avatar{background:linear-gradient(145deg,var(--accent-light),var(--gold-soft));border:2px solid var(--border);position:relative}.horse-header__avatar:after{content:"";position:absolute;inset:30% 22% 28% 22%;border:2px solid var(--accent);border-radius:50% 50% 45% 45%;opacity:.5}.horse-header__name{font-family:var(--font-display)}.modal-backdrop{background:rgba(26,34,28,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border)}.modal input,.modal select,.modal textarea{background:var(--bg-elevated)}.settings-page{color:var(--text)}.settings-page .card,.settings-section.card{box-shadow:var(--shadow-sm)}.settings-toc a{font-weight:500;padding:.25rem 0}.settings-section__title{font-family:var(--font-display)}.metric-card--feh .metric-card__value{color:var(--accent)}.bio-banner{background:var(--accent-subtle);border-color:var(--accent-light);border-radius:var(--radius-sm)}.tag{background:var(--accent-light);color:var(--accent);font-weight:500}.feed-catalog--wide{max-width:920px}.feed-catalog__section-title{font-family:var(--font-display);font-size:.95rem}.feed-catalog__add{background:var(--accent);border-radius:var(--radius-sm)}.brand-mark{flex-shrink:0;width:2rem;height:2rem;border-radius:10px;background:linear-gradient(145deg,var(--accent) 0,#2d7a5a 100%);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs)}.brand-mark svg{width:1.15rem;height:1.15rem;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.card-title,.card>h2:first-child,.card>h3:first-child{margin-top:0}.text-muted,.text-muted-sm{color:var(--text-muted)}.text-muted-sm{font-size:.9rem}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-stack label{display:block}.form-stack .btn-block{width:100%;margin-top:.25rem}.form-error{color:var(--danger);margin:0}.form-success{color:var(--accent-hover);margin:0}.auth-links{margin-top:1.25rem;text-align:center;font-size:.92rem;color:var(--text-muted)}.auth-links p{margin:.5rem 0 0}.login-demo-hint{max-width:440px;margin:1rem auto 0;padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted);background:var(--gold-soft);border:1px solid var(--border);border-radius:var(--radius-sm)}.disclaimer{font-size:.88rem;line-height:1.55;color:var(--text-soft);border-top:1px solid var(--border);padding-top:1.25rem;margin-top:2rem}.section-lead{color:var(--text-muted);font-size:.9rem;line-height:1.55}.facts-hub__icon{width:2.75rem;height:2.75rem;border-radius:12px;background:var(--accent-light);flex-shrink:0;position:relative}.facts-hub__icon--chart:after,.facts-hub__icon--doc:after,.facts-hub__icon--scale:after{content:"";position:absolute;inset:28% 22%;border:2px solid var(--accent);border-radius:3px;opacity:.85}.facts-hub__icon--chart:after{inset:auto 22% 30% 22%;height:45%;border-radius:3px 3px 0 0;border-bottom:none}.facts-hub__icon--scale:after{inset:38% 18%;border-radius:50%;border-width:2px 2px 0}.facts-hub__card-title,.facts-hub__title{font-family:var(--font-display)}.workspace__horse-lock{display:inline-block;width:.55rem;height:.65rem;margin-left:.35rem;border:2px solid;border-radius:2px;vertical-align:middle;opacity:.55}.workspace__horse-lock:after{content:"";display:block;width:.5rem;height:.35rem;margin:-.45rem auto 0;border:2px solid;border-bottom:none;border-radius:4px 4px 0 0}.coverage-bars__title{font-family:var(--font-display);display:flex;align-items:center;gap:.5rem}.coverage-bars__title-mark{width:.35rem;height:1.1rem;border-radius:2px;background:var(--accent);flex-shrink:0}