:root{--tone-bg-00000000:transparent;--tone-bg-83a48d3d:rgba(115,145,180,0.239);--tone-bg-1f352a:#1d2937;--tone-bg-345442:#304258;--tone-bg-223a2e:#202d3c;--tone-bg-fffffff5:rgba(255,255,255,0.961);--tone-border-ffffff59:rgba(255,255,255,0.349);--tone-shadow-09160f59:rgba(9,15,22,0.349);--tone-text-f4ead8:#d8e5f4;--tone-bg-31523f:#2e4055;--tone-text-a1836c:#6284ab;--tone-text-7e8580:#828282;--tone-text-626c66:#676767;--tone-bg-ffffff:#ffffff;--tone-border-dcd7cf:#c9d5e2;--tone-border-5e806b:#4e6c90;--tone-shadow-355b481a:rgba(50,70,94,0.102);--tone-text-ffffff:#ffffff;--tone-bg-355b48:#32465e;--tone-text-9a9d98:#9b9b9b;--tone-text-a24f44:#a24f44;--tone-bg-fff4f1:#fff4f1;--tone-border-eccfc9:#eccfc9;--tone-text-eef4ef:#edf1f5;--tone-border-ffffff4d:rgba(255,255,255,0.302);--tone-border-ffffff:#ffffff;--tone-bg-7794801f:rgba(97,131,170,0.122);--tone-bg-273c32:#233040;--tone-border-ffffff1a:rgba(255,255,255,0.102);--tone-text-304b3d:#2b3c50;--tone-bg-f1e7d5:#d5e2f1;--tone-text-aebdb4:#9fb4cc;--tone-text-b8c5bd:#abbdd2;--tone-bg-ffffff1a:rgba(255,255,255,0.102);--tone-bg-dbbb79:#79a6db;--tone-bg-ffffff12:rgba(255,255,255,0.071);--tone-text-8fa197:#7996b7;--tone-bg-c57d4f:#4f85c5;--tone-bg-ffffff1f:rgba(255,255,255,0.122);--tone-bg-ddbd7e:#7eaadd;--tone-text-91a198:#7a97b8;--tone-text-71867a:#5679a1;--tone-bg-f3f1ecd1:rgba(235,239,244,0.820);--tone-border-355b481a:rgba(50,70,94,0.102);--tone-border-00000000:transparent;--tone-border-aaa297:#849ebd;--tone-text-8e938f:#909090;--tone-text-68706b:#6c6c6c;--tone-border-d9d4cb:#c4d1e0;--tone-text-6b786f:#727272;--tone-bg-6b9178:#587ba4;--tone-bg-c89c52:#5288c8;--tone-text-a65349:#a65349;--tone-bg-b9574b:#b9574b;--tone-text-a29285:#7391b4;--tone-shadow-355b4829:rgba(50,70,94,0.161);--tone-bg-ffffffdb:rgba(255,255,255,0.859);--tone-shadow-2c251d08:rgba(26,36,47,0.031);--tone-text-777e79:#7a7a7a;--tone-text-a09e98:#9c9c9c;--tone-bg-fff7f5:#fff7f5;--tone-border-ecd3ce:#ecd3ce;--tone-bg-dcd8cf:#c9d5e2;--tone-border-dcd8cf:#c9d5e2;--tone-bg-d2cec5:#bccadb;--tone-bg-18785b:#184478;--tone-bg-b33a3a:#b33a3a;--tone-text-989b96:#989898;--tone-text-5e6762:#626262;--tone-border-ded9d0:#cbd6e3;--tone-border-18785b:#184478;--tone-bg-f9faf7:#f7f8fa;--tone-border-d5d9d5:#d7d7d7;--tone-text-18785b:#184478;--tone-border-d9dcd7:#dadada;--tone-border-e7e3dc:#d9e1ea;--tone-border-eeeae3:#e2e8ef;--tone-bg-69726d:#6e6e6e;--tone-bg-171a1f:#1b1b1b;--tone-bg-c46a2b:#2b71c4;--tone-bg-7d837f:#808080;--tone-text-969a95:#989898;--tone-text-959a96:#989898;--tone-bg-e2ddd5:#d1dbe6;--tone-border-e2ddd5:#d1dbe6;--tone-bg-f8f7f3:#f3f5f8;--tone-text-858b87:#888888;--tone-text-a0a29e:#a0a0a0;--tone-bg-fffaf2:#f3f8fe;--tone-border-e1d9cd:#cbd6e3;--tone-border-c46a2b:#2b71c4;--tone-text-8b8f8b:#8d8d8d;--tone-text-858984:#868686;--tone-text-875627:#275387;--tone-text-725b45:#405977;--tone-bg-fff8ee:#eff6fe;--tone-bg-ffffffe6:rgba(255,255,255,0.902);--tone-shadow-2d261d09:rgba(26,36,48,0.035);--tone-text-54705f:#45607f;--tone-text-999b96:#989898;--tone-text-969a96:#989898;--tone-text-626a65:#666666;--tone-bg-eeebe5:#e3e9f0;--tone-text-567463:#476383;--tone-bg-e5e2dc:#d7e0ea;--tone-bg-73917e:#5c7fa8;--tone-bg-d3a35e:#5e94d3;--tone-text-6f7671:#727272;--tone-border-d5d2cb:#c2cfde;--tone-bg-6e8b78:#577aa2;--tone-border-6e8b78:#577aa2;--tone-bg-f5f3ee:#edf1f6;--tone-text-4f5853:#545454;--tone-text-a09f99:#9c9c9c;--tone-text-827b72:#7a7a7a;--tone-bg-f0ede7:#e6ebf1;--tone-text-9b693f:#3f699b;--tone-bg-f6eadb:#dbe7f6;--tone-text-55718c:#55718c;--tone-bg-e7eef5:#e7eef5;--tone-text-765f89:#765f89;--tone-bg-ede8f3:#ede8f3;--tone-text-4c6d59:#415a78;--tone-bg-e2eee6:#e1e7ef;--tone-text-00000000:transparent;--tone-border-d8d4cd:#c5d1e0;--tone-bg-62816d:#4f6f94;--tone-text-999c98:#9a9a9a;--tone-bg-c65e50:#c65e50;--tone-bg-d0a450:#508bd0;--tone-bg-6f917b:#5a7da6;--tone-text-8b8e8a:#8c8c8c;--tone-text-303b35:#253446;--tone-border-d8d3cb:#c4d0df;--tone-text-aaa49c:#87a1bf;--tone-bg-ece9e3:#e0e7ef;--tone-text-878b87:#898989;--tone-text-b7aaa1:#93aac5;--tone-border-ddd8d0:#cad6e3;--tone-text-7a807c:#7d7d7d;--tone-border-e0dcd5:#d0dae5;--tone-bg-557461:#466283;--tone-border-557461:#466283;--tone-border-e6e1d9:#d6dfe9;--tone-text-8a8f8b:#8c8c8c;--tone-text-878c88:#8a8a8a;--tone-text-7d817d:#7f7f7f;--tone-bg-f7f4ee:#eef2f7;--tone-text-567060:#456181;--tone-border-d8d4cc:#c4d1e0;--tone-text-a86b61:#a86b61;--tone-border-e8e4dc:#d9e1eb;--tone-bg-faf9f6:#f6f8fa;--tone-text-42624f:#39506b;--tone-bg-e8efe9:#e6ebf1;--tone-text-8f938f:#919191;--tone-text-726d65:#6c6c6c;--tone-bg-f1eee7:#e6ecf2;--tone-bg-edf2ee:#ebeff4;--tone-text-a3a49f:#a2a2a2;--tone-text-929590:#929292;--tone-text-577162:#466282;--tone-border-dedad2:#ccd7e4;--tone-text-a66a60:#a66a60;--tone-text-9b7a5d:#5779a1;--tone-border-ded9d1:#ccd7e3;--tone-text-777d78:#7a7a7a;--tone-border-dfdbd4:#ced9e5;--tone-bg-e9f0eb:#e7ecf2;--tone-border-668570:#527399;--tone-text-a35e34:#3467a3;--tone-text-557461:#466283;--tone-border-ddd9d2:#ccd7e3;--tone-text-999c97:#9a9a9a;--tone-text-f7f5ef:#eff3f7;--tone-border-d9ddd8:#dbdbdb;--tone-text-7fb49f:#7b97b8;--tone-text-aeb5b0:#b2b2b2;--tone-bg-22262b:#272727;--tone-border-383d42:#3d3d3d;--tone-text-d8e8e0:#d7dfe9;--tone-bg-30383a:#353535;--tone-text-929b96:#969696;--tone-text-c9d3ce:#bfcddd;--tone-border-4b5451:#505050;--tone-bg-f7f5ef:#eff3f7;--tone-border-e0ddd6:#d0dae6;--tone-text-787d78:#7a7a7a;--tone-text-616762:#646464;--tone-text-145d49:#14365d;--tone-bg-e4eee8:#e2e8f0;--tone-border-dfdcd5:#cfd9e5;--tone-text-8a8e89:#8c8c8c;--tone-text-949791:#949494;--tone-border-ece8e0:#dee5ee;--tone-text-92958f:#929292;--tone-border-ddd9d1:#cbd6e3;--tone-text-b33a3a:#b33a3a;--tone-text-6e746f:#717171;--tone-bg-eaf3ee:#eaeef3;--tone-shadow-18785b:#184478;--tone-border-568071:#4b688b;--tone-text-323936:#363636;--tone-text-80b49f:#7c98b8;--tone-bg-1b1f23:#1f1f1f;--tone-border-3a4240:#3e3e3e;--tone-border-303638:#343434;--tone-text-d98989:#d98989;--tone-text-4f5752:#535353;--tone-border-dcd8d0:#cad5e2;--tone-bg-e7efe9:#e5ebf1;--tone-text-939792:#949494;--tone-text-a75e25:#2561a7;--tone-bg-f8eadb:#dbe8f8;--tone-shadow-c46a2b:#2b71c4;--tone-text-8e4e20:#20538e;--tone-bg-fff2e5:#e7f1fd;--tone-text-74583f:#3f5774;--tone-bg-fff7ee:#eff6fe;--tone-bg-fff9f1:#f2f8fe;--tone-border-e4bf98:#98bbe4;--tone-text-995a27:#275b99;--tone-bg-f3e2cf:#cfe0f3;--tone-bg-ffffff33:rgba(255,255,255,0.200);--tone-text-6d5742:#3d5572;--tone-bg-fff9f2:#f3f8fe;--tone-border-ead5bd:#bdd2ea;--tone-text-9a7b60:#587aa2;--tone-bg-2d4739:#29394b;--tone-text-aebeb5:#a0b4cc;--tone-bg-8eaa97:#7e9aba;--tone-bg-e0bf7d:#7dabe0;--tone-border-76917f:#5e81a9;--tone-shadow-55746117:rgba(70,98,131,0.090);--tone-bg-f9fbf9:#f8fafb;--tone-border-d5d1c9:#c1cedd;--tone-bg-668570:#527399;--tone-text-929691:#939393;--tone-text-64736a:#6c6c6c;--tone-border-dad6ce:#c7d3e1;--tone-text-969892:#959595;--tone-border-d7d3cb:#c3d0df;--tone-bg-64816e:#507095;--tone-border-64816e:#507095;--tone-text-9a9d99:#9b9b9b;--tone-border-e1ddd6:#d1dbe6;--tone-text-526e5c:#435e7d;--tone-bg-e9efea:#e6ecf2;--tone-text-956c42:#426895;--tone-bg-f2eadc:#dce6f2;--tone-text-52705d:#445f7e;--tone-bg-e4eee7:#e2e8f0;--tone-text-587565:#486485;--tone-bg-ebe8e2:#dfe6ee;--tone-bg-f7f5f0:#f0f3f7;--tone-text-959792:#949494;--tone-bg-e2ded6:#d2dbe7;--tone-text-8b8e89:#8c8c8c;--tone-border-d7d2ca:#c3cfde;--tone-text-9a6537:#37659a;--tone-bg-fff9f0:#f1f7fe;--tone-border-b27a45:#4577b2;--tone-text-919590:#929292;--tone-text-a1a39f:#a1a1a1;--tone-text-2d4739:#29394b;--tone-bg-f6f4ef:#eff2f6;--tone-border-dfd9d0:#ccd7e3;--tone-text-bdc9c2:#b1c2d5;--tone-border-eee9e1:#e0e7ef;--tone-bg-f4f8f5:#f3f6f9;--tone-text-8d918d:#8f8f8f;--tone-text-a26b3c:#3c6ba2;--tone-text-b5aaa2:#92a9c5;--tone-bg-eef1ed:#eaeff4;--tone-border-e1c7a4:#a4c0e1;--tone-bg-f3dfc3:#c3d9f3;--tone-border-e2c39e:#9ebde2;--tone-text-747b76:#787878;--tone-text-a09b94:#9a9a9a;--tone-text-b6b7b4:#b6b6b6;--tone-bg-fff8ef:#f0f6fe;--tone-border-e2c8aa:#aac4e2;--tone-text-176b51:#173e6b;--tone-bg-e8f2eb:#e8edf2;--tone-border-8aad99:#7e99b9;--tone-text-858983:#868686;--tone-bg-f0eee9:#e7ecf2;--tone-text-8a6a48:#48668a;--tone-text-95653e:#3e6695;--tone-bg-f7e8d5:#d5e5f7;--tone-text-51705c:#445e7d;--tone-bg-e3eee6:#e2e8ef;--tone-text-979a95:#989898;--tone-text-8a603a:#3a5f8a;--tone-border-e3d2bb:#bbcde3;--tone-bg-eef6f0:#eef2f6;--tone-border-b7cebf:#b0c1d5;--tone-border-b9c8bf:#aebfd3;--tone-bg-f8f6f1:#f1f4f8;--tone-bg-eef2ef:#ebf0f4;--tone-text-8d928e:#909090;--tone-border-dedbd4:#ced8e4;--tone-text-969994:#969696;--tone-bg-18201c8f:rgba(20,27,36,0.561);--tone-shadow-1119154d:rgba(15,20,27,0.302);--tone-text-8a8d89:#8b8b8b;--tone-text-a18b79:#6b8aaf;--tone-border-718d7b:#597ca5;--tone-shadow-55746114:rgba(70,98,131,0.078);--tone-bg-b98555:#5583b9;--tone-text-8b5d36:#365d8b;--tone-bg-f3e7d9:#d9e5f3;--tone-border-b98555:#5583b9;--tone-shadow-b98555:#5583b9;--tone-text-765033:#335276;--tone-bg-fbf1e6:#e6f0fb;--tone-text-73553d:#3d5673;--tone-bg-fbf2e8:#e8f1fb;--tone-text-6f897a:#5779a1;--tone-border-77a48c:#6b8bb0;--tone-text-596a60:#445f7f;--tone-bg-e9f1eb:#e8edf2;--tone-text-7f8e84:#868686;--tone-bg-f3f6f2:#f1f4f7;--tone-bg-f4f6f3ed:rgba(241,244,248,0.929);--tone-bg-fff6f3:#fff6f3;--tone-bg-245746:#243b57;--tone-text-d3e5d8:#d2dbe7;--tone-text-e4f0e8:#e4e9f0;--tone-bg-ffffff30:rgba(255,255,255,0.188);--tone-bg-c6d7a6:#a6bdd7;--tone-text-d4e3d7:#d1dbe6;--tone-bg-ffffff15:rgba(255,255,255,0.082);--tone-bg-fff8f4:#f5f9fe;--tone-border-efdfd5:#d5e1ef;--tone-text-668d76:#55779e;--tone-text-4e6357:#3e5673;--tone-bg-edf4ee:#ecf0f5;--tone-border-edf0eb:#e8edf3;--tone-bg-edf2ec:#eaeff4;--tone-bg-89a891:#7a96b7;--tone-bg-f5f7f3:#f2f5f8;--tone-bg-fff9ef:#f0f6fe;--tone-border-ebdfc7:#c7d8eb;--tone-text-82653a:#3a5b82;--tone-bg-162b235c:rgba(22,32,43,0.361);--tone-shadow-162b2326:rgba(22,32,43,0.149);--tone-bg-f4f6f2:#f1f4f7;--tone-text-687b6f:#4f6f94;--tone-border-a8c0ae:#9db2cb;--tone-border-cfdad1:#c8d3e1;--tone-bg-f1f6ef:#eff2f6;--tone-bg-203b2e:#202c3b;--tone-shadow-203b2e30:rgba(32,44,59,0.188);--tone-bg-f1f5ef:#eef2f6;--tone-bg-f7faf6:#f6f8fa;--tone-bg-edf3ec:#ebeff4;--tone-text-476a55:#3e5673;--tone-border-cfddd2:#cad5e2;--tone-text-a34d42:#a34d42;--tone-bg-e8f2e8:#e8edf2;--tone-border-c1d7c5:#bdcbdb;--tone-bg-e7efe6:#e4eaf1;--tone-bg-eff5ec:#ecf0f5;--tone-bg-fafcf8:#f8fafc;--tone-shadow-2547370f:rgba(37,53,71,0.059);--tone-border-dbe5dc:#d7dfe9;--tone-text-718176:#797979;--tone-bg-edf4eb:#ebeff4;--tone-shadow-16332435:rgba(22,35,51,0.208);--tone-bg-f1f6ee:#eef2f6;--tone-bg-e9f2e7:#e7ecf2;--tone-shadow-ffffff:#ffffff;--tone-bg-ffffff80:rgba(255,255,255,0.502);}:root[data-theme="dark"]{--tone-bg-00000000:transparent;--tone-bg-83a48d3d:rgba(0,102,204,0.239);--tone-bg-1f352a:#123b61;--tone-bg-345442:#123b61;--tone-bg-223a2e:#123b61;--tone-bg-fffffff5:rgba(28,28,30,0.961);--tone-border-ffffff59:rgba(56,56,58,0.349);--tone-shadow-09160f59:rgba(0,0,0,0.349);--tone-text-f4ead8:#f5f5f7;--tone-bg-31523f:#123b61;--tone-text-a1836c:#64aaff;--tone-text-7e8580:#a1a1a6;--tone-text-626c66:#f5f5f7;--tone-bg-ffffff:#1c1c1e;--tone-border-dcd7cf:#38383a;--tone-border-5e806b:#38383a;--tone-shadow-355b481a:rgba(0,0,0,0.102);--tone-text-ffffff:#f5f5f7;--tone-bg-355b48:#123b61;--tone-text-9a9d98:#a1a1a6;--tone-text-a24f44:#f3a38f;--tone-bg-fff4f1:#1c1c1e;--tone-border-eccfc9:#38383a;--tone-text-eef4ef:#f5f5f7;--tone-border-ffffff4d:rgba(56,56,58,0.302);--tone-border-ffffff:#38383a;--tone-bg-7794801f:rgba(0,102,204,0.122);--tone-bg-273c32:#123b61;--tone-border-ffffff1a:rgba(56,56,58,0.102);--tone-text-304b3d:#64aaff;--tone-bg-f1e7d5:#232a33;--tone-text-aebdb4:#64aaff;--tone-text-b8c5bd:#64aaff;--tone-bg-ffffff1a:rgba(28,28,30,0.102);--tone-bg-dbbb79:#0066cc;--tone-bg-ffffff12:rgba(28,28,30,0.071);--tone-text-8fa197:#64aaff;--tone-bg-c57d4f:#0066cc;--tone-bg-ffffff1f:rgba(28,28,30,0.122);--tone-bg-ddbd7e:#0066cc;--tone-text-91a198:#64aaff;--tone-text-71867a:#64aaff;--tone-bg-f3f1ecd1:rgba(35,42,51,0.820);--tone-border-355b481a:rgba(99,99,102,0.102);--tone-border-00000000:transparent;--tone-border-aaa297:#38383a;--tone-text-8e938f:#a1a1a6;--tone-text-68706b:#f5f5f7;--tone-border-d9d4cb:#38383a;--tone-text-6b786f:#a1a1a6;--tone-bg-6b9178:#0066cc;--tone-bg-c89c52:#0066cc;--tone-text-a65349:#f3a38f;--tone-bg-b9574b:#5e3025;--tone-text-a29285:#64aaff;--tone-shadow-355b4829:rgba(0,0,0,0.161);--tone-bg-ffffffdb:rgba(28,28,30,0.859);--tone-shadow-2c251d08:rgba(0,0,0,0.031);--tone-text-777e79:#a1a1a6;--tone-text-a09e98:#a1a1a6;--tone-bg-fff7f5:#1c1c1e;--tone-border-ecd3ce:#38383a;--tone-bg-dcd8cf:#232a33;--tone-border-dcd8cf:#38383a;--tone-bg-d2cec5:#232a33;--tone-bg-18785b:#123b61;--tone-bg-b33a3a:#5e3025;--tone-text-989b96:#a1a1a6;--tone-text-5e6762:#f5f5f7;--tone-border-ded9d0:#38383a;--tone-border-18785b:#636366;--tone-bg-f9faf7:#1c1c1e;--tone-border-d5d9d5:#38383a;--tone-text-18785b:#64aaff;--tone-border-d9dcd7:#38383a;--tone-border-e7e3dc:#38383a;--tone-border-eeeae3:#38383a;--tone-bg-69726d:#323234;--tone-bg-171a1f:#1c1c1e;--tone-bg-c46a2b:#0066cc;--tone-bg-7d837f:#323234;--tone-text-969a95:#a1a1a6;--tone-text-959a96:#a1a1a6;--tone-bg-e2ddd5:#232a33;--tone-border-e2ddd5:#38383a;--tone-bg-f8f7f3:#1c1c1e;--tone-text-858b87:#a1a1a6;--tone-text-a0a29e:#a1a1a6;--tone-bg-fffaf2:#1c1c1e;--tone-border-e1d9cd:#38383a;--tone-border-c46a2b:#38383a;--tone-text-8b8f8b:#a1a1a6;--tone-text-858984:#a1a1a6;--tone-text-875627:#64aaff;--tone-text-725b45:#64aaff;--tone-bg-fff8ee:#1c1c1e;--tone-bg-ffffffe6:rgba(28,28,30,0.902);--tone-shadow-2d261d09:rgba(0,0,0,0.035);--tone-text-54705f:#64aaff;--tone-text-999b96:#a1a1a6;--tone-text-969a96:#a1a1a6;--tone-text-626a65:#f5f5f7;--tone-bg-eeebe5:#232a33;--tone-text-567463:#64aaff;--tone-bg-e5e2dc:#232a33;--tone-bg-73917e:#0066cc;--tone-bg-d3a35e:#0066cc;--tone-text-6f7671:#a1a1a6;--tone-border-d5d2cb:#38383a;--tone-bg-6e8b78:#0066cc;--tone-border-6e8b78:#38383a;--tone-bg-f5f3ee:#1c1c1e;--tone-text-4f5853:#f5f5f7;--tone-text-a09f99:#a1a1a6;--tone-text-827b72:#a1a1a6;--tone-bg-f0ede7:#232a33;--tone-text-9b693f:#64aaff;--tone-bg-f6eadb:#232a33;--tone-text-55718c:#a1a1a6;--tone-bg-e7eef5:#232a33;--tone-text-765f89:#a1a1a6;--tone-bg-ede8f3:#232a33;--tone-text-4c6d59:#64aaff;--tone-bg-e2eee6:#232a33;--tone-text-00000000:transparent;--tone-border-d8d4cd:#38383a;--tone-bg-62816d:#0066cc;--tone-text-999c98:#a1a1a6;--tone-bg-c65e50:#5e3025;--tone-bg-d0a450:#0066cc;--tone-bg-6f917b:#0066cc;--tone-text-8b8e8a:#a1a1a6;--tone-text-303b35:#64aaff;--tone-border-d8d3cb:#38383a;--tone-text-aaa49c:#64aaff;--tone-bg-ece9e3:#232a33;--tone-text-878b87:#a1a1a6;--tone-text-b7aaa1:#64aaff;--tone-border-ddd8d0:#38383a;--tone-text-7a807c:#a1a1a6;--tone-border-e0dcd5:#38383a;--tone-bg-557461:#123b61;--tone-border-557461:#636366;--tone-border-e6e1d9:#38383a;--tone-text-8a8f8b:#a1a1a6;--tone-text-878c88:#a1a1a6;--tone-text-7d817d:#a1a1a6;--tone-bg-f7f4ee:#1c1c1e;--tone-text-567060:#64aaff;--tone-border-d8d4cc:#38383a;--tone-text-a86b61:#f3a38f;--tone-border-e8e4dc:#38383a;--tone-bg-faf9f6:#1c1c1e;--tone-text-42624f:#64aaff;--tone-bg-e8efe9:#232a33;--tone-text-8f938f:#a1a1a6;--tone-text-726d65:#f5f5f7;--tone-bg-f1eee7:#232a33;--tone-bg-edf2ee:#232a33;--tone-text-a3a49f:#a1a1a6;--tone-text-929590:#a1a1a6;--tone-text-577162:#64aaff;--tone-border-dedad2:#38383a;--tone-text-a66a60:#f3a38f;--tone-text-9b7a5d:#64aaff;--tone-border-ded9d1:#38383a;--tone-text-777d78:#a1a1a6;--tone-border-dfdbd4:#38383a;--tone-bg-e9f0eb:#232a33;--tone-border-668570:#38383a;--tone-text-a35e34:#64aaff;--tone-text-557461:#64aaff;--tone-border-ddd9d2:#38383a;--tone-text-999c97:#a1a1a6;--tone-text-f7f5ef:#f5f5f7;--tone-border-d9ddd8:#38383a;--tone-text-7fb49f:#64aaff;--tone-text-aeb5b0:#a1a1a6;--tone-bg-22262b:#1c1c1e;--tone-border-383d42:#636366;--tone-text-d8e8e0:#f5f5f7;--tone-bg-30383a:#1c1c1e;--tone-text-929b96:#a1a1a6;--tone-text-c9d3ce:#64aaff;--tone-border-4b5451:#636366;--tone-bg-f7f5ef:#1c1c1e;--tone-border-e0ddd6:#38383a;--tone-text-787d78:#a1a1a6;--tone-text-616762:#f5f5f7;--tone-text-145d49:#64aaff;--tone-bg-e4eee8:#232a33;--tone-border-dfdcd5:#38383a;--tone-text-8a8e89:#a1a1a6;--tone-text-949791:#a1a1a6;--tone-border-ece8e0:#38383a;--tone-text-92958f:#a1a1a6;--tone-border-ddd9d1:#38383a;--tone-text-b33a3a:#f3a38f;--tone-text-6e746f:#a1a1a6;--tone-bg-eaf3ee:#232a33;--tone-shadow-18785b:#000000;--tone-border-568071:#636366;--tone-text-323936:#f5f5f7;--tone-text-80b49f:#64aaff;--tone-bg-1b1f23:#1c1c1e;--tone-border-3a4240:#636366;--tone-border-303638:#636366;--tone-text-d98989:#f3a38f;--tone-text-4f5752:#f5f5f7;--tone-border-dcd8d0:#38383a;--tone-bg-e7efe9:#232a33;--tone-text-939792:#a1a1a6;--tone-text-a75e25:#64aaff;--tone-bg-f8eadb:#232a33;--tone-shadow-c46a2b:#000000;--tone-text-8e4e20:#64aaff;--tone-bg-fff2e5:#1c1c1e;--tone-text-74583f:#64aaff;--tone-bg-fff7ee:#1c1c1e;--tone-bg-fff9f1:#1c1c1e;--tone-border-e4bf98:#38383a;--tone-text-995a27:#64aaff;--tone-bg-f3e2cf:#232a33;--tone-bg-ffffff33:rgba(28,28,30,0.200);--tone-text-6d5742:#64aaff;--tone-bg-fff9f2:#1c1c1e;--tone-border-ead5bd:#38383a;--tone-text-9a7b60:#64aaff;--tone-bg-2d4739:#123b61;--tone-text-aebeb5:#64aaff;--tone-bg-8eaa97:#0066cc;--tone-bg-e0bf7d:#0066cc;--tone-border-76917f:#38383a;--tone-shadow-55746117:rgba(0,0,0,0.090);--tone-bg-f9fbf9:#1c1c1e;--tone-border-d5d1c9:#38383a;--tone-bg-668570:#0066cc;--tone-text-929691:#a1a1a6;--tone-text-64736a:#f5f5f7;--tone-border-dad6ce:#38383a;--tone-text-969892:#a1a1a6;--tone-border-d7d3cb:#38383a;--tone-bg-64816e:#0066cc;--tone-border-64816e:#38383a;--tone-text-9a9d99:#a1a1a6;--tone-border-e1ddd6:#38383a;--tone-text-526e5c:#64aaff;--tone-bg-e9efea:#232a33;--tone-text-956c42:#64aaff;--tone-bg-f2eadc:#232a33;--tone-text-52705d:#64aaff;--tone-bg-e4eee7:#232a33;--tone-text-587565:#64aaff;--tone-bg-ebe8e2:#232a33;--tone-bg-f7f5f0:#1c1c1e;--tone-text-959792:#a1a1a6;--tone-bg-e2ded6:#232a33;--tone-text-8b8e89:#a1a1a6;--tone-border-d7d2ca:#38383a;--tone-text-9a6537:#64aaff;--tone-bg-fff9f0:#1c1c1e;--tone-border-b27a45:#38383a;--tone-text-919590:#a1a1a6;--tone-text-a1a39f:#a1a1a6;--tone-text-2d4739:#64aaff;--tone-bg-f6f4ef:#1c1c1e;--tone-border-dfd9d0:#38383a;--tone-text-bdc9c2:#64aaff;--tone-border-eee9e1:#38383a;--tone-bg-f4f8f5:#1c1c1e;--tone-text-8d918d:#a1a1a6;--tone-text-a26b3c:#64aaff;--tone-text-b5aaa2:#64aaff;--tone-bg-eef1ed:#232a33;--tone-border-e1c7a4:#38383a;--tone-bg-f3dfc3:#232a33;--tone-border-e2c39e:#38383a;--tone-text-747b76:#a1a1a6;--tone-text-a09b94:#a1a1a6;--tone-text-b6b7b4:#a1a1a6;--tone-bg-fff8ef:#1c1c1e;--tone-border-e2c8aa:#38383a;--tone-text-176b51:#64aaff;--tone-bg-e8f2eb:#232a33;--tone-border-8aad99:#38383a;--tone-text-858983:#a1a1a6;--tone-bg-f0eee9:#232a33;--tone-text-8a6a48:#64aaff;--tone-text-95653e:#64aaff;--tone-bg-f7e8d5:#232a33;--tone-text-51705c:#64aaff;--tone-bg-e3eee6:#232a33;--tone-text-979a95:#a1a1a6;--tone-text-8a603a:#64aaff;--tone-border-e3d2bb:#38383a;--tone-bg-eef6f0:#1c1c1e;--tone-border-b7cebf:#38383a;--tone-border-b9c8bf:#38383a;--tone-bg-f8f6f1:#1c1c1e;--tone-bg-eef2ef:#1c1c1e;--tone-text-8d928e:#a1a1a6;--tone-border-dedbd4:#38383a;--tone-text-969994:#a1a1a6;--tone-bg-18201c8f:rgba(18,59,97,0.561);--tone-shadow-1119154d:rgba(0,0,0,0.302);--tone-text-8a8d89:#a1a1a6;--tone-text-a18b79:#64aaff;--tone-border-718d7b:#38383a;--tone-shadow-55746114:rgba(0,0,0,0.078);--tone-bg-b98555:#0066cc;--tone-text-8b5d36:#64aaff;--tone-bg-f3e7d9:#232a33;--tone-border-b98555:#38383a;--tone-shadow-b98555:#000000;--tone-text-765033:#64aaff;--tone-bg-fbf1e6:#1c1c1e;--tone-text-73553d:#64aaff;--tone-bg-fbf2e8:#1c1c1e;--tone-text-6f897a:#64aaff;--tone-border-77a48c:#38383a;--tone-text-596a60:#64aaff;--tone-bg-e9f1eb:#232a33;--tone-text-7f8e84:#a1a1a6;--tone-bg-f3f6f2:#1c1c1e;--tone-bg-f4f6f3ed:rgba(28,28,30,0.929);--tone-bg-fff6f3:#1c1c1e;--tone-bg-245746:#123b61;--tone-text-d3e5d8:#f5f5f7;--tone-text-e4f0e8:#f5f5f7;--tone-bg-ffffff30:rgba(28,28,30,0.188);--tone-bg-c6d7a6:#0066cc;--tone-text-d4e3d7:#f5f5f7;--tone-bg-ffffff15:rgba(28,28,30,0.082);--tone-bg-fff8f4:#1c1c1e;--tone-border-efdfd5:#38383a;--tone-text-668d76:#64aaff;--tone-text-4e6357:#64aaff;--tone-bg-edf4ee:#1c1c1e;--tone-border-edf0eb:#38383a;--tone-bg-edf2ec:#232a33;--tone-bg-89a891:#0066cc;--tone-bg-f5f7f3:#1c1c1e;--tone-bg-fff9ef:#1c1c1e;--tone-border-ebdfc7:#38383a;--tone-text-82653a:#64aaff;--tone-bg-162b235c:rgba(18,59,97,0.361);--tone-shadow-162b2326:rgba(0,0,0,0.149);--tone-bg-f4f6f2:#1c1c1e;--tone-text-687b6f:#64aaff;--tone-border-a8c0ae:#38383a;--tone-border-cfdad1:#38383a;--tone-bg-f1f6ef:#1c1c1e;--tone-bg-203b2e:#123b61;--tone-shadow-203b2e30:rgba(0,0,0,0.188);--tone-bg-f1f5ef:#1c1c1e;--tone-bg-f7faf6:#1c1c1e;--tone-bg-edf3ec:#232a33;--tone-text-476a55:#64aaff;--tone-border-cfddd2:#38383a;--tone-text-a34d42:#f3a38f;--tone-bg-e8f2e8:#232a33;--tone-border-c1d7c5:#38383a;--tone-bg-e7efe6:#232a33;--tone-bg-eff5ec:#1c1c1e;--tone-bg-fafcf8:#1c1c1e;--tone-shadow-2547370f:rgba(0,0,0,0.059);--tone-border-dbe5dc:#38383a;--tone-text-718176:#a1a1a6;--tone-bg-edf4eb:#232a33;--tone-shadow-16332435:rgba(0,0,0,0.208);--tone-bg-f1f6ee:#1c1c1e;--tone-bg-e9f2e7:#232a33;--tone-shadow-ffffff:#000000;--tone-bg-ffffff80:rgba(28,28,30,0.502);}/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
    ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    :before,
    :after,
    ::backdrop {
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
@layer theme {
  :root,
  :host {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *,
  :after,
  :before,
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(
      --default-font-family,
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(
      --default-mono-font-variation-settings,
      normal
    );
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: var(--tone-bg-00000000);
    border-radius: 0;
  }
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: var(--tone-bg-00000000);
    border-radius: 0;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }
    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button {
    height: auto;
  }
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer components;
@layer utilities {
  .relative {
    position: relative;
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .table-row {
    display: table-row;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
}
:root {
  --ink: #202a26;
  --muted: #7e8580;
  --paper: #f3f1ec;
  --card: #fff;
  --line: #e5e1d9;
  --green: #355b48;
  --green2: #587865;
  --orange: #c57d4f;
  --red: #b9574b;
}
* {
  box-sizing: border-box;
}
html {
  background: var(--paper);
}
body {
  color: var(--ink);
  background: var(--paper);
  margin: 0;
  font-family:
    Avenir Next,
    PingFang SC,
    Microsoft YaHei,
    sans-serif;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
input,
select,
textarea {
  color: var(--ink);
}
.auth-screen {
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 78% 12%, var(--tone-bg-83a48d3d), var(--tone-bg-00000000) 30rem),
    linear-gradient(145deg, var(--tone-bg-1f352a), var(--tone-bg-345442) 52%, var(--tone-bg-223a2e));
  place-items: center;
  padding: 24px;
  display: grid;
}
.auth-card {
  background: var(--tone-bg-fffffff5);
  border: 1px solid var(--tone-border-ffffff59);
  border-radius: 22px;
  gap: 16px;
  width: min(420px, 100%);
  padding: 36px;
  display: grid;
  box-shadow: 0 28px 80px var(--tone-shadow-09160f59);
}
.auth-logo {
  color: var(--tone-text-f4ead8);
  background: var(--tone-bg-31523f);
  border-radius: 15px 15px 15px 5px;
  place-items: center;
  width: 50px;
  height: 50px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 27px;
  display: grid;
}
.auth-card > p {
  color: var(--tone-text-a1836c);
  letter-spacing: 0.2em;
  margin: 2px 0 -8px;
  font-size: 12px;
  font-weight: 700;
}
.auth-card h1 {
  margin: 0;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 30px;
  font-weight: 500;
}
.auth-card > span {
  color: var(--tone-text-7e8580);
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 1.8;
}
.auth-card label {
  color: var(--tone-text-626c66);
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}
.auth-card input {
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-dcd7cf);
  border-radius: 9px;
  outline: none;
  width: 100%;
  padding: 12px;
  font-size: 16px;
}
.auth-card input:focus {
  border-color: var(--tone-border-5e806b);
  box-shadow: 0 0 0 3px var(--tone-shadow-355b481a);
}
.auth-submit {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-355b48);
  border: 0;
  border-radius: 10px;
  padding: 12px;
  font-size: 15px;
  font-weight: 700;
}
.auth-card > small {
  color: var(--tone-text-9a9d98);
  text-align: center;
  font-size: 12px;
}
.auth-error {
  color: var(--tone-text-a24f44);
  background: var(--tone-bg-fff4f1);
  border: 1px solid var(--tone-border-eccfc9);
  border-radius: 8px;
  padding: 10px;
  font-size: 13px;
  line-height: 1.5;
}
.auth-loading {
  color: var(--tone-text-eef4ef);
  align-items: center;
  gap: 10px;
  font-size: 15px;
  display: flex;
}
.auth-loading i {
  border: 2px solid var(--tone-border-ffffff4d);
  border-top-color: var(--tone-border-ffffff);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  animation: 0.8s linear infinite spin;
}
.manager-shell {
  background:
    radial-gradient(circle at 85% 0, var(--tone-bg-7794801f), transparent 28rem), var(--paper);
  grid-template-columns: 224px minmax(0, 1fr);
  min-height: 100vh;
  display: grid;
}
.manager-sidebar {
  color: var(--tone-text-ffffff);
  z-index: 30;
  background: var(--tone-bg-273c32);
  flex-direction: column;
  height: 100vh;
  padding: 25px 16px 20px;
  display: flex;
  position: sticky;
  top: 0;
}
.manager-brand {
  border-bottom: 1px solid var(--tone-border-ffffff1a);
  align-items: center;
  gap: 11px;
  padding: 0 8px 24px;
  display: flex;
}
.manager-brand > span {
  color: var(--tone-text-304b3d);
  background: var(--tone-bg-f1e7d5);
  border-radius: 12px 12px 12px 4px;
  place-items: center;
  width: 39px;
  height: 39px;
  font-family: serif;
  font-size: 24px;
  font-weight: 700;
  display: grid;
}
.manager-brand div {
  gap: 4px;
  display: grid;
}
.manager-brand strong {
  letter-spacing: 0.08em;
  font-size: 20px;
}
.manager-brand small {
  color: var(--tone-text-aebdb4);
  letter-spacing: 0.18em;
  font-size: 11px;
}
.manager-sidebar nav {
  gap: 5px;
  margin-top: 22px;
  display: grid;
}
.manager-sidebar nav button {
  color: var(--tone-text-b8c5bd);
  text-align: left;
  background: 0 0;
  border: 0;
  border-radius: 10px;
  grid-template-columns: 31px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 9px;
  display: grid;
  position: relative;
}
.manager-sidebar nav button:hover,
.manager-sidebar nav button.active {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-ffffff1a);
}
.manager-sidebar nav button.active:before {
  content: "";
  background: var(--tone-bg-dbbb79);
  border-radius: 0 3px 3px 0;
  width: 3px;
  height: 26px;
  position: absolute;
  left: -16px;
}
.manager-sidebar nav i {
  background: var(--tone-bg-ffffff12);
  border-radius: 8px;
  place-items: center;
  width: 27px;
  height: 27px;
  font-size: 14px;
  font-style: normal;
  display: grid;
}
.manager-sidebar nav span {
  gap: 2px;
  display: grid;
}
.manager-sidebar nav strong {
  font-size: 15px;
}
.manager-sidebar nav small {
  color: var(--tone-text-8fa197);
  font-size: 12px;
}
.manager-sidebar nav b {
  background: var(--tone-bg-c57d4f);
  border-radius: 99px;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  font-size: 12px;
  display: grid;
}
.sidebar-progress {
  background: var(--tone-bg-ffffff12);
  border-radius: 12px;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding: 15px;
  display: grid;
}
.sidebar-progress span {
  color: var(--tone-text-b8c5bd);
  font-size: 13px;
}
.sidebar-progress strong {
  font-family: Georgia, serif;
  font-size: 22px;
}
.sidebar-progress > div {
  background: var(--tone-bg-ffffff1f);
  border-radius: 99px;
  grid-column: 1/-1;
  height: 4px;
  overflow: hidden;
}
.sidebar-progress > div i {
  background: var(--tone-bg-ddbd7e);
  height: 100%;
  display: block;
}
.sidebar-progress small {
  color: var(--tone-text-91a198);
  grid-column: 1/-1;
  font-size: 12px;
}
.manager-sidebar > p {
  color: var(--tone-text-71867a);
  text-align: center;
  margin: 13px 4px 0;
  font-size: 11px;
  line-height: 1.7;
}
.manager-main {
  min-width: 0;
}
.manager-header {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  z-index: 20;
  background: var(--tone-bg-f3f1ecd1);
  border-bottom: 1px solid var(--tone-border-355b481a);
  justify-content: space-between;
  align-items: center;
  height: 73px;
  padding: 0 clamp(20px, 3vw, 42px);
  display: flex;
  position: sticky;
  top: 0;
}
.manager-header > div:first-child {
  gap: 3px;
  display: grid;
}
.manager-header > div:first-child input {
  background: 0 0;
  border: 0;
  border-bottom: 1px solid var(--tone-border-00000000);
  outline: none;
  width: min(360px, 40vw);
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 24px;
  font-weight: 700;
}
.manager-header > div:first-child input:focus {
  border-color: var(--tone-border-aaa297);
}
.manager-header > div:first-child span {
  color: var(--tone-text-8e938f);
  letter-spacing: 0.12em;
  font-size: 12px;
}
.header-tools {
  align-items: center;
  gap: 7px;
  display: flex;
}
.header-tools button {
  color: var(--tone-text-68706b);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-d9d4cb);
  border-radius: 8px;
  padding: 8px 11px;
  font-size: 13px;
}
.header-tools .header-primary {
  border-color: var(--green);
  background: var(--green);
  color: var(--tone-text-ffffff);
  font-weight: 700;
}
.sync-badge {
  color: var(--tone-text-6b786f);
  white-space: nowrap;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  display: inline-flex;
}
.sync-badge:before {
  content: "";
  background: var(--tone-bg-6b9178);
  border-radius: 50%;
  width: 6px;
  height: 6px;
}
.sync-badge.saving:before {
  background: var(--tone-bg-c89c52);
  animation: 1s infinite pulse;
}
.sync-badge.error {
  color: var(--tone-text-a65349);
}
.sync-badge.error:before {
  background: var(--tone-bg-b9574b);
}
.header-tools .account-button {
  background: 0 0;
}
.view-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 34px clamp(20px, 3vw, 42px) 55px;
  animation: 0.22s enter;
}
.page-title {
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 25px;
  display: flex;
}
.page-title p,
.card-title p {
  color: var(--tone-text-a29285);
  letter-spacing: 0.2em;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
}
.page-title h1 {
  margin: 0;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 34px;
  font-weight: 500;
}
.page-title > div > span {
  color: var(--tone-text-7e8580);
  margin-top: 7px;
  font-size: 15px;
  display: block;
}
.main-action {
  background: var(--green);
  color: var(--tone-text-ffffff);
  border: 0;
  border-radius: 9px;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 8px 20px var(--tone-shadow-355b4829);
}
.metric-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
  display: grid;
}
.metric-grid article {
  border: 1px solid var(--line);
  background: var(--tone-bg-ffffffdb);
  border-radius: 14px;
  min-width: 0;
  padding: 18px 20px;
  box-shadow: 0 5px 20px var(--tone-shadow-2c251d08);
}
.metric-grid article > span {
  color: var(--tone-text-777e79);
  font-size: 14px;
}
.metric-grid strong {
  white-space: nowrap;
  margin-top: 10px;
  font-family: Georgia, serif;
  font-size: 28px;
  display: block;
}
.metric-grid strong em {
  font-family: inherit;
  font-size: 14px;
  font-style: normal;
}
.metric-grid small {
  color: var(--tone-text-a09e98);
  margin-top: 6px;
  font-size: 12px;
  display: block;
}
.metric-danger {
  background: var(--tone-bg-fff7f5) !important;
  border-color: var(--tone-border-ecd3ce) !important;
}
.metric-danger strong,
.danger-text {
  color: var(--red) !important;
}
.fund-command {
  background: var(--tone-bg-dcd8cf);
  border: 1px solid var(--tone-border-dcd8cf);
  border-radius: 15px;
  grid-template-columns: 1fr 1.18fr 1.18fr 1fr 1.12fr;
  gap: 1px;
  margin-bottom: 16px;
  display: grid;
  overflow: hidden;
}
.fund-command > article,
.fund-command > label {
  background: var(--tone-bg-ffffff);
  align-content: center;
  gap: 7px;
  min-height: 118px;
  padding: 19px 20px;
  display: grid;
  position: relative;
}
.fund-command > article:before,
.fund-command > label:before {
  content: "";
  background: var(--tone-bg-d2cec5);
  width: 3px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.fund-command .fund-paid:before {
  background: var(--tone-bg-18785b);
}
.fund-command .fund-balance:before,
.fund-command .metric-danger:before {
  background: var(--tone-bg-b33a3a);
}
.fund-command span {
  color: var(--tone-text-777e79);
  font-size: 13px;
}
.fund-command strong {
  letter-spacing: -0.04em;
  white-space: nowrap;
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 25px;
}
.fund-command small {
  color: var(--tone-text-989b96);
  font-size: 11px;
  line-height: 1.55;
}
.fund-command label > b {
  color: var(--tone-text-5e6762);
  font-family: Georgia, serif;
  font-size: 20px;
  position: absolute;
  top: 49px;
  left: 20px;
}
.fund-command label input {
  background: 0 0;
  border: 0;
  border-bottom: 1px solid var(--tone-border-ded9d0);
  outline: none;
  width: 100%;
  padding: 2px 0 4px 19px;
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 25px;
  font-weight: 700;
}
.fund-command label input:focus {
  border-color: var(--tone-border-18785b);
}
.reconciliation-strip {
  background: var(--tone-bg-f9faf7);
  border: 1px solid var(--tone-border-d5d9d5);
  border-left: 4px solid var(--tone-border-18785b);
  border-radius: 12px;
  grid-template-columns: minmax(175px, 0.75fr) 1.65fr auto;
  align-items: center;
  gap: 22px;
  margin-bottom: 16px;
  padding: 17px 20px;
  display: grid;
}
.reconciliation-strip > div {
  gap: 4px;
  display: grid;
}
.reconciliation-strip p {
  color: var(--tone-text-18785b);
  letter-spacing: 0.12em;
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}
.reconciliation-strip > div > strong {
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 17px;
}
.reconciliation-strip dl {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 0;
  display: grid;
}
.reconciliation-strip dl > div {
  border-left: 1px solid var(--tone-border-d9dcd7);
  gap: 5px;
  padding-left: 12px;
  display: grid;
}
.reconciliation-strip dt {
  color: var(--tone-text-8e938f);
  font-size: 11px;
}
.reconciliation-strip dd {
  margin: 0;
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 15px;
  font-weight: 700;
}
.reconciliation-strip button {
  color: var(--tone-text-18785b);
  background: 0 0;
  border: 0;
  font-size: 12px;
  font-weight: 700;
}
.overview-ledger {
  padding: 20px;
}
.unified-ledger-table {
  border-top: 1px solid var(--tone-border-e7e3dc);
}
.unified-ledger-row {
  border-bottom: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: minmax(230px, 1.6fr) repeat(
      4,
      minmax(105px, 0.72fr)
    ) 82px;
  align-items: center;
  gap: 12px;
  min-width: 920px;
  min-height: 64px;
  padding: 9px 6px;
  display: grid;
}
.unified-ledger-row > div:first-child {
  align-items: center;
  gap: 10px;
  display: flex;
}
.ledger-source-mark {
  background: var(--tone-bg-69726d);
  border-radius: 2px;
  flex: 0 0 8px;
  width: 8px;
  height: 34px;
}
.ledger-source-mark.source-hard {
  background: var(--tone-bg-171a1f);
}
.ledger-source-mark.source-purchase {
  background: var(--tone-bg-18785b);
}
.ledger-source-mark.source-soft {
  background: var(--tone-bg-c46a2b);
}
.ledger-source-mark.source-other {
  background: var(--tone-bg-7d837f);
}
.unified-ledger-row > div > span {
  gap: 4px;
  display: grid;
}
.unified-ledger-row strong {
  font-size: 14px;
}
.unified-ledger-row small {
  color: var(--tone-text-969a95);
  font-size: 11px;
}
.unified-ledger-row > b {
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 14px;
}
.unified-ledger-row > button {
  color: var(--tone-text-18785b);
  text-align: right;
  background: 0 0;
  border: 0;
  font-size: 12px;
}
.unified-ledger-head {
  color: var(--tone-text-959a96);
  min-height: 30px;
  font-size: 11px;
  font-weight: 700;
}
.budget-command {
  margin-bottom: 16px;
}
.unified-budget-module {
  padding: 20px;
}
.ledger-reconcile-grid {
  background: var(--tone-bg-e2ddd5);
  border: 1px solid var(--tone-border-e2ddd5);
  border-radius: 10px;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 16px;
  display: grid;
  overflow: hidden;
}
.ledger-reconcile-grid > div {
  background: var(--tone-bg-f8f7f3);
  align-content: center;
  gap: 5px;
  min-height: 92px;
  padding: 14px;
  display: grid;
}
.ledger-reconcile-grid span {
  color: var(--tone-text-858b87);
  font-size: 12px;
}
.ledger-reconcile-grid strong {
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 18px;
}
.ledger-reconcile-grid small {
  color: var(--tone-text-a0a29e);
  font-size: 11px;
  line-height: 1.5;
}
.contract-reconcile {
  background: var(--tone-bg-fffaf2);
  border: 1px solid var(--tone-border-e1d9cd);
  border-left: 4px solid var(--tone-border-c46a2b);
  border-radius: 11px;
  grid-template-columns: 180px 190px 1fr auto;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  padding: 15px 18px;
  display: grid;
}
.contract-reconcile > div {
  gap: 5px;
  display: grid;
}
.contract-reconcile span {
  color: var(--tone-text-8b8f8b);
  font-size: 12px;
}
.contract-reconcile strong {
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 19px;
}
.contract-reconcile p {
  color: var(--tone-text-858984);
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}
.contract-reconcile button {
  color: var(--tone-text-875627);
  background: 0 0;
  border: 0;
  font-size: 12px;
  font-weight: 700;
}
.expense-scope-warning {
  color: var(--tone-text-725b45);
  background: var(--tone-bg-fff8ee);
  border-left: 3px solid var(--tone-border-c46a2b);
  gap: 5px;
  margin: -8px 0 16px;
  padding: 12px 14px;
  display: grid;
}
.expense-scope-warning strong {
  font-size: 13px;
}
.expense-scope-warning span {
  font-size: 12px;
  line-height: 1.65;
}
.overview-grid {
  grid-template-columns: 1.15fr 0.85fr;
  gap: 16px;
  display: grid;
}
.dash-card,
.module-card {
  border: 1px solid var(--line);
  background: var(--tone-bg-ffffffe6);
  border-radius: 15px;
  min-width: 0;
  padding: 23px;
  box-shadow: 0 6px 22px var(--tone-shadow-2d261d09);
}
.card-title,
.module-head {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 18px;
  display: flex;
}
.card-title h2,
.module-head h2 {
  margin: 0;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 22px;
  font-weight: 500;
}
.card-title button,
.module-head button {
  color: var(--tone-text-54705f);
  background: 0 0;
  border: 0;
  font-size: 13px;
}
.module-head p {
  color: var(--tone-text-999b96);
  margin: 5px 0 0;
  font-size: 12px;
}
.budget-chart {
  grid-template-columns: 140px 1fr;
  column-gap: 24px;
  display: grid;
}
.budget-chart .card-title {
  grid-column: 1/-1;
}
.budget-ring {
  border-radius: 50%;
  place-items: center;
  width: 132px;
  height: 132px;
  display: grid;
}
.budget-ring > div {
  background: var(--tone-bg-ffffff);
  border-radius: 50%;
  align-content: center;
  place-items: center;
  gap: 3px;
  width: 95px;
  height: 95px;
  display: grid;
}
.budget-ring strong {
  font-family: Georgia, serif;
  font-size: 29px;
}
.budget-ring span {
  color: var(--tone-text-969a96);
  font-size: 12px;
}
.budget-bars {
  gap: 9px;
  display: grid;
}
.budget-bars > div > span {
  color: var(--tone-text-626a65);
  grid-template-columns: 8px 1fr auto;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  display: grid;
}
.budget-bars > div > span i {
  border-radius: 50%;
  width: 6px;
  height: 6px;
}
.budget-bars > div > span b {
  font-family: Georgia, serif;
  font-size: 14px;
}
.budget-bars > div > div {
  background: var(--tone-bg-eeebe5);
  border-radius: 99px;
  height: 4px;
  margin-top: 5px;
  overflow: hidden;
}
.budget-bars > div > div i {
  border-radius: inherit;
  height: 100%;
  display: block;
}
.phase-summary {
  justify-content: space-between;
  align-items: baseline;
  margin: 20px 0 10px;
  display: flex;
}
.phase-summary strong {
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 28px;
}
.phase-summary span {
  color: var(--tone-text-567463);
  font-family: Georgia, serif;
  font-size: 22px;
}
.phase-track {
  grid-template-columns: repeat(9, 1fr);
  gap: 4px;
  margin-bottom: 20px;
  display: grid;
}
.phase-track i {
  background: var(--tone-bg-e5e2dc);
  border-radius: 99px;
  height: 5px;
}
.phase-track i.done {
  background: var(--tone-bg-73917e);
}
.phase-track i.now {
  background: var(--tone-bg-d3a35e);
}
.next-checks {
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  display: grid;
}
.next-checks label {
  color: var(--tone-text-6f7671);
  align-items: center;
  gap: 7px;
  font-size: 13px;
  display: flex;
}
.next-checks label span {
  border: 1px solid var(--tone-border-d5d2cb);
  border-radius: 5px;
  place-items: center;
  width: 16px;
  height: 16px;
  font-size: 12px;
  display: grid;
}
.next-checks label span.checked {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-6e8b78);
  border-color: var(--tone-border-6e8b78);
}
.purchase-kpis {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
  display: grid;
}
.purchase-kpis div {
  background: var(--tone-bg-f5f3ee);
  border-radius: 10px;
  gap: 4px;
  padding: 13px;
  display: grid;
}
.purchase-kpis strong {
  font-family: Georgia, serif;
  font-size: 23px;
}
.purchase-kpis span {
  color: var(--tone-text-8b8f8b);
  font-size: 12px;
}
.mini-list,
.todo-mini {
  display: grid;
}
.mini-list button {
  text-align: left;
  background: 0 0;
  border: 0;
  border-top: 1px solid var(--tone-border-eeeae3);
  justify-content: space-between;
  align-items: center;
  padding: 10px 2px;
  display: flex;
}
.mini-list button > span {
  color: var(--tone-text-4f5853);
  gap: 3px;
  font-size: 14px;
  display: grid;
}
.mini-list small {
  color: var(--tone-text-a09f99);
  font-size: 11px;
}
.tag {
  white-space: nowrap;
  border-radius: 99px;
  align-items: center;
  padding: 5px 7px;
  font-size: 11px;
  display: inline-flex;
}
.tag-planned {
  color: var(--tone-text-827b72);
  background: var(--tone-bg-f0ede7);
}
.tag-selected {
  color: var(--tone-text-9b693f);
  background: var(--tone-bg-f6eadb);
}
.tag-ordered {
  color: var(--tone-text-55718c);
  background: var(--tone-bg-e7eef5);
}
.tag-delivered {
  color: var(--tone-text-765f89);
  background: var(--tone-bg-ede8f3);
}
.tag-installed {
  color: var(--tone-text-4c6d59);
  background: var(--tone-bg-e2eee6);
}
.todo-mini label {
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 22px 1fr 6px;
  align-items: center;
  gap: 8px;
  padding: 9px 0;
  display: grid;
}
.todo-mini label > button {
  color: var(--tone-text-00000000);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-d8d4cd);
  border-radius: 6px;
  width: 21px;
  height: 21px;
}
.todo-mini label > button:hover {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-62816d);
}
.todo-mini label > span {
  gap: 3px;
  display: grid;
}
.todo-mini strong {
  font-size: 13px;
}
.todo-mini small {
  color: var(--tone-text-999c98);
  font-size: 11px;
}
.todo-mini i,
.todo-full-list i {
  border-radius: 50%;
  width: 6px;
  height: 6px;
}
.priority-high {
  background: var(--tone-bg-c65e50);
}
.priority-medium {
  background: var(--tone-bg-d0a450);
}
.priority-low {
  background: var(--tone-bg-6f917b);
}
.budget-summary-strip {
  border: 1px solid var(--line);
  background: var(--line);
  border-radius: 14px;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  gap: 1px;
  margin-bottom: 16px;
  display: grid;
  overflow: hidden;
}
.budget-summary-strip > * {
  background: var(--tone-bg-ffffff);
  align-content: center;
  gap: 7px;
  min-height: 84px;
  padding: 17px;
  display: grid;
}
.budget-summary-strip span {
  color: var(--tone-text-8b8e8a);
  font-size: 13px;
}
.budget-summary-strip strong {
  font-family: Georgia, serif;
  font-size: 22px;
}
.budget-summary-strip label {
  color: var(--tone-text-8b8e8a);
  font-size: 13px;
}
.budget-summary-strip label span {
  color: var(--tone-text-303b35);
  font-family: Georgia, serif;
  font-size: 22px;
}
.budget-summary-strip label input {
  background: 0 0;
  border: 0;
  outline: none;
  width: 150px;
  font-family: Georgia, serif;
  font-size: 26px;
  font-weight: 700;
}
.module-card {
  margin-bottom: 16px;
}
.table-scroll {
  overflow-x: auto;
}
.category-table .table-row {
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 1.2fr 1fr 1fr 1fr 1.25fr;
  align-items: center;
  gap: 15px;
  min-width: 760px;
  min-height: 57px;
  padding: 7px 11px;
  display: grid;
}
.category-table .table-label {
  color: var(--tone-text-999b96);
  border: 0;
  min-height: 30px;
  font-size: 12px;
}
.cat-name {
  align-items: center;
  gap: 9px;
  display: flex;
}
.cat-name i {
  color: var(--tone-text-ffffff);
  border-radius: 8px;
  place-items: center;
  width: 29px;
  height: 29px;
  font-size: 12px;
  font-style: normal;
  display: grid;
}
.cat-name input,
.table-money input {
  background: 0 0;
  border: 1px solid var(--tone-border-00000000);
  border-radius: 6px;
  outline: none;
  width: 100%;
  min-width: 0;
  padding: 6px;
  font-size: 14px;
}
.cat-name input:focus,
.table-money input:focus {
  background: var(--tone-bg-ffffff);
  border-color: var(--tone-border-d8d3cb);
}
.table-money {
  color: var(--tone-text-aaa49c);
  align-items: center;
  font-size: 13px;
  display: flex;
}
.table-money input {
  font-family: Georgia, serif;
  font-size: 16px;
  font-weight: 700;
}
.table-row > strong {
  font-family: Georgia, serif;
  font-size: 15px;
}
.line-progress {
  grid-template-columns: 1fr 35px;
  align-items: center;
  gap: 7px;
  display: grid;
}
.line-progress > div {
  background: var(--tone-bg-ece9e3);
  border-radius: 99px;
  height: 5px;
  overflow: hidden;
}
.line-progress > div i {
  height: 100%;
  display: block;
}
.line-progress span {
  color: var(--tone-text-878b87);
  text-align: right;
  font-size: 12px;
}
.ledger-list {
  display: grid;
}
.ledger-list > div {
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 8px 1fr auto 80px 22px;
  align-items: center;
  gap: 11px;
  padding: 12px 4px;
  display: grid;
}
.ledger-list > div > i {
  border-radius: 50%;
  width: 7px;
  height: 7px;
}
.ledger-list > div > span {
  gap: 3px;
  display: grid;
}
.ledger-list strong {
  font-size: 14px;
}
.ledger-list small {
  color: var(--tone-text-999b96);
  font-size: 12px;
}
.ledger-list b {
  font-family: Georgia, serif;
  font-size: 16px;
}
.ledger-list em {
  color: var(--tone-text-7e8580);
  text-align: right;
  font-size: 12px;
  font-style: normal;
}
.ledger-list button {
  color: var(--tone-text-b7aaa1);
  background: 0 0;
  border: 0;
  font-size: 20px;
}
.purchase-toolbar {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  display: flex;
}
.purchase-toolbar > input {
  border: 1px solid var(--tone-border-ddd8d0);
  border-radius: 8px;
  outline: none;
  width: 280px;
  padding: 9px 11px;
  font-size: 13px;
}
.purchase-toolbar > div {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}
.purchase-toolbar button {
  color: var(--tone-text-7a807c);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-e0dcd5);
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 12px;
}
.purchase-toolbar button.active {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-557461);
  border-color: var(--tone-border-557461);
}
.purchase-cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  display: grid;
}
.purchase-cards > article {
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-e6e1d9);
  border-radius: 12px;
  padding: 17px;
}
.purchase-card-top {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.purchase-card-top > span {
  color: var(--tone-text-8a8f8b);
  font-size: 12px;
}
.purchase-cards h3 {
  margin: 14px 0 4px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 21px;
}
.purchase-cards > article > p {
  color: var(--tone-text-878c88);
  height: 14px;
  margin: 0 0 14px;
  font-size: 12px;
}
.purchase-cards dl {
  gap: 8px;
  margin: 0;
  display: grid;
}
.purchase-cards dl > div {
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  display: flex;
}
.purchase-cards dt {
  color: var(--tone-text-a09f99);
}
.purchase-cards dd {
  text-align: right;
  margin: 0;
}
.purchase-cards blockquote,
.contract-grid blockquote {
  color: var(--tone-text-7d817d);
  background: var(--tone-bg-f7f4ee);
  border-radius: 7px;
  margin: 13px 0 0;
  padding: 9px;
  font-size: 12px;
  line-height: 1.5;
}
.card-actions {
  gap: 7px;
  margin-top: 14px;
  display: flex;
}
.card-actions button {
  color: var(--tone-text-567060);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-d8d4cc);
  border-radius: 7px;
  flex: 1;
  padding: 7px;
  font-size: 12px;
}
.card-actions .delete-action {
  color: var(--tone-text-a86b61);
  flex: 0 0 45px;
}
.purchase-ledger {
  padding: 18px;
}
.purchase-table-head,
.purchase-rows > article {
  grid-template-columns: minmax(230px, 1.45fr) minmax(180px, 1.1fr) minmax(
      135px,
      0.8fr
    ) minmax(110px, 0.65fr) 82px 78px;
  align-items: center;
  gap: 12px;
  display: grid;
}
.purchase-table-head {
  color: var(--tone-text-9a9d98);
  letter-spacing: 0.04em;
  padding: 0 14px 10px;
  font-size: 11px;
  font-weight: 700;
}
.purchase-rows {
  border-top: 1px solid var(--tone-border-e8e4dc);
  display: grid;
}
.purchase-rows > article {
  background: var(--tone-bg-ffffff);
  border-bottom: 1px solid var(--tone-border-eeeae3);
  padding: 14px;
}
.purchase-rows > article:hover {
  background: var(--tone-bg-faf9f6);
}
.purchase-product {
  align-items: center;
  gap: 11px;
  min-width: 0;
  display: flex;
}
.purchase-product > i {
  color: var(--tone-text-42624f);
  background: var(--tone-bg-e8efe9);
  border-radius: 9px;
  flex: 0 0 36px;
  place-items: center;
  width: 36px;
  height: 36px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 18px;
  font-style: normal;
  display: grid;
}
.purchase-product > span {
  gap: 4px;
  min-width: 0;
  display: grid;
}
.purchase-product strong {
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 17px;
}
.purchase-product small {
  color: var(--tone-text-8f938f);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}
