:root{--nav:#061a24;--nav2:#092b39;--ink:#10163f;--muted:#6d7598;--line:#dfe5f1;--bg:#f4f7fb;--card:#fff;--green:#27e56d;--green2:#19c65d;--pink:#ff0876;--purple:#8a42ff;--blue:#2d67f6;--orange:#ff9b39;--red:#ef4662;--shadow:0 12px 32px rgba(13,26,66,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.sf-top{position:fixed;left:0;right:0;top:0;height:74px;background:linear-gradient(100deg,#020d13,#071e29 55%,#081723);display:flex;align-items:center;z-index:50;color:#fff;border-bottom:1px solid #153747}.sf-brand{width:248px;padding:0 18px;display:flex;align-items:center;gap:10px}.sf-mark{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;overflow:visible}.sf-mark img{display:block;width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(92,255,53,.18))}.sf-word{font-weight:950;font-style:italic;font-size:22px;letter-spacing:-1px}.sf-word b{color:#5cff35}.sf-tag{font-size:8px;letter-spacing:1.8px;font-weight:800;color:#dce7ec}.sf-search{flex:1;max-width:600px;position:relative}.sf-search input{width:100%;background:#102a38;border:1px solid #1d4052;color:white;border-radius:7px;padding:12px 15px 12px 40px;outline:none}.sf-search:before{content:'⌕';position:absolute;left:13px;top:4px;font-size:28px;color:#b9cbd4}.sf-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px;padding:0 18px}.top-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#0d2b39;border:1px solid #1d4455;position:relative}.top-badge{position:absolute;right:-4px;top:-5px;background:var(--pink);color:#fff;font-size:9px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;display:grid;place-items:center;font-weight:900}.sf-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#24d4ed,#27e56d);display:grid;place-items:center;color:#07131b;font-weight:950}.sf-user{font-size:12px;line-height:1.15}.sf-user small{color:#a9beca;display:block}
.sf-side{position:fixed;left:0;top:74px;bottom:0;width:248px;background:linear-gradient(180deg,#071b25,#061923);z-index:45;color:#fff;padding:12px 10px 18px;overflow:auto}.nav-group{font-size:9px;letter-spacing:1.6px;color:#64818f;font-weight:900;margin:13px 10px 6px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:7px;font-size:13px;color:#dce8ee;margin:2px 0}.nav-link:hover{background:#0f2c39}.nav-link.active{background:linear-gradient(90deg,#e40070,#7426d7);color:#fff;box-shadow:0 7px 18px rgba(226,0,112,.18)}.nav-ico{width:24px;text-align:center;font-size:18px}.plan-box{margin:18px 7px 0;border:1px solid #183947;background:#0a2632;border-radius:10px;padding:12px}.plan-box small{display:block;color:#82a0ad}.plan-box strong{display:block;color:#4bff74;margin:3px 0}.plan-box .mode{font-size:10px;color:#ff78ac;margin-top:7px}
.sf-main{margin-left:248px;padding:94px 24px 42px;max-width:1600px;min-height:100vh}.testing{background:linear-gradient(90deg,#fff1f7,#f5efff);border:1px solid #f4c5db;border-left:4px solid var(--pink);border-radius:9px;padding:11px 14px;margin-bottom:16px;font-size:12px;color:#8d2350;font-weight:750}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}.page-title h1{margin:0;font-size:30px;letter-spacing:-.5px}.page-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #d4dceb;background:#fff;color:#1f2a5c;padding:10px 15px;border-radius:7px;font-weight:850;font-size:12px;cursor:pointer}.btn.pink{background:linear-gradient(90deg,#ff0876,#e5006d);color:#fff;border-color:#e5006d}.btn.green{background:linear-gradient(90deg,#22df68,#14bd56);color:#03170b;border-color:#1ed565}.btn.purple{background:linear-gradient(90deg,#7341eb,#9c4cff);color:#fff;border-color:#7341eb}.btn.dark{background:#0b2330;color:#fff;border-color:#0b2330}.card{background:var(--card);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.card-pad{padding:17px}.toolbar{padding:13px;margin-bottom:14px}.filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto;gap:8px}.ctrl{height:39px;border:1px solid #ccd6e6;border-radius:7px;background:#fff;color:#1c275a;padding:0 11px;width:100%}.view-toggle{display:flex;border:1px solid #d5deeb;border-radius:7px;overflow:hidden}.view-toggle span{padding:9px 11px;background:#fff}.view-toggle span.on{background:#101f31;color:white}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.chip{padding:6px 10px;border-radius:18px;background:#eef2f8;font-size:11px;font-weight:800;color:#4d587b}.chip.on{background:#dcf9e7;color:#087d38}.animal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.animal-card{overflow:hidden;transition:.15s}.animal-card:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(13,26,66,.12)}.animal-photo{height:156px;background:radial-gradient(circle at 50% 30%,#29434d,#10242c 48%,#07171e);display:grid;place-items:center;position:relative;color:#54717c}.animal-photo:before{content:'S';font-size:60px;font-weight:950;font-style:italic;color:#163a32;text-shadow:0 0 25px rgba(39,229,109,.15)}.animal-photo .no-photo{position:absolute;bottom:10px;font-size:10px;color:#77919b;background:#0d222b;padding:4px 7px;border-radius:10px}.animal-status{position:absolute;top:10px;left:10px;background:#dff9e8;color:#08793a;font-size:9px;font-weight:900;padding:4px 7px;border-radius:10px}.animal-menu{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff}.animal-body{padding:12px}.animal-body h3{margin:0;font-size:17px}.animal-sub{color:#6a7393;font-size:11px;margin-top:4px}.animal-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.meta{background:#f7f9fc;border:1px solid #e8edf5;border-radius:7px;padding:7px;font-size:10px;color:#687292}.meta b{display:block;color:#202a5b;font-size:11px;margin-top:2px}.animal-id{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid #edf0f5;font-size:10px;color:#7b83a0}.empty{padding:54px 20px;text-align:center;border:1px dashed #b7c5d9;border-radius:12px;background:#fff}.empty .big-icon{width:72px;height:72px;border-radius:50%;margin:0 auto 14px;background:#eafaf0;display:grid;place-items:center;font-size:33px}.empty h2{margin:0 0 6px}.empty p{color:var(--muted);margin:0 0 16px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.stat{padding:16px;position:relative;overflow:hidden}.stat:after{content:'';position:absolute;width:70px;height:70px;border-radius:50%;right:-15px;top:-18px;background:#eef3ff}.stat .num{font-size:29px;font-weight:950;position:relative;z-index:1}.stat .label{font-size:11px;color:#6e7796;position:relative;z-index:1}.stat.pink .num{color:#e70070}.stat.blue .num{color:#2c66f4}.stat.orange .num{color:#f18925}.stat.purple .num{color:#7e38e9}.stat.green .num{color:#10a94b}.dash-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:13px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title h2{font-size:16px;margin:0}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.quick{border:1px solid #e2e8f1;border-radius:9px;padding:14px 8px;text-align:center;font-size:11px;font-weight:850;background:#fff}.quick i{display:block;font-style:normal;font-size:23px;margin-bottom:5px}.quick.feed i{color:#e70070}.quick.weight i{color:#2360f0}.quick.shed i{color:#f39a32}.quick.clean i{color:#19a95c}.quick.med i{color:#7a3bde}.timeline{display:grid;gap:8px}.timeline .row{display:grid;grid-template-columns:88px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #edf0f6;border-radius:8px;font-size:11px}.timeline .when{font-weight:900;color:#303b68}.timeline .what{color:#6c7593}.profile-hero{display:grid;grid-template-columns:300px 1fr;gap:0;overflow:hidden}.profile-photo{min-height:265px;background:radial-gradient(circle at 50% 30%,#2a4550,#0d232b 55%,#06141a);display:grid;place-items:center;color:#54717c;font-size:76px}.profile-info{padding:21px}.profile-info h1{margin:0 0 5px;font-size:30px}.profile-sub{color:#6e7796;margin-bottom:15px}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.profile-facts .fact{background:#f7f9fc;border:1px solid #e5eaf2;border-radius:8px;padding:10px;font-size:10px;color:#737c97}.fact b{display:block;font-size:12px;color:#1f2959;margin-top:3px}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.tabs{display:flex;gap:18px;border-bottom:1px solid #dfe5ee;margin:14px 0 13px;overflow:auto}.tabs a{padding:10px 2px;font-size:11px;font-weight:850;color:#69718d;white-space:nowrap}.tabs a.on{color:#1a275a;border-bottom:3px solid var(--pink)}.form-shell{display:grid;grid-template-columns:1fr 290px;gap:14px}.form-card{padding:18px}.stepper{display:flex;gap:6px;margin-bottom:14px}.step{flex:1;height:5px;border-radius:4px;background:#e3e8f0}.step.on{background:linear-gradient(90deg,#ff0876,#8f42ff)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label{display:block;font-size:11px;font-weight:850;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8e7;border-radius:7px;padding:10px;background:#fff;color:#202a57}.field textarea{min-height:95px}.field.full{grid-column:1/-1}.help-card{padding:16px;background:#0d2430;color:#dce8ed;border:none}.help-card h3{color:#fff}.help-item{padding:10px 0;border-bottom:1px solid #1c3a46;font-size:11px}.help-item b{color:#50ef7d}.notice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.notice-card{padding:16px}.notice-head{display:flex;justify-content:space-between;align-items:center}.notice-head h3{margin:0;font-size:15px}.count{min-width:24px;height:24px;border-radius:12px;background:#edf1f8;display:grid;place-items:center;font-size:10px;font-weight:900}.list-row{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #edf0f6}.list-row:last-child{border:0}.dot{width:9px;height:9px;border-radius:50%;margin-top:5px}.dot.pink{background:var(--pink)}.dot.green{background:var(--green2)}.dot.blue{background:var(--blue)}.dot.purple{background:var(--purple)}.list-row b{font-size:11px}.list-row p{font-size:10px;margin:3px 0;color:#707995}.settings-wrap{display:grid;grid-template-columns:230px 1fr;gap:14px}.settings-menu{padding:10px}.settings-menu a{display:block;padding:10px;border-radius:7px;font-size:12px;color:#5d6685}.settings-menu a.on{background:#f1ebff;color:#6231d2;font-weight:850}.settings-content{padding:18px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-tile{padding:16px}.admin-tile b{font-size:27px;display:block}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:11px}.table th,.table td{padding:11px 9px;border-bottom:1px solid #e9edf4;text-align:left}.table th{color:#737c96;font-size:9px;text-transform:uppercase;letter-spacing:.7px}.message-shell{display:grid;grid-template-columns:300px 1fr;height:610px;overflow:hidden}.conv-list{border-right:1px solid #e3e8f0;background:#fbfcfe}.conv-search{padding:12px}.conv-item{padding:12px;border-top:1px solid #edf0f5}.chat{display:flex;flex-direction:column}.chat-empty{flex:1;display:grid;place-items:center;text-align:center;color:#7a829b}.bottom-nav{display:none}
.public-body{background:#050c11;color:#fff}.public-header{height:72px;display:flex;align-items:center;padding:0 5vw;position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(#02090dcc,transparent)}.public-header .sf-brand{width:auto;padding:0}.public-nav{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:12px}.hero{min-height:690px;background:linear-gradient(90deg,#030a0f 0%,#030a0fd9 37%,#030a0f35 70%),url('/assets/images/snake-hero.jpg') center/cover no-repeat;display:flex;align-items:center;padding:110px 7vw 65px}.hero-copy{max-width:670px}.eyebrow{color:#ff2a89;letter-spacing:3px;font-weight:900;font-size:11px}.hero h1{font-size:68px;line-height:.95;margin:12px 0;letter-spacing:-2px}.hero h1 em{color:#48ef5b;font-style:normal}.hero h2{font-size:22px;margin:0 0 13px;color:#dce8e2}.hero p{color:#c4d0cc;line-height:1.6;max-width:600px}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-actions a{padding:13px 20px;border-radius:6px;font-weight:850}.hero-actions .start{background:#ff0876}.hero-actions .explore{border:1px solid #52656f;background:#08151c}.feature-strip{display:grid;grid-template-columns:repeat(6,1fr);background:#07131a;border-top:1px solid #18313d;border-bottom:1px solid #18313d}.feature-strip div{padding:22px 18px;border-right:1px solid #17313d}.feature-strip b{display:block;color:#58ef78;font-size:12px}.feature-strip span{font-size:10px;color:#a8bbc3}.public-section{padding:65px 7vw;background:#071017}.public-section.light{background:#0b171f}.public-section h2{font-size:38px;margin:0 0 25px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan{border:1px solid #263d48;border-radius:10px;padding:22px;background:#09171e}.plan.pop{border-color:#ff0876;box-shadow:0 0 0 1px #ff0876 inset}.plan h3{font-size:21px}.price{font-size:34px;font-weight:950}.plan p{font-size:12px;color:#b3c1c7}.free-public{margin-top:20px;background:linear-gradient(90deg,#251138,#381026);border:1px solid #6e2b75;padding:18px;border-radius:10px}.public-footer{padding:28px 7vw;background:#03080c;border-top:1px solid #142a34;display:flex;justify-content:space-between;align-items:center;color:#9fb0b7;font-size:11px}.auth-shell{min-height:100vh;background:radial-gradient(circle at 80% 20%,#18362a,#061119 45%,#03090e);display:grid;place-items:center;padding:30px}.auth-card{width:min(510px,100%);background:#fff;color:#151d45;border-radius:14px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.auth-brand{text-align:center;margin-bottom:18px}.auth-brand .sf-word{color:#0c1e27}.auth-note{font-size:11px;color:#7c849c;text-align:center}.auth-card .field{margin-bottom:12px}
@media(max-width:1100px){.filters{grid-template-columns:2fr repeat(3,1fr)}.animal-grid{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){body{background:#061019;color:#eef5f7}.sf-top{height:64px}.sf-brand{width:auto;padding:0 10px}.sf-mark{width:38px;height:38px;font-size:20px}.sf-word{font-size:16px}.sf-tag{font-size:6px}.sf-search,.sf-user,.top-icon.bell{display:none}.sf-top-actions{padding:0 10px}.sf-side{display:none}.sf-main{margin-left:0;padding:78px 10px 78px;background:#07121a;max-width:none}.testing{background:#251523;color:#ffb3d0;border-color:#5a2841}.page-title h1{color:#fff;font-size:24px}.page-title p{color:#9eb1ba}.card,.toolbar,.animal-card,.stat,.notice-card,.settings-content,.settings-menu{background:#0d202a;border-color:#193745;color:#eef5f7;box-shadow:none}.ctrl,.field input,.field select,.field textarea{background:#102631;border-color:#234350;color:#fff}.filters{grid-template-columns:1fr 1fr}.filters>*:first-child{grid-column:1/-1}.animal-grid{grid-template-columns:repeat(2,1fr);gap:8px}.animal-photo{height:125px}.animal-body h3{color:#fff}.animal-sub,.animal-id,.meta{color:#93a6af}.meta{background:#0a1a22;border-color:#19333f}.meta b{color:#eaf2f5}.stats{grid-template-columns:1fr 1fr}.stat:after{background:#102834}.dash-grid,.form-shell,.settings-wrap,.message-shell{grid-template-columns:1fr}.message-shell{height:540px}.conv-list{border-right:0;background:#0b1b24}.profile-hero{grid-template-columns:1fr}.profile-photo{min-height:220px}.profile-info h1{color:#fff}.profile-facts{grid-template-columns:1fr 1fr}.profile-facts .fact{background:#0a1a22;border-color:#1d3945;color:#8da4ad}.fact b{color:#fff}.notice-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr 1fr}.table th,.table td{border-color:#1c3540}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:#041019;border-top:1px solid #18303b;z-index:60;justify-content:space-around;align-items:center;color:#c7d6dc}.bottom-nav a{text-align:center;font-size:9px}.bottom-nav b{display:block;font-size:18px;margin-bottom:2px}.bottom-nav a.active{color:#42ef72}.public-header{height:64px;padding:0 14px}.public-nav a:not(.keep){display:none}.hero{min-height:640px;padding:100px 18px 45px;background:linear-gradient(180deg,#02070a77,#02070add 58%,#03080b 95%),url('/assets/images/snake-hero.jpg') 58% center/cover no-repeat;align-items:flex-end}.hero h1{font-size:47px}.hero h2{font-size:17px}.feature-strip{grid-template-columns:repeat(2,1fr)}.feature-strip div{border-bottom:1px solid #17313d}.plan-grid{grid-template-columns:1fr}.public-section{padding:42px 18px}.public-footer{padding:25px 18px;flex-direction:column;gap:12px}.form-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(3,1fr)}}

.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px}.auth-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(92,255,53,.18))}
@media(max-width:760px){.sf-mark{width:48px;height:48px;flex-basis:48px}.sf-mark img{width:54px;height:54px}.sf-brand{gap:6px}}


/* =========================================================
   Revision 1.4: approved SnakeFeeding header geometry
   Fixed-width branding zone + independent search/actions.
   Nothing is allowed to overlap the logo or search field.
   ========================================================= */
.sf-top{
  height:96px;
  padding:0 24px 0 14px;
  display:grid;
  grid-template-columns:minmax(390px,440px) minmax(320px,1fr) max-content;
  column-gap:28px;
  align-items:center;
  overflow:hidden;
}
.sf-brand{
  width:auto;
  min-width:0;
  padding:0;
  gap:14px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.sf-mark{
  width:78px;
  height:78px;
  flex:0 0 78px;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.sf-mark img{
  width:78px;
  height:78px;
  max-width:78px;
  max-height:78px;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:drop-shadow(0 0 7px rgba(92,255,53,.18));
}
.sf-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1;overflow:hidden}
.sf-word{font-size:27px;line-height:1;white-space:nowrap;letter-spacing:-1.1px;display:block}
.sf-tag{font-size:9px;line-height:1.25;letter-spacing:2.15px;margin-top:8px;white-space:nowrap;display:block}
.sf-search{
  position:relative;
  min-width:0;
  width:100%;
  max-width:none;
  margin:0;
}
.sf-search input{
  height:54px;
  width:100%;
  padding:0 18px 0 52px;
  border-radius:10px;
  font-size:16px;
  background:#102936;
  border:1px solid #285064;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.sf-search:before{display:none!important;content:none!important}
.sf-search-icon{position:absolute;left:18px;top:50%;width:18px;height:18px;border:2px solid #b7c9d3;border-radius:50%;transform:translateY(-57%);pointer-events:none}
.sf-search-icon:after{content:'';position:absolute;width:8px;height:2px;background:#b7c9d3;right:-6px;bottom:-3px;transform:rotate(45deg);border-radius:2px}
.sf-top-actions{
  margin:0;
  padding:0;
  gap:13px;
  display:flex;
  align-items:center;
  white-space:nowrap;
  min-width:max-content;
}
.top-icon{background:transparent;border:0;width:40px;height:40px;font-size:19px;color:#edf6fa}
.top-separator{height:40px;width:1px;background:#31505e;margin:0 5px}
.sf-avatar{width:44px;height:44px;flex:0 0 44px;border:1px solid #31505e;background:#142d39;color:#ecf7fb}
.sf-user{min-width:72px;font-size:13px;line-height:1.2}
.sf-user b{display:block;color:#fff;font-size:14px}
.sf-user small{margin-top:3px}
.sf-side{top:96px}
.sf-main{padding-top:116px}

@media(max-width:1380px){
 .sf-top{grid-template-columns:minmax(330px,370px) minmax(260px,1fr) max-content;column-gap:18px;padding-right:16px}
 .sf-mark,.sf-mark img{width:66px;height:66px;max-width:66px;max-height:66px;flex-basis:66px}
 .sf-word{font-size:23px}.sf-tag{font-size:8px;letter-spacing:1.7px}
 .sf-search input{font-size:14px}
 .sf-user small{display:none}
}
@media(max-width:1120px){
 .sf-top{grid-template-columns:minmax(300px,340px) minmax(220px,1fr) max-content;column-gap:12px}
 .sf-top-actions{gap:7px}.sf-user{display:none}.top-separator{display:none}
 .sf-mark,.sf-mark img{width:60px;height:60px;max-width:60px;max-height:60px;flex-basis:60px}
 .sf-word{font-size:21px}.sf-tag{font-size:7px;letter-spacing:1.35px}
}
@media(max-width:900px){
 .sf-top{height:78px;display:grid;grid-template-columns:1fr max-content;padding:0 12px;column-gap:8px}
 .sf-brand{min-width:0}.sf-mark,.sf-mark img{width:52px;height:52px;max-width:52px;max-height:52px;flex-basis:52px}
 .sf-word{font-size:20px}.sf-tag{font-size:7px;letter-spacing:1.1px;margin-top:5px}
 .sf-search{display:none}.sf-top-actions{gap:5px}.top-icon{width:34px;height:34px}.sf-avatar{width:36px;height:36px;flex-basis:36px}
 .sf-side{top:78px}.sf-main{padding-top:98px}
}
@media(max-width:560px){
 .sf-top{grid-template-columns:minmax(0,1fr) max-content;height:70px;padding:0 8px}
 .sf-mark,.sf-mark img{width:44px;height:44px;max-width:44px;max-height:44px;flex-basis:44px}.sf-brand{gap:7px}
 .sf-word{font-size:17px;letter-spacing:-.6px}.sf-tag{font-size:5.8px;letter-spacing:.8px;margin-top:4px}
 .top-icon.mail{display:none}.sf-avatar{width:32px;height:32px;flex-basis:32px;font-size:10px}
 .sf-side{top:70px}.sf-main{padding-top:90px}
}


/* Revision 1.5: functional care-record forms */
.record-form{margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.record-form label,.full-label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#27304f}.record-form .ctrl{width:100%}.record-form textarea.ctrl{resize:vertical;min-height:84px}.full-label{margin-bottom:14px}.form-error{padding:11px 13px;margin:10px 0 14px;background:#fff0f2;border:1px solid #ffc2ce;border-left:4px solid #ff0b6a;border-radius:8px;color:#a5233d;font-weight:700}.muted{color:#737b98}@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
/* Revision 1.7 record actions */
.btn.tiny{padding:6px 10px;font-size:12px;line-height:1;border-radius:7px;min-height:auto}.btn.danger{background:#b42334;color:#fff;border-color:#b42334}.btn.danger:hover{background:#8f1d2a}.table td:last-child{white-space:nowrap}

/* Revision 1.9: member profile photos */
.sf-avatar.has-photo{padding:0;overflow:hidden;background:#102631}.sf-avatar.has-photo img,.member-avatar.has-photo img,.member-profile-avatar.has-photo img,.conv-avatar.has-photo img,.bubble-avatar.has-photo img{width:100%;height:100%;display:block;object-fit:cover}
.profile-photo-setting{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:18px;border:1px solid #e1e7f0;border-radius:12px;background:#f9fbfd}.profile-photo-preview{width:136px;height:136px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#24d4ed,#27e56d);display:grid;place-items:center;font-size:34px;font-weight:950;color:#07131b;border:4px solid #fff;box-shadow:0 7px 22px rgba(17,34,73,.13)}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-copy h3{margin:0 0 6px;font-size:17px}.profile-photo-copy p{margin:0 0 12px;color:#6d7598;font-size:12px;max-width:720px}.profile-photo-copy small{display:block;margin-top:10px;color:#7b849f;font-size:10px}.profile-photo-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.member-card{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.member-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#24d4ed,#27e56d);font-size:18px;font-weight:950;color:#07131b;overflow:hidden}.member-info h3{margin:0;font-size:17px}.member-info p{font-size:11px;color:#6d7598;margin:4px 0}.member-info small{font-size:9px;color:#8a92a8}.member-actions{grid-column:1/-1;display:flex;gap:7px}.member-profile-card{padding:25px;display:flex;align-items:center;gap:22px}.member-profile-avatar{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#24d4ed,#27e56d);font-size:28px;font-weight:950;color:#07131b}.member-profile-card h2{margin:0 0 5px;font-size:26px}.member-profile-card p{margin:4px 0;color:#6d7598}.muted-small{font-size:11px;color:#7f88a1!important}
.conv-person{display:flex!important;align-items:center;gap:9px;color:#1f2959;text-decoration:none}.conv-person.on{background:#f2edff}.conv-person p{font-size:10px;color:#75809c;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:195px}.conv-avatar,.bubble-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#24d4ed,#27e56d);font-size:10px;font-weight:950;color:#07131b}.chat-head{height:64px;padding:10px 14px;border-bottom:1px solid #e4e9f1;display:flex;align-items:center;gap:10px}.chat-head small{display:block;font-size:9px;color:#7c859f;margin-top:2px}.chat-messages{flex:1;overflow:auto;padding:14px}.bubble-row{display:flex;gap:7px;align-items:flex-end;margin-bottom:11px}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:72%;background:#f0f3f8;border-radius:13px 13px 13px 3px;padding:9px 11px;font-size:12px}.mine .bubble{background:#e9dcff;border-radius:13px 13px 3px 13px}.bubble small{display:block;font-size:8px;color:#7c849b;margin-top:5px}.bubble-avatar{width:28px;height:28px;flex-basis:28px}.chat-compose{padding:11px;border-top:1px solid #e4e9f1;display:grid;grid-template-columns:1fr auto;gap:8px}.chat-compose textarea{min-height:52px;max-height:120px;resize:vertical;border:1px solid #ccd6e6;border-radius:8px;padding:9px;font:inherit}
@media(max-width:1000px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.profile-photo-setting{grid-template-columns:1fr;text-align:center}.profile-photo-preview{margin:auto}.profile-photo-form{justify-content:center}.member-grid{grid-template-columns:1fr}.member-profile-card{flex-direction:column;text-align:center}.conv-person{color:#eef5f7}.conv-person.on{background:#17303c}.chat-head{border-color:#1d3945}.chat-compose{border-color:#1d3945}.chat-compose textarea{background:#102631;border-color:#234350;color:#fff}.bubble{background:#17303c;color:#eef5f7}.mine .bubble{background:#512c6b}.profile-photo-setting{background:#0a1a22;border-color:#1d3945}.profile-photo-copy p,.profile-photo-copy small{color:#9cb0b9}}

/* SnakeFeeding 1.21: globally remove number-input spinner arrows. */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