.purchase-placement {
  gap: 6px;
  display: grid;
}
.purchase-placement > strong {
  font-family: Georgia, serif;
  font-size: 15px;
}
.purchase-placement > span {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}
.purchase-placement em {
  color: var(--tone-text-726d65);
  background: var(--tone-bg-f1eee7);
  border-radius: 99px;
  padding: 4px 6px;
  font-size: 11px;
  font-style: normal;
}
.purchase-channels {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}
.purchase-channels a,
.purchase-channels > span {
  color: var(--tone-text-42624f);
  background: var(--tone-bg-edf2ee);
  border-radius: 6px;
  padding: 5px 7px;
  font-size: 11px;
  text-decoration: none;
}
.purchase-channels a:hover {
  text-decoration: underline;
}
.purchase-channels small {
  color: var(--tone-text-a3a49f);
  font-size: 12px;
}
.purchase-money {
  gap: 4px;
  display: grid;
}
.purchase-money strong {
  font-family: Georgia, serif;
  font-size: 15px;
}
.purchase-money small {
  color: var(--tone-text-929590);
  font-size: 11px;
}
.purchase-row-actions {
  justify-content: flex-end;
  gap: 4px;
  display: flex;
}
.purchase-row-actions button {
  color: var(--tone-text-577162);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-dedad2);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 11px;
}
.purchase-row-actions button:last-child {
  color: var(--tone-text-a66a60);
}
.manager-modal:has(.purchase-form) {
  width: min(900px, 100%);
}
.purchase-form label > small {
  color: var(--tone-text-9b7a5d);
  font-size: 11px;
}
.purchase-room-editor,
.purchase-channel-editor {
  border: 1px solid var(--tone-border-ded9d1);
  border-radius: 10px;
  margin: 0;
  padding: 13px;
}
.purchase-room-editor legend,
.purchase-channel-editor legend {
  color: var(--tone-text-68706b);
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
}
.purchase-room-editor > div {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}
.purchase-room-editor label {
  color: var(--tone-text-777d78);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-dfdbd4);
  border-radius: 99px;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  font-size: 12px;
  display: flex;
}
.purchase-room-editor label.checked {
  color: var(--tone-text-42624f);
  background: var(--tone-bg-e9f0eb);
  border-color: var(--tone-border-668570);
}
.purchase-room-editor input {
  accent-color: #557461;
  height: 12px;
  width: 12px !important;
}
.purchase-room-editor > small {
  color: var(--tone-text-a35e34);
  margin-top: 8px;
  font-size: 11px;
  display: block;
}
.purchase-channel-editor legend {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}
.purchase-channel-editor legend button {
  color: var(--tone-text-557461);
  background: 0 0;
  border: 0;
  font-size: 12px;
}
.purchase-channel-editor > div {
  grid-template-columns: 150px 1fr 32px;
  gap: 7px;
  margin-top: 7px;
  display: grid;
}
.purchase-channel-editor > div input {
  border: 1px solid var(--tone-border-ddd9d2);
  border-radius: 7px;
  padding: 9px;
  font-size: 12px;
}
.purchase-channel-editor > div button {
  color: var(--tone-text-a66a60);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-e2ddd5);
  border-radius: 7px;
}
.purchase-channel-editor > small {
  color: var(--tone-text-999c97);
  padding: 8px 0;
  font-size: 12px;
  display: block;
}
.whole-home-systems {
  color: var(--tone-text-f7f5ef);
  background: var(--tone-bg-171a1f);
  border: 1px solid var(--tone-border-d9ddd8);
  border-radius: 12px;
  margin: 4px 0 22px;
  padding: 18px;
}
.whole-home-systems > header {
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 14px;
  display: flex;
}
.whole-home-systems > header p,
.room-purchase-layout aside > p,
.room-purchase-groups > section > header p {
  color: var(--tone-text-7fb49f);
  letter-spacing: 0.16em;
  margin: 0 0 3px;
  font-size: 11px;
  font-weight: 800;
}
.whole-home-systems > header h2,
.room-purchase-groups > section > header h2 {
  margin: 0;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 22px;
  font-weight: 500;
}
.whole-home-systems > header > span {
  color: var(--tone-text-aeb5b0);
  font-size: 12px;
}
.whole-home-systems > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}
.whole-home-systems > div > article {
  background: var(--tone-bg-22262b);
  border: 1px solid var(--tone-border-383d42);
  border-radius: 10px;
  padding: 14px;
}
.system-card-title,
.room-purchase-item > header {
  align-items: center;
  gap: 10px;
  display: flex;
}
.system-card-title > i,
.room-purchase-item > header > i {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-18785b);
  border-radius: 8px;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  font-family: Georgia, serif;
  font-style: normal;
  display: grid;
}
.system-card-title > span,
.room-purchase-item > header > span {
  flex: 1;
  gap: 3px;
  min-width: 0;
  display: grid;
}
.system-card-title strong,
.room-purchase-item strong {
  font-size: 15px;
}
.system-card-title small {
  color: var(--tone-text-aeb5b0);
  font-size: 11px;
}
.system-room-chips {
  flex-wrap: wrap;
  gap: 5px;
  margin: 12px 0;
  display: flex;
}
.system-room-chips em {
  color: var(--tone-text-d8e8e0);
  background: var(--tone-bg-30383a);
  border-radius: 99px;
  padding: 4px 7px;
  font-size: 11px;
  font-style: normal;
}
.whole-home-systems dl,
.room-purchase-item dl {
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 10px 0;
  display: grid;
}
.whole-home-systems dl > div,
.room-purchase-item dl > div {
  gap: 3px;
  display: grid;
}
.whole-home-systems dt,
.room-purchase-item dt {
  color: var(--tone-text-929b96);
  font-size: 11px;
}
.whole-home-systems dd,
.room-purchase-item dd {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 14px;
}
.whole-home-systems footer,
.room-purchase-item footer {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  display: flex;
}
.whole-home-systems footer > small {
  color: var(--tone-text-929b96);
  font-size: 11px;
}
.whole-home-systems footer span,
.room-purchase-item footer span {
  gap: 5px;
  display: flex;
}
.whole-home-systems footer button,
.room-purchase-item footer button {
  color: var(--tone-text-c9d3ce);
  background: 0 0;
  border: 1px solid var(--tone-border-4b5451);
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 11px;
}
.room-purchase-layout {
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  display: grid;
}
.room-purchase-layout aside {
  background: var(--tone-bg-f7f5ef);
  border: 1px solid var(--tone-border-e0ddd6);
  border-radius: 10px;
  align-self: start;
  gap: 5px;
  padding: 14px;
  display: grid;
  position: sticky;
  top: 96px;
}
.room-purchase-layout aside > p {
  color: var(--tone-text-787d78);
}
.room-purchase-layout aside button {
  color: var(--tone-text-616762);
  text-align: left;
  background: 0 0;
  border: 0;
  border-left: 3px solid var(--tone-border-00000000);
  border-radius: 4px;
  justify-content: space-between;
  align-items: center;
  padding: 8px 9px;
  font-size: 12px;
  display: flex;
}
.room-purchase-layout aside button b {
  font-family: Georgia, serif;
}
.room-purchase-layout aside button.active {
  color: var(--tone-text-145d49);
  background: var(--tone-bg-e4eee8);
  border-left-color: var(--tone-border-18785b);
}
.room-purchase-groups {
  gap: 15px;
  display: grid;
}
.room-purchase-groups > section {
  border: 1px solid var(--tone-border-dfdcd5);
  border-radius: 12px;
  overflow: hidden;
}
.room-purchase-groups > section > header {
  background: var(--tone-bg-f7f5ef);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  display: flex;
}
.room-purchase-groups > section > header p {
  color: var(--tone-text-8a8e89);
}
.room-purchase-groups > section > header dl {
  gap: 18px;
  margin: 0;
  display: flex;
}
.room-purchase-groups > section > header dl > div {
  gap: 2px;
  display: grid;
}
.room-purchase-groups > section > header dt {
  color: var(--tone-text-949791);
  font-size: 11px;
}
.room-purchase-groups > section > header dd {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 13px;
}
.room-purchase-groups > section > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  display: grid;
}
.room-purchase-item {
  background: var(--tone-bg-ffffff);
  border-top: 1px solid var(--tone-border-ece8e0);
  padding: 15px;
}
.room-purchase-item:nth-child(odd) {
  border-right: 1px solid var(--tone-border-ece8e0);
}
.room-purchase-item > header > span small,
.room-purchase-item footer > small {
  color: var(--tone-text-92958f);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}
.room-purchase-item .purchase-channels {
  min-height: 27px;
}
.room-purchase-item footer button {
  color: var(--tone-text-557461);
  border-color: var(--tone-border-ddd9d1);
}
.room-purchase-item footer button:last-child {
  color: var(--tone-text-b33a3a);
}
.purchase-kind-switch {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: -8px 0 16px;
  display: grid;
}
.purchase-kind-switch button {
  color: var(--tone-text-6e746f);
  text-align: left;
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-ddd9d2);
  border-radius: 9px;
  gap: 3px;
  padding: 11px;
  display: grid;
}
.purchase-kind-switch button strong {
  font-size: 14px;
}
.purchase-kind-switch button span {
  font-size: 11px;
}
.purchase-kind-switch button.active {
  color: var(--tone-text-145d49);
  background: var(--tone-bg-eaf3ee);
  border-color: var(--tone-border-18785b);
  box-shadow: inset 3px 0 var(--tone-shadow-18785b);
}
.network-system-folder {
  overflow: hidden;
  padding: 0 !important;
}
.network-system-folder.expanded {
  border-color: var(--tone-border-568071);
  grid-column: 1/-1;
}
.network-system-summary {
  width: 100%;
  color: inherit;
  text-align: left;
  background: 0 0;
  border: 0;
  padding: 14px;
  display: block;
}
.network-system-summary .system-card-title > b {
  color: var(--tone-text-323936);
  background: var(--tone-bg-f7f5ef);
  border-radius: 99px;
  padding: 5px 8px;
  font-size: 11px;
}
.network-folder-action {
  color: var(--tone-text-80b49f);
  text-align: right;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
  display: block;
}
.network-system-list {
  background: var(--tone-bg-1b1f23);
  border-top: 1px solid var(--tone-border-3a4240);
}
.network-system-row {
  border-top: 1px solid var(--tone-border-303638);
  grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.55fr) minmax(
      220px,
      0.8fr
    ) auto;
  align-items: center;
  gap: 14px;
  padding: 11px 14px;
  display: grid;
}
.network-system-row:first-child {
  border-top: 0;
}
.network-item-name {
  align-items: center;
  gap: 9px;
  min-width: 0;
  display: flex;
}
.network-item-name > i {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-18785b);
  border-radius: 6px;
  flex: 0 0 28px;
  place-items: center;
  width: 28px;
  height: 28px;
  font-family: Georgia, serif;
  font-size: 13px;
  font-style: normal;
  display: grid;
}
.network-item-name > span {
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: grid;
}
.network-item-name strong {
  font-size: 13px;
}
.network-item-name small {
  color: var(--tone-text-aeb5b0);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}
.network-item-coverage {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}
.network-item-coverage em {
  color: var(--tone-text-d8e8e0);
  background: var(--tone-bg-30383a);
  border-radius: 99px;
  padding: 3px 6px;
  font-size: 10px;
  font-style: normal;
}
.network-system-row dl {
  margin: 0;
}
.network-item-actions {
  gap: 5px;
  display: flex;
}
.network-item-actions button {
  color: var(--tone-text-c9d3ce);
  background: 0 0;
  border: 1px solid var(--tone-border-4b5451);
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 11px;
}
.network-item-actions button:last-child {
  color: var(--tone-text-d98989);
}
.purchase-category-switch {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 16px;
  display: grid;
}
.purchase-category-switch > button {
  color: var(--tone-text-4f5752);
  text-align: left;
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-dcd8d0);
  border-radius: 12px;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 78px;
  padding: 13px 16px;
  display: grid;
}
.purchase-category-switch > button > i {
  color: var(--tone-text-18785b);
  background: var(--tone-bg-e7efe9);
  border-radius: 9px;
  place-items: center;
  width: 38px;
  height: 38px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 17px;
  font-style: normal;
  display: grid;
}
.purchase-category-switch > button > span {
  gap: 4px;
  display: grid;
}
.purchase-category-switch > button strong {
  font-size: 15px;
}
.purchase-category-switch > button small {
  color: var(--tone-text-939792);
  font-size: 11px;
}
.purchase-category-switch > button > b {
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 17px;
}
.purchase-category-switch > button.active {
  border-color: var(--tone-border-18785b);
  box-shadow: inset 4px 0 var(--tone-shadow-18785b);
}
.purchase-category-switch > button.soft > i {
  color: var(--tone-text-a75e25);
  background: var(--tone-bg-f8eadb);
}
.purchase-category-switch > button.soft.active {
  border-color: var(--tone-border-c46a2b);
  box-shadow: inset 4px 0 var(--tone-shadow-c46a2b);
}
.purchase-source-switch {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: -8px 0 12px;
  display: grid;
}
.purchase-source-switch button {
  color: var(--tone-text-6e746f);
  text-align: left;
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-ddd9d2);
  border-radius: 9px;
  gap: 3px;
  padding: 11px;
  display: grid;
}
.purchase-source-switch button strong {
  font-size: 14px;
}
.purchase-source-switch button span {
  font-size: 11px;
}
.purchase-source-switch button.active {
  color: var(--tone-text-145d49);
  background: var(--tone-bg-eaf3ee);
  border-color: var(--tone-border-18785b);
  box-shadow: inset 3px 0 var(--tone-shadow-18785b);
}
.purchase-source-switch button.soft.active {
  color: var(--tone-text-8e4e20);
  background: var(--tone-bg-fff2e5);
  border-color: var(--tone-border-c46a2b);
  box-shadow: inset 3px 0 var(--tone-shadow-c46a2b);
}
.soft-room-note {
  color: var(--tone-text-74583f);
  background: var(--tone-bg-fff7ee);
  border-left: 3px solid var(--tone-border-c46a2b);
  gap: 4px;
  margin: 0 0 16px;
  padding: 11px 13px;
  display: grid;
}
.soft-room-note strong {
  font-size: 13px;
}
.soft-room-note span {
  font-size: 11px;
}
.extra-metric,
.cost-metrics .extra-metric {
  background: var(--tone-bg-fff9f1);
  border-color: var(--tone-border-e4bf98);
}
.extra-metric strong {
  color: var(--tone-text-a75e25);
}
.cost-toolbar .extra-tab b {
  color: var(--tone-text-995a27);
  background: var(--tone-bg-f3e2cf);
  border-radius: 99px;
  margin-left: 5px;
  padding: 2px 5px;
  font-size: 11px;
}
.cost-toolbar .extra-tab.active {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-c46a2b);
  border-color: var(--tone-border-c46a2b);
}
.cost-toolbar .extra-tab.active b {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-ffffff33);
}
.extra-cost-module {
  border-top: 4px solid var(--tone-border-c46a2b);
}
.extra-cost-module .cost-group-head > i {
  background: var(--tone-bg-c46a2b);
}
.extra-budget-link {
  color: var(--tone-text-6d5742);
  text-align: left;
  background: var(--tone-bg-fff9f2);
  border: 1px solid var(--tone-border-ead5bd);
  border-left: 4px solid var(--tone-border-c46a2b);
  border-radius: 9px;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  width: 100%;
  margin-top: 12px;
  padding: 13px 16px;
  display: flex;
}
.extra-budget-link > span {
  gap: 4px;
  display: grid;
}
.extra-budget-link strong {
  font-size: 14px;
}
.extra-budget-link small {
  color: var(--tone-text-9a7b60);
  font-size: 11px;
}
.extra-budget-link > b {
  font-family:
    IBM Plex Mono,
    Avenir Next,
    monospace;
  font-size: 13px;
}
.soft-purchase-summary {
  border-top: 4px solid var(--tone-border-c46a2b);
}
.construction-hero {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-2d4739);
  border-radius: 14px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
  padding: 20px 24px;
  display: grid;
}
.construction-hero > div:first-child {
  gap: 5px;
  display: grid;
}
.construction-hero span,
.construction-hero small {
  color: var(--tone-text-aebeb5);
  font-size: 12px;
}
.construction-hero strong {
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 25px;
}
.construction-hero > b {
  font-family: Georgia, serif;
  font-size: 26px;
}
.construction-line {
  background: var(--tone-bg-ffffff1f);
  border-radius: 99px;
  height: 6px;
  overflow: hidden;
}
.construction-line i {
  background: linear-gradient(90deg, var(--tone-bg-8eaa97), var(--tone-bg-e0bf7d));
  height: 100%;
  display: block;
}
.phase-cards {
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  display: grid;
}
.phase-cards > article {
  border: 1px solid var(--line);
  background: var(--tone-bg-ffffff);
  border-radius: 14px;
  padding: 20px;
}
.phase-cards > article.active {
  border-color: var(--tone-border-76917f);
  box-shadow: 0 0 0 3px var(--tone-shadow-55746117);
}
.phase-cards > article.done {
  background: var(--tone-bg-f9fbf9);
}
.phase-cards header {
  grid-template-columns: 35px 1fr auto;
  align-items: center;
  gap: 10px;
  display: grid;
}
.phase-cards header > i {
  border: 1px solid var(--tone-border-d5d1c9);
  border-radius: 50%;
  place-items: center;
  width: 34px;
  height: 34px;
  font-family: Georgia, serif;
  font-style: normal;
  display: grid;
}
.phase-cards article.done header > i {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-668570);
  border-color: var(--tone-border-668570);
}
.phase-cards header h2 {
  margin: 0;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 20px;
}
.phase-cards header p {
  color: var(--tone-text-929691);
  margin: 4px 0 0;
  font-size: 12px;
}
.phase-cards header button {
  color: var(--tone-text-64736a);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-dad6ce);
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 12px;
}
.phase-fields {
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 7px;
  margin: 16px 0;
  display: grid;
}
.phase-fields label {
  color: var(--tone-text-969892);
  gap: 5px;
  font-size: 11px;
  display: grid;
}
.phase-fields input {
  border: 1px solid var(--tone-border-e0dcd5);
  border-radius: 6px;
  width: 100%;
  min-width: 0;
  padding: 7px;
  font-size: 12px;
}
.task-list {
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  display: grid;
}
.task-list label {
  color: var(--tone-text-626a65);
  align-items: center;
  gap: 7px;
  font-size: 12px;
  display: flex;
}
.task-list button {
  color: var(--tone-text-00000000);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-d7d3cb);
  border-radius: 5px;
  width: 17px;
  height: 17px;
  font-size: 12px;
}
.task-list button.checked {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-64816e);
  border-color: var(--tone-border-64816e);
}
.done-text {
  color: var(--tone-text-9a9d99);
  text-decoration: line-through;
}
.add-task {
  margin-top: 12px;
  display: flex;
}
.add-task input {
  border: 1px solid var(--tone-border-e1ddd6);
  border-right: 0;
  border-radius: 7px 0 0 7px;
  flex: 1;
  min-width: 0;
  padding: 7px 9px;
  font-size: 12px;
}
.add-task button {
  color: var(--tone-text-526e5c);
  background: var(--tone-bg-e9efea);
  border: 0;
  border-radius: 0 7px 7px 0;
  width: 33px;
}
.phase-cards textarea {
  resize: vertical;
  border: 1px solid var(--tone-border-e1ddd6);
  border-radius: 7px;
  width: 100%;
  min-height: 54px;
  margin-top: 10px;
  padding: 8px;
  font-size: 12px;
}
.contract-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  display: grid;
}
.contract-grid .module-card {
  margin: 0;
}
.contract-title {
  justify-content: space-between;
  display: flex;
}
.contract-title span {
  color: var(--tone-text-956c42);
  background: var(--tone-bg-f2eadc);
  border-radius: 99px;
  padding: 5px 7px;
  font-size: 11px;
}
.contract-title span.complete {
  color: var(--tone-text-52705d);
  background: var(--tone-bg-e4eee7);
}
.contract-title button {
  color: var(--tone-text-587565);
  background: 0 0;
  border: 0;
  font-size: 12px;
}
.contract-grid h2 {
  margin: 14px 0 5px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 23px;
}
.contract-grid > article > p {
  color: var(--tone-text-8b8f8b);
  margin: 0;
  font-size: 13px;
}
.contract-progress {
  margin: 18px 0;
}
.contract-progress > span {
  justify-content: space-between;
  font-size: 13px;
  display: flex;
}
.contract-progress > div {
  background: var(--tone-bg-ebe8e2);
  border-radius: 99px;
  height: 6px;
  margin: 8px 0;
  overflow: hidden;
}
.contract-progress > div i {
  background: var(--tone-bg-668570);
  height: 100%;
  display: block;
}
.contract-progress small {
  color: var(--tone-text-999b96);
  font-size: 12px;
}
.contract-grid dl {
  grid-template-columns: 1fr 1fr;
  margin: 0;
  display: grid;
}
.contract-grid dl div {
  background: var(--tone-bg-f7f5f0);
  gap: 5px;
  padding: 10px;
  display: grid;
}
.contract-grid dt {
  color: var(--tone-text-959792);
  font-size: 11px;
}
.contract-grid dd {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 16px;
}
.empty-module {
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 9px;
  min-height: 250px;
  display: grid;
}
.empty-module strong {
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 23px;
}
.empty-module span {
  color: var(--tone-text-8a8f8b);
  max-width: 390px;
  font-size: 13px;
  line-height: 1.7;
}
.empty-module button {
  background: var(--green);
  color: var(--tone-text-ffffff);
  border: 0;
  border-radius: 8px;
  margin-top: 8px;
  padding: 9px 13px;
  font-size: 13px;
}
.contract-grid {
  grid-template-columns: 1fr;
}
.contract-card {
  padding: 22px;
}
.contract-plan {
  grid-template-columns: repeat(5, 1fr);
  gap: 7px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  position: relative;
}
.contract-plan:before {
  content: "";
  background: var(--tone-bg-e2ded6);
  height: 2px;
  position: absolute;
  top: 16px;
  left: 9%;
  right: 9%;
}
.contract-plan li {
  text-align: center;
  justify-items: center;
  gap: 6px;
  padding: 0 6px;
  display: grid;
  position: relative;
}
.contract-plan li > i {
  z-index: 1;
  color: var(--tone-text-8b8e89);
  background: var(--tone-bg-ffffff);
  border: 2px solid var(--tone-border-d7d2ca);
  border-radius: 50%;
  place-items: center;
  width: 32px;
  height: 32px;
  font-family: Georgia, serif;
  font-size: 14px;
  font-style: normal;
  display: grid;
}
.contract-plan li.done > i {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-557461);
  border-color: var(--tone-border-557461);
}
.contract-plan li.partial > i,
.contract-plan li.next > i {
  color: var(--tone-text-9a6537);
  background: var(--tone-bg-fff9f0);
  border-color: var(--tone-border-b27a45);
}
.contract-plan li > span {
  gap: 3px;
  display: grid;
}
.contract-plan li strong {
  font-size: 13px;
}
.contract-plan li small {
  color: var(--tone-text-919590);
  font-size: 11px;
}
.contract-plan li > b {
  color: var(--tone-text-8a8e89);
  font-size: 11px;
}
.contract-plan li.done > b {
  color: var(--tone-text-557461);
}
.contract-plan li.partial > b,
.contract-plan li.next > b {
  color: var(--tone-text-a35e34);
}
.contract-plan li > em {
  color: var(--tone-text-a1a39f);
  font-size: 11px;
  font-style: normal;
}
.manager-modal:has(.contract-form) {
  width: min(1050px, 100%);
}
.contract-form-total {
  color: var(--tone-text-2d4739);
  background: var(--tone-bg-f6f4ef);
  border-radius: 8px;
  padding: 11px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 15px;
  display: block;
}
.installment-editor {
  border: 1px solid var(--tone-border-dfd9d0);
  border-radius: 11px;
  overflow-x: auto;
}
.installment-editor > header {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-2d4739);
  justify-content: space-between;
  gap: 15px;
  padding: 13px 15px;
  display: flex;
}
.installment-editor > header > div {
  gap: 4px;
  display: grid;
}
.installment-editor > header strong {
  font-size: 15px;
}
.installment-editor > header span,
.installment-editor > header small {
  color: var(--tone-text-bdc9c2);
  font-size: 11px;
}
.installment-editor > section {
  border-top: 1px solid var(--tone-border-eee9e1);
  grid-template-columns: 52px 1.15fr 0.8fr 0.9fr 1fr 1fr 62px;
  align-items: end;
  gap: 9px;
  min-width: 900px;
  padding: 10px 12px;
  display: grid;
}
.installment-editor > section.done {
  background: var(--tone-bg-f4f8f5);
}
.installment-editor label {
  gap: 5px;
  display: grid;
}
.installment-editor label,
.installment-editor > section > div small {
  color: var(--tone-text-8d918d);
  font-size: 11px;
}
.installment-editor input {
  padding: 8px !important;
  font-size: 12px !important;
}
.installment-percent {
  color: var(--tone-text-a26b3c);
  align-self: center;
  font-family: Georgia, serif;
  font-size: 21px;
  font-weight: 700;
}
.installment-editor > section > div {
  gap: 5px;
  padding-bottom: 8px;
  display: grid;
}
.installment-editor > section > div strong {
  font-family: Georgia, serif;
  font-size: 15px;
}
.installment-check {
  align-items: center;
  gap: 5px;
  color: var(--tone-text-557461) !important;
  align-self: center !important;
  display: flex !important;
}
.installment-check input {
  accent-color: #557461;
  height: 14px;
  width: 14px !important;
}
.todo-add {
  border: 1px solid var(--line);
  background: var(--tone-bg-ffffff);
  border-radius: 12px;
  grid-template-columns: 1fr 110px 130px 105px auto;
  gap: 8px;
  margin-bottom: 16px;
  padding: 13px;
  display: grid;
}
.todo-add input,
.todo-add select {
  border: 1px solid var(--tone-border-ddd9d2);
  border-radius: 7px;
  min-width: 0;
  padding: 9px;
  font-size: 13px;
}
.todo-add button {
  background: var(--green);
  color: var(--tone-text-ffffff);
  border: 0;
  border-radius: 7px;
  padding: 0 14px;
  font-size: 13px;
}
.todo-full-list {
  display: grid;
}
.todo-full-list > div {
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 25px 6px 1fr 25px;
  align-items: center;
  gap: 10px;
  padding: 12px 3px;
  display: grid;
}
.todo-full-list > div > button:first-child {
  color: var(--tone-text-00000000);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-d7d3cb);
  border-radius: 7px;
  width: 24px;
  height: 24px;
}
.todo-full-list > div > button:first-child:hover {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-668570);
}
.todo-full-list span {
  gap: 4px;
  display: grid;
}
.todo-full-list strong {
  font-size: 14px;
}
.todo-full-list small {
  color: var(--tone-text-999b96);
  font-size: 12px;
}
.todo-delete {
  color: var(--tone-text-b5aaa2);
  background: 0 0;
  border: 0;
  font-size: 19px;
}
.completed-todos > div:not(.module-head) {
  color: var(--tone-text-999b96);
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 24px 1fr auto;
  align-items: center;
  padding: 9px;
  font-size: 13px;
  display: grid;
}
.completed-todos > div > button {
  color: var(--tone-text-587565);
  background: 0 0;
  border: 0;
  font-size: 12px;
}
.empty-block {
  color: var(--tone-text-999b96);
  place-items: center;
  min-height: 80px;
  font-size: 13px;
  display: grid;
}
.empty-block.tall {
  min-height: 150px;
}
.refund-banner {
  width: 100%;
  color: var(--ink);
  text-align: left;
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-ded9d1);
  border-radius: 13px;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 22px;
  margin-bottom: 16px;
  padding: 14px 18px;
  display: grid;
}
.refund-banner > span {
  grid-template-columns: 35px 1fr;
  column-gap: 11px;
  display: grid;
}
.refund-banner i {
  color: var(--tone-text-557461);
  background: var(--tone-bg-eef1ed);
  border-radius: 10px;
  grid-row: 1/3;
  place-items: center;
  width: 35px;
  height: 35px;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  display: grid;
}
.refund-banner b {
  font-size: 14px;
}
.refund-banner small {
  color: var(--tone-text-969a95);
  margin-top: 4px;
  font-size: 12px;
}
.refund-banner > strong {
  font-family: Georgia, serif;
  font-size: 24px;
}
.refund-banner > em {
  color: var(--tone-text-587565);
  font-size: 12px;
  font-style: normal;
}
.refund-banner.has-money {
  background: var(--tone-bg-fffaf2);
  border-color: var(--tone-border-e1c7a4);
}
.refund-banner.has-money i {
  color: var(--tone-text-9a6537);
  background: var(--tone-bg-f3dfc3);
}
.refund-banner.has-money > strong {
  color: var(--tone-text-a35e34);
}
.cost-metrics .refund-metric {
  background: var(--tone-bg-fffaf2);
  border-color: var(--tone-border-e2c39e);
}
.cost-metrics .refund-metric strong {
  color: var(--tone-text-a35e34);
}
.cost-toolbar {
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 16px;
  display: flex;
}
.cost-toolbar > div {
  gap: 5px;
  display: flex;
}
.cost-toolbar button {
  color: var(--tone-text-747b76);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-ddd8d0);
  border-radius: 8px;
  padding: 8px 11px;
  font-size: 13px;
}
.cost-toolbar button.active {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-557461);
  border-color: var(--tone-border-557461);
}
.cost-toolbar > span {
  color: var(--tone-text-939792);
  font-size: 12px;
}
.cost-table {
  overflow-x: auto;
}
.cost-row {
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 1.3fr 58px 70px 90px 95px 105px 120px 150px 1.7fr 78px;
  align-items: center;
  gap: 10px;
  min-width: 1510px;
  min-height: 61px;
  padding: 8px 7px;
  display: grid;
}
.cost-row.refund-selected {
  background: var(--tone-bg-fff9f0);
}
.cost-row.cost-paid {
  box-shadow: inset 3px 0 var(--tone-shadow-18785b);
}
.cost-label {
  color: var(--tone-text-999b96);
  border: 0;
  min-height: 31px;
  font-size: 12px;
}
.cost-row > div:first-child,
.cost-row > div:nth-child(9) {
  gap: 4px;
  display: grid;
}
.cost-row strong {
  font-size: 14px;
}
.cost-row small {
  color: var(--tone-text-9a9d98);
  font-size: 11px;
  line-height: 1.45;
}
.cost-row > label {
  color: var(--tone-text-a09b94);
  align-items: center;
  font-size: 13px;
  display: flex;
}
.cost-row > label > input:not([type="checkbox"]) {
  background: 0 0;
  border: 1px solid var(--tone-border-00000000);
  border-radius: 6px;
  outline: none;
  width: 100%;
  min-width: 0;
  padding: 7px 4px;
  font-family: Georgia, serif;
  font-size: 15px;
  font-weight: 700;
}
.cost-row > label > input:not([type="checkbox"]):focus {
  background: var(--tone-bg-ffffff);
  border-color: var(--tone-border-d8d3cb);
}
.cost-row > div:nth-child(9) > span {
  font-size: 12px;
}
.cost-no-refund {
  color: var(--tone-text-b6b7b4);
  text-align: center;
}
.cost-payment-toggle {
  border: 1px solid;
  border-radius: 7px;
  padding: 7px 6px;
  font-size: 11px;
  font-weight: 700;
}
.cost-payment-toggle.unpaid {
  color: var(--tone-text-a35e34);
  background: var(--tone-bg-fff8ef);
  border-color: var(--tone-border-e2c8aa);
}
.cost-payment-toggle.paid {
  color: var(--tone-text-176b51);
  background: var(--tone-bg-e8f2eb);
  border-color: var(--tone-border-8aad99);
}
.cost-contract-payment {
  color: var(--tone-text-858983);
  text-align: center;
  background: var(--tone-bg-f0eee9);
  border-radius: 7px;
  padding: 6px;
  font-size: 11px;
}
.refund-toggle {
  cursor: pointer;
  grid-template-columns: 16px 1fr;
  gap: 5px;
  line-height: 1.35;
  color: var(--tone-text-8a6a48) !important;
  display: grid !important;
}
.refund-toggle input {
  accent-color: #b27a45;
  width: 14px;
  height: 14px;
}
.refund-toggle span {
  font-size: 12px;
}
.cost-actions {
  grid-auto-flow: column;
  grid-template-columns: 1fr 25px !important;
  gap: 4px !important;
  display: flex !important;
}
.cost-actions button {
  color: var(--tone-text-587565);
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-ded9d1);
  border-radius: 6px;
  padding: 6px;
  font-size: 12px;
}
.cost-actions button:last-child {
  color: var(--tone-text-a86b61);
}
.refund-module {
  margin-top: 18px;
}
.refund-list {
  display: grid;
}
.refund-list > div {
  border-top: 1px solid var(--tone-border-eeeae3);
  grid-template-columns: 72px 1fr minmax(240px, 0.8fr) 82px;
  align-items: center;
  gap: 14px;
  padding: 13px 4px;
  display: grid;
}
.refund-list > div > span {
  border-radius: 99px;
  width: max-content;
  padding: 5px 7px;
  font-size: 11px;
}
.refund-list .waiting {
  color: var(--tone-text-95653e);
  background: var(--tone-bg-f7e8d5);
}
.refund-list .received {
  color: var(--tone-text-51705c);
  background: var(--tone-bg-e3eee6);
}
.refund-list > div > div:nth-child(2) {
  gap: 4px;
  display: grid;
}
.refund-list strong {
  font-size: 14px;
}
.refund-list small {
  color: var(--tone-text-999b96);
  font-size: 12px;
}
.refund-list dl {
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin: 0;
  display: grid;
}
.refund-list dl > div {
  background: var(--tone-bg-f6f4ef);
  border-radius: 7px;
  gap: 4px;
  padding: 8px;
  display: grid;
}
.refund-list dt {
  color: var(--tone-text-979a95);
  font-size: 11px;
}
.refund-list dd {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 14px;
  font-weight: 700;
}
.refund-form-balance {
  color: var(--tone-text-a35e34);
  margin-top: 8px;
  font-family: Georgia, serif;
  font-size: 23px;
  display: block;
}
.refund-modal-toggle,
.payment-modal-toggle {
  align-content: center;
}
.refund-modal-toggle > span,
.payment-modal-toggle > span {
  color: var(--tone-text-8a603a);
  background: var(--tone-bg-fffaf2);
  border: 1px solid var(--tone-border-e3d2bb);
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  min-height: 39px;
  padding: 9px;
  display: flex;
}
.refund-modal-toggle input,
.payment-modal-toggle input {
  accent-color: #b27a45;
  width: 15px;
  height: 15px;
}
.payment-modal-toggle > span {
  color: var(--tone-text-176b51);
  background: var(--tone-bg-eef6f0);
  border-color: var(--tone-border-b7cebf);
}
.payment-modal-toggle input {
  accent-color: #18785b;
}
.cost-groups-module {
  padding: 18px;
}
.cost-group-controls {
  color: var(--tone-text-8b8f8b);
  justify-content: space-between;
  align-items: center;
  margin: 0 -2px 12px;
  font-size: 12px;
  display: flex;
}
.cost-group-controls > div {
  gap: 6px;
  display: flex;
}
.cost-group-controls button {
  color: var(--tone-text-557461);
  background: 0 0;
  border: 0;
  padding: 5px;
  font-size: 12px;
}
.cost-groups {
  gap: 9px;
  display: grid;
}
.cost-group {
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-e2ddd5);
  border-radius: 11px;
  overflow: hidden;
}
.cost-group.expanded {
  border-color: var(--tone-border-b9c8bf);
}
.cost-group-head {
  color: var(--tone-text-303b35);
  text-align: left;
  background: var(--tone-bg-f8f6f1);
  border: 0;
  grid-template-columns: 42px minmax(150px, 1fr) minmax(360px, 0.9fr) 62px;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 14px 16px;
  display: grid;
}
.cost-group.expanded .cost-group-head {
  background: var(--tone-bg-eef2ef);
}
.cost-group-head > i {
  color: var(--tone-text-ffffff);
  background: var(--tone-bg-2d4739);
  border-radius: 8px;
  place-items: center;
  width: 38px;
  height: 38px;
  font-family: Georgia, serif;
  font-size: 15px;
  font-style: normal;
  display: grid;
}
.cost-group-head > span {
  gap: 4px;
  display: grid;
}
.cost-group-head > span strong {
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 20px;
}
.cost-group-head > span small {
  color: var(--tone-text-8d928e);
  font-size: 12px;
}
.cost-group-head dl {
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin: 0;
  display: grid;
}
.cost-group-head dl > div {
  border-left: 1px solid var(--tone-border-dedbd4);
  gap: 3px;
  padding: 7px 9px;
  display: grid;
}
.cost-group-head dt {
  color: var(--tone-text-969994);
  font-size: 11px;
}
.cost-group-head dd {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 15px;
  font-weight: 700;
}
.cost-group-head .has-refund dd {
  color: var(--tone-text-a35e34);
}
.cost-group-head > b {
  color: var(--tone-text-587565);
  text-align: right;
  font-size: 12px;
}
.cost-group .cost-table {
  padding: 0 10px 8px;
}
.modal-mask {
  z-index: 100;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: var(--tone-bg-18201c8f);
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}
.manager-modal {
  background: var(--tone-bg-ffffff);
  border-radius: 17px;
  width: min(620px, 100%);
  max-height: 90vh;
  padding: 28px;
  position: relative;
  overflow: auto;
  box-shadow: 0 25px 80px var(--tone-shadow-1119154d);
}
.modal-x {
  color: var(--tone-text-8a8d89);
  background: 0 0;
  border: 0;
  font-size: 26px;
  position: absolute;
  top: 14px;
  right: 16px;
}
.manager-modal form > p {
  color: var(--tone-text-a18b79);
  letter-spacing: 0.18em;
  margin: 0 0 5px;
  font-size: 12px;
  font-weight: 700;
}
.manager-modal h2 {
  margin: 0 0 22px;
  font-family:
    Georgia,
    Songti SC,
    serif;
  font-size: 27px;
  font-weight: 500;
}
.form-grid {
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  display: grid;
}
.form-grid label {
  color: var(--tone-text-68706b);
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}
.form-grid label.wide {
  grid-column: 1/-1;
}
.form-grid input,
.form-grid select,
.form-grid textarea {
  background: var(--tone-bg-ffffff);
  border: 1px solid var(--tone-border-ddd9d2);
  border-radius: 8px;
  outline: none;
  width: 100%;
  min-width: 0;
  padding: 10px;
  font-size: 14px;
}
.form-grid textarea {
  resize: vertical;
  min-height: 70px;
}
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
  border-color: var(--tone-border-718d7b);
  box-shadow: 0 0 0 3px var(--tone-shadow-55746114);
}
.form-submit {
  background: var(--green);
  color: var(--tone-text-ffffff);
  border: 0;
  border-radius: 9px;
  width: 100%;
  margin-top: 20px;
  padding: 11px;
  font-size: 14px;
  font-weight: 700;
}
@keyframes enter {
  0% {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@media (width<=1050px) {
  .manager-shell {
    grid-template-columns: 78px minmax(0, 1fr);
  }
  .manager-sidebar {
    padding: 20px 10px;
  }
  .manager-brand {
    justify-content: center;
    padding: 0 0 20px;
  }
  .manager-brand div,
  .manager-sidebar nav button span,
  .manager-sidebar nav button > b,
  .manager-sidebar > p,
  .sidebar-progress {
    display: none;
  }
  .manager-sidebar nav button {
    grid-template-columns: 1fr;
    padding: 9px;
  }
  .manager-sidebar nav i {
    margin: auto;
  }
  .manager-sidebar nav button.active:before {
    left: -10px;
  }
  .purchase-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .purchase-table-head {
    display: none;
  }
  .purchase-rows > article {
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) 110px 75px;
  }
  .purchase-channels {
    grid-column: 1/3;
  }
  .purchase-row-actions {
    grid-area: 2/4;
  }
}
@media (width<=760px) {
  .manager-shell {
    display: block;
  }
  .manager-sidebar {
    height: auto;
    padding: 10px 14px;
    display: block;
    position: sticky;
  }
  .manager-brand {
    display: none;
  }
  .manager-sidebar nav {
    gap: 5px;
    margin: 0;
    display: flex;
    overflow-x: auto;
  }
  .manager-sidebar nav button {
    flex: none;
    width: auto;
    padding: 7px 10px;
    display: flex;
  }
  .manager-sidebar nav button.active:before {
    display: none;
  }
  .manager-sidebar nav i {
    width: 22px;
    height: 22px;
  }
  .manager-sidebar nav button span {
    display: block;
  }
  .manager-sidebar nav button span small {
    display: none;
  }
  .manager-sidebar nav button span strong {
    white-space: nowrap;
  }
  .manager-header {
    gap: 10px;
    height: auto;
    min-height: 68px;
    padding: 10px 16px;
    top: 50px;
  }
  .manager-header > div:first-child input {
    width: 150px;
    font-size: 20px;
  }
  .header-tools button {
    padding: 7px;
    font-size: 12px;
  }
  .header-tools button:first-of-type,
  .header-tools button:nth-of-type(2),
  .header-tools .account-button {
    display: none;
  }
  .sync-badge {
    font-size: 0;
  }
  .sync-badge:before {
    width: 8px;
    height: 8px;
  }
  .view-page {
    padding: 25px 15px 45px;
  }
  .page-title {
    align-items: flex-start;
    gap: 12px;
  }
  .page-title h1 {
    font-size: 29px;
  }
  .page-title > div > span {
    line-height: 1.5;
  }
  .main-action {
    white-space: nowrap;
    padding: 9px 11px;
  }
  .metric-grid {
    grid-template-columns: 1fr 1fr;
  }
  .overview-grid,
  .purchase-cards {
    grid-template-columns: 1fr;
  }
  .purchase-ledger {
    padding: 11px;
  }
  .purchase-rows > article {
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 13px 5px;
  }
  .purchase-product {
    grid-column: 1;
  }
  .purchase-placement,
  .purchase-channels {
    grid-column: 1/-1;
  }
  .purchase-money {
    grid-column: 1;
  }
  .purchase-rows > article > .tag {
    grid-area: 1/2;
  }
  .purchase-row-actions {
    grid-area: 4/2;
  }
  .phase-cards,
  .contract-grid {
    grid-template-columns: 1fr;
  }
  .budget-chart {
    grid-template-columns: 110px 1fr;
  }
  .budget-ring {
    width: 105px;
    height: 105px;
  }
  .budget-ring > div {
    width: 75px;
    height: 75px;
  }
  .budget-ring strong {
    font-size: 24px;
  }
  .budget-summary-strip {
    grid-template-columns: 1fr 1fr;
  }
  .purchase-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .purchase-toolbar > input {
    width: 100%;
  }
  .purchase-channel-editor > div {
    grid-template-columns: 1fr 32px;
  }
  .purchase-channel-editor > div input:nth-child(2) {
    grid-column: 1;
  }
  .purchase-channel-editor > div button {
    grid-area: 1/2/3;
  }
  .todo-add {
    grid-template-columns: 1fr 1fr;
  }
  .todo-add > input:first-child {
    grid-column: 1/-1;
  }
  .todo-add button {
    min-height: 36px;
  }
  .construction-hero {
    grid-template-columns: 1fr auto;
  }
  .construction-line {
    grid-area: 2/1 / auto/-1;
  }
  .phase-fields {
    grid-template-columns: 1fr 1fr;
  }
  .phase-fields label:first-child {
    grid-column: 1/-1;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .form-grid label.wide {
    grid-column: 1;
  }
  .ledger-list > div {
    grid-template-columns: 8px 1fr auto 20px;
  }
  .ledger-list em {
    display: none;
  }
}
@media (width<=900px) {
  .whole-home-systems > div,
  .room-purchase-groups > section > div {
    grid-template-columns: 1fr;
  }
  .room-purchase-item:nth-child(odd) {
    border-right: 0;
  }
  .room-purchase-layout {
    grid-template-columns: 1fr;
  }
  .room-purchase-layout aside {
    padding: 8px;
    display: flex;
    position: static;
    overflow-x: auto;
  }
  .room-purchase-layout aside > p {
    display: none;
  }
  .room-purchase-layout aside button {
    white-space: nowrap;
    border-bottom: 3px solid var(--tone-border-00000000);
    border-left: 0;
    flex: none;
    gap: 10px;
  }
  .room-purchase-layout aside button.active {
    border-bottom-color: var(--tone-border-18785b);
    border-left: 0;
  }
}
@media (width<=560px) {
  .whole-home-systems > header,
  .room-purchase-groups > section > header {
    flex-direction: column;
    align-items: flex-start;
  }
  .whole-home-systems > header > span {
    line-height: 1.5;
  }
  .room-purchase-groups > section > header dl {
    justify-content: space-between;
    gap: 8px;
    width: 100%;
  }
  .purchase-kind-switch {
    grid-template-columns: 1fr;
  }
  .whole-home-systems dl,
  .room-purchase-item dl {
    gap: 4px;
  }
  .whole-home-systems {
    padding: 13px;
  }
  .purchase-category-switch,
  .purchase-source-switch {
    grid-template-columns: 1fr;
  }
  .purchase-category-switch > button {
    grid-template-columns: 36px 1fr auto;
    padding: 11px;
  }
  .purchase-category-switch > button > i {
    width: 33px;
    height: 33px;
  }
  .extra-budget-link {
    flex-direction: column;
    align-items: flex-start;
  }
  .extra-budget-link > b {
    line-height: 1.5;
  }
  .cost-toolbar > div {
    width: 100%;
  }
  .cost-toolbar > div button {
    flex: 1;
  }
}
@media (width<=440px) {
  .manager-header {
    align-items: flex-start;
  }
  .manager-header > div:first-child span {
    display: none;
  }
  .header-tools .header-primary {
    font-size: 0;
  }
  .header-tools .header-primary:after {
    content: "记账";
    font-size: 12px;
  }
  .metric-grid {
    grid-template-columns: 1fr;
  }
  .metric-grid article {
    padding: 15px;
  }
  .budget-chart {
    display: block;
  }
  .budget-ring {
    margin: 0 auto 20px;
  }
  .next-checks {
    grid-template-columns: 1fr;
  }
  .purchase-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .purchase-kpis > div:last-child {
    grid-column: 1/-1;
  }
  .todo-add {
    grid-template-columns: 1fr;
  }
  .todo-add > * {
    grid-column: 1 !important;
  }
  .page-title > div > span {
    font-size: 13px;
  }
  .main-action {
    font-size: 12px;
  }
  .form-grid {
    gap: 10px;
  }
}
@media (width<=760px) {
  .refund-banner {
    grid-template-columns: 1fr auto;
  }
  .refund-banner > em {
    display: none;
  }
  .cost-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .cost-toolbar > span {
    line-height: 1.5;
  }
  .refund-list > div {
    grid-template-columns: 72px 1fr;
  }
  .refund-list dl {
    grid-column: 1/-1;
  }
  .refund-list .cost-actions {
    position: absolute;
    right: 22px;
  }
  .refund-list > div {
    padding-right: 70px;
    position: relative;
  }
  .cost-groups-module {
    padding: 12px;
  }
  .cost-group-controls {
    align-items: flex-start;
    gap: 8px;
  }
  .cost-group-controls > span {
    max-width: 180px;
    line-height: 1.5;
  }
  .cost-group-head {
    grid-template-columns: 34px 1fr auto;
    gap: 9px;
    padding: 11px;
  }
  .cost-group-head > i {
    width: 31px;
    height: 31px;
  }
  .cost-group-head > span strong {
    font-size: 17px;
  }
  .cost-group-head dl {
    grid-area: 2/1 / auto/-1;
    min-width: 0;
  }
  .cost-group-head > b {
    grid-area: 1/3;
  }
  .contract-plan {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .contract-plan:before {
    width: 2px;
    height: auto;
    inset: 15px auto 15px 15px;
  }
  .contract-plan li {
    text-align: left;
    grid-template-columns: 32px 1fr auto;
    place-items: center stretch;
    padding: 7px 0;
  }
  .contract-plan li > i {
    grid-row: 1/3;
  }
  .contract-plan li > em {
    grid-column: 2;
  }
  .contract-plan li > b {
    grid-area: 1/3/3;
    align-self: center;
  }
  .installment-editor > header {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (width<=1050px) {
  .fund-command {
    grid-template-columns: repeat(2, 1fr);
  }
  .fund-command > :last-child {
    grid-column: 1/-1;
  }
  .reconciliation-strip {
    grid-template-columns: 1fr auto;
  }
  .reconciliation-strip dl {
    grid-area: 2/1 / auto/-1;
  }
  .contract-reconcile {
    grid-template-columns: 1fr 1fr;
  }
  .contract-reconcile p {
    grid-column: 1/-1;
  }
  .contract-reconcile button {
    text-align: right;
    grid-area: 2/2;
  }
  .ledger-reconcile-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (width<=760px) {
  .fund-command {
    grid-template-columns: 1fr 1fr;
  }
  .fund-command > article,
  .fund-command > label {
    min-height: 104px;
    padding: 15px;
  }
  .fund-command label > b {
    top: 44px;
    left: 15px;
  }
  .fund-command strong,
  .fund-command label input {
    font-size: 21px;
  }
  .reconciliation-strip {
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 14px;
  }
  .reconciliation-strip dl {
    grid-template-columns: repeat(3, minmax(125px, 1fr));
    padding-bottom: 3px;
    overflow-x: auto;
  }
  .overview-ledger,
  .unified-budget-module {
    padding: 14px;
  }
  .unified-ledger-row {
    grid-template-columns: minmax(200px, 1.5fr) repeat(4, 100px) 76px;
    min-width: 800px;
  }
  .ledger-reconcile-grid,
  .contract-reconcile {
    grid-template-columns: 1fr 1fr;
  }
  .contract-reconcile p {
    grid-column: 1/-1;
  }
  .contract-reconcile button {
    text-align: left;
    grid-area: auto/1/auto/-1;
  }
}
@media (width<=440px) {
  .fund-command {
    grid-template-columns: 1fr;
  }
  .fund-command > :last-child {
    grid-column: auto;
  }
  .reconciliation-strip {
    display: block;
  }
  .reconciliation-strip dl {
    margin: 12px 0;
  }
  .reconciliation-strip > button {
    padding: 0;
  }
  .ledger-reconcile-grid,
  .contract-reconcile {
    grid-template-columns: 1fr;
  }
  .contract-reconcile p,
  .contract-reconcile button {
    grid-column: auto;
  }
  .contract-reconcile button {
    text-align: left;
  }
}
@media (width<=900px) {
  .network-system-row {
    grid-template-columns: minmax(180px, 1fr) minmax(120px, 0.6fr);
  }
  .network-system-row dl {
    grid-column: 1/2;
  }
  .network-item-actions {
    grid-column: 2;
    justify-content: flex-end;
  }
  .network-item-coverage {
    justify-content: flex-end;
  }
}
@media (width<=560px) {
  .network-system-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .network-item-coverage,
  .network-item-actions {
    grid-column: auto;
    justify-content: flex-start;
  }
  .network-system-row dl {
    grid-column: auto;
  }
  .network-system-summary {
    padding: 12px;
  }
  .network-system-summary .system-card-title > span small {
    white-space: normal;
    line-height: 1.5;
  }
  .network-folder-action {
    text-align: left;
  }
}
.whole-home-systems > div > .network-system-folder.expanded {
  grid-column: auto;
}
.whole-home-systems > div > .network-system-list {
  background: var(--tone-bg-1b1f23);
  border: 1px solid var(--tone-border-3a4240);
  border-radius: 10px;
  grid-column: 1/-1;
  overflow: hidden;
}
.ledger-source-mark.source-bathroom {
  background: var(--tone-bg-b98555);
}
.purchase-kpis {
  grid-template-columns: repeat(4, 1fr);
}
.purchase-category-switch,
.purchase-source-switch {
  grid-template-columns: repeat(3, 1fr);
}
.purchase-category-switch > button.bathroom > i {
  color: var(--tone-text-8b5d36);
  background: var(--tone-bg-f3e7d9);
}
.purchase-category-switch > button.bathroom.active {
  border-color: var(--tone-border-b98555);
  box-shadow: inset 4px 0 var(--tone-shadow-b98555);
}
.purchase-source-switch button.bathroom.active {
  color: var(--tone-text-765033);
  background: var(--tone-bg-fbf1e6);
  border-color: var(--tone-border-b98555);
  box-shadow: inset 3px 0 var(--tone-shadow-b98555);
}
.bathroom-room-note {
  color: var(--tone-text-73553d);
  background: var(--tone-bg-fbf2e8);
  border-left-color: var(--tone-border-b98555);
}
@media (width<=900px) {
  .purchase-category-switch {
    grid-template-columns: 1fr 1fr;
  }
  .purchase-category-switch > button.soft {
    grid-column: 1/-1;
  }
}
@media (width<=560px) {
  .purchase-category-switch,
  .purchase-source-switch {
    grid-template-columns: 1fr;
  }
  .purchase-category-switch > button.soft {
    grid-column: auto;
  }
}
@media (width<=440px) {
  .purchase-kpis > div:last-child {
    grid-column: auto;
  }
}
.purchase-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (width<=1200px) {
  .purchase-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (width<=760px) {
  .purchase-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width<=440px) {
  .purchase-metrics {
    grid-template-columns: 1fr;
  }
}
.cost-group-head .has-paid dd {
  color: var(--tone-text-176b51);
}
.whole-home-systems dl,
.room-purchase-item dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cost-payment-amount {
  border-radius: 7px;
  color: var(--tone-text-176b51) !important;
  background: var(--tone-bg-eef6f0) !important;
  border: 1px solid var(--tone-border-b7cebf) !important;
  padding: 0 6px !important;
}
.cost-payment-amount input {
  color: var(--tone-text-176b51);
}
.payment-modal-amount small {
  color: var(--tone-text-6f897a);
  line-height: 1.45;
}
@media (width<=560px) {
  .whole-home-systems dl,
  .room-purchase-item dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}

:root{--paper:#f4f6f3;--ink:#20312b;--green:#245746;--line:#dfe6e0;--muted:#697a70;--danger:#b44336}
html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--tone-border-77a48c);outline-offset:3px}button{touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}svg{flex-shrink:0}h1,h2,h3,strong,b,dd,.manager-header input{font-family:inherit!important}strong,b,dd{font-variant-numeric:tabular-nums}small{line-height:1.6} .redesign-v2{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:100dvh;background:var(--paper)}
.redesign-v2 .manager-sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;background:var(--tone-bg-ffffff);border-right:1px solid var(--line);color:var(--ink);padding:28px 16px;overflow-y:auto;z-index:30}.manager-brand{padding:0 8px 28px}.manager-brand>span{background:var(--green);color:var(--tone-text-ffffff);border-radius:12px}.manager-brand strong{font-size:18px}.manager-brand small{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.redesign-v2 .manager-sidebar nav{display:flex;flex-direction:column;gap:7px;overflow:visible}.redesign-v2 .manager-sidebar nav button{display:flex;align-items:center;gap:12px;min-height:52px;width:100%;padding:10px 12px;color:var(--tone-text-596a60);background:transparent;border:0;border-radius:9px;text-align:left;white-space:normal}.redesign-v2 .manager-sidebar nav button.active{color:var(--green);background:var(--tone-bg-e9f1eb)}.manager-sidebar nav button.active:before{display:none}.redesign-v2 .manager-sidebar nav i{display:flex;color:inherit;background:transparent;width:22px;height:22px;padding:0}.redesign-v2 .manager-sidebar nav strong{font-size:13px}.redesign-v2 .manager-sidebar nav small{font-size:10px;color:var(--tone-text-7f8e84);display:block}.sidebar-progress{margin-top:auto;background:var(--tone-bg-f3f6f2);border:0;color:var(--green)}.sidebar-progress span,.sidebar-progress small,.manager-sidebar>p{color:var(--muted)!important}.redesign-v2 .manager-main{min-width:0;margin:0;padding:0}.redesign-v2 .manager-header{position:sticky;top:0;background:var(--tone-bg-f4f6f3ed);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:16px 30px;z-index:25;min-height:80px;display:flex;justify-content:space-between;gap:12px}.manager-header>div:first-child input{font-size:17px!important;width:min(220px,100%)}.manager-header>div:first-child span{font-size:11px}.header-tools{gap:10px;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}.header-tools>button{font-size:11px;padding:7px;background:transparent;color:var(--muted);border:0}.header-tools .header-primary{background:var(--green);color:var(--tone-text-ffffff);border-radius:8px;padding:11px 16px;white-space:nowrap;font-size:13px}.sync-badge{font-size:11px!important;display:inline-flex!important}.sync-badge:before{display:none}.redesign-v2 .view-page{max-width:1440px;padding:30px;margin:0 auto}.page-title{margin-bottom:24px;align-items:flex-start;gap:12px}.page-title h1{font-size:27px;font-weight:650;letter-spacing:-.04em;margin:0 0 8px}.page-title p{font-size:10px;letter-spacing:.12em;color:var(--muted);margin:0 0 8px}.page-title span{font-size:13px;color:var(--muted);line-height:1.8}.main-action,.header-primary,.save-action{box-shadow:none!important;background:var(--green)!important;border-radius:8px!important}.metric-grid,.fund-command{gap:12px}.metric-grid>article,.fund-command>article{padding:19px;border:1px solid var(--line);border-radius:10px;background:var(--tone-bg-ffffff);box-shadow:none}.metric-grid>article strong,.fund-command>article strong{font-size:25px!important;letter-spacing:-.04em}.metric-grid>article small,.fund-command>article small{font-size:11px;color:var(--muted)}.dash-card,.budget-module,.cost-groups-module,.refund-module,.contract-card,.todo-section,.todo-add,.phase-cards>article{box-shadow:none!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--tone-bg-ffffff)}.metric-danger{background:var(--tone-bg-fff6f3)!important}.danger-text,.metric-danger strong{color:var(--danger)!important}
/* Daily dashboard */
.overview-summary{display:grid;grid-template-columns:1.12fr 1fr;gap:18px}.budget-hero{border-radius:15px;background:var(--tone-bg-245746);color:var(--tone-text-ffffff);padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.hero-top,.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.hero-top span{font-size:13px;color:var(--tone-text-d3e5d8)}.hero-top button{color:var(--tone-text-e4f0e8);font-size:12px;background:transparent;border:0}.hero-number{display:block;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.045em;margin:24px 0}.budget-track{height:5px;background:var(--tone-bg-ffffff30);border-radius:4px;overflow:hidden;margin-bottom:16px}.budget-track i{display:block;height:100%;background:var(--tone-bg-c6d7a6)}.hero-foot{font-size:11px;color:var(--tone-text-d4e3d7);flex-wrap:wrap}.hero-foot span:last-child{background:var(--tone-bg-ffffff15);padding:5px 9px;border-radius:5px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-metric{background:var(--tone-bg-ffffff);border:1px solid var(--line);border-radius:12px;padding:19px;min-width:0;display:flex;flex-direction:column;gap:7px}.summary-metric>span{font-size:12px;color:var(--muted)}.summary-metric strong{font-size:clamp(19px,2vw,27px);letter-spacing:-.035em}.summary-metric small{font-size:10px;color:var(--muted)}.summary-metric.warning{background:var(--tone-bg-fff8f4);border-color:var(--tone-border-efdfd5)}.summary-metric.warning strong{color:var(--danger)}.action-section{margin:30px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.section-heading h2{font-size:17px;font-weight:650;margin:0}.section-heading>span{font-size:11px;color:var(--muted)}.section-heading button{background:transparent;border:0;color:var(--green);font-size:12px}.attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.attention-grid>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;background:var(--tone-bg-ffffff);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.attention-grid svg{position:absolute;right:17px;top:20px;color:var(--tone-text-668d76)}.attention-grid strong{font-size:29px;font-weight:650}.attention-grid span{font-size:12px;color:var(--tone-text-4e6357)}.attention-grid small{font-size:10px;color:var(--muted)}.attention-grid button:hover,.source-line:hover,.follow-line:hover{background:var(--tone-bg-edf4ee)}.overview-columns{display:grid;grid-template-columns:1.12fr 1fr;gap:18px}.surface{padding:22px;background:var(--tone-bg-ffffff);border:1px solid var(--line);border-radius:12px;min-width:0}.source-line,.follow-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;border-top:1px solid var(--tone-border-edf0eb);background:transparent;width:100%;padding:15px 0;text-align:left}.source-line>span,.follow-line>span{display:grid;gap:6px}.source-line strong,.follow-line strong{font-size:13px;font-weight:600}.source-line small,.follow-line small{font-size:10px;color:var(--muted)}.source-line>span:last-child{text-align:right}.mini-track{display:block;width:100px;height:4px;background:var(--tone-bg-edf2ec);border-radius:3px;overflow:hidden}.mini-track>b{display:block;height:100%;background:var(--tone-bg-89a891)}.overview-note{background:var(--tone-bg-f5f7f3);padding:12px;margin-top:12px;border-radius:8px;font-size:11px;color:var(--muted)}.reconcile-details{margin-top:20px;padding:16px 20px;background:var(--tone-bg-fff9ef);border:1px solid var(--tone-border-ebdfc7);border-radius:10px;color:var(--tone-text-82653a);font-size:12px}.reconcile-details summary{cursor:pointer}.reconcile-details p{margin:12px 0}.reconcile-details button{background:none;border:0;color:var(--green)}
/* Dialogs and quick workflows */
.redesign-mask{position:fixed;inset:0;z-index:130;display:grid;place-items:center;background:var(--tone-bg-162b235c);backdrop-filter:blur(4px);padding:24px}.redesign-dialog{width:min(620px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--tone-bg-ffffff);border:1px solid var(--line);border-radius:16px;padding:30px;position:relative;box-shadow:0 20px 80px var(--tone-shadow-162b2326)}.redesign-dialog h2{font-size:24px;margin:6px 32px 12px 0;font-weight:650}.redesign-dialog h3{font-size:15px;margin:12px 0}.eyebrow{font-size:11px;color:var(--green);letter-spacing:.12em}.muted{color:var(--muted);font-size:12px;line-height:1.8}.dialog-close{position:absolute;right:15px;top:14px;width:36px;height:36px;font-size:26px;background:var(--tone-bg-f4f6f2);border:0;border-radius:50%;color:var(--tone-text-687b6f)}.quick-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.quick-route-grid>button{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--tone-bg-ffffff);color:var(--ink)}.quick-route-grid>button:hover{background:var(--tone-bg-edf4ee);border-color:var(--tone-border-a8c0ae)}.quick-route-grid svg{color:var(--green);margin-bottom:6px}.quick-route-grid small{font-size:11px;color:var(--muted)}.quick-pick-list{border-top:1px solid var(--line);padding-top:10px}.quick-pick-list>button:not(.text-action){display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);padding:14px 0;background:transparent;text-align:left;font-size:12px}.quick-pick-list button span:first-child{display:grid;gap:5px}.quick-pick-list small{color:var(--muted);font-size:11px}.quick-pick-list input,.payment-dialog input,.payment-dialog select{border:1px solid var(--tone-border-cfdad1);border-radius:8px;padding:12px;width:100%;background:var(--tone-bg-ffffff);color:var(--ink);min-height:44px}.payment-dialog label{display:grid;gap:9px;font-size:12px;margin-top:18px}.payment-dialog input{font-size:24px}.payment-summary{padding:18px;background:var(--tone-bg-f1f6ef);border-radius:10px;margin:22px 0;display:grid;gap:8px}.payment-summary span,.payment-summary small{font-size:12px;color:var(--muted)}.payment-summary strong{font-size:27px}.dialog-buttons{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.dialog-buttons button{border:1px solid var(--line);border-radius:8px;padding:12px 20px;background:var(--tone-bg-ffffff)}.dialog-buttons .primary{color:var(--tone-text-ffffff);background:var(--green);border-color:var(--green)}.text-action{border:0;background:transparent;color:var(--green);font-size:12px;padding:15px 0 0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:200;border-radius:10px;background:var(--tone-bg-203b2e);color:var(--tone-text-ffffff);padding:14px 22px;box-shadow:0 5px 30px var(--tone-shadow-203b2e30);max-width:90vw;font-size:13px}.modal-mask{z-index:110;background:var(--tone-bg-162b235c)}.manager-modal{border-radius:16px;max-height:calc(100dvh - 48px);width:min(760px,100%);padding:28px;overscroll-behavior:contain}.manager-modal h2{font-size:23px;font-weight:650}.modal-x{z-index:4;position:sticky;top:0;margin-left:auto;display:block;width:32px;height:32px;background:var(--tone-bg-f1f5ef);border-radius:50%;right:auto;margin-bottom:-25px}.save-action{position:sticky;bottom:-28px;z-index:3;width:100%;margin-top:20px;border:6px solid var(--tone-border-ffffff)!important;min-height:54px}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;font-size:14px}.purchase-source-switch button,.purchase-kind-switch button{border-radius:9px}.expense-scope-warning{font-size:12px}.form-grid{gap:17px}.installment-editor{background:var(--tone-bg-f7faf6)}.installment-row{min-width:0!important;grid-template-columns:50px minmax(140px,1.3fr) 100px minmax(100px,1fr) minmax(130px,1fr) minmax(130px,1fr) 65px}.installment-rows{overflow:auto}.manager-modal:has(.contract-form){width:min(1050px,100%)}
/* Consistent purchase visuals, compact cost browsing */
.whole-home-systems{color:var(--ink);background:var(--tone-bg-edf3ec);border:1px solid var(--line);border-radius:12px}.whole-home-systems h2,.whole-home-systems strong,.whole-home-systems dd,.system-card-title strong{color:var(--ink)!important}.whole-home-systems>header p,.whole-home-systems>header span,.system-card-title small,.whole-home-systems dt,.whole-home-systems footer small{color:var(--muted)!important}.whole-home-systems>div>article,.network-system-folder,.network-system-row{background:var(--tone-bg-ffffff)!important;border:1px solid var(--line)!important;box-shadow:none;color:var(--ink)!important}.whole-home-systems .system-room-chips em{background:var(--tone-bg-edf3ec);color:var(--tone-text-476a55)}.whole-home-systems .purchase-channels small{color:var(--muted)}.whole-home-systems footer button,.room-purchase-item footer button{color:var(--green);border:1px solid var(--tone-border-cfddd2);background:var(--tone-bg-f7faf6);border-radius:6px;min-height:34px;padding:6px 10px}.whole-home-systems footer button:last-child,.room-purchase-item footer button:last-child{color:var(--tone-text-a34d42);background:transparent}.room-purchase-item{background:var(--tone-bg-ffffff)!important;border:1px solid var(--line)!important;border-radius:10px;padding:18px;box-shadow:none!important}.room-purchase-item footer{flex-wrap:wrap;gap:10px}.room-purchase-item footer>span,.whole-home-systems footer>span{display:flex;gap:6px;flex-wrap:wrap}.room-purchase-item footer small,.whole-home-systems footer small{max-width:100%;font-size:10px}.quick-payment-button{background:var(--tone-bg-e8f2e8)!important;color:var(--green)!important;border-color:var(--tone-border-c1d7c5)!important;font-weight:600}.room-purchase-item dl{grid-template-columns:repeat(4,minmax(0,1fr))}.room-purchase-item dd,.whole-home-systems dd{font-size:14px}.room-purchase-layout aside{background:transparent}.room-purchase-groups>section>header{border-bottom:1px solid var(--line);padding:16px 0}.purchase-toolbar{background:var(--tone-bg-ffffff);border:1px solid var(--line);border-radius:10px;padding:14px}.purchase-toolbar input{font-size:14px;min-height:42px}.cost-group-head{padding:16px;border-radius:9px}.cost-group-head dl{gap:14px}.cost-group{border-color:var(--line);border-radius:9px}.cost-group-head>span strong{font-size:14px}.cost-group-head>i{background:var(--tone-bg-e7efe6);color:var(--green);width:28px;height:28px;font-size:11px}.cost-groups{gap:8px}.refund-ledger-list{gap:10px}.phase-cards{grid-template-columns:1fr;gap:12px}.phase-cards>article{padding:20px}.phase-cards article.phase-collapsed>:not(header):not(.phase-disclosure){display:none}.phase-disclosure{display:block;color:var(--green);background:var(--tone-bg-eff5ec);border:0;border-radius:7px;padding:9px 13px;font-size:12px;margin:12px 0 0 auto}.phase-cards header h2{font-size:17px}.phase-cards header button{font-size:11px}.phase-cards article.phase-collapsed{background:var(--tone-bg-fafcf8)}.phase-fields{margin-top:18px}.construction-hero{background:var(--green);border-radius:13px}.task-list label{padding:7px 0}.unified-ledger-row{min-width:0;grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(85px,1fr)) 85px}.unified-ledger-row small{max-width:240px}.mobile-nav,.mobile-more{display:none}.empty-block{min-height:100px;height:auto}.auth-page{background:var(--tone-bg-edf3ec)}.auth-card{box-shadow:0 15px 60px var(--tone-shadow-2547370f);border:1px solid var(--tone-border-dbe5dc)}.auth-card h1{font-weight:650;font-size:27px}.auth-card>p{line-height:1.8}
@media(min-width:1300px){.phase-cards{grid-template-columns:1fr 1fr;align-items:start}.phase-cards>.phase-expanded{grid-column:1/-1}.phase-cards .phase-expanded .task-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1150px){.redesign-v2{grid-template-columns:180px minmax(0,1fr)}.redesign-v2 .manager-sidebar{padding:24px 10px}.redesign-v2 .view-page{padding:24px}.redesign-v2 .manager-header{padding:16px 24px}.header-tools>button:not(.header-primary){display:none}.overview-summary{grid-template-columns:1fr}.budget-hero{min-height:220px}.hero-number{font-size:42px}.summary-grid{grid-template-columns:repeat(4,1fr)}.summary-metric{padding:14px}.summary-metric strong{font-size:20px}.overview-columns{grid-template-columns:1fr}.attention-grid>button{padding:16px}.attention-grid svg{right:12px}.unified-ledger-table{overflow:visible}.unified-ledger-row{grid-template-columns:1.5fr 1fr 1fr;gap:14px;padding:18px 0}.unified-ledger-head{display:none}.unified-ledger-row>b:before{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-bottom:5px}.unified-ledger-row>b:nth-child(2):before{content:'计划'}.unified-ledger-row>b:nth-child(3):before{content:'预计成本'}.unified-ledger-row>b:nth-child(4):before{content:'已支付'}.unified-ledger-row>b:nth-child(5):before{content:'还需支付'}.cost-group-head dl{gap:10px}.cost-group-head{gap:10px}.room-purchase-groups>section>div{grid-template-columns:1fr}.room-purchase-item{border-left:1px solid var(--line)!important}}
@media(max-width:760px){.redesign-v2{display:block;padding-bottom:84px}.redesign-v2 .manager-sidebar{display:none}.redesign-v2 .manager-header{top:0;min-height:70px;padding:12px 18px}.manager-header>div:first-child input{font-size:16px!important;width:150px}.manager-header>div:first-child span{display:none}.header-tools{flex-wrap:nowrap}.header-tools .header-primary{padding:10px 13px}.redesign-v2 .view-page{padding:24px 18px}.page-title{margin-bottom:20px}.page-title h1{font-size:24px}.page-title span{font-size:12px}.page-title .main-action{font-size:12px;min-height:38px;padding:9px 12px}.overview-v2>.page-title>.main-action{display:none}.overview-summary{gap:12px}.budget-hero{padding:23px;min-height:210px}.hero-number{font-size:38px}.summary-grid{grid-template-columns:1fr 1fr;gap:10px}.summary-metric{padding:15px}.summary-metric strong{font-size:23px}.attention-grid{grid-template-columns:1fr 1fr;gap:10px}.attention-grid strong{font-size:27px}.section-heading h2{font-size:16px}.section-heading>span{font-size:10px}.surface{padding:18px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--tone-bg-fffffff5);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px 8px max(7px,env(safe-area-inset-bottom));height:calc(66px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0;border-radius:9px;background:transparent;color:var(--tone-text-718176);font-size:10px}.mobile-nav button.active{background:var(--tone-bg-edf4eb);color:var(--green);font-weight:650}.mobile-more{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;bottom:calc(75px + env(safe-area-inset-bottom));left:14px;right:14px;z-index:45;padding:16px;background:var(--tone-bg-ffffff);border:1px solid var(--line);box-shadow:0 0 0 100vmax var(--tone-shadow-16332435);border-radius:14px}.mobile-more button{display:flex;align-items:center;gap:10px;padding:13px;border:0;background:var(--tone-bg-f1f6ee);border-radius:8px;color:var(--green);font-size:12px}.metric-grid,.fund-command{grid-template-columns:1fr 1fr!important;gap:10px}.metric-grid>article,.fund-command>article{padding:16px;min-height:104px}.metric-grid>article strong,.fund-command>article strong{font-size:23px!important}.fund-command>article.fund-balance{grid-column:1/-1}.purchase-category-switch{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.purchase-category-switch>button{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:13px!important}.purchase-category-switch>button>i{display:none}.purchase-category-switch>button>span{min-width:0}.purchase-category-switch strong{font-size:13px}.purchase-category-switch small{font-size:9px}.purchase-category-switch b{font-size:12px}.whole-home-systems{padding:16px}.whole-home-systems>div{display:grid;grid-template-columns:1fr}.room-purchase-item dl,.whole-home-systems dl{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px}.room-purchase-layout{display:block}.room-purchase-layout aside{display:flex;gap:6px;overflow-x:auto;padding:8px 0;margin-bottom:15px;position:static}.room-purchase-layout aside>p{display:none}.room-purchase-layout aside button{min-width:max-content;padding:9px 13px}.room-purchase-groups>section>header{align-items:flex-start}.room-purchase-groups>section>header dl{gap:12px}.room-purchase-groups>section>header dd{font-size:14px}.room-purchase-groups>section>div{display:grid;grid-template-columns:1fr}.room-purchase-item footer{display:flex;flex-direction:column;align-items:flex-start}.room-purchase-item footer>span{width:100%;justify-content:flex-end}.purchase-toolbar{position:static}.purchase-toolbar>div{display:flex;flex-wrap:wrap;gap:6px}.purchase-toolbar>div button{min-height:36px;padding:8px 10px}.cost-group-head{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:14px}.cost-group-head dl{grid-column:2/4;grid-row:2;display:flex;justify-content:space-between;width:100%}.cost-group-head>b{grid-column:3;grid-row:1}.cost-group-head>span{grid-column:2}.cost-group-head dl>div{padding:0;border:0}.cost-table{overflow:visible!important}.cost-row{min-width:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:16px!important;gap:14px;border-bottom:1px solid var(--line)}.cost-label{display:none!important}.cost-row>div:first-child{grid-column:1/-1}.cost-row>label:before{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.cost-row>label:nth-child(2):before{content:'单位'}.cost-row>label:nth-child(3):before{content:'数量'}.cost-row>label:nth-child(4):before{content:'综合单价'}.cost-row>label:nth-child(5):before{content:'报价金额'}.cost-row>label:nth-child(6):before{content:'实际花销'}.cost-row>div:nth-child(9){grid-column:1/-1}.cost-row .cost-actions{grid-column:1/-1;justify-content:flex-end}.cost-group-controls{flex-wrap:wrap;gap:10px}.phase-cards>article{padding:16px}.phase-cards header{gap:10px}.phase-cards header h2{font-size:16px}.phase-cards header button{padding:8px;font-size:10px}.phase-fields{grid-template-columns:1fr 1fr}.phase-fields>label:first-child{grid-column:1/-1}.task-list{grid-template-columns:1fr!important}.unified-ledger-row{grid-template-columns:1fr 1fr;gap:14px}.unified-ledger-row>div:first-child{grid-column:1/-1}.unified-ledger-row>button{grid-column:1/-1;text-align:right}.unified-ledger-row>b{font-size:15px;text-align:left}.contract-reconcile{padding:16px}.contract-plan{padding:0}.contract-plan:before{display:none}.contract-plan li{display:grid;grid-template-columns:30px 1fr auto;gap:10px}.contract-plan li>em{grid-column:2}.contract-plan li>b{grid-column:3}.redesign-mask,.modal-mask{padding:12px}.redesign-dialog,.manager-modal{padding:22px;max-height:calc(100dvh - 24px);border-radius:14px}.redesign-dialog h2{font-size:22px}.quick-route-grid{gap:9px}.quick-route-grid>button{padding:14px}.quick-route-grid small{font-size:10px}.form-grid{grid-template-columns:1fr!important}.form-grid>label{grid-column:1/-1!important}.form-grid input,.form-grid select,.form-grid textarea,.redesign-dialog input,.redesign-dialog select{font-size:16px}.payment-dialog input{font-size:28px}.save-action{bottom:-22px}.installment-editor{overflow:visible}.installment-row{display:grid!important;grid-template-columns:1fr 1fr!important;min-width:0!important;padding:16px!important;gap:12px}.installment-row>label:first-of-type{grid-column:1/-1}.installment-row>i{font-size:14px}.installment-row>label{min-width:0}.installment-row input{width:100%;min-width:0;font-size:14px}.toast{bottom:90px}.reconciliation-strip{display:block;padding:16px}.reconciliation-strip dl{margin:16px 0}.hard-budget-table{overflow:auto}.auth-card{padding:28px}.auth-page{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.header-tools .header-primary:after,.header-tools .header-primary:before{content:none!important;display:none!important}.installment-editor>section{min-width:0;grid-template-columns:42px minmax(120px,1.2fr) 90px minmax(90px,1fr) minmax(120px,1fr) minmax(120px,1fr) 54px}.network-system-summary{color:var(--ink)}.system-card-title>i,.room-purchase-item>header>i{font-family:inherit;background:var(--tone-bg-e9f2e7);color:var(--green);font-size:13px}.whole-home-systems footer>small{overflow-wrap:anywhere}.manager-sidebar nav button svg{width:20px;height:20px}.auth-page h1{font-family:inherit!important}
@media(max-width:760px){.installment-editor{overflow:visible}.installment-editor>header{display:grid}.installment-editor>section{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;min-width:0}.installment-editor>section>label:first-of-type{grid-column:1/-1}.installment-editor input{min-width:0;font-size:16px!important}.manager-header .sync-badge{font-size:10px!important}.header-tools{gap:8px}}
.manager-modal .form-submit{position:sticky;bottom:-28px;z-index:3;width:100%;background:var(--green);color:var(--tone-text-ffffff);border:6px solid var(--tone-border-ffffff);border-radius:10px;padding:13px 18px;margin-top:22px;min-height:54px;box-shadow:0 -8px 16px var(--tone-shadow-ffffff)}.manager-modal form{position:relative}.room-purchase-item .tag,.system-card-title .tag{white-space:nowrap}
@media(max-width:760px){.manager-modal .form-submit{bottom:-22px}}
@media(max-width:760px){.purchase-category-switch>button.soft{grid-column:auto!important}.purchase-category-switch>button{width:auto!important}.purchase-category-switch>button>span{width:100%}.purchase-category-switch>button small{line-height:1.5}.cost-toolbar{flex-wrap:wrap;gap:10px}.cost-toolbar>span{font-size:11px}}
.fund-command{background:transparent!important;border:0!important;border-radius:0;overflow:visible}.fund-command>article{box-shadow:none!important}.purchase-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.purchase-metrics>article:first-child,.purchase-metrics>article:last-child{display:none}.whole-home-systems>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:3px 0}.whole-home-systems>summary::-webkit-details-marker{display:none}.whole-home-systems>summary:after{content:'展开 ＋';color:var(--green);white-space:nowrap;font-size:12px}.whole-home-systems[open]>summary:after{content:'收起 −'}.whole-home-systems>summary h2{font-size:16px;font-weight:650;margin:0}.whole-home-systems>summary p{display:none}.whole-home-systems>summary>span{font-size:11px;color:var(--muted);flex:1}.whole-home-systems[open]>div{margin-top:18px}.whole-home-systems{margin:16px 0}.whole-home-systems>summary:focus-visible{outline:3px solid var(--tone-border-77a48c);outline-offset:5px}
@media(max-width:760px){.purchase-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.purchase-metrics>article{padding:13px 10px;min-height:90px}.purchase-metrics>article strong{font-size:clamp(14px,3.5vw,22px)!important}.purchase-metrics>article small{font-size:9px}.whole-home-systems>summary>span{display:none}}
@media(max-width:760px){.cost-row>label{display:flex;flex-wrap:wrap;align-content:start;align-items:center;gap:0;min-width:0}.cost-row>label:before{flex:0 0 100%;white-space:nowrap;line-height:1.6}.cost-row>label>input:not([type=checkbox]){flex:1;width:calc(100% - 16px);min-width:0;min-height:38px;padding:6px;font-family:inherit;font-size:15px;background:var(--tone-bg-ffffff80)}.cost-row>label:nth-child(8){grid-column:1/-1}.cost-row>label:nth-child(8):before{content:none}.cost-row>label:nth-child(8)>input{flex:none}.cost-row>div:nth-child(7){font-size:11px;align-self:end;padding-bottom:6px}}

/* Apple-inspired neutral surfaces with restrained blue accents. */
:root{color-scheme:light;--paper:#f5f5f7;--ink:#1d1d1f;--muted:#6e6e73;--card:#fff;--line:#dedee3;--green:#0071e3;--green2:#007aff;--orange:#007aff;--red:#c9342d;--danger:#c9342d;--surface:#fff;--surface-soft:#f5f5f7;--accent-soft:#edf5ff;--hero:#fff;--on-accent:#fff}
:root[data-theme=dark]{color-scheme:dark;--paper:#000;--ink:#f5f5f7;--muted:#a1a1a6;--card:#1c1c1e;--line:#38383a;--green:#0a84ff;--green2:#409cff;--orange:#409cff;--red:#ff6961;--danger:#ff6961;--surface:#1c1c1e;--surface-soft:#2c2c2e;--accent-soft:#102a43;--hero:#1c1c1e;--on-accent:#fff}
body,.redesign-v2{background:var(--paper);color:var(--ink)}
.redesign-v2 .view-page{width:100%;max-width:1160px;margin-inline:auto;padding:32px;box-sizing:border-box;min-width:0}
.redesign-v2 .manager-header{width:100%;max-width:1160px;margin-inline:auto;box-sizing:border-box;padding:16px 32px;background:var(--paper);gap:16px;align-items:center}
.redesign-v2 .manager-main{min-width:0;display:block}
.redesign-v2 .manager-sidebar,.redesign-dialog,.manager-modal{background:var(--surface);color:var(--ink)}
.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-title>div{min-width:0}.page-title h1{line-height:1.35}.page-title>.main-action{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;line-height:1.2;margin:0;white-space:nowrap}
.manager-header .header-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px}.header-tools>.theme-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);line-height:1;font-size:12px;white-space:nowrap}
.header-tools .header-primary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;line-height:1;white-space:nowrap;color:var(--on-accent)!important}.main-action,.form-submit,.auth-submit,.dialog-buttons .primary,.todo-add>button{color:var(--on-accent)!important}
.budget-hero,.construction-hero{background:var(--hero)!important;color:#fff7ee!important}.hero-number,.budget-hero .hero-top span,.hero-foot,.budget-hero button,.construction-hero strong,.construction-hero small,.construction-hero span,.construction-hero b{color:#fff0e3!important}.budget-track i{background:#f4ba82}.budget-track{background:#ffffff26}.hero-foot span:last-child{background:#ffffff1a}.sidebar-progress{background:var(--surface-soft)}
.surface,.summary-metric,.attention-grid>button,.metric-grid>article,.fund-command>article,.module-card,.dash-card,.phase-cards>article,.cost-group,.contract-card,.todo-section,.todo-add,.purchase-toolbar,.room-purchase-item,.whole-home-systems>div>article,.network-system-folder,.network-system-row{background:var(--surface)!important;color:var(--ink);border-color:var(--line)!important}
.summary-metric.warning,.metric-danger{background:var(--accent-soft)!important}.overview-note,.payment-summary,.whole-home-systems,.phase-cards>article.phase-collapsed{background:var(--surface-soft)!important;color:var(--ink)}.source-line,.follow-line{color:var(--ink);border-color:var(--line)}.source-line:hover,.follow-line:hover,.attention-grid>button:hover{background:var(--accent-soft)!important}.quick-route-grid>button,.dialog-buttons>button{background:var(--surface);color:var(--ink);border-color:var(--line)}.quick-route-grid>button:hover{background:var(--accent-soft)}
input:not([type=checkbox]):not([type=file]),select,textarea{background:var(--surface);color:var(--ink);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}.manager-header>div:first-child input{background:transparent;border-color:transparent;color:var(--ink)}.form-grid label,.phase-fields label,.quick-pick-list small,.muted{color:var(--muted)}
.mobile-nav{background:var(--surface);border-color:var(--line)}.mobile-nav button{color:var(--muted)}.mobile-nav button.active{background:var(--accent-soft);color:var(--green)}.mobile-more{background:var(--surface);border-color:var(--line)}.mobile-more button{background:var(--surface-soft);color:var(--green)}
.manager-modal .modal-x,.dialog-close{box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;padding:0!important;display:grid!important;place-items:center;line-height:1;align-items:center;justify-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted);transform:none!important;overflow:visible}
.manager-modal .modal-x{position:sticky;top:0;right:0;float:none;margin:0 0 -36px auto!important;z-index:5}.manager-modal h2,.redesign-dialog h2{padding-right:42px;line-height:1.4}.dialog-close{position:absolute;top:20px;right:20px}.modal-x svg,.dialog-close svg{display:block;margin:0;flex:none;pointer-events:none}
.manager-modal .form-submit{border-color:var(--surface)!important;box-shadow:0 -8px 16px var(--surface);display:flex;align-items:center;justify-content:center;line-height:1.2}.dialog-buttons{align-items:center}.dialog-buttons button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.2}.outstanding-amount{display:grid;gap:5px;text-align:right;white-space:nowrap}.quick-pick-list>button{color:var(--ink)}.quick-pick-list>button:hover{background:var(--surface-soft)}
.room-purchase-item footer>span,.whole-home-systems footer>span{display:flex;align-items:center;justify-content:flex-end;gap:7px}.room-purchase-item footer button,.whole-home-systems footer button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;padding:8px 11px}.tag{display:inline-flex;align-items:center;justify-content:center;min-height:25px;line-height:1.2}.cost-actions{align-items:center}.cost-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center}.phase-cards header{align-items:center}.phase-cards header>button{margin-left:auto;min-height:36px}.phase-cards header>div{min-width:0}.phase-disclosure{min-height:36px;display:flex;align-items:center;justify-content:center}.todo-add{align-items:center}.todo-add>button{min-height:42px}
.installment-editor>header{background:var(--hero)}.installment-editor>section,.installment-editor>section.done{background:var(--surface-soft);border-color:var(--line)}.auth-page{background:var(--paper)}.auth-card{background:var(--surface);color:var(--ink);border-color:var(--line)}.auth-card h1{color:var(--ink)}.auth-card input{background:var(--surface-soft);color:var(--ink)}.theme-toggle:hover{border-color:var(--green)}
@media(min-width:1160px){.redesign-v2{grid-template-columns:208px minmax(0,1fr)}.header-tools>button{white-space:nowrap}}
@media(max-width:760px){.redesign-v2 .view-page{padding:24px 18px}.redesign-v2 .manager-header{padding:12px 18px;min-height:70px}.manager-header>div:first-child input{width:min(145px,29vw)}.page-title{align-items:flex-start;gap:12px}.page-title>.main-action{min-height:38px;font-size:12px;padding:10px 12px}.header-tools>.theme-toggle{width:38px;height:38px;min-height:38px;padding:0}.theme-toggle span{display:none}.header-tools .header-primary{min-height:38px;padding:10px 12px}.manager-header .header-tools{gap:7px}.manager-header .sync-badge{display:none!important}.redesign-dialog,.manager-modal{padding:22px}.page-title h1{font-size:23px}.overview-v2 .page-title>.main-action{display:none}.attention-grid>button{min-height:125px}.surface .section-heading{align-items:center}.dialog-close{right:18px;top:18px}}
@media(max-width:400px){.header-tools .header-primary{font-size:12px;padding:10px}.manager-header>div:first-child input{width:120px}.attention-grid small{font-size:10px}.page-title>div{flex:1}.page-title h1{font-size:21px}.quick-route-grid{grid-template-columns:1fr}.quick-route-grid>button{display:grid;grid-template-columns:22px 1fr;align-items:center}.quick-route-grid>button svg{grid-row:1/3;margin:0}.quick-route-grid>button small{grid-column:2}.outstanding-amount{font-size:12px}}

.budget-hero,.construction-hero{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:0 3px 16px #00000004}
.hero-number,.budget-hero .hero-top span,.hero-foot,.budget-hero button,.construction-hero strong,.construction-hero small,.construction-hero span,.construction-hero b{color:var(--ink)!important}
.budget-hero .hero-top span,.hero-foot{color:var(--muted)!important}.budget-hero button{color:var(--green)!important}.budget-track{background:var(--surface-soft)}.budget-track i,.construction-line i{background:var(--green)!important}.hero-foot span:last-child{background:var(--surface-soft);color:var(--ink)}
.summary-metric.warning,.metric-danger{background:var(--surface)!important}.summary-metric.warning strong,.metric-danger strong{color:var(--danger)!important}
.manager-brand>span{background:var(--ink);color:var(--surface)}.redesign-v2 .manager-sidebar nav button{color:var(--muted)}.redesign-v2 .manager-sidebar nav button.active{background:var(--accent-soft);color:var(--green)}
input[type=checkbox]{accent-color:var(--green)}.manager-sidebar,.manager-header,.view-page,.manager-modal,.redesign-dialog{font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif}

/* Layered translucent material, intentionally limited around dense financial content. */
:root{--glass:rgba(255,255,255,.67);--glass-strong:rgba(255,255,255,.91);--glass-edge:rgba(255,255,255,.9);--glass-line:rgba(80,105,140,.16);--glass-shadow:0 10px 35px rgba(32,65,100,.09),inset 0 1px 0 rgba(255,255,255,.95);--glass-hover:rgba(255,255,255,.9);--glass-selected:rgba(0,113,227,.12);--glass-highlight:rgba(255,255,255,.85);--glass-background:radial-gradient(ellipse at 7% 8%,rgba(125,190,255,.18),transparent 45%),radial-gradient(ellipse at 95% 65%,rgba(157,220,236,.16),transparent 45%),#f5f5f7}
:root[data-theme=dark]{--glass:rgba(33,36,43,.69);--glass-strong:rgba(27,29,34,.93);--glass-edge:rgba(255,255,255,.17);--glass-line:rgba(255,255,255,.12);--glass-shadow:0 12px 40px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.12);--glass-hover:rgba(56,61,73,.85);--glass-selected:rgba(10,132,255,.22);--glass-highlight:rgba(255,255,255,.16);--glass-background:radial-gradient(ellipse at 0% 0%,rgba(45,105,190,.18),transparent 45%),radial-gradient(ellipse at 100% 75%,rgba(50,110,140,.13),transparent 45%),#080a0e}
body,.redesign-v2{background:var(--glass-background);background-attachment:fixed}.redesign-v2{background-color:transparent}
.redesign-v2 .manager-header{width:calc(100% - 32px);max-width:1096px;margin:14px auto 0;top:14px;border:1px solid var(--glass-edge);outline:1px solid var(--glass-line);border-radius:22px;padding:13px 20px;background:var(--glass);-webkit-backdrop-filter:blur(28px) saturate(160%);backdrop-filter:blur(28px) saturate(160%);box-shadow:var(--glass-shadow);isolation:isolate}
.redesign-v2 .manager-sidebar{background:var(--glass);-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);border-right:1px solid var(--glass-edge);box-shadow:inset -1px 0 0 var(--glass-line)}
.redesign-v2 .manager-sidebar nav button{border:1px solid transparent;border-radius:14px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.redesign-v2 .manager-sidebar nav button.active{background:var(--glass-selected);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-highlight),0 3px 10px rgba(0,80,170,.05)}.redesign-v2 .manager-sidebar nav button:hover{background:var(--glass-hover)}
.header-tools>.theme-toggle,.dialog-close,.manager-modal .modal-x,.room-purchase-item footer button,.whole-home-systems footer button,.phase-disclosure{background:linear-gradient(155deg,var(--glass-highlight),transparent 65%),var(--glass);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-edge),0 3px 9px rgba(25,55,90,.04);border-radius:999px;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.header-tools .header-primary,.main-action,.dialog-buttons .primary,.manager-modal .form-submit,.auth-submit{background:linear-gradient(165deg,rgba(255,255,255,.24),rgba(255,255,255,0) 65%),var(--green)!important;border:1px solid rgba(255,255,255,.3)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 5px 14px rgba(0,113,227,.16)!important;border-radius:999px!important;transition:transform .16s ease,box-shadow .16s ease}
.header-tools .header-primary:active,.main-action:active,.theme-toggle:active,.dialog-buttons button:active{transform:scale(.97)}
.budget-hero{background:linear-gradient(150deg,var(--glass-highlight),transparent 70%),var(--glass-strong)!important;border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.summary-metric,.surface,.attention-grid>button{background:var(--glass-strong)!important;border:1px solid var(--glass-line)!important;box-shadow:inset 0 1px 0 var(--glass-edge),0 4px 18px rgba(25,55,90,.025);border-radius:18px}.attention-grid>button{transition:transform .18s ease,box-shadow .18s ease}.attention-grid>button:hover{transform:translateY(-2px);box-shadow:var(--glass-shadow);background:var(--glass-strong)!important}.attention-grid>button:active{transform:translateY(0)}
.redesign-mask,.modal-mask{background:rgba(30,45,65,.2);-webkit-backdrop-filter:blur(9px) saturate(110%);backdrop-filter:blur(9px) saturate(110%)}
:root[data-theme=dark] .redesign-mask,:root[data-theme=dark] .modal-mask{background:rgba(0,0,0,.35)}
.redesign-dialog,.manager-modal{background:var(--glass-strong);border:1px solid var(--glass-edge);outline:1px solid var(--glass-line);box-shadow:0 28px 90px rgba(10,25,50,.24),inset 0 1px 0 var(--glass-edge);-webkit-backdrop-filter:blur(32px) saturate(150%);backdrop-filter:blur(32px) saturate(150%);border-radius:25px}
.manager-modal .form-submit{border:6px solid var(--glass-strong)!important;box-shadow:0 -7px 18px var(--glass-strong)!important}.quick-route-grid>button{background:var(--glass);border-color:var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-edge);border-radius:15px}.quick-route-grid>button:hover{background:var(--glass-selected)}
.toast{background:var(--glass-strong);color:var(--ink);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:999px}
@media(max-width:760px){.redesign-v2{padding-bottom:96px}.redesign-v2 .manager-header{width:calc(100% - 24px);margin:10px auto 0;top:10px;min-height:64px;border-radius:20px;padding:11px 14px}.redesign-v2 .view-page{padding-top:25px}.mobile-nav{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:64px;padding:6px;gap:4px;border:1px solid var(--glass-edge);outline:1px solid var(--glass-line);border-radius:25px;background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%)}.mobile-nav button{border-radius:19px;min-width:0;transition:background .18s ease,transform .18s ease}.mobile-nav button.active{background:var(--glass-selected);box-shadow:inset 0 1px 0 var(--glass-edge)}.mobile-nav button:active{transform:scale(.95)}.mobile-more{bottom:calc(88px + env(safe-area-inset-bottom));background:var(--glass-strong);border-color:var(--glass-edge);border-radius:22px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.mobile-more button{border:1px solid var(--glass-line);background:var(--glass);border-radius:14px}.budget-hero{border-radius:21px}.redesign-dialog,.manager-modal{border-radius:23px}.toast{bottom:100px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.redesign-v2 .manager-header,.redesign-v2 .manager-sidebar,.mobile-nav,.mobile-more,.manager-modal,.redesign-dialog,.toast{background:var(--surface)!important}}
@media(prefers-reduced-transparency:reduce){.redesign-v2 .manager-header,.redesign-v2 .manager-sidebar,.mobile-nav,.mobile-more,.manager-modal,.redesign-dialog,.toast,.budget-hero{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.redesign-mask,.modal-mask{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(prefers-reduced-motion:reduce){.attention-grid>button,.manager-sidebar nav button,.header-primary,.main-action,.theme-toggle,.mobile-nav button{transition:none!important;transform:none!important}}

/* The refraction is a backdrop operation: controls and financial text remain undistorted. */
:root{--lens-tint:rgba(255,255,255,.25);--lens-panel:rgba(255,255,255,.78);--lens-rim:.92;--lens-cast:rgba(49,79,122,.17)}
:root[data-theme=dark]{--lens-tint:rgba(35,40,50,.28);--lens-panel:rgba(23,27,34,.82);--lens-rim:.72;--lens-cast:rgba(0,0,0,.4)}
.optical-glass{--lens-x:30%;--lens-y:15%;--lens-angle:135deg;isolation:isolate}
.optical-glass[data-optical-mode=refraction]{-webkit-backdrop-filter:var(--lens-filter) saturate(1.18)!important;backdrop-filter:var(--lens-filter) saturate(1.18)!important}
.redesign-v2 .manager-header.optical-glass,.mobile-nav.optical-glass{background:var(--lens-tint)!important;border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 1px 1px rgba(255,255,255,.65),inset 0 -1px 2px rgba(50,80,120,.2),0 12px 28px var(--lens-cast)}
.optical-glass::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;padding:1.5px;background:conic-gradient(from var(--lens-angle) at 50% 50%,rgba(255,255,255,.02) 0deg,rgba(255,255,255,.95) 45deg,rgba(165,211,255,.35) 75deg,rgba(255,255,255,.05) 120deg,rgba(255,255,255,.75) 220deg,rgba(205,230,255,.18) 260deg,rgba(255,255,255,.03) 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:var(--lens-rim)}
.optical-glass::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background-image:var(--lens-spec),radial-gradient(ellipse at var(--lens-x) var(--lens-y),rgba(255,255,255,.22),transparent 55%);background-size:100% 100%;background-repeat:no-repeat;mix-blend-mode:screen;opacity:.5}
.manager-header.optical-glass>*,.mobile-nav.optical-glass>*{position:relative;z-index:2}
.theme-toggle.optical-glass{position:relative;background:var(--lens-tint)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.65),0 3px 10px var(--lens-cast)}
.dialog-close.optical-glass,.modal-x.optical-glass{background:var(--lens-tint)!important}
.redesign-dialog.optical-glass,.manager-modal.optical-glass{background:var(--lens-panel)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.75),inset 0 -1px 2px rgba(40,70,100,.15),0 30px 90px var(--lens-cast)}
.redesign-mask,.modal-mask{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(20,30,45,.18)}
.redesign-dialog.optical-glass>*,.manager-modal.optical-glass>*{position:relative;z-index:2}.redesign-dialog.optical-glass>.dialog-close{position:absolute}.manager-modal.optical-glass>.modal-x{position:sticky}
.optical-glass[data-optical-mode=rim-fallback]{-webkit-backdrop-filter:blur(8px) saturate(1.4)!important;backdrop-filter:blur(8px) saturate(1.4)!important}
@media(prefers-reduced-transparency:reduce){.optical-glass::before,.optical-glass::after{display:none}.optical-glass{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(prefers-reduced-motion:reduce){.optical-glass{--lens-angle:135deg!important}}
/* Keep a clear center plate for the form while the outer 12px remains a refractive bezel. */
.redesign-dialog.optical-glass,.manager-modal.optical-glass{background:var(--lens-tint)!important}
.redesign-dialog.optical-glass::after,.manager-modal.optical-glass::after{inset:12px;border-radius:16px;background:var(--surface);opacity:1;mix-blend-mode:normal;filter:blur(5px)}
/* Preserve navigation contrast where large amount text scrolls under the lens. */
.mobile-nav.optical-glass{background:rgba(255,255,255,.24)!important}
:root[data-theme=dark] .mobile-nav.optical-glass{background:rgba(24,28,35,.30)!important}

.mobile-nav.optical-glass::after{opacity:.22}
.mobile-nav.optical-glass button{color:var(--ink);text-shadow:0 1px 3px var(--surface)}
.mobile-nav.optical-glass button.active{color:var(--green);background:var(--glass-selected)}
@media(prefers-reduced-transparency:reduce){.mobile-nav.optical-glass{background:var(--surface)!important}}

/* Close controls must stay above the overlapping full-width form. */
.manager-modal.optical-glass>.modal-x,.manager-modal>.modal-x{z-index:30!important;pointer-events:auto!important;touch-action:manipulation;min-width:44px;min-height:44px;width:44px;height:44px;margin-bottom:-44px!important}
.redesign-dialog.optical-glass>.dialog-close{z-index:30!important;pointer-events:auto!important;min-width:44px;min-height:44px;width:44px;height:44px}
.manager-modal>form{z-index:2!important}.manager-modal .modal-x svg,.dialog-close svg{pointer-events:none!important}
@keyframes jx-dialog-in{0%{opacity:0;transform:translateY(22px) scale(.94)}65%{opacity:1;transform:translateY(-2px) scale(1.008)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jx-mask-in{from{opacity:0}to{opacity:1}}
.redesign-mask,.modal-mask{animation:jx-mask-in 160ms ease-out both}.redesign-dialog,.manager-modal{animation:jx-dialog-in 380ms cubic-bezier(.2,.75,.2,1) both;transform-origin:50% 45%}
button{transition:transform 250ms cubic-bezier(.2,.9,.25,1.5),background-color 160ms ease,box-shadow 160ms ease}
button:active{transform:scale(.965)}.manager-modal .modal-x:active,.dialog-close:active{transform:scale(.88)!important}.manager-modal .modal-x:hover,.dialog-close:hover{box-shadow:inset 0 1px 0 var(--glass-edge),0 4px 14px var(--lens-cast)}
/* One continuous selection plate, moved between navigation items. */
.mobile-nav{--nav-x:0px;--nav-w:0px}.mobile-nav .nav-selection{position:absolute!important;left:0;top:6px;bottom:6px;width:var(--nav-w);height:auto;background:var(--glass-selected);border:1px solid var(--glass-edge);border-radius:19px;box-shadow:inset 0 1px 0 var(--glass-highlight);transform:translateX(var(--nav-x));transition:transform 420ms cubic-bezier(.2,.9,.25,1.16),width 300ms ease;pointer-events:none;z-index:1!important}
.mobile-nav:has(.nav-selection) button.active{background:transparent!important;box-shadow:none!important}.mobile-nav button{z-index:2;transition:color 160ms ease,transform 240ms cubic-bezier(.2,.9,.25,1.5)}.mobile-nav button:active{transform:scale(.9)}
@media(prefers-reduced-motion:reduce){.redesign-mask,.modal-mask,.redesign-dialog,.manager-modal{animation:none!important}.mobile-nav .nav-selection,button{transition:none!important;transform:none}.mobile-nav .nav-selection{transform:translateX(var(--nav-x))}}

/* Scrollable financial dialogs use a continuous opaque surface. A backdrop lens
   on a scrolling container only paints its viewport and can expose content. */
.redesign-dialog,.manager-modal{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate;box-sizing:border-box;overflow-x:hidden;overscroll-behavior:contain}
.redesign-dialog::before,.redesign-dialog::after,.manager-modal::before,.manager-modal::after{display:none!important}
section.redesign-dialog{display:flex;flex-direction:column;overflow:hidden}
section.redesign-dialog>.quick-pick-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;scrollbar-gutter:stable;padding-right:6px}
section.redesign-dialog>.dialog-close{position:absolute;right:18px;top:18px;z-index:30!important;background:var(--surface-soft)!important}
section.redesign-dialog>h2,section.redesign-dialog>.eyebrow,section.redesign-dialog>.muted,section.redesign-dialog>.quick-route-grid{flex-shrink:0}
.manager-modal>.modal-x{background:var(--surface)!important}
/* Keep keyboard focus visible within independently scrolling lists. */
.quick-pick-list input:focus,.quick-pick-list input:focus-visible{outline:2px solid var(--green)!important;outline-offset:-3px!important;box-shadow:none!important}
section.redesign-dialog>.quick-pick-list{padding-left:4px;padding-right:10px}

.workspace{--row-gap:18px}.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.workspace-head h1{font-size:30px;letter-spacing:-.04em;margin:7px 0 10px}.workspace-head p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.workspace-head .eyebrow{font-size:11px;color:var(--green)}
.workspace button,.workspace input,.workspace select,.workspace textarea{font:inherit;box-sizing:border-box}.workspace button{cursor:pointer}.workspace .main-action{flex-shrink:0}.workspace-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:0 0 24px}.workspace-metric{padding:24px;background:var(--surface);display:grid;gap:10px;min-width:0}.workspace-metric>span{font-size:12px;color:var(--muted)}.workspace-metric>strong{font-size:27px;font-weight:650;letter-spacing:-.04em;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.workspace-metric>small{font-size:11px;color:var(--muted);line-height:1.7}.workspace .attention>strong,.workspace .workspace-cell.attention>span{color:var(--danger)}
.workspace-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:24px;min-width:0}.workspace-toolbar,.workspace-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.workspace-panel-head h2{font-size:19px;margin:4px 0 8px}.workspace-panel-head p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.workspace-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.workspace-tabs button{display:flex;align-items:center;gap:7px;padding:9px 12px;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);white-space:nowrap;font-size:12px}.workspace-tabs button span{font-size:10px;background:var(--surface-soft);padding:2px 6px;border-radius:5px}.workspace-tabs button.selected{background:var(--accent-soft);color:var(--green);font-weight:650}.workspace-toolbar.secondary{padding-top:14px;padding-bottom:14px;background:var(--surface-soft)}.workspace-toolbar input,.workspace-toolbar select{border:1px solid var(--line);border-radius:10px;min-height:42px;padding:9px 12px;min-width:0;font-size:12px;background:var(--surface)}.workspace-search{width:260px;max-width:100%}.result-count{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.workspace button:focus-visible,.workspace input:focus-visible,.workspace select:focus-visible{outline:2px solid var(--green);outline-offset:-3px}
.workspace-row{display:grid;gap:var(--row-gap);align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);min-width:0}.workspace-row:last-child{border-bottom:0}.workspace-row:hover{background:var(--surface-soft)}.purchases-table .workspace-row,.source-table .workspace-row,.installment-table .workspace-row{grid-template-columns:minmax(160px,1.8fr) repeat(4,minmax(85px,.8fr)) minmax(115px,1fr)}.costs-table .workspace-row,.expense-table .workspace-row{grid-template-columns:minmax(190px,2fr) repeat(3,minmax(100px,1fr)) minmax(110px,1.2fr)}.todos-table .workspace-row{grid-template-columns:minmax(180px,2fr) repeat(2,minmax(90px,.7fr)) minmax(150px,1fr)}.workspace-name,.workspace-cell{display:grid;gap:7px;min-width:0}.workspace-name strong{font-size:14px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.workspace-name small{font-size:11px;line-height:1.7;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workspace-cell small{font-size:10px;color:var(--muted)}.workspace-cell>span{font-size:13px;font-variant-numeric:tabular-nums;line-height:1.6}.workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.workspace-actions button,.workspace-toolbar>button,.workspace-panel-head>button,.workspace-callout button,.phase-add-check button{border:1px solid var(--line);background:var(--surface);color:var(--green);min-height:36px;border-radius:9px;padding:7px 10px;font-size:11px;white-space:nowrap}.workspace .row-primary{background:var(--green);color:white;border:1px solid var(--green)}.state-pill{display:inline-flex;align-items:center;padding:4px 8px;font-size:10px;line-height:1.5;border-radius:6px;background:var(--surface-soft);color:var(--muted);white-space:nowrap}.state-pill.ordered,.state-pill.delivered{color:var(--green);background:var(--accent-soft)}.state-pill.installed{background:var(--surface-soft);color:var(--muted)}.workspace-empty{min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);padding:30px;font-size:13px;text-align:center}.workspace-empty p{margin:0;font-size:12px}.workspace-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;margin-bottom:24px}.workspace-callout strong{font-size:13px;font-weight:600}.workspace-callout p{font-size:12px;color:var(--muted);line-height:1.8;margin:5px 0 0}.workspace-note{padding:20px 24px;font-size:12px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);margin:0}
.budget-workspace-top{display:grid;grid-template-columns:270px 1fr;gap:20px;margin-bottom:24px}.budget-workspace-top .workspace-metrics{margin:0}.budget-plan{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:24px}.budget-plan>span{font-size:12px;color:var(--muted)}.budget-plan label{display:flex;align-items:center;margin:18px 0;gap:8px;font-size:27px;font-weight:650}.budget-plan input{min-width:0;width:100%;border:0;border-bottom:1px dashed var(--line);padding:5px 0;font-size:30px;font-weight:650;background:transparent}.budget-plan p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.budget-workspace-top .workspace-metric{padding:24px 18px}.budget-workspace-top .workspace-metric strong{font-size:24px}.source-share{height:22px;position:relative;display:flex;align-items:center;min-width:70px;background:var(--surface-soft);border-radius:5px;overflow:hidden}.source-share i{height:100%;background:var(--accent-soft);position:absolute;left:0;top:0}.source-share span{position:relative;padding:0 7px;font-size:10px;color:var(--green)}.contract-sheet-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:24px;padding:20px 24px;background:var(--surface-soft)}.contract-sheet-summary strong{font-size:27px;letter-spacing:-.03em}.contract-sheet-summary span{font-size:12px;color:var(--muted)}
.construction-split{display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px;align-items:start}.phase-navigator{display:grid;gap:6px;position:sticky;top:115px}.phase-navigator button{display:flex;align-items:center;gap:12px;padding:15px 12px;min-width:0;text-align:left;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:12px}.phase-navigator button.selected{background:var(--surface);border-color:var(--line);box-shadow:0 3px 9px #00000004}.phase-navigator button>i{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line);border-radius:50%;font-size:11px;font-style:normal}.phase-navigator button.selected>i{background:var(--green);border-color:var(--green);color:white}.phase-navigator button>span{display:grid;gap:6px;flex:1}.phase-navigator strong{font-size:12px}.phase-navigator small{font-size:10px;color:var(--muted)}.phase-detail .workspace-panel-head>label{font-size:11px;color:var(--muted);display:grid;gap:7px}.phase-detail select,.phase-detail input:not([type=checkbox]),.phase-detail textarea{border:1px solid var(--line);padding:10px;border-radius:9px;min-height:42px;min-width:0;width:100%;font-size:12px}.phase-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px;border-bottom:1px solid var(--line)}.phase-meta label{display:grid;gap:9px;font-size:11px;color:var(--muted)}.phase-check-title{font-size:14px;margin:24px 24px 8px}.phase-checks{padding:0 24px}.phase-checks label{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7;cursor:pointer}.phase-checks input{width:18px;height:18px;flex-shrink:0}.phase-checks .complete{color:var(--muted)}.phase-checks .complete span{text-decoration:line-through}.phase-add-check{display:flex;gap:10px;margin:20px 24px}.phase-add-check input{flex:1}.phase-notes{display:grid;gap:12px;margin:24px;font-size:12px;color:var(--muted)}.phase-notes textarea{min-height:110px;resize:vertical}.todo-compose{display:flex;gap:10px;padding:20px;flex-wrap:wrap}.todo-compose input,.todo-compose select{border:1px solid var(--line);border-radius:9px;padding:10px;min-height:44px;min-width:0;font-size:12px}.todo-compose input:first-child{flex:1;min-width:200px}.todo-compose button{border-radius:9px;padding:10px 16px;min-height:44px;font-size:12px}
@media(min-width:761px) and (max-width:1250px){.workspace-row{--row-gap:12px;padding:18px}.purchases-table .workspace-row,.source-table .workspace-row,.installment-table .workspace-row{grid-template-columns:minmax(130px,1.5fr) repeat(4,minmax(65px,.75fr)) 100px}.costs-table .workspace-row,.expense-table .workspace-row{grid-template-columns:minmax(150px,1.5fr) repeat(3,minmax(75px,.8fr)) 100px}.workspace-actions{flex-direction:column;align-items:stretch}.budget-workspace-top{grid-template-columns:1fr}.budget-plan{display:flex;align-items:center;gap:24px}.budget-plan label{margin:0;max-width:230px}.construction-split{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:760px){.workspace-head{align-items:flex-start;gap:12px;margin-bottom:22px}.workspace-head h1{font-size:25px}.workspace-head p{font-size:12px}.workspace-head .main-action{padding:10px;min-height:40px;font-size:11px}.workspace-head .eyebrow{font-size:10px}.workspace-metrics{grid-template-columns:1fr;gap:0;border-radius:16px;margin-bottom:18px}.workspace-metric{grid-template-columns:minmax(90px,.9fr) minmax(0,1.3fr);gap:6px 12px;padding:16px 18px;border-bottom:1px solid var(--line);align-items:center}.workspace-metric:last-child{border:0}.workspace-metric>strong{font-size:23px;grid-column:2;grid-row:1/3;text-align:right}.workspace-metric>small{grid-column:1;font-size:10px}.workspace-metric>span{font-size:11px}.workspace-panel{border-radius:16px;margin-bottom:18px}.workspace-toolbar,.workspace-panel-head{padding:16px;gap:12px;flex-wrap:wrap}.workspace-tabs{gap:5px}.workspace-tabs button{padding:8px;font-size:11px}.workspace-toolbar.secondary{padding:12px 16px;flex-wrap:wrap}.workspace-search{width:100%;flex:1;min-width:130px!important}.workspace-toolbar select{max-width:145px}.workspace-toolbar .result-count{width:100%;margin:0}.workspace-row,.purchases-table .workspace-row,.costs-table .workspace-row,.source-table .workspace-row,.installment-table .workspace-row,.expense-table .workspace-row,.todos-table .workspace-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;padding:20px 16px}.workspace-name{grid-column:1/-1}.workspace-name strong{font-size:15px}.workspace-cell small{font-size:10px}.workspace-cell>span{font-size:13px}.workspace-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}.workspace-actions button{min-height:40px;padding:9px 14px;font-size:12px}.workspace-callout{padding:16px;align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:18px}.workspace-callout p{font-size:11px}.budget-workspace-top{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.budget-workspace-top .workspace-metric{padding:16px 18px}.budget-plan{border-radius:16px;padding:20px}.budget-plan label{margin:12px 0}.budget-plan input{font-size:32px}.contract-sheet-summary{padding:18px 16px;gap:12px 22px}.contract-sheet-summary strong{width:100%;font-size:26px}.construction-split{grid-template-columns:1fr;gap:14px}.phase-navigator{display:flex;position:static;overflow-x:auto;gap:6px;padding-bottom:5px}.phase-navigator button{flex-shrink:0;min-width:145px;padding:10px}.phase-navigator button>small{display:none}.phase-navigator button>i{width:24px;height:24px}.phase-meta{padding:16px;grid-template-columns:1fr 1fr;gap:14px}.phase-meta label:first-child{grid-column:1/-1}.phase-check-title{margin:20px 16px 8px}.phase-checks{padding:0 16px}.phase-add-check{margin:18px 16px}.phase-notes{margin:18px 16px}.todo-compose{padding:16px;gap:10px}.todo-compose input:first-child{flex-basis:100%;width:100%}.todo-compose select,.todo-compose input[type=date]{flex:1;width:45%}.todo-compose button{flex:1}.todo-workspace .workspace-toolbar>.workspace-search{flex-basis:100%}}
@media(max-width:760px){.workspace-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.workspace-metric,.budget-workspace-top .workspace-metric{display:flex;flex-direction:column;align-items:flex-start;padding:14px 10px;border:0;gap:8px}.workspace-metric>strong{font-size:18px;text-align:left;min-height:24px}.workspace-metric>span{font-size:10px}.workspace-metric>small{font-size:9px;line-height:1.5}.construction-workspace .workspace-metric>strong{font-size:17px}}
@media(min-width:761px) and (max-width:1050px){.workspace-row,.purchases-table .workspace-row,.costs-table .workspace-row,.source-table .workspace-row,.installment-table .workspace-row,.expense-table .workspace-row,.todos-table .workspace-row{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-name{grid-column:1/-1}.workspace-actions{grid-column:1/-1;flex-direction:row}.workspace-metric{padding:18px 12px}.workspace-metric>strong{font-size:21px}.construction-split{grid-template-columns:1fr}.phase-navigator{position:static;display:flex;overflow-x:auto}.phase-navigator button{flex-shrink:0;min-width:150px}}
.phase-navigator{scrollbar-width:none}.phase-navigator::-webkit-scrollbar{display:none}
@media(max-width:760px){.workspace-metric>strong{font-size:16px;white-space:nowrap}.budget-workspace-top .workspace-metrics{grid-template-columns:1fr;gap:0}.budget-workspace-top .workspace-metric{display:grid;grid-template-columns:minmax(90px,.9fr) minmax(0,1.3fr);align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.budget-workspace-top .workspace-metric:last-child{border-bottom:0}.budget-workspace-top .workspace-metric>strong{grid-column:2;grid-row:1/3;text-align:right;font-size:22px;white-space:nowrap}.budget-workspace-top .workspace-metric>small{grid-column:1}}
@media(max-width:760px){.todo-compose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.todo-compose input:first-child{grid-column:1/-1;min-width:0}.todo-compose select,.todo-compose input[type=date],.todo-compose button{width:100%;min-width:0}.todo-compose button{white-space:nowrap}}
/* Dense ledgers: one column heading, short rows, detail on demand. */
.workspace-head{margin-bottom:18px}.workspace-head h1{font-size:27px;margin:5px 0 7px}.workspace-head .eyebrow{display:none}.workspace-head p{font-size:12px}.workspace-metrics{margin-bottom:16px;border-radius:15px}.workspace-metric{padding:16px 20px;gap:6px}.workspace-metric>strong{font-size:24px}.workspace-metric>small{font-size:10px}.workspace-panel{border-radius:15px;margin-bottom:16px}.workspace-toolbar,.workspace-panel-head{padding:12px 18px}.workspace-toolbar.secondary{padding:10px 18px}.workspace-toolbar input,.workspace-toolbar select{min-height:36px;padding:7px 10px}.workspace-tabs button{min-height:34px;padding:7px 10px}.workspace-callout{padding:12px 18px;margin-bottom:16px}.cost-workspace .workspace-callout{display:none}.workspace-row{padding:9px 18px;min-height:46px;gap:14px}.workspace-cell>small{display:none}.workspace-cell>span{font-size:12px}.workspace-name strong{font-size:12px;line-height:1.5}.workspace-name small{font-size:10px;line-height:1.4}.costs-table .workspace-name small,.source-table .workspace-name small{display:none}.workspace-actions{flex-wrap:nowrap}.workspace-actions button{min-height:30px;font-size:11px;padding:5px 9px}.workspace-row.table-head{min-height:34px;padding-top:8px;padding-bottom:8px;background:var(--surface-soft);color:var(--muted);font-size:10px}.workspace-row.table-head>div:last-child{text-align:right}.workspace-row.table-head:hover{background:var(--surface-soft)}.compact-cost-groups>details{border-bottom:1px solid var(--line)}.compact-cost-groups>details:last-child{border-bottom:0}.compact-cost-groups summary{display:flex;align-items:center;gap:14px;padding:13px 18px;cursor:pointer;list-style:none;min-height:44px;box-sizing:border-box}.compact-cost-groups summary::-webkit-details-marker{display:none}.compact-cost-groups summary:before{content:'›';font-size:18px;color:var(--muted);width:12px}.compact-cost-groups details[open]>summary:before{transform:rotate(90deg)}.compact-cost-groups summary strong{font-size:12px;font-weight:600}.compact-cost-groups summary span{font-size:10px;color:var(--muted)}.compact-cost-groups summary b{margin-left:auto;font-size:12px;font-weight:500}.contract-sheet-summary{padding:12px 18px}.contract-sheet-summary strong{font-size:23px}.budget-plan{padding:18px}.budget-plan label{margin:10px 0}.workspace-panel-head h2{font-size:17px}.phase-meta{padding:18px}.phase-checks label{padding:9px 0}.phase-check-title{margin-top:18px}.workspace-note{padding:12px 18px}.workspace-metric.attention>strong{color:var(--danger)}
@media(min-width:761px) and (max-width:1250px){.workspace-row{padding:9px 16px}.workspace-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.workspace-actions button{padding:5px 7px}}
@media(min-width:761px) and (max-width:1050px){.workspace-row.table-head{display:none}.workspace-cell>small{display:block}}
@media(max-width:760px){.workspace-head h1{font-size:23px}.workspace-head{margin-bottom:16px}.workspace-metric,.budget-workspace-top .workspace-metric{padding:12px 10px}.workspace-metric>strong{font-size:16px}.workspace-row.table-head{display:none}.workspace-row,.purchases-table .workspace-row,.costs-table .workspace-row,.source-table .workspace-row,.installment-table .workspace-row,.expense-table .workspace-row,.todos-table .workspace-row{padding:14px 16px;gap:10px 16px}.workspace-cell>small{display:block;font-size:9px}.workspace-cell{gap:3px}.workspace-name{gap:3px}.workspace-name strong{font-size:13px}.workspace-actions{padding-top:9px}.workspace-actions button{min-height:36px;padding:7px 12px}.workspace-toolbar,.workspace-panel-head{padding:12px 16px}.workspace-metric>small{font-size:9px}.budget-workspace-top .workspace-metric>strong{font-size:21px}}
@media(min-width:1051px){.workspace-row:not(.table-head){min-height:40px;padding-top:6px;padding-bottom:6px}.workspace-actions button{min-height:28px;padding:4px 8px}.workspace-head{margin-bottom:14px}.workspace-head h1{margin:0 0 5px}.workspace-metric{padding:12px 18px;gap:5px}.workspace-metric>strong{font-size:23px}}

/* First view is for decisions; explanatory copy and archives stay secondary. */
.redesign-v2 .manager-sidebar{width:180px;padding:22px 14px}.redesign-v2{grid-template-columns:180px minmax(0,1fr)}.manager-sidebar nav button{min-height:44px;padding:11px 12px}.manager-sidebar nav button small,.manager-sidebar .sidebar-progress,.manager-sidebar .sidebar-footnote{display:none!important}.manager-sidebar .brand{margin-bottom:24px}.redesign-v2 .manager-header{max-width:1440px;min-height:56px;padding:10px 22px;border-radius:16px;margin-top:8px;top:8px}.manager-header>div:first-child>span,.manager-header>div:first-child>small{display:none}.redesign-v2 .view-page{max-width:1440px;padding:20px 22px}.workspace-head{margin:0 0 12px;min-height:34px}.workspace-head h1{font-size:22px;margin:0}.workspace-head p{display:none}.workspace-head .main-action{font-size:12px;padding:8px 14px;min-height:34px}.workspace-metrics{display:flex;align-items:stretch;background:var(--surface);border-radius:12px;gap:0;margin-bottom:12px;overflow:visible}.workspace-metric{flex:1;display:flex;flex-direction:row;align-items:baseline;gap:12px;padding:12px 18px;border-right:1px solid var(--line)}.workspace-metric:last-child{border-right:0}.workspace-metric>span{font-size:11px;white-space:nowrap}.workspace-metric>strong{font-size:21px;white-space:nowrap;letter-spacing:-.02em;min-height:0}.workspace-metric>small{display:none}.workspace-panel{border-radius:12px;margin-bottom:12px}.workspace-toolbar{border-bottom:0;padding:9px 14px}.workspace-toolbar.secondary{background:var(--surface);padding:0 14px 9px;justify-content:flex-start}.workspace-toolbar input,.workspace-toolbar select{min-height:32px;padding:6px 10px}.workspace-tabs button{min-height:30px;font-size:11px;padding:6px 10px}.workspace-toolbar .result-count{font-size:10px}.workspace-panel-head{padding:12px 16px}.workspace-panel-head p,.workspace-callout p{display:none}.workspace-panel-head h2{font-size:14px;margin:0}.workspace-empty{min-height:76px;padding:20px;gap:8px}.workspace-empty>svg,.workspace-empty p{display:none}.list-more{padding:10px 16px;display:flex;align-items:center;justify-content:flex-end;gap:16px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.list-more button{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--green);padding:6px 12px;font-size:11px}.budget-workspace-top{display:block;margin-bottom:12px}.budget-plan{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:12px;margin-bottom:10px}.budget-plan label{margin:0;max-width:170px;font-size:20px}.budget-plan input{font-size:22px}.budget-plan>p{display:none}.budget-workspace-top .workspace-metric{padding:12px 16px}.budget-workspace-top .workspace-metric strong{font-size:21px}.workspace-callout{padding:10px 16px;border-radius:10px;margin-bottom:12px}.contract-sheet-summary{padding:10px 16px;gap:24px}.contract-sheet-summary strong{font-size:18px}.contract-sheet-summary span{font-size:11px}.node-details>summary,.phase-settings>summary,.phase-completed>summary,.todo-create>summary{cursor:pointer;padding:11px 16px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.phase-settings .phase-meta{padding:12px 16px}.phase-check-title{margin:14px 16px 6px;font-size:12px}.phase-checks{padding:0 16px}.phase-checks label{font-size:12px;padding:9px 0}.phase-detail .workspace-panel-head .eyebrow{display:none}.construction-split{grid-template-columns:175px minmax(0,1fr);gap:14px}.phase-navigator button{padding:9px 10px}.phase-navigator button>span>small{display:none}.phase-notes{margin:14px 16px}.phase-notes textarea{min-height:60px}.phase-add-check{margin:12px 16px}.todo-compose{margin:0;border:0}.workspace-note{font-size:11px;padding:8px 16px}.focus-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.focus-home-grid>.workspace-panel{margin:0}.priority-row{display:flex;align-items:center;gap:14px;min-height:44px;padding:9px 16px;border-bottom:1px solid var(--line);box-sizing:border-box}.priority-row:last-child{border:0}.priority-row>div{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}.priority-row strong{font-size:12px;font-weight:600}.priority-row small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.priority-row .due-number{font-size:13px;font-weight:500;color:var(--danger);margin-left:auto;white-space:nowrap}.priority-row>button{padding:5px 10px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:var(--surface);font-size:11px;min-height:28px;white-space:nowrap}.priority-row>strong{flex:1}.short-empty{font-size:12px;color:var(--muted);padding:15px 16px;margin:0}.focus-footer{display:flex;align-items:center;gap:18px;margin-top:14px;font-size:11px;color:var(--muted)}.focus-footer button{background:transparent;border:0;font-size:11px;color:var(--green)}
@media(min-width:761px) and (max-width:1150px){.workspace-metric{flex-direction:column;gap:4px;padding:10px 12px}.workspace-metric>strong,.budget-workspace-top .workspace-metric strong{font-size:20px}.priority-row>div{display:grid;gap:3px}.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.priority-row small{max-width:110px}}
@media(max-width:760px){.redesign-v2{display:block}.redesign-v2 .manager-sidebar{display:none}.redesign-v2 .manager-header{max-width:none;width:calc(100% - 24px);min-height:52px;padding:8px 12px;top:8px;margin-top:8px;border-radius:16px}.redesign-v2 .view-page{padding:16px 14px}.workspace-head h1{font-size:20px}.workspace-head .main-action{min-height:32px;padding:7px 10px;font-size:11px}.workspace-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.workspace-metric,.budget-workspace-top .workspace-metric{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:10px 9px;border:0;border-right:1px solid var(--line)}.workspace-metric>span{font-size:9px}.workspace-metric>strong,.budget-workspace-top .workspace-metric>strong{font-size:16px;white-space:nowrap;text-align:left}.home-metrics{grid-template-columns:1fr 1fr}.home-metrics .workspace-metric{padding:12px;border-bottom:1px solid var(--line)}.home-metrics .workspace-metric:nth-child(even){border-right:0}.home-metrics .workspace-metric:nth-child(n+3){border-bottom:0}.workspace-toolbar,.workspace-toolbar.secondary{padding:9px 12px;gap:8px}.workspace-tabs{gap:3px}.workspace-tabs button{padding:6px 8px;font-size:10px}.workspace-toolbar.secondary{padding-top:0;flex-wrap:wrap}.workspace-toolbar .result-count{width:auto;margin-left:auto}.workspace-toolbar .workspace-search{min-width:120px!important}.workspace-toolbar select{max-width:115px}.workspace-row,.purchases-table .workspace-row,.costs-table .workspace-row,.source-table .workspace-row,.installment-table .workspace-row,.expense-table .workspace-row,.todos-table .workspace-row{padding:12px;gap:8px 14px}.workspace-row .workspace-name{display:flex;align-items:baseline;gap:10px}.workspace-name strong{font-size:12px}.workspace-name small{font-size:10px}.workspace-cell>span{font-size:12px}.workspace-actions{padding-top:7px}.workspace-actions button{min-height:30px;padding:5px 10px;font-size:11px}.focus-home-grid{grid-template-columns:1fr;gap:10px}.priority-row{padding:9px 12px;gap:10px}.priority-row>div{display:grid;gap:3px}.priority-row small{max-width:140px}.focus-footer{gap:12px;flex-wrap:wrap}.construction-split{grid-template-columns:1fr}.phase-navigator{gap:4px}.phase-navigator button{min-width:125px;padding:7px 8px}.phase-navigator strong{font-size:11px}.budget-plan{padding:10px 12px}.budget-plan input{font-size:21px}.contract-sheet-summary{padding:10px 12px;gap:10px 18px}.contract-sheet-summary strong{width:auto;font-size:18px}.contract-sheet-summary span{font-size:10px}}
.workspace-metrics>.workspace-metric:first-child{border-radius:11px 0 0 11px}.workspace-metrics>.workspace-metric:last-child{border-radius:0 11px 11px 0}
@media(max-width:760px){.home-metrics>.workspace-metric:first-child{border-radius:11px 0 0 0}.home-metrics>.workspace-metric:last-child{border-radius:0 0 11px 0}}
.expense-history>summary{cursor:pointer;padding:12px 16px;font-size:12px;color:var(--muted)}
.purchases-table.focus-task-table .workspace-row>div:nth-child(2),.purchases-table.focus-task-table .workspace-row>div:nth-child(3){display:none}.purchases-table.focus-task-table .workspace-row{grid-template-columns:minmax(200px,2fr) minmax(100px,1fr) minmax(90px,1fr) minmax(150px,1fr)}
@media(max-width:1050px){.purchases-table.focus-task-table .workspace-row{grid-template-columns:repeat(2,minmax(0,1fr))}.purchases-table.focus-task-table .workspace-row .workspace-name,.purchases-table.focus-task-table .workspace-row .workspace-actions{grid-column:1/-1}}

.polished-home .home-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.home-title h1{font-size:23px;font-weight:650;letter-spacing:-.035em;margin:0}.home-title>span{font-size:11px;color:var(--muted)}.home-glance{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:16px;margin-bottom:20px}.home-finance,.home-build{border:1px solid var(--line);border-radius:20px;min-width:0;box-sizing:border-box}.home-finance{padding:20px 24px;background:linear-gradient(115deg,var(--accent-soft),var(--surface) 80%);box-shadow:0 5px 16px #172d4b04}.home-finance-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.home-finance-top>span{font-size:12px;color:var(--muted)}.home-finance-top>button{font-size:11px;color:var(--green);border:0;background:transparent;padding:0;min-height:24px}.home-finance-numbers{display:flex;align-items:center;gap:22px;margin-bottom:20px}.home-total{display:flex;align-items:baseline;gap:7px;font-size:34px;line-height:1.2;font-weight:650;letter-spacing:-.055em;font-variant-numeric:tabular-nums;white-space:nowrap}.home-total>small{font-size:21px;font-weight:450;letter-spacing:0;color:var(--muted)}.home-money-detail{display:grid;gap:8px;padding-left:20px;border-left:1px solid var(--line);min-width:0}.home-money-detail>span{font-size:10px;color:var(--muted);white-space:nowrap}.home-money-detail>b{font-size:18px;font-weight:550;white-space:nowrap;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.home-money-detail.outstanding>b{color:var(--green)}.home-budget-line{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin-bottom:9px;font-variant-numeric:tabular-nums}.home-budget-line b{font-weight:500;color:var(--ink)}.home-budget-line .over-budget{color:var(--danger)}.home-budget-visual{height:5px;border-radius:5px;background:var(--surface-soft);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.home-budget-visual>i{display:block;height:100%;background:var(--green);border-radius:5px}.home-build{background:var(--surface);padding:16px 22px}.home-build-main{display:flex;align-items:center;justify-content:center;gap:22px}.home-progress-ring{position:relative;width:94px;height:94px;flex-shrink:0}.home-progress-ring svg{transform:rotate(-90deg)}.home-progress-ring circle{fill:none;stroke-width:6}.ring-track{stroke:var(--surface-soft)}.ring-value{stroke:var(--green);stroke-linecap:round}.home-progress-ring>strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.home-progress-ring strong>small{font-size:12px;margin:4px 0 0 2px;color:var(--muted)}.home-current-phase>span{color:var(--muted);font-size:10px}.home-current-phase h2{font-size:20px;margin:7px 0 8px;letter-spacing:-.03em}.home-current-phase>button{background:transparent;border:0;color:var(--green);font-size:11px;padding:0;min-height:24px}.home-stage-dots{display:flex;gap:5px;margin-top:12px}.home-stage-dots>button{flex:1;padding:3px 0;background:transparent;border:0;min-width:0;min-height:14px}.home-stage-dots span{height:4px;display:block;border-radius:4px;background:var(--surface-soft)}.home-stage-dots .done span{background:var(--green);opacity:.45}.home-stage-dots .current span{background:var(--green)}.home-stage-caption{font-size:9px;color:var(--muted);margin:4px 0 0;text-align:right}.home-worklists{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-worklist{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 3px 12px #172d4b03}.home-section-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);gap:12px}.home-section-head>div{display:flex;align-items:center;gap:9px;min-width:0}.home-section-head h2{font-size:13px;font-weight:650;margin:0;white-space:nowrap}.home-section-icon{display:grid;place-items:center;width:28px;height:28px;background:var(--accent-soft);color:var(--green);border-radius:8px}.home-section-icon svg{width:15px;height:15px}.home-count{color:var(--muted);font-size:10px;white-space:nowrap}.home-section-head>button{border:0;background:transparent;color:var(--green);font-size:10px;padding:5px 0;white-space:nowrap;min-height:28px}.home-item{display:flex;align-items:center;gap:12px;padding:10px 18px;min-height:49px;box-sizing:border-box;position:relative}.home-item:not(:last-child):after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:1px;background:var(--line);opacity:.5}.home-item:hover{background:var(--surface-soft)}.home-item-name{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1}.home-item-name strong{font-size:12px;font-weight:550;white-space:nowrap}.home-item-name small{font-size:10px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:155px}.home-due{color:var(--ink);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.home-item>button{background:transparent;border:0;color:var(--green);padding:5px 0 5px 7px;font-size:10px;white-space:nowrap;min-height:28px}.home-delivery-state{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:5px;white-space:nowrap}.home-delivery-state>i{width:5px;height:5px;border-radius:50%;background:var(--green);opacity:.65}.home-clear{padding:24px 18px;font-size:12px;color:var(--muted);margin:0}.home-bottom{display:flex;align-items:center;gap:16px;margin-top:16px}.home-check-preview{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.home-tiny-icon{display:flex;color:var(--muted)}.home-tiny-icon svg{width:16px;height:16px}.home-check-preview>strong{font-size:11px;font-weight:550;white-space:nowrap}.home-check-preview>span:not(.home-tiny-icon){font-size:10px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.home-check-preview>button{border:0;background:transparent;color:var(--green);font-size:10px;white-space:nowrap;padding:3px 0}.home-todo-shortcut{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:11px;padding:13px 16px;border-radius:12px;min-height:44px}.home-todo-shortcut>svg{width:16px;height:16px}.home-todo-shortcut>b{font-size:14px;font-weight:400;color:var(--green);margin-left:15px}
@media(min-width:761px) and (max-width:1200px){.home-glance{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr)}.home-finance{padding:18px}.home-finance-numbers{gap:14px}.home-total{font-size:28px}.home-money-detail{padding-left:12px}.home-money-detail>b{font-size:15px}.home-build{padding:14px 16px}.home-build-main{gap:14px}.home-item-name{display:grid;gap:4px}.home-current-phase h2{font-size:18px}}
@media(min-width:761px) and (max-width:1000px){.home-finance-numbers{display:grid;grid-template-columns:1fr 1fr}.home-total{grid-column:1/-1}.home-money-detail{padding:0;border:0}.home-finance-numbers{margin-bottom:12px}.home-glance{grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr)}.home-build-main{flex-direction:column;gap:3px}.home-current-phase{text-align:center}.home-stage-dots{margin-top:5px}.home-worklists{grid-template-columns:1fr}}
@media(max-width:760px){.polished-home .home-title{margin-bottom:12px}.home-title h1{font-size:20px}.home-title>span{font-size:9px}.home-glance{grid-template-columns:1fr;gap:10px;margin-bottom:12px}.home-finance{padding:16px;border-radius:16px}.home-finance-top{margin-bottom:10px}.home-finance-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.home-total{grid-column:1/-1;font-size:32px}.home-money-detail{border:0;padding:0;gap:5px}.home-money-detail>b{font-size:18px}.home-budget-line{font-size:9px;gap:8px}.home-build{padding:12px 16px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:center}.home-build-main{gap:12px;justify-content:flex-start;grid-row:1/3}.home-progress-ring{width:62px;height:62px}.home-progress-ring svg{width:62px;height:62px}.home-progress-ring>strong{font-size:21px}.home-progress-ring strong>small{font-size:10px}.home-current-phase h2{font-size:15px;margin:4px 0}.home-current-phase>span{font-size:9px}.home-current-phase>button{font-size:10px;min-height:20px}.home-stage-dots{margin-top:0;gap:3px}.home-stage-caption{font-size:9px;margin:0}.home-worklists{grid-template-columns:1fr;gap:12px}.home-worklist{border-radius:15px}.home-section-head{padding:10px 14px}.home-section-head h2{font-size:12px}.home-item{padding:9px 14px;gap:10px}.home-item-name{display:grid;gap:3px}.home-item-name small{font-size:9px;max-width:140px}.home-item-name strong{font-size:12px}.home-item>button{font-size:10px}.home-bottom{flex-wrap:wrap;gap:10px;margin-top:12px}.home-check-preview{flex-basis:100%;padding:11px 12px}.home-todo-shortcut{width:100%;padding:10px 12px;min-height:38px}.home-todo-shortcut>b{margin-left:auto}}
